Learning programming on Khan Academy

In this course, we'll be teaching the concepts of the JavaScript programming language and the cool functions you can use with it in the ProcessingJSlibrary. Before you dig in, here's a brief tour of how we teach programming here on Khan Academy, and how we think you can learn the most.

Normally, we teach on Khan Academy using videos, but here in programming land, we teach with something we call "talk-throughs". A talk-through is like a video, but it's actually interactive- you can pause at any time if you want to play with the code yourself, and you can spin-off if you want to make your own version of what we made.  Here's an animated GIF of a talk-through (there will be sound in the actual talk-throughs!):

An animated GIF of the "More with variables" talk-throughAfter a talk-through, we'll give you a step-by-step coding challenge and guide you through them with messages and hints. If you feel like you're spending too much time on a challenge and getting frustrated, try re-watching the talk-through or just keep going and re-visit the challenge later. Here's an animated GIF of the Bucktooth Bunny challenge:An animated GIF of the Bucktooth Bunny coding challenge

When you're learning to program, you've got to practice-practice-practice. The challenges are a good way to try out what you've learned, but we want you to go deeper. That's why we now have projects in the course, opportunities to spend a lot more time and be more creative than you can be in the challenges. Some of the projects will be evaluated by your peers, and some just by yourself. You'll also evaluate some of your peer's projects, so you can learn from them. In programming land, we're constantly learning from our peers, there's always something new to learn! 

A screenshot of the "What's for Dinner?" project.Besides the projects, you should also make up completely new programs, whatever's in your head. Just click "New program" on the programming homepage, and look at the documentation to remember how to do things.

And hey, it's totally okay to make mistakes. That's what programmers do all the time - we break things, we make mistakes, we learn from them.

A screenshot of a new program with an error in it.Once you've made a program, you can save it and share it with your friends and family. It'll also show up in our community programs area, and other programmers can comment on it or ask you questions about how you did something. You can do the same for any interesting programs you find, too, and if you have an idea for customizing a program you see, just click "Save as spin-off" and you'll have your own copy of it.

All in all, there are 40 talk-throughs35 challenges, and 9 projects in this course, and it takes about 15-40 hours to complete, depending how wild you go with your projects. That might seem like a lot of time, but it's worth it, because at the end, you'll know the fundamentals of programming that are common across all programming languages.

Welcome to programming land: we're a community learning together and inspiring each other to turn the visions in our head into reality. Onward!

Start learning now ➜


P.S. If you'd like and you have the time, you can also watch this video tour I put together: