Computer Programming: the Foreign Language of the Internet Age

There are countless arguments for teaching children foreign languages in school, and mathematics is one of the fundamental subjects of any education.  But what about computer code, which can be viewed as a hybrid of the two?  Many studies have proved that young children are capable of learning the basics of computer programming faster and more thoroughly than adults, much like they are able to pick up languages.  Once I tried to experiment with teaching myself Java, and the rules and building blocks made a lot of sense as I practiced using them to create webpages.  I felt it was virtually the same as trying to teach myself French, only without any irregular verbs, and that if I had more energy and motivation I could have gone further with it.  As it was, I had no use for computer programming and immediately forgot everything.

Today, the notion of teaching children programming is even more radical than the notion of teaching them a foreign language.  The popular idea in the realm of computer science is that it is impossible for children to learn to program before they’ve learned to read, and that students in elementary school don’t have the mental capacity to grasp something as complex as computer code.  However, more and more evidence is appearing that children have as much aptitude for learning code as adults do.  With their enormous potential for retaining procedural memories, that is, memories that become second nature rather than something they have to consciously recall, children from 7 to 10 and even as young as 4 and 5 are at the ideal age to learn the basics of computer programming.

computersConsiderable progress has been made in this area by educators and computer scientists worldwide.  Since the early 2000’s, computer scientist J. Paul Gibson has been designing games and puzzles to teach the fundamentals of Java to 8-year-olds.  Disheartened by his university students’ failure to grasp basic concepts of programming, he suspected that programming was a skill that should be instilled in students from a much earlier age.  Basing his educational experiments on the recent trend of parents successfully teaching their toddlers Mandarin, Gibson has visited kindergarten classrooms and taught children who haven’t even mastered reading to write a tic-tac-toe program and create graph algorithms with colored balls and string.

In recent years, other institutions have begun to follow in his footsteps: the University of Colorado developed Scalable Game Design, a program that teaches young students to code a version of Frogger.  In Estonia an educational movement, ProgeTiiger, is teaching the basics of coding to all first graders.  At a school in Harlem, students use a simplified coding language called Cherp to order robots around; all of these maverick coding programs function under the same basic idea as language learning—if you make the lesson fun, children will absorb it and retain it for life.

As somebody who remembers life before computers and who knows just enough computer functions to keep my head above water—I taught myself the basics of Java once and then immediately forgot it all—I see an engrained knowledge of coding as crucial to a computer age education.  Not only will it balance out the distribution of power in the IT world, but studies have shown that understanding computer programming from an early age brings with it similar cognitive benefits as speaking a foreign language; it generally leads to improved math skills and computational thinking, as well as problem-solving abilities.  While computer programming will never replace conventional education, interactions with machines are becoming more and more of an everyday occurrence.  As such, the ability to understand and manipulate computers is fast becoming imperative in a rapidly changing world.

What are your thoughts on children being taught computer programming?