Edutopia on Facebook
Edutopia on Twitter
Edutopia on Google+
Edutopia on Pinterest Follow Me on Pinterest
WHAT WORKS IN EDUCATION The George Lucas Educational Foundation
Subscribe to RSS

Should Coding be the "New Foreign Language" Requirement?

Over the decades, students have been required to take a foreign language in high school for reasons that relate to expanding communication abilities, furthering global awareness, and enhancing perspective-taking. Recently, our home state of Texas passed legislation that enables computer science to fulfill the high school foreign language requirement. Coding (defined by BusinessDictionary.com as "the process of developing and implementing various sets of instructions to enable a computer to do a certain task") is, after all, both a language and a foreign subject to many students -- and much more.

Coding, Cognition and Communication


Memorizing rules and vocabulary strengthens mental muscles and improves overall memory. That's why multilingual people are better at remembering lists or sequences. Coding similarly involves very specific rules and vocabulary.

Learning a language increases perception. Multilingual students are better at observing their surroundings. They can focus on important information and exclude information that is less relevant. They're also better at spotting misleading data. Likewise, programming necessitates being able to focus on what works while eliminating bugs. Foreign language instruction today emphasizes practical communication -- what students can do with the language. Similarly, coding is practical, empowering and critical to the daily life of everyone living in the 21st century.

Coding is Ubiquitous

Programming is the global language, more common than spoken languages like English, Chinese or Spanish. Think about all the company websites, apps for mobile devices and in-house software. McDonald's employees take orders using software developed specifically for that purpose. Your Happy Meal depends on someone who can code.

Todd Park, U.S. Chief Technology Officer, says:

Technology and computers are very much at the core of our economy going forward. To be prepared for the demands of the 21st century -- and to take advantage of its opportunities -- it is essential that more of our students today learn basic computer programming skills, no matter what field of work they want to pursue.

In fact, according to Code.org, computer programming jobs are growing at twice the national average. Yet less than 2.4 percent of college students graduate with a degree in computer science. This is not surprising, given that only 10 percent of high schools have computer programming classes, and only 30 percent of the states allow computer science to fulfill a math or science graduation requirement. So while our home state of Texas doesn't count computer science toward math and science, allowing programming to count as a foreign language is a big step in the right direction.

Because of its ubiquity, because it takes the mystery out of technology and because it allows students to control (not just consume) technology, coding should be a curriculum staple along with reading, writing and arithmetic.

Resources to Support Coding Instruction

Despite the fact that few high schools in the United States offer courses in computer programming (and even fewer middle schools and elementary schools), many resources are available for teachers and parents to help their children learn this digital foreign language. Coding apps, ebooks, websites, Pinterest boards, interest groups and opportunities to practice coding and teach coding abound, as described in our previous Edutopia blog, 7 Apps for Teaching Children Coding Skills.

Start with Code.org, a nonprofit seeking to expand the availability of programming in schools and participation of underrepresented students of color and women. Code.org offers links and resources for teaching and learning various programming languages for all ages.

Currently Code.org is launching a campaign to provide a one-hour introduction to computer science for 10 million people "ages 6 to 106" during Computer Science Education Week. Their resources will work in web browsers, tablets or smartphones, and no experience is needed. The site will offer everything you need to get started, including tutorials, FAQs, posters and more. Non-digital options are made available for classrooms without technology, so that students can learn about this language system and what it can communicate.

Empowering Students to Bridge the Digital Divide

In the past, the digital divide described students with technology compared to those without. Today, the divide addresses students who receive instruction on how to do things with technology versus those learning how to make technology do things. Now that computer science is the highest paid career for college graduates, it is time to stop teaching students how to push the buttons and start teaching them how to make the buttons.


gobstopper's picture

tremendous. this is a site for and by educators? find me a language educator who agrees with your view, based on a metaphorical name made up by computer programmers, that programming languages are languages in the sense that foreign languages are.

