Teaching computer science is important for many reasons. Advocates say it’s a vital piece of preparing educated citizens of the 21st century and of meeting the demand for jobs in the new economy.
MIT Media Lab’s Mitch Resnick, the mastermind behind the popular kids coding language Scratch, says that coding teaches mathematical and computational thinking in addition to problem solving, design, and communication skills. And author Douglas Rushkoff, in his book “Program or Be Programmed,” argued that coding is the new literacy of the digital age. Just like we learned to write when we learned to read, he argued, humans should learn not only how to use computers but how to program them.
Folks like Resnick and Rushkoff say the coding itself and the skills one gains along the way are valuable for all citizens of future society, not only those who will become computer scientists.
These days, after all, the hardware and software are changing rapidly. Who knows what will be around when my 8-year-old enters the workforce? How should we prepare him? A group in Australia may have found one way.
Over at the Hechinger Report, Annie Murphy Paul profiled a project called Computer Science Unplugged, which uses games, puzzles, and magic tricks to teach concepts of computer science to kids as young as age 5.
“Rather than talking about chips and disks and ROM and RAM,” the organizers wrote, “we want to convey a feeling for the real building blocks of computer science: how to represent information in a computer, how to make computers do things with information, how to make them work efficiently and reliably, how to make them so that people can use them.”
“Younger children might learn about ‘finite state automata’—sequential sets of choices—by following a pirates’ map, dashing around a playground in search of the fastest route to Treasure Island. Older kids can learn how computers compress text to save storage space by taking it upon themselves to compress the text of a book.”
We’ve done similar work here in Pittsburgh with our Remake Learning Digital Corps, which brings technologists into the community to teach digital literacy skills to kids. The workshop leaders often start with games to get kids to understand computer science concepts before turning to the computers themselves. Ani Martinez, who leads the program for the Sprout Fund said that participants often play “Harold the Robot,” an activity also used by Computer Science Unplugged. In the game, students give instructions to one of their peers pretending to be a robot. They get to see how well the robot is able to follow their instructions and how their instructions are taken literally.
At Elizabeth Forward Middle School, students get to use their bodies and new technology to act out concepts of math and science and to play games at the school’s SMALLab. The Wii-like space uses a ceiling-mounted projector, motion-sensor cameras, and a computer to create a kinesthetic learning environment where kids can learn physics and learn about human computer interaction.
You may also remember the board game Robot Turtles, which made a splash on Kickstarter when it came out in 2013. The game teaches programming fundamentals to kids ages 3 to 8 without using a computer. It’s designed by a software engineer who’s a father and believes teaching his kids “to program a computer is the single greatest superpower I can give them.”
Engineers hope that these kinds of teaching methods will help overcome barriers to teaching and learning computer science: the hardware for one, but also stereotypes that computer science is, as Annie Murphy Paul wrote, boring or geeky or not for girls.
“The biggest challenges for the future,” wrote Resnick in a 2013 article at EdSurge, “are not technological but cultural and educational. Ultimately, what is needed is a shift in mindsets, so that people begin to see coding not only as a pathway to good jobs, but as a new form of expression and a new context for learning.”
Computer Science Unplugged is available for free download at csunplugged.org.