Fewer Tools. More Teaching: A Practical Approach to Improving K12 CS Education

ExploreCS at Computer History Museum

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 in Menlo Park

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.)

Building the Future by Exploring the Past

ExploreCS at CHM

Explore CS at the Computer History Museum

And just like that, summer is over. As kids grab their backpacks and review bell schedules, we can feel the parents around us breathe a collective sigh of relief. At Embark Labs we love the buzz of back-to-school which just adds to the energy from our amazing summer courses. Over 8 weeks we explored computer science and built Android apps with ~150 kids, of which over 50% were girls and students from backgrounds underrepresented in CS. Given our deep passion for increasing diversity in the tech field, we have a growing scholarship program that allows us to work with students who otherwise would not have access to these dynamic learning experiences.

Punch card programming

Punch card programming

This summer we had the unique opportunity to partner with the Computer History Museum to offer two sessions of our Explore Computer Science course. This was the perfect collaboration given our emphasis on computational thinking and hands-on exploration. It was so powerful to introduce a concept and then provide students with the historical perspective and connect it to real people and companies. After our instructors introduced binary coding, students walked down into the galleries to see some of the original binary switches. And after we engaged students in an activity about encoding and decoding, they hand coded their own punch cards.

As we moved on to the design-thinking and project development process, students pushed their thinking to prototype creative solutions to real-world problems. This is just one video of the creativity and energy the students brought to this project.

We are thrilled to bring CS to life for our students in this way. If you want to see more, check out our photo gallery or YouTube videos.

As we continue our partnership with The Computer History Museum, and their inspiring education team, we will share more about future programs soon. (Maybe your child can join us next summer!)

Look, Ma! I’m on TV: Embark Labs on YouTube


With an overwhelming number of summer STEM/coding programs for kids, we often get asked, “What makes Embark Labs unique?”  Yet, once parents and students participate in our programs they inevitably say, “Wow! I’ve never seen computer science taught in this way.” So in an effort to share those ‘Wow!’ moments with a broader community, we recently launched the Embark Labs YouTube channel.

Subscribe to hear parent and student testimonials, and get a glimpse into what we mean by teaching kids computer science in a hands-on, engaging way.

Exploring Computer Science After School

Don Callejon School

After operating successful Embark Labs pilots at Google and Cisco last year, I’m excited to expand our programs through our first school partnership at Don Callejon School in Santa Clara. The Embark Explorers program introduces students to the fundamentals of computer science through offline activities (games and puzzles) and then guides them to apply that learning using online programming environments (LightBot, Blockly, Scratch). During this semester long experience Brian Van Dyck and I will have the opportunity to work with a group of 3rd-5th graders from January thru May. Our program culminates in a community showcase where students present what they’ve learned and built during the course. (I cannot wait to see what our students create and will definitely share the projects and process with this community.)

Creating vibrant learning communities is core to our mission and model. Given Embark’s focus on deeper learning outcomes, we are excited to work with the same group of students over an extended period of time. While it is inspiring to see increased attention to teaching kids technical skills, Embark seeks to expand the conversation beyond just ‘learning to code,’  by placing emphasis on creative problem-solving and critical thinking skills. It is also exciting to see that this method of teaching CS appeals to a diverse community of students, leading to an organic 50/50 split of boys and girls in our course.

Special thanks to the parents behind the Don Callejon School Community Organization for helping introduce Embark to this community. Check out our winter newsletter to learn more about upcoming programs.