Coding isn't just for computer science any more. Educators are finding that teaching students to write code and design games enhances learning and creates engagement. These examples illustrate how coding and games are being used across the curriculum and at all levels, as well as why great teaching is at the very heart of this innovation.
Connecting With Each Learner: Inform7 (Interactive Fiction for High School)
Imagine a weather-beaten oak door. It has a heavy brass knocker and a tarnished handle that doesn't look like it has been used in some time.
Now go to Google Images and try to find a picture of the exact door that you have seen in your head. Out of 200,000 images, you'll be lucky to find one that matches exactly. This is what students who are designing an adventure game will usually do when looking for graphics.
Now imagine that as you approach the door, you notice deep scratches along the doorframe, as if something has been trying to get in . . . or trying to hold the door closed. Try to find a picture online that illustrates this. You'll be searching for a long, long time.
Yet through the power of narrative description, we are all probably picturing the same door in our heads. Making the door green or adding a heavily cobwebbed window is as easy as simply writing it into existence.
The stumbling block for most students who are trying to write their adventure game is finding or creating graphics. But for my high school students who are writing interactive fiction using a programming language called Inform 7, the "graphics" are their text descriptions. It is a meaningful demonstration of the power of words.
One student created a House of the Seven Gables that you could walk through and explore. Another created a movie museum that allowed you to go back and forth in time depending on which theater you entered. Inform7 has also been a wonderful way to get many girls involved in programming, since it places an emphasis on the craft of writing and the development of story.
Using interactive fiction to teach programming allows students significantly more freedom in how they express their knowledge of the content, whether they are writing historical fiction about the Underground Railroad or science fiction in the style of Orson Scott Card. Because writing is so flexible and powerful, and because the natural programming language makes it interactive, my students think of programming as "creative coding" in the same way that they used to think of storytelling as "creative writing."
Connecting Individuals: Minecraft (Community Resources for Middle School)
Imagine that you are dropped into a new world with a group of students, and you have to live together and survive. What kinds of rules should exist? How can you build a community based on trust? What are the ways of using your combined resources to keep each other safe? How will property and natural resources be collected and shared?
These are the same kinds of questions that Cheryl Durso's class face each year as they study the history of the Pilgrims coming to the New World. Together, they draft the "Minecraft Compact" whose rules will guide their behavior and provide a way to settle disputes once they are all online on the same Minecraft server, sharing the same resources.
This experience gives students some valuable personal context for when they read the actual Magna Carta that was drawn up aboard the Mayflower. They are often surprised that the Pilgrims faced many of the same problems and asked many of the same questions. What is the proper role of government? What is the balance between individual freedoms and the rights of the community? Together, they build houses, construct a city and teach each other the skills they need to survive. Minecraft is more than a game to these fifth graders. It is a simulation, a learning environment and a morality play all wrapped up in one incredibly engaging, shared experience. It makes a powerful impression.
Connecting to Content: Arduino Processing ("Survival Pants" for Elementary School)
Hatchet by Gary Paulsen is a required novel in Kris Schwengel's fourth grade classroom. His students design "survival pants" sewn out of real fabric and incorporating an embedded Arduino microprocessor. The Arduino is connected to lights and sensors sewn into the fabric using conductive thread. They can flash an SOS signal, sound an alarm, or even change color. The nine-year-old children program using code blocks that can be dragged and dropped to create strings of commands, the same way you might create magnetic poetry with combinations of words.
Kris' students take an imaginative story about being lost in the wilderness and make a real artifact that would have helped the protagonist survive. As a result, a story that seems hopeless becomes empowering as the children take action to do something constructive. It fits in perfectly with their electricity unit while the class is also covering language arts, science, and steps in the design thinking process (empathy, creativity and prototyping.)
In each of these examples, coding and gaming create a powerful and engaging learning environment for students, but the technology facilitates and supports the learning -- it isn't the focus. The classes are not about teaching programming. They are about learning history, empathy and creativity, and about building writing skills. Coding is the language of critical thinking. It requires students to define problems, break them into parts, and be resourceful in finding the answers to their problems.
Great teaching is at the heart of all these experiences, as great teachers make connections to content, between individuals and with each child. They allow students to express their learning in their own unique ways. Together, great teaching and plentiful opportunities to code and collaborate transform the learning environment, boost engagement and build powerful skills for the future.