Teaching the Teachers

It is undeniable that our society is developing a rapidly accelerating dependence on software, and, subsequently, a similar reliance on those who have the skills and knowledge to envision and build these platforms. There are the more obvious ways in which this transition impacts each of us daily - we rely on computers and phones, for example, to access information, communicate, and accomplish critical tasks in both professional and personal capacities. However, we also rely on the software embedded in our infrastructure - the programs that will inevitably help us to automate our economy (in cars, airplanes, factories, military equipment, etc.).

Currently, the ability to design this future rests in the hands of a relatively small few - those who have the ability to program software. To meet our society’s exponentially increasing need, there is a growing consensus that schools should teach computer programming as a core subject. The problem is that most of the 3.7 million teachers in the United States do not know how to code, and are, therefore, unable to translate this skill set to students.

Presumably, we hire teachers who have expertise in their respective content areas. But in the case of computer programming, since the skills are so rare, this model simply does not translate. And if we cannot find teachers who know how to code, our next generation of leaders will not know how to do the same. This is, however, a solvable problem - a shift in the way in which we conceptualize instructional training opens up a world of infinite possibility. Through teaching our teachers to code, we can - rapidly - break this cycle.

Contrary to popular opinion, one can learn the fundamentals of programming rather quickly. The days of green screens with undecipherable squiggly lines are long gone. The biggest barrier to learning these foundational skills is not the rigor of the content, but is rather the fear of embarking on the quest to acquire such a robust new skill set later in life. Fortunately, because of their grit, passion, and drive to do anything possible to help students succeed, teachers are uniquely poised to overcome this obstacle and tackle this new content.

Let’s be honest - every single day in this country, teachers are working relentlessly to prepare the youth of tomorrow for the future. In teaching kids to program, students learn how to think critically and logically, work with teammates to solve problems, and channel creativity into tangible outputs. Simultaneously, teachers will be providing students with the technical skills to fill one of the million programming jobs that are projected to exist by the year 2020. Without question, teachers will jump at the opportunity to grant students access to this opportunity. Earlier this year, when ‘Nashville Click’ hosted a “learn to code” event, over 60 teachers made the choice to participate. Teachers are wired to care - and they showed up in spades, on a Saturday - with no pay - because of the belief that learning to code would be to the advantage of their students.

There is a common misconception that programmers must have had years of professional training in computer science, or that they went to school to learn how to program. But this perception is misguided. Most programmers actually learn to code because they needed the skills to bring a vision or idea to reality, not because they intrinsically wanted to enter the field.

These people likely watched a slew of online tutorials, learned how to make a dialogue box pop up to read “Hello!” on their computers, read a few books, started building projects, and, most importantly, never stopped investing in their knowledge portfolio. But this is nothing new for teachers - learning and constantly improving is what teachers do best. In a supportive and high-performing school, teachers consistently learn new strategies in instructional training sessions, and conduct research to stay up-to-date with content. If their kids need to learn programming, teachers will learn that, too.

But don’t take my word for it - let’s conduct an experiment. Below is legitimate Javascript, the first major language we teach at RePublic in our curriculum. Read it - I bet you can figure out what this code tells the computer to do. The only background knowledge you need is that the term ‘prompt’ will cause the computer to display a pop-up box.


    answer = prompt(“Would you like to receive our new coding newsletter?);

    if(answer == ‘yes’){




When this code runs, the computer will display a pop-up box that asks the user if he/she wants to sign up to receive the newsletter. If the user clicks (that is, if the answer is) “yes,” the computer will add their email to the list of people who receive the newsletter each month.

Congrats! You just read computer code. Naturally, you may have some questions, such as “Why did you use two equal signs instead of one?” This is why RePublic provides online training for every lesson we build. Not only are there screencasts and videos that teach the content, but there are also opportunities to practice, ways to check your work, and forums for collaboration with experts and fellow novices. You can check out one of our tutorials here to start exploring.

I was recently in an interview with a reporter seeking to learn more about our curriculum and vision for teaching computer programming. I reflect often on a question he posed in our meeting. “If you could get professional programmers to teach,” he asked, “wouldn’t that just be better?” My answer was - and remains - no. I believe that teaching (regardless of subject matter) is arguably harder than coding. In creating a model that does not depend on expert programmers, we are developing a sustainable and scalable system that ensures every teacher who recognizes the value in programming is equipped with the tools he/she needs to translate this knowledge to students.