Updated: Oct 26, 2020
Many organizations and tech giants have touted the value of learning to code, such as Code.org, Bill Gates and Mark Zuckerberg. The message is that coding is fun and empowering but a less explored question is 'who will teach?' Once we convince families that coding is a valuable skill, what is the most effective way for kids and adults to learn? There are many fine books, videos, and websites written and developed to teach coding. We value and assign homework from self-paced websites like sololearn and w3schools. There are even coding schools that have built software and systems to teach kids to code. However, the missing link for success is a mentor and teacher. A person that can answer questions, provide instruction and direction, and support the learning process is paramount. One could speculate that this problem is not addressed enough in the press and in practice because there is a shortage of teachers due to the shortage of coding education in the first place.
Resources For Learning To Code
There is no shortage of material and inspiration for learning to code. In the video What Most Schools Don't Teach, Steve Jobs said “Everyone in this country should learn how to program because it teaches you how to think.” This video has 15 million views and for good reason. It's powerful and inspiring. Facebook's initiative TechPrep has created a free website to discover programming, learn about programming jobs, and get started building skills. Google and Carnegie-Mellon also offer free curriculum. MIT graduate Michele Pratusevich discussed coding being the missing link in education with her article Why Programming? Why Python? Why Now? Her collection of 30 beginner Python exercises is used by some of our instructors, as we leverage and customize content to individual learners.
Although there are a plethora of good resources, there is less publicity about the shortage of Computer Science teachers and the organizations who are preparing teachers to advance computer science education. We need to recognize and support the immediate need to train and develop Computer Science teachers. It isn't helpful to proclaim the benefits of learning coding to get more students interested while disregarding the shortage of teachers who can impart this skill.
The Shortage of CS Teachers
"I can say at the K-12 level there's a dramatic shortage" of computer science teachers, says Jake Baskin, executive director of the Computer Science Teachers Association (CSTA), which worked with Code.org to produce a report in 2018 on the state of computer science education policy in the U.S. Surprisingly, the study revealed that only 35% of public high schools in 24 states offer computer science courses.
Even if all high schools offered computer science, we would not have enough teachers trained to teach. Outside of schools, Girls Who Code and CoderDojo organize free programming clubs worldwide, where kids can learn together while getting support from fellow members and volunteer mentors, but the facilitators do not need to know how to code and are expected to learn along with the students. Kode With Klossy, offering free summer programs to girls between the ages of 13-18, also recruits and trains non-coders.
In recognition of ongoing efforts to ramp up CS teacher education, dedicated groups such as the following sponsor and support professional development of Computer Science teachers across K-12 education. There is vision and progress being made.
Microsoft TEALS (Technology Education and Literacy in Schools)
ISTE (International Society for Technology in Education)
WeTeach_CS at the University of Texas
In addition, after-school programs, coding schools, and non-profit organizations like Girl Scouts and library associations offer parents more options and support for learning to code. We all face the problem of who will facilitate. Due to the large difference between teacher and programmer pay, anyone who can code is more likely to choose a programming career over a teaching career. The biggest problem that the coding education industry faces is the lack of teachers.
Coding is a fun, empowering and valuable skill. We should introduce kids to coding at a young age to give them opportunities to learn more as they get closer to college. Ideally, instruction would involve a teacher leading lessons and providing guidance and assessment. However, there is a shortage of coding teachers, and this problem will not be solved until there are more Computer Science and programming classes in schools and colleges to develop future educators and knowledgeable practitioners. Which came first, the chicken or the egg? We won't have widespread coding education until there are more coding educators, who will come from more widespread coding education. Would you agree?