If you're seeing this message, it means we're having trouble loading external resources for Khan Academy.

If you're behind a web filter, please make sure that the domains *.kastatic.org and *.kasandbox.org are unblocked.

We are strong proponents of teaching "computing" to students of all ages. What do we mean by computing? Many things:

  1. Using a computer to achieve goals, like being able to type, using a spreadsheet program, editing video, etc.
  2. Understanding how to program a computer using one of the many programming languages in the world, either to solve math and science problems or to create interactive apps, games, and experiences.
  3. Gaining a deep understanding of the science and engineering of computers, both on the hardware side (electrical engineering) and the software (algorithms).

Currently on Khan Academy, we teach the second aspect - computer programming. We look forward to teaching all aspects of computing in the future, but we are currently focused on programming as a fun and practical way for students to get started. These resources should help you teach computing in your classroom.

Curriculum Overview

Our core curriculum teaches the basics of programming in the JavaScript language, using the ProcessingJS library on top for drawing and animation. That means that we teach all the basic concepts in the language, but our use case for them is visual. For example, when we talk about nested for loops, we demonstrate how we can make a grid of gems on our screen.

The curriculum is viewable here: https://www.khanacademy.org/cs/programming 

Topics covered, in order:

  • Basic statement syntax
  • Variables
  • Math operators, assignment operators
  • Strings
  • Functions
  • Logic and conditionals
  • Loops
  • Arrays
  • Objects
  • Object-oriented JS

Materials offered

Our curriculum is made up of three types of materials:

  • Talk-throughs: These are our approach to videos, the way that we teach new concepts. Like Khan’s videos, they’re around 5 minutes long and teach one concept at a time. We present the code on the left, output on the right, and narrate as we write new code, while the output updates live. The student can pause the talk-through at any point, change the code, and see the new output, which is one way we encourage more interactive learning. The talk-throughs have transcripts for deaf students, and are partially translated into Spanish, French, and Portuguese.
  • Challenges: This is how we assess whether students understand the concept we just taught, and there is one challenge for every talk-through. Each challenge starts off with some code and has a series of steps with instructions and hint code for each step. We analyze their code as they type and offer messages to guide them in the right direction, when we see they’ve made a common mistake. When they complete the steps, they earn points and their progress is logged on their activity dashboard.
  • Projects: The projects are our opportunity to give students to be very creative with the concepts they’ve just learnt. They have a general set of guidelines but students can take them in their own direction. For example, after learning how to draw and color, students do “What’s for Dinner?”, drawing their favorite dinner on a plate using the commands they’ve learnt. They are not currently graded for these projects, but a code review process is currently being developed for them.

The curriculum currently consists of 40 talk-throughs, 31 challenges, and 9 projects. On average, the talk-throughs are 6 minutes long, the challenges take 5 minutes each to complete, and projects are often completed in 10-40 minutes, depending on how far the student wants to take them. There is thus around 15 hours of curriculum.

Prerequisites

The curriculum is designed to be learnable by 4th graders and up. Math-wise, it requires the student to be comfortable with fractions/proportions, the idea of one number being a fraction the size of another, and that is a topic that is required in 3rd grade math in the US. Besides that, students should feel comfortable with typing.

Accessibility

This curriculum and platform works on modern browsers (Chrome, Firefox, Safari, IE9+). It works on the iPad, but students may find it's not as enjoyable to type on that keypad.

The curriculum is mostly translated to Spanish, with interactive subtitles for the talk-throughs (not dubbing). There is partial translation for Portuguese and Hebrew. If you are able to help with translation, you may be able to sign up as a volunteer translator. For details on translating the messages in the challenges, read this post. For details on writing subtitles for the talk-throughs, read this post.

This curriculum is usable by deaf students. There is a transcript option available for the talk-throughs, which are the only aspect of the curriculum with audio. Click the gear menu next to the play bar and select "Interactive Transcript". Students can pause if it is going too quickly.

Authors

The curriculum was developed by full-time Khan employee Pamela Fox, with some talk-throughs voiced by previous interns Sophia Westwood and Jessica Liu. Before Khan, Pamela taught JavaScript for GirlDevelopIt, and she based the Khan Academy sequencing on the CC-licensed curriculum she created for  those GDI workshops. She is also a volunteer instructor for GirlsWhoCode, which bases their curriculum on the Khan platform, and she regularly visits classrooms that use the Khan curriculum to learn more about how it can be improved.

The platform for delivering the curriculum is developed by full-time Khan employee John Resig, with help from Pamela. John is well known for having created jQuery, the most popular JS library in the world, and is very active in the JS community.

Statistics

  • In the past year, the core curriculum has had 4.3 million unique visitors in the past year from the US.
  • The Hour of Code curriculum (a curated subset of the core curriculum) has had 3 million unique visitors from the US.
  • 4.8 million people have viewed a program that was created on the CS platform. 150K students have created a program from scratch. 420K students have forked a program (made a new program based on someone else’s).
  • We have about twice as many males trying our curriculum as females, but we see the same completion rates for our coding challenges across males and females. They are equally likely to succeed, if they attempt them.
If you're using our programming curriculum in the classroom, we strongly encourage you to subscribe to our blog for the latest updates, and email us at compsci-feedback at khanacademy.org with your stories and feedback. Thank you!