We Should Teach Code like We Teach Languages

There’s been a movement afoot at all levels to get computer languages treated like foreign languages for curriculum purposes.  This is in part a strategy of how to get computer science topics to count in education of various levels, which is an important question.

But there’s a deeper insight here that I think most people miss.  Code is a human language. We invented it!  Yes, code tells computers what to do but it’s also how we communicate with each other about computers doing things.  This has huge implications for teaching it and the kinds of tools we need to do so effectively.

Programming Languages are Human Languages.

Speaking Every Day

I remember in my High School Spanish course my teacher, Mrs. Lupton, spoke and had us speak Spanish in class every day including day one.  I remember in my undergraduate computer science course I couldn’t even get my compiler set up to run correctly for the first few weeks of class.  Mrs. Lupton would’ve been in big trouble if her students hadn’t yet spoken any Spanish 1-2 weeks into school because the software they had to install wasn’t working.  And yet that’s the standard we’re used to accepting when teaching code.

Starting Dialog through Code

The real thing that students need to develop fluency in code is frequent and authentic dialog.  This is often a dialog between them and previously written code. They also need to loop other students and teachers into the conversation easily.  This means that teachers and students need to be able to run, share, modify and write code, from the first day of class.  With existing tools, especially ones designed for professional programmers, this can take devastatingly long, sapping student confidence and enthusiasm.

From Two Weeks of Setup to Two Seconds

At Trinket, we make a widget that teachers can put on their websites or link to.  This widget has whatever starter code the students need and is an entirely self-contained programming environment for them.  If running, modifying, and writing code is the equivalent to speaking it as a language, then students are ready to go as soon as the page loads.  We’ve taken the time it takes to get every student up and running down from two weeks to two seconds.

Teaching with Code

Code is now so easy to include in a lesson that we see teachers in other subjects adding it to their lesson plans.  Computer Science teachers love us too, but a majority of our users come from other disciplines.  They’re using code as a tool to spark problem solving, critical thinking, and communication between students.  They’re not just “teaching code”- they’re teaching their subject material with code.

New Worlds for Students

Regardless of whether it’s in a computer science course or another subject, teaching with code opens new worlds for students.  Viewing code as a language helps us to understand that, beyond the material benefits of jobs, code can become a medium of self expression and self-realization for students.  This opens up experiences and interactions with others that are possible no other way.

Ready to get started?

Can code enhance your students’ experience?  What examples and lesson plans will they best respond to?  You’re the one who knows how best to reach your students.  Trinket’s here to make sure that tools won’t hold you back or get in the way of the conversation.

  • http://www.mistribus.com Kevin Shockey

    I learned the Spanish language late, I started in 1992 at the age of 29. This is almost unheard of, most learn the language as a child. I credit my ability to finally master the language based on my proficiency in learning so many different programming languages in my life. With a fixed set of syntax and semantics, learning Spanish was fairly straight forward.

  • ncmathsadist

    This is how I do it.