This article originally appeared on modernlearners.com.
The pioneers of the American west moved into a wilderness they didn’t understand, building their homes with new materials and wrangling a landscape full of promise and peril. From their efforts sprang the infrastructure to create communities and towns and cities. They laid the groundwork for the great migration west so that others needn’t be afraid.
Some might say that the new frontier in education is technology. As more and more schools implement hardware and software in the classroom, students are practicing in roles they are familiar with at home: technology users. However, a second movement is growing—that of students as technology producers. And one of the best ways to introduce students to this role is to teach them how to code.
Today’s conversations about bringing programming into the classroom often focus on the benefits of learning a technical skill that is highly desirable in the 21st century job force—and with good reason. According to research posted by Edudemic, computer-related employment will increase by 22% by the year 2020, with the greatest demand being for software developers. In addition, computer programming jobs are growing at a rate of about 2x faster than other jobs.
But the discussion about coding in the classroom is beginning to expand beyond the practical. What programmers already know, and what teachers who embrace coding are beginning to understand, is that programming is a tool that offers a broad range of meta-cognitive skills, from creation and collaboration to problem-solving and logical thinking.
Mitch Resnick, head of the Lifelong Kindergarten group at MIT who developed the programming language Scratch, compared learning to code with learning to read and write. “When you learn to read, you can then read to learn. And it’s the same thing with coding. If you learn to code, you can code to learn.”
Children introduced to coding might initially suffer from fear of the unknown, stepping hesitantly into a world where they believe one wrong move might break the computer. But as they learn how to program, they not only understand how to survive in the landscape of computers; they translate that fear into a powerful sense of autonomy.
Mark Sawula is a math teacher at Peddie School in Hightstown, NJ. He implements coding in his 9th grade honors geometry class, and for the past few years has been working to create a statistics and data visualization course for 12th graders that mixes statistics and data analysis with programming. Sawula has witnessed a transformation in his students first-hand.
“I remember seeing students who weren’t particularly engaged with math picking up that first processing book, flipping through it and saying, ‘I want to make that,’ or coming up with their own ideas for a visualization or game,” he said. “How often does that happen in a math class? It’s a great vehicle for getting kids to take responsibility for their own learning.”
Students who study programming with Oya Kosebay, a Maker teaching artist for DreamYard in the Bronx, NY, as well an instructor for HTINK and Tech Kids Unlimited, are encouraged to set goals and use logical thinking in order to arrive at their answer. They are pushed to think about detail and to approach a task sequentially, almost as though completing a recipe from a cookbook. But just like in cooking, students who code have the freedom to experiment with new ingredients, or lines of code, within the structure of their “recipe.”
“Different languages are used to develop in different platforms, but they all follow the same basic principles,” said Eric Chavez, a developer for the Superior Court of California, Monterey County. “The only things that differ are some basic functions and syntax. The languages do not have constraints, but some might get you to the finish line faster.”
One of the ways that Kosebay’s students develop logical thinking and problem-solving skills is to figure out which lines of code will produce a more stable product. In order to arrive at their goal, students must come up with an initial solution, test it, recognize faults, add something that’s missing, or subtract something that’s not working until a final solution can be reached. This requires a lot of trial and error and, yes, even failure.
“So many times I see that schools give specific tasks to students that do not require them to think,” said Kosebay. “I think because of the nature of coding—you try things out, you fail, you try again, and finally make it work—it gives a sense of independence and accomplishment in something that not everybody can do.”
Besides learning how to problem-solve and think logically, students who code must learn how to work as a team and communicate with one another effectively. Contrary to the popular stereotype of the lone programmer tucked away in a dungeon office, coding often requires high levels of collaboration in order to be effective. More often than not, teams of developers work together to build a product or a platform, and in order to be successful, they must strategize their approach.
“One thing we use in the classroom is the ‘Ask three, then me’ approach,” said Kosebay. “Ask someone sitting next to you the question instead of raising your hand and asking the teacher. While kids are articulating the question to their friend, they figure out what to do.” Kosebay says that she utilizes this philosophy because having students explain their approach to one another helps to strengthen their own understanding of the process.
As educators learn more about the cognitive benefits of coding, there has been a push to implement the computer science course in the curriculum of K–12 schools. Legislatures in the U.S. and the UK are already taking action. In September 2014, England implemented mandatory coding classes in schools at all grade levels. And U.S. Representative Tony Cardenas has introduced a bill which would allocate grants for schools to teach programming as early as kindergarten.
Despite the endorsements from government officials, many schools are still faced with barriers for full-scale implementation. At the administrative level, weak technological infrastructure, lack of funding, and time constraints make it difficult to add coding to the curriculum. However, fear also plays a large part in educators’ resistance to bringing programming into their schools.
“It’s a lot of work to get up to speed in coding, so that’s a barrier for most,” said Sawula. “And many don’t see the potential for coding in their own disciplines, so they see this push as being part of an education hype cycle initiated by people who aren’t teachers and don’t understand the nature of school…I think there’s some truth to all of these reservations, but I still think it’s obvious that coding and computational thinking has to become a bigger part of the curriculum eventually. It’s the good fight.”
Teachers needn’t be expert programmers in order to give students the opportunity to create using code. By giving students the foundation and allowing them to instruct one another, they are already priming children with the tools necessary to become successful in programming, and by extension, many other areas of life. If students spend more time coding in the classroom, they have the opportunity to stumble across something new, usable, creative, and disruptive. They can not only change their own thinking, but also build something that could change the world as we know it.