Coding is so much more than technical problem-solving or a career pathway. It’s a creative process that, just like language, allows practitioners to explore new ways of thinking and expressing themselves.
As Marina Bers, a pioneer in children’s technology education, has observed: Teachers don’t need to turn every child into a programmer any more than they need to turn every child into a novelist. Rather, they should teach children to code for the same reasons they teach them to write: it gives them fluency in a new kind of expression.
Students are ready to begin learning about coding at the same time they are ready to begin learning to read and write any other language—including the natural languages they’ve been learning to speak their whole lives. In fact, literacy and coding can be taught side-by-side to reinforce concepts such as grammar and syntax, representation, and eventually, expression across both disciplines.
Coding connects students
Self-expression isn’t meaningful simply for its own sake. It only becomes meaningful when students share it with others, whether that’s the limited audience of a classroom or a much wider audience of family, peers, and community.
Just as language can connect students to one another as they share ideas, so too can coding—with the added benefit of being universally understood. While students who speak different languages may not be able to build on one another’s ideas in writing, if they code a robot to perform a dance, they can fully collaborate on the final product.
Drawing out reluctant speakers
Similarly, coding is a great way to draw out students who may be reluctant to speak. Whether it’s because they are shy, they feel like they can’t speak well, or any of the number of other reasons that some students simply don’t want to speak up in class.
Shortage snapshot: How many schools are working with a full teaching staff?
Nevertheless, it’s important for them to share their work with others, to get feedback, both constructive and critical, to shift the audience from their teacher to their peers, and to teach them that their ideas and work have impact beyond themselves.
By giving them an opportunity to express themselves nonverbally and with tools that put them on a level playing field with other students, these students can often be coaxed out of their shells to become active members of the classroom community.
How sequencing is key to both robotics and storytelling
Sequencing is an important technique in coding. Even in a simple program, achieving the planned outcome depends on each step happening in a certain order. If, for example, you want your robot to move one foot to the left and two feet forward, you must tell the robot to move forward two steps, turn, then move forward another step. Use the same directions in the opposite order and your robot will end up in the wrong place.
Sequencing is also a foundational literacy skill. The “happily ever after” moment comes at the end of a story. In Where the Wild Things Are, after Max goes to sleep without his supper, he sails to the land of the Wild Things, leads the wild rumpus, then returns safely home.
Sequencing helps students understand cause and effect in literature. In coding, effects follow causes and each new cause builds on the previous effect—just as in well-constructed stories.
Robotics as storytelling
To my mind, robotics is similar to readers’ theater, a common technique in early literacy in which students act out a scene from a book. Whether they do it themselves or program a robot to act out a story, this approach reinforces literacy lessons through kinesthetic processes and social dynamics.
Any storybook can be re-enacted using decorated robots and code created by students. Using a KIBO robotic kit and the lesson “If I Built a Car,” students can imagine—and design, and build— all the fanciful features they’d include in a car if they could design it.
To bring The Very Hungry Caterpillar to life, students could create a caterpillar that moves from an apple to a pear to an orange and so on. To create their own live-action version of Every Day Superhero, students can design and decorate a robot to be a superhero that solves problems around the classroom. Or students could send a robot on its own adventure just like Harold’s in Harold and the Purple Crayon by having their robot draw a line with an attached marker onto a big sheet of butcher paper.
Design process parallels the writing process
While the products of the engineering design process and the writing process are different in important ways, the processes themselves are quite similar. Students begin writing by brainstorming and then outlining the path the story will take to its conclusion. Similarly, engineers begin by imagining potential solutions and creating a plan that leads to their desired outcome.
Next, the writer writes and the engineer builds. Once they have a draft or a prototype, they are able to share it with an audience by having someone read it or by testing the prototype. Next, the writer revises according to the feedback they received and the engineer tweaks their design to correct any flaws they observed during their test.
The most powerful commonality between these processes is that they re-contextualize failure. Students come to understand that neither a piece of writing nor a piece of code is perfect the first time they create them. Rather than failure, unsuccessful attempts become steps in a process or, even better, learning experiences.
As Seymour Papert wrote in his book Mindstorms, when a student creates a computer program, “The question to ask about the program is not whether it is right or wrong, but if it is fixable.” Whether it’s in the writing lab or the robotics lab, revision and iteration help students learn resiliency.
Coding education works best when it’s integrated with other classroom activities. Combining coding with storytelling creates a positive feedback loop with each discipline reinforcing and enriching the other, one by providing context and the other by providing engagement and variety.