ExploreCS course at the Computer History Museum
These days it seems like one of the most popular solutions to preparing kids for the future is teaching them to code. While we are bombarded with statistics about the gap between the number of computing jobs and qualified candidates, we do not have much visibility (ie. data) into how schools are addressing this challenge.
To remedy this, in 2013 Google commissioned Gallup to research the state of computer science education at K-12 schools across the US. Last week they released their findings in the landscape study, Searching for Computer Science: Access and Barriers in US K12 Education. This report is part of Google for Education’s ongoing efforts to improve computer science instruction through research-based strategies.
Many media outlets covered the release of the results, choosing the fairly obvious headline that there is a disconnect between what parents want schools to teach and what schools actually teach. To anyone who has spent any time thinking about K12 curriculum, it is known that most of those decisions are driven by standardized tests, which don’t include CS. However, the real issue is that schools and teachers do not feel adequately prepared to teach computer science in an effective way.
Conflating Computer Science and Coding
First I must call out the common misconception that CS and coding are the same subject. While writing code is one aspect of computer science, there is much more to CS than coding. That said, it is not surprising to me that the report finds that,
“even in schools where computer science learning opportunities exist, the curriculum does not necessarily include programming/coding.”
My frustration with the modern ‘everyone should learn to code’ movement is the narrow focus on teaching kids to code, rather than computational thinking. Just focusing on coding misses the larger point that computer science as a whole can be an authentic and effective way to teach kids how to think and become creative problem-solvers. Simply copying and pasting lines of code or dragging blocks around a screen does not develop critical thinking skills.
Getting to the Root of the Problem
Amidst all the facts and findings, what struck me is that,
“Few principals and superintendents mention a lack of computer equipment and software as the main reason their schools do not offer computer science.”
In software-centric Silicon Valley, it is easy for many to gloss over this point. But we shouldn’t. If most entrepreneurs abide by the mantra, “build something people want,” then anyone working on education products, especially related to instruction, should hear that schools are saying they do not want or need more software to solve this problem.
The real need (ie. opportunity) is finding qualified teachers and helping them effectively use all the tools we already have.
“Forty-two percent of principals and 73% of superintendents say that there are no teachers available at their schools/in their districts with the necessary skills to teach computer science. The inability to hire and/or train teachers to lead computer science classes also prevents many schools/districts from offering computer science;”
This is largely due to the reality that someone with a CS degree is not very likely to go into teaching. The data reinforces that CS education in K12 schools is a people and implementation problem, not a software problem.
The fact that many teachers do not feel supported is actually one of the factors that’s driving a broader, national teacher shortage. According to a recent Washington Post article, educators share that the main reasons they are leaving the industry are “low pay, insufficient classroom resources, and so many testing requirements and teaching guidelines that they feel they have no flexibility and too little authentic instructional time.” (Again with those darn testing requirements.)
Girls-Only ExploreCS course in Menlo Park
Authentic Instructional Time
Teaching computer science has the potential to create engaging learning experiences for both educators and students. This belief drives much of our thinking at Embark Labs. Our project-based approach to introducing students to computer science focuses on creating a culture of collaboration in the classroom. In addition to our innovative curriculum we provide educators with in-person professional development and on-going coaching so that they have the resources and support they need to teach CS effectively.
Through a growing partnership with the CalStateTeach Teacher Preparation Program we are equipping new educators with the curriculum and the confidence they need to teach computer science and coding to kids in a hands-on, project-based way.
To learn more about our programs, visit EmbarkLabs.com.
(Thanks to Sharan Ghai for reading a draft of this post.)