The Actual State of Khan Academy Computer Programming
I spent a couple weeks going through Khan Academy's programming track again recently, partly to refresh material for someone helping their kid with it, partly because I forgot where certain things were buried in their interface. It's free, which is the main reason people use it, and it does what it says it does for a beginner. That's a specific scope. It's not trying to be a bootcamp or a replacement for a CS degree. Understanding that before you start will save you a lot of frustration. You don't need an account to browse, but you do need one to save your progress, which matters because the platform tracks completion across modules and sometimes forgets where you were if you're not logged in. Create one, pick your skill level honestly — they have a placement thing that tries to figure out whether you should start with HTML basics or jump into JavaScript — and go from there. The courses are split into roughly three tracks: HTML and CSS for web design, JavaScript fundamentals, and Creative Coding which uses a modified version of p5.js for visual projects. The interface is dated. Not broken, just visibly old. It loads fine, the code editor works in your browser, and you can run code instantly. That's actually one of the stronger points — no setup, no npm installs, no environment configuration. You open a lesson, you read a few paragraphs, you tweak the code in the provided editor, you hit run, and you see the result. Sometimes it takes a second to compile through their server, usually around three to five seconds depending on how busy their infrastructure is.
The actual URL structure for the programming courses lives at khanacademy.org/computing, though they've shuffled sections around over the years so the direct links sometimes shift. Just search the site if a link goes stale. There's no official download because it's entirely browser-based, which is deliberate. They want you working in their editor so they can grade your exercises automatically. Here's the thing most people don't mention: the auto-grading on Khan Academy's exercises is aggressive and occasionally wrong. I hit this exact problem last month when I was going through the JavaScript conditionals module. The exercise asked you to write a function that checked whether a number was even, and I wrote a clean solution using the modulo operator. The platform rejected it and told me my output was incorrect. I double-checked the code, ran it in a separate environment, confirmed it worked, and then realized the issue — the automated grader was comparing string representations of the output rather than the boolean values themselves. A subtle edge case in their test harness. The workaround was to wrap my return value in an explicit Boolean() call instead of letting JavaScript infer it. The code still did the same thing. The grader accepted it after that. It happened once in maybe forty exercises across both the JavaScript and creative coding tracks, but it's worth knowing about because you'll second-guess yourself if you run into it. The lessons themselves are structured as short reading passages followed by coding challenges. Some of the reading is well-written, some of it reads like it was assembled from Wikipedia summaries and rephrased to sound conversational. The explanation of scope in JavaScript, for instance, is competent but doesn't cover the nuances of closures the way a proper resource would. That's fine if you're learning the basics. It's not fine if you're using Khan Academy as your only reference and then hitting a wall when you try to understand hoisting or the difference between var and let in practice.
Another practical detail: the Creative Coding track uses p5.js, which is legitimate and well-designed, but Khan Academy wraps it in their own layer that strips out certain p5 features. You won't have access to the full library. If you want to build something more complex with p5, you'll eventually need to take your code and run it in the regular p5.js editor or a local setup. The transition isn't hard, but you need to know it's coming. For HTML and CSS, the markup lessons are thorough enough for someone who's never touched a browser. The CSS section gets thinner once you hit positioning and layout, and you'll probably want a secondary resource for flexbox and grid. Khan Academy touches on them but doesn't go deep. I'd pair it with MDN's documentation, which is free and far more detailed on those specific topics. The platform does have a mobile app, but the coding experience on it is worse than the browser version. The editor is cramped, keyboard input can lag, and some of the interactive exercises don't render properly on smaller screens. If you're doing this on a phone, use the browser in desktop mode if you can. It makes a real difference.
Get the Full Details

Progress tracking is decent if you stay consistent. The dashboard shows percentages completed, gives you stars for finished exercises, and has a weekly goal feature. The weekly goals are motivational but not particularly useful once you finish them — they just reset to the same targets the next week. There's no export option for your certificates or badges, so if you want proof of completion for a resume or something, you'll need to take screenshots while you're still on the pages. I learned that one the hard way. Overall, Khan Academy Computer Programming is functional. It's not the best resource for any single topic in computer science, but it's free, it covers a reasonable breadth, and it's structured well enough that a self-directed learner can move through it without getting lost. It's also not a finishing resource. If you complete everything and feel confident writing applications, the gap between what you learned here and what you'd encounter in an actual job is wide enough that you'll need supplementary practice. But for learning the syntax, understanding how the pieces fit together, and building enough confidence to move on to something more substantial — it does the job.