On teaching students how to code

I think everyone should learn how to program a computer, because it teaches you how to think. I view computer science as a liberal art, something everyone should learn to do.
— Steve Jobs, “The Lost Interview,” 1995

Microsoft. Apple. Google. Facebook. Twitter. YouTube. Countless genres of music. The entire video game industry.

None of this would exist if it weren’t for coders.

For the past few days, a viral video produced by Code.org has been making the rounds. In it, giants of the tech industry, athletes, and entertainers vouch for why students should be taught to write computer code in school. Take a few minutes to watch it below before I give my thoughts on the matter:

The structure of our current education system in the U.S. focuses on how the world was. History, reading-heavy English curriculums, and even the sciences emphasize our past. Obviously there is a place for such things to be taught, but not at the detriment of how to succeed in the modern world. Relevancy both gives context to the past while also providing students the tool set to understand how the things we interact with regularly work. In the information age we live in, the most relevant topic that the majority of the population has no knowledge of is coding.

As I said before the video, most of what we take for granted is a product of coders. Sure, these coders had to have the ideas in the first place, but there are countless people with brilliant ideas. What makes these individuals unique is their ability to turn those ideas into a real thing. For example, a Harvard sophomore would have never created an attractiveness-ranking website that would one day turn into a social network that changed the face of human interaction if he didn't have a background in coding. I am, of course, talking about Facebook creator Mark Zuckerberg.

This sentiment is echoed throughout the testimonials found in the Code.org video. Brilliant people like Bill Gates, Gabe Newell, Jack Dorsey, and Drew Houston all created their companies thanks to their ability to write code. They inspired others to work for their cause because they could show that their ideas worked in practice. Without the examples set by Gates, Jobs and Wozniak in the 1970s, who would have believed that the personal computer could do anything of worth by reading over an idea pitch? Not many, and yet look at how ubiquitous computing has become.

The team at Code.org is taking a similar “do instead of tell” approach by making their aim encouraging students to request coding classes. At the high school I attended in Greenwich, Connecticut, there were numerous special interest subjects being taught, but rarely was coding one of them. This is one of wealthiest towns in the country we're talking about. After talking with a high school friend of mine, he said the following: “I got [Greenwich High School] to do Intro to Computer Science one semester, but they cut it after that semester.”

While it’s easy to blame education officials for devaluing this subject, the real problem here is that students don’t know why such a skill is valuable to them. The stereotype of a coder, at least when you’re a teenager, is that of a overweight mega-nerd who lives in their parents’ basement and has no friends. As such, even when a class in coding is made available to them, most students won’t give it an iota of consideration. The first steps to forming a grassroots movement at the student level is to change their attitude towards the subject. Code.org knows this as shown by their inclusion of basketball player Chris Bosh and musician will.i.am among the testimonials of tech heroes.

I’m not a fan of will.i.am’s music, and due to my lack of sports knowledge I didn't even know who Chris Bosh was until I looked him up, yet the perspective they had on this issue had a larger impact on me than everything else in the video. Bosh’s story about how he ignored teasing from friends when he joined an after-school coding club, and will.i.am’s quotable insight that “great coders are today's rock stars,” really drive home the idea that what’s cool are the things that make you smart. As Marshall McLuhan famously said, the medium is the message. The more pop culture figures (and, to this effect, women coders) who advocate the “coolness” of coding, the less taboo it will become.

Negative stereotyping isn't the only factor preventing students from taking to the computer alongside other hobbies and educational endeavors, though. Terminals full of endless lines of meaningless numbers, letters and symbols are damn intimidating. Even computer buffs can be turned off by this mental road block. My favorite quote from the video that busts this myth is from Bronwen Grimes, a technical artist at Valve, who says, “You don’t have to be a genius to code. Do you have to be a genius to read?” By equating coding to an interaction with language, Grimes takes something that seems to foreign and makes it familiar.

Look at it this way: when you go to another country with a language you don’t know, it’s naturally overwhelming. However, as you spend time in that country, you quickly pick up on the sounds, words and phrases used by its inhabitants. Think of coding as a foreign country. It’s a far less scary prospect than your initial instinct would have you think. I know this from personal experience.

When I was a junior in high school, I decided that I wanted to learn Objective-C to create my own iOS apps. Because no courses about coding were taught at my school, I ended up teaching myself. After an afternoon of following a free guide I found on the internet, I was able to create my own Fahrenheit-Celsius converter complete with a GUI (graphical user interface). This was my first foray into coding and I was already seeing results. One of my greatest regrets in life was not continuing down this path, but things could have been different had there been an educational outlet at my high school. I do hope to pick this hobby back up in my spare time, and this video only provided further encouragement.

Here’s another plus to learning how to code: understanding the language of digital technology and its endless impact on our world straight-up makes us smarter people. This may seem trivial, but in an economy where jobs are scarce, knowing programming can make you a viable candidate for millions of open jobs according to Code.org. As Zuckerberg states, “[Facebook’s] policy is literally to hire as many talented engineers as we can find. The whole limit in the system is that there just aren't enough people who are trained and have these skills today.”

For any student looking to get a head-start on their future, this should be throwing up red flags all over the place. This skill set is in high demand but the number of people who have it are scarce. It begs students to ask the question as to whether it’s more important to submit to peer pressure for the short-term or set themselves up for the long-term. We all know from experience that this foresight isn't innate in teenagers, making the need for carefully crafted messages and pop culture icons critical. For example, the office perks shown off in the video are quite enticing. And hey, is that Deadmau5? His music is made possible thanks to code.

There’s another angle to the job issue that the video only touches on: you don’t need to make a profession out of coding in order for the skill to be of use. I’ll use myself as an example: I write about video games, which are nothing more than code at their core. My job would not exist without the video game industry, which in turn would not exist without coders.

As a critic, even understanding the difficulties of development at a base level gives me a deeper insight than another critic without this. Despite my job not directly requiring me to write code (beyond some basic HTML), I benefit from that afternoon I spent learning Objective-C immensely. Imagine what a full class on the subject could do for me or others like me. There’s no two ways about it: whether you realize it or not, you could be better at your job with programming knowledge. Yes, that applies to you boss-types as well. Understanding what your employees do will both make your leadership more effective as well as garner mutual respect in the office.

In a Google Hangout two weeks ago, President Obama was asked about his stance on teaching programming in high schools. You can see his response in the following video:

I love Obama’s angle on the subject. Selling the idea of coding as a gateway to making your own video games gives it relevance to high school students. However, like coders with ideas being able to demonstrate them, it will take focused efforts by both grassroots organizations like Code.org and the government to get the message out. Working with school districts is important, but if you don’t convince students that they should care about coding in the first place what good does it do?

If you take one thing away from all this, let it be the importance of motivating students to learn code. Anybody can do this. Relay this message to teenagers in a way that they can relate to. Take it upon yourself to learn the basics of coding as an example. Even if you don’t have the time to get directly involved, support those who do.

So much of what we learn in school teaches us how the world was. Perhaps it's time we started learning how the world is.