CS50's Introduction to Programming with Python
Is this course right for you?
The value is the way it teaches correctness: functions, exceptions, unit testing and object-oriented code, with exercises drawn from real problems rather than toy examples. It assumes nothing and needs only a browser, so it is a genuine first course, but it holds you to a real standard, which is what makes it stick.
It is Python and fundamentals only, so you will not get a broad multi-language CS foundation here (CS50x is the one for that), and it is not project-portfolio heavy like the paid bootcamps. It is free to audit; the HarvardX certificate is an optional paid add-on. The material is current and well maintained (as of 2026).
Compare alternatives for CS50's Introduction to Programming with Python
- Price
- FreeAudit free · HarvardX certificate available (paid)
- Duration
- 60 hrs
- Level
- Beginner
- Certificate
- University Certificate
- Price
- FreeCompletely free, openly licensed — no certificate
- Duration
- 35 hrs
- Level
- Beginner
- Certificate
- Price
- PaidLinkedIn Learning subscription
- Duration
- 8 hrs
- Level
- Beginner
- Certificate
- Course Certificate
- Price
- FreeCompletely free, forever
- Duration
- 300 hrs
- Level
- Intermediate
- Certificate
- Course Certificate
About this course
CS50's Introduction to Programming with Python (CS50P) is HarvardX's dedicated on-ramp to Python, taught by David Malan of CS50 fame. Across ten self-paced weeks it builds programming from zero: functions, variables and types, conditionals and Boolean logic, loops, exception handling, libraries, unit testing, file I/O, regular expressions and object-oriented programming — reinforced with hands-on exercises drawn from real-world problems.
Instructor
Taught by David J. Malan, Gordon McKay Professor of the Practice of Computer Science at Harvard and the long-time instructor behind the globally popular CS50 courses.