CS50P — Introduction to Programming with Python

Harvard’s free Python course — rigorous, project-based, and widely regarded as one of the best introductions to programming with Python

Visit CS50P →
Getting StartedFeatured
Topicsfreecourseharvardbeginnersprojects

Harvard’s introduction to programming with Python, adapted from the broader CS50 course, structured as problem sets you submit and get graded on — not just lecture videos to passively watch. That structure is the main reason it’s recommended over looser free tutorials: deadlines and grading create the accountability self-taught learners often lack.

It assumes zero prior programming experience and moves at a genuinely beginner-appropriate pace, covering functions, loops, exceptions, libraries, unit testing, and file I/O before the course ends. See the Python Learning Roadmap for what to do once you’ve finished it.