Despite continued debate over what “computer science” encompasses, politicians, corporations, non-profits, school leaders, teachers and families have all been pushing to teach more of it in U.S. schools. Unfortunately, supply hasn’t kept up with demand. According to a 2016 poll by Gallup and Google, more than 90 percent of parents think computer science is a good use of school resources, but less than half of schools offer even a single class. Although an improvement from previous years, this still pales in comparison with the emphasis on so-called core subjects like math and reading.
When it comes to computer science, why is there still such a big disconnect between what we believe our students need, and what schools offer?
In light of the Trump administration’s pledge of $200 million of federal funding for computer science education (followed by an additional $300 million from tech companies for a total of $500 million), we should narrow in on key obstacles blocking the #CSforAll movement and how funding can help us overcome them. While building several STEM-focused products in the past few years, I’ve spoken to numerous teachers, administrators, learning specialists and other educators about the unique challenges they face in starting computer science programs. Substantial computer lab time, reliable wireless connectivity and district-level support for computer science were all important. But what I heard most consistently, and most loudly, is the desperate need for more educators qualified to teach computer science.
Here are some thoughts on where the $500 million in funding should be used:
It’s near impossible to persuade a computer science graduate to turn down a lucrative tech salary and enter teaching full-time, and these economics are unlikely to change soon. Given this reality, schools should continue to encourage existing teachers without a traditional CS background to jump-start their CS programs, while the education system works on the necessary processes and incentives to fill the pipeline with new CS teachers.
To cross-train them, schools should offer high-quality CS training during school hours, rather than asking teachers to train themselves on their own time. Schools should also use any funding they receive to offer salary increases to teachers who complete CS training, and subsidize alternative trainings that teachers find on their own, including weekend workshops, online courses, and summer institutes. In addition, while pathways to CS teaching certification are being built at pre-service teacher colleges, we should officially recognize current teachers who complete a specified threshold of CS training with an endorsement (which has narrower scope than certification).
Build Certification Pathways
Cross-training current teachers is a great stopgap, but long term we will need to make sure new teachers have opportunities to pursue CS certification at pre-service teaching colleges. In 2015, there were fewer than 100 programs in the U.S. for traditional teacher credentialing in computer science (compared to more than 1,500 for math or English). Federal funding should go to expanding the general education coursework at teaching colleges with additional CS-specific content, and creating federal- and state-level assessments and other evaluations to certify new CS teachers.
In addition to this independent pathway for CS, we should also make sure that all STEM pathways (e.g., science, technology, mathematics) at teaching colleges are updated to incorporate elements of computer science in their coursework. This will help bridge core CS concepts like computational thinking and modelling to other subjects students are learning.
Bring Programmers to Classrooms
TEALS is an organization which places software engineers at local schools several days a week, where they can co-teach a CS class or train teachers. TEALS is well supported by Microsoft’s philanthropic arm, but there’s room for the federal government or companies to fund similar initiatives which bridge the gap between the burgeoning technology industry and our classrooms.
One way would be for companies to sponsor a computer science “expert-in-residence,” a software engineer who spends a year or two supporting teachers at a school. Another would be to support or build a community for educators and technology professionals to connect in meaningful ways (think a Quora for CS educators). Finally, “micro-tutoring” could be a way for full-time software engineers to support the work being done by educators in the classroom.
Stick to the Basics
Just as important as choosing what to fund is choosing what not to. For starters, we should spend less public money on one-off teaching gadgets. Tools like Bee-Bots and 3D printers may get younger learners excited about computer science, but they’re often expensive and aren’t as useful as additional support for the math teacher who actually has to incorporate CS into her classroom.
We could also do with less focus on specialized computer science curricula (e.g., worrying about the nuances of Swift, a language primarily used for Apple products) especially for younger students. For most classes, particularly those at the K-8 level, learning the details of a specific language isn’t as important as understanding basic concepts like algorithms and loops. These classes arguably don’t even need computers—you can teach a search algorithm through playing Battleship, or text compression through rhyming games. Additionally, most teachers will tell you that there’s already plenty of specific CS content available, if they care to dive deep into a particular language. Their real challenge is figuring out how to use that content effectively in their class. Plus, the more content that’s out there, the harder it can be to evaluate its quality.
We know that digital literacy, including computational thinking, is an important piece of equipping students for the future. And we know that public funds in education are sometimes (perhaps often) misspent. So let’s be thoughtful about how best to use new funding to make good on our pledge to make CS available to everyone.