linguists have simple definitions for languages: systems of human communication learned by children without formal instruction that are primarily oral in nature. when we discover a group of human beings "speaking" C++ and nothing else, we can talk about this.

until then, programming languages are not languages in the crucial, instructional sense.

should students learn to code? maybe. should that have anything to do with whether or not they learn second and third languages? absolutely not.

Kevin Jarrett's picture
Kevin Jarrett
K-4 Technology Facilitator from Northfield, New Jersey

I'm going to push back a bit on this, and in particular, this statement that "...coding is practical, empowering and critical to the daily life of everyone living in the 21st century." I simply don't agree. I see two problems with this.

First, my background. Though I'm a teacher, my first major in college was computer programming. I learned quickly that I was a terrible at it. (Granted, I was in college in the 80s, virtually the Dark Ages compared to today.) I went on to have a successful career in the private sector including some work as an I.T. Project Manager (enterprise system implementations) and developed what most would consider to be pretty solid skills as a USER of technology. After 9/11, I walked away to pursue my second "dream" career as a teacher. But I digress...

Throughout my adult life, people have noticed my varied skills with computer technology and made statements like "You should be a programmer!" This is because people ASSUME that a talented USER has the same skills as a talented PROGRAMMER. Not so, I say! They are very different skill sets. One focuses on accomplishing things with a tool (software) and another focuses on giving people the tool (software) to accomplish things. While I think it is healthy to EXPOSE all kids to coding, in my view, it's far from critical to daily life for everyone. No, I'd say USER SKILLS are critical to daily life for everyone. Think about THAT for a moment...consider the amount of technology people come into contact with on a regular basis. Think how difficult it'd be to survive without the ability to navigate a user interface or use a keyboard. THOSE skills are critical, NOT coding.

My second point is a variant of the first and it also has to do with aptitude. For some, coding comes naturally. For others (like me) who fail to grasp it conceptually, it's a head-scratcher. I teach K-4 and introduce my kids to programming starting in second grade using a variety of tools. (We will be using LEGO WeDo robots for the first time this year.) We often use websites like LighBot (http://www.hoodamath.com/games/lightbot.html) and Google Blockly (http://blockly-demo.appspot.com/static/apps/maze/index.html?lang=en) to introduce the kids to programming as a concept. Some get it right away; many struggle; some quickly go off the rails and don't recover. I continually tell parents if their child is intrigued by an activity like this, they should fan those flames of interest as they have aptitude and might enjoy it as a career. If they don't, forcing the issue - making them learn to code - will only frustrate them and contribute to feelings of inadequacy.

Just my $0.02!


Whitney Hoffman's picture
Whitney Hoffman
Producer LD Podcast, Digital Media Consultant, Author

Let's take a look at what kids learn when learning to code- they are learning structure, logic, parameters, variables, just to name a few. I think coding is sort of like Latin meets math. Like latin, it teaches the structure of a language and how to work within sometimes rather rigid parameters (one period out of place, and you;re in deep trouble, but think of the careful editing skills you learn from debugging!) Like aspects of math, you learn a set of logic and progression, order, and again, with debugging, review and reflection while problem solving.
I think it's a great skill set for kids to have, but I think foreign languages are as much about teaching culture, understand and that not everyone is exactly like us, as well as thinking in a new language with new words and ways to express feelings.
I'd hate to see us give up foreign language requirements, especially when the ability to communicate with people from different countries and experiences is so much greater and more likely than in the past. But I do see coding and foreign languages as complimentary skill sets that make kids better students and thinkers, for what they bring to the mix.

Laura Thomas's picture
Laura Thomas
Director, Antioch University New England Center for School Renewal

I'm not sure it's an either/ or, to tell you the truth. Do I think kids benefit from learning to code? Sure. I also think they benefit from music, foreign language (especially Latin) and advanced math. The reasons are the same- they work parts of the brain that deal with logic, structure, process, and encoding/decoding in using a different set of symbols. I get nervous about anything that claims to be universally good (or universally bad) for all kids.

Dennis Frailey's picture
Dennis Frailey
College teacher in computer science for over 40 years

To claim that "Your Happy Meal depends on someone who can code" is quite a stretch. The kind of "coding" that is performed by store clerks is quite primitive compared with what it takes to actually develop the applications that are running their ordering and payment systems. In fact, as a 40 year professional software developer, I'd say that coding, while a valuable thing for people to learn because of the kind of precise thinking it requires, is actually declining in importance as a career skill whereas designing and developing software is the long term growth area. Unfortunately, too many people conflate "coding" or "programming" with "software development". It's like conflating bricklaying with architecture!

That being said, coding should not be a replacement for foreign languages - it should be taught in addition to it. As a Texan I'm embarrassed that my state allows it as a substitute for foreign languages. Every Texan needs to know Spanish and the need is growing every say! (Note also that too many Texans don't learn English very well either these days.)

Yes, I'm in the minority, but I'd rather eliminate semi-pro sports (high school football, basketball, etc) from the curriculum and teach them more that will actually be useful in their careers and in enriching their lives.

Anna Adam's picture
Anna Adam
Digital Learning Specialist and one of The Tech Chicks

So I don't believe it's at *all* a stretch to saying your Happy Meal depends on someone who can code. The coder is not the store clerk - it's the person who coded the device they take your order on. I think you mis-understood our meaning.

Anna Adam's picture
Anna Adam
Digital Learning Specialist and one of The Tech Chicks

I'm really enjoying the discussion on this post. Since I helped write the article, obviously I'm actually excited about programming counting as a foreign language credit. I did want to share what I don't think we expressed very well in the original article...

I do *not* think programming is somehow *better* than taking a foreign language. I definitely see the merits of learning a foreign language. I had a programming class and several years of Spanish but ultimately would have benefited much more of ASL had been offered. As for what foreign language you learn, I think that depends on the person. I don't agree that all Texans should learn Spanish necessarily. My brother-in-law lives in Texas and he has way more need for Japanese what with his line of work.

I like the idea of programming counting toward the language requirement mostly because there are *so many* requirements for graduation it is increasingly difficult for students to take courses that just plain interest them, or a course that will actually lead to something they want to do for a career but doesn't fit in those check boxes. I think allowing programming to count as a foreign language opens up more diversity and choice for the student. He/she can certainly still take a foreign language in addition, but letting programming count for something lets him take a something else he might not have been able to otherwise.

Thanks for reading our article, and if nothing else, I'm glad it got people thinking. :)

Dennis Frailey's picture
Dennis Frailey
College teacher in computer science for over 40 years

Anna, by that token I could claim that my happy meal depends on someone who can design and build buildings, someone who knows how to install electrical systems, someone who knows how to build furniture, and on and on. It's not that I think coding should not be taught, but that in the context of what the average person needs to know about computers, coding is a lot less important than many other things. For example, people need to know something about privacy and security, about computer-related ethical issues, about the fundamental limitations of computers, and many other things (that I've taught in "computer literacy" courses from time to time). To get back to the original point, I don't think coding is a suitable substitute for learning a foreign language. It teaches different skills. It may, perhaps, be considered a substitute for more advanced math courses [I might as well stir the pot!].

Pam's picture
language teacher

While I cannot argue that computer science is a valuable skill to have in the 21st century, I certainly wouldn't replace learning a second language with that skill. I believe that there is room for both in today's curriculum. In fact, I believe that both are necessary. We need people who can create new software, but we also need people who can communicate with people, not just machines. In order to accomplish this, we must teach our students about cultures and languages that they don't already know. Just because you can find people who speak English almost anywhere you travel today doesn't mean that you want to depend on someone else to translate for you. If nothing else, the goodwill it creates when you at least attempt to speak someone else's language is worth more than money can buy.
