Is CS50 free?
Yes. Every CS50 course is free to take, watch, and submit work on edX through their audit track. You get full access to lectures, problem sets, and course materials at no cost.
Certificates are where the money comes in. edX charges for a "verified certificate" (typically $149 to $299 depending on the course). But cs50.harvard.edu offers its own free certificate for CS50x specifically: if you complete all problem sets and the final project, you can claim a free certificate directly from Harvard's site. This is a genuine Harvard certificate, not a participation badge.
For the other CS50 courses (CS50P, CS50W, CS50 SQL, etc.), the free audit gives you everything except the edX verified certificate. The learning is identical whether you pay or not.
All seven CS50 courses: what each one covers
Harvard offers seven CS50 courses. They share an instructor (David Malan) and a teaching style (lectures, problem sets, a final project), but each covers different ground. Here's what you need to know about each one.
1. CS50x: Introduction to Computer Science
Level: beginner. Time: 10 to 20 weeks.
This is the flagship course and the one most people mean when they say "CS50." It starts with Scratch (visual block programming), moves to C, then Python, SQL, HTML, CSS, JavaScript, and Flask. It's not a language course; it's a computer science course that happens to use multiple languages. You'll learn how memory works, what algorithms do, and why data structures matter. Best starting point if you want a real CS foundation. See /courses/cs50-intro-computer-science for details.
2. CS50P: Introduction to Programming with Python
Level: beginner. Time: 8 to 12 weeks.
A pure Python course. Covers variables, functions, conditionals, loops, exceptions, libraries, unit testing, file I/O, regular expressions, and object-oriented programming. It's gentler than CS50x because it sticks to one language and skips the low-level C material. Best choice if you want to learn Python specifically and aren't interested in the broader CS theory. See /courses/cs50-python for details.
3. CS50W: Web Programming with Python and JavaScript
Level: intermediate. Time: 12 weeks.
Pick this up after CS50x or CS50P. Covers HTML, CSS, Git, Python (Django), JavaScript, SQL, testing, scalability, and security. The final project requires you to build and deploy a complete web application. This is where CS50 students who want to become web developers go next. See /courses/cs50-javascript for details.
4. CS50 AI: Introduction to Artificial Intelligence with Python
Level: intermediate. Time: 7 weeks.
Covers search algorithms, knowledge representation, uncertainty (probability), optimization, machine learning, and neural networks, all implemented in Python. Requires comfort with Python (take CS50P first). Good entry point into AI/ML concepts before jumping to specialized frameworks like TensorFlow or PyTorch. See /courses/cs50-ai for details.
5. CS50 SQL: Introduction to Databases with SQL
Level: beginner. Time: 6 weeks.
Covers querying, relating, designing, writing, viewing, and optimizing databases using SQL. Useful on its own for anyone working with data, and a natural companion to CS50P if you're heading toward data science or backend development. See /courses/cs50-sql for details.
6. CS50 Cybersecurity
Level: beginner. Time: 8 weeks.
Covers passwords, phone security, email security, internet security, web security, and more from a practical, non-programmer perspective. This is the most accessible CS50 course because it doesn't require prior coding experience. Good for anyone who wants to understand digital security without writing code. See /courses/cs50-cybersecurity for details.
7. CS50 Scratch: Introduction to Programming
Level: true beginner. Time: 3 to 4 weeks.
Uses MIT's Scratch (visual block-based programming) to teach programming concepts to absolute beginners, including kids and teens. No typing code, no setup. If you're not sure whether programming is for you, this is the lowest-commitment way to find out. See /courses/cs50-java for details.