When to start

Many teachers don’t consider starting computer science education in kindergarten, but that’s precisely where to begin. In elementary school, kids approach computers with curiosity. In particular, girls are more likely to pick up computer science when they are young, before anyone has told them they can’t do it. And they are eager to learn: kids love the kinds of logic puzzles programming involves. (In fact, the first course on Code.org, the organization I work with, is designed for children who can’t yet read.)

Another huge misconception that steers students away from computer science is that you need to be stellar in math. While it is true that there is some math in computer science, much of it is not math focused, and you can easily start with concepts that don’t require any math. Our K-5 classes teach students how to think logically and break down a complicated problem into a series of steps—both skills that will hopefully benefit math instruction, but don’t require math prerequisites themselves.

A long way to go

Currently, 25 states still don’t allow students to count computer science courses toward high school graduation, so while we are seeing some progress, there’s much to be done. And the population taking computer science does not represent our society. In fact, in U.S. AP computer science classes, only 15 percent of the students are girls and eight percent are African American or Hispanic.

Another alarming statistic, courtesy of Girls Who Code, finds that only 12 percent of computer science bachelor’s degrees are awarded to women, despite the fact that 57 percent of all bachelor’s degrees are earned by women. Embedding computer science into the curriculum gives all students—not just those initially interested—the opportunity to spark an interest in coding.

Speaking in blocks

A question we often hear from schools is “Which computer software language we should be teaching? Python? Javascript? Something else?”

There are a handful of code languages out there and their shelf life changes rather quickly. The languages used today may or may not be the language used 20 to 30 years from now, so rather than concentrating on a specific language, we should first be focusing on the basics of computer science. At Code.org, the first “language” we use is blocks, and these foundational concepts can translate across any of the coding languages that the students will learn in the future.

Starting students with a traditional coding language can be discouraging, as they have to get all the punctuation correct in order for their applications to work the way they expect. We’d rather let the student focus on the goal than the punctuation. Using blocks also means that students don’t have to know how to type to begin learning computer science. They can drag and drop blocks with a mouse on the PC or with their finger on a tablet. However, once a student has the foundational concepts, learning a specific language comes easily.

Getting started

A great way for teachers to get started and introduce students to computer science is to take part in the “Hour of Code”—a one-hour introduction to computer science, designed to demystify code and show that anybody can learn the basics. Anybody can host an Hour of Code at anytime. Some of the tutorials even work “unplugged”—that is without computers in the classroom.

Computer science foundations, even at the lowest level, are an important and powerful set of skills to have, especially in this economy and this enriched digital era. Educational institutions have the opportunity to recognize and support the need for these skills. Teaching computer science will help us produce graduates that are fully college ready and prepared for the workforce, no matter what career field they end up pursuing.

Alice Steinglass runs the product, design, and marketing teams for Code.org. Previously, she managed the PM team for the UX Platform on HoloLens, designed APIs and developer client libraries for Xbox 360, ran an ecosystem outreach and UX team for Windows, and built project management tools.