Harvard University
FreeCS50's Mobile App Development with React Native
Harvard's React Native course with Jordan Hayashi — strong JavaScript and React lectures, but officially retired since June 2020 and badly…
Harvard University
Harvard's CS50P — ten weeks from functions to OOP, with auto-graded problem sets, a unit testing week and a self-designed final project.
Opens on Harvard University — a direct link, no affiliate tracking.
David Malan brought the CS50 production values to a straight Python course, and the result is the most polished free introduction to the language that exists. Ten weeks of material, week 0 through week 9, running from functions and variables through conditionals, loops, exceptions, libraries, unit tests, file I/O, regular expressions and object-oriented programming, closing on a week titled Et Cetera.
The structure is the CS50 formula: a lecture, then a problem set that makes you use exactly what the lecture covered, then a final project of your own design. There's a public gallery of what previous students built. It's self-paced and open to anyone with a browser, Harvard student or not.
Problem sets, and the fact that they're graded by an automated checker rather than by your own optimism. The gap between watching a Python video and writing Python is where most beginners live, and CS50P closes it by refusing to let you move on until the tests pass.
The unit testing week is also unusual for a beginner course and it's one of the most valuable in the set. Most people learn Python for a year before anyone mentions pytest to them.
This is where the listing needs a footnote. Taking CS50P through the OpenCourseWare site — which is what this URL points at — is completely free and gives you every lecture, every problem set and the final project. It does not give you a certificate.
For a credential you enrol through edX and pay for a verified certificate, or go through one of the CS50 professional certificate programs in Python or data science. So: free course, paid paper. Anyone here for the Harvard name on a PDF should know that before starting.
Excellent as a first programming course full stop, not just a first Python course, because Malan teaches the reasoning rather than the syntax. Also excellent if you've tried to learn Python twice and drifted — the problem sets create the accountability that a book cannot.
Skip it if you already program and just want Python's specifics; the pacing will frustrate you and the official tutorial will be faster. Skip it too if your goal is data science, since pandas, numpy and notebooks are outside the scope here.
The strongest free Python course available, with production quality nothing else matches. Two honest caveats: the certificate costs money despite the course being free, and the problem sets are genuinely hard — CS50 has a reputation for difficulty and CS50P inherits enough of it that a self-declared beginner course will still make you sit and think for an evening.
Other courses covering the same subjects.
Harvard University
FreeHarvard's React Native course with Jordan Hayashi — strong JavaScript and React lectures, but officially retired since June 2020 and badly…
freeCodeCamp
FreefreeCodeCamp's rebuilt JavaScript certification - 1,320 test-driven steps across theory, workshops and labs, covering the DOM,…
Ilya Kantor
FreeIlya Kantor's long-maintained JavaScript textbook: language internals, the DOM, async and browser APIs, with exercises and worked solutions…
Marijn Haverbeke
FreeMarijn Haverbeke's fourth edition, free online — language fundamentals, the browser and Node, with projects including writing your own…
Akshay Saini
FreeAkshay Saini's deep look at JavaScript internals — execution context, hoisting, scope chains, closures and the event loop, drawn out on a…
Microsoft
FreeMicrosoft's official TypeScript guide — basics, narrowing, generics, conditional and mapped types. Explicitly not a tooling or JavaScript…
Took this course? Share what you thought.