Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Harvard University

CS50's Introduction to Programming with Python

Harvard University via edX


An introduction to programming using a language called Python. Learn how to read and write code as well as how to test and "debug" it. Designed for students with or without prior programming experience who'd like to learn Python specifically. Learn about functions, arguments, and return values (oh my!); variables and types; conditionals and Boolean expressions; and loops. Learn how to handle exceptions, find and fix bugs, and write unit tests; use third-party libraries; validate and extract data with regular expressions; model real-world entities with classes, objects, methods, and properties; and read and write files. Hands-on opportunities for lots of practice. Exercises inspired by real-world programming problems. No software required except for a web browser, or you can write code on your own PC or Mac.

Whereas CS50x itself focuses on computer science more generally as well as programming with C, Python, SQL, and JavaScript, this course, aka CS50P, is entirely focused on programming with Python. You can take CS50P before CS50x, during CS50x, or after CS50x. But for an introduction to computer science itself, you should still take CS50x!

Taught by

David J. Malan


4.7 rating, based on 11 Class Central reviews

Start your review of CS50's Introduction to Programming with Python

  • I just finished CS50's Introduction to Python Programming course and I must say it exceeded all my expectations. As I am new to programming I found this course a great starting point in my coding journey. From the very beginning, CS50's Introduction…
  • Michael Brown
    Tips for students: - You have to learn how to Google things (don't search "CS50 Python problem answers to set 5" instead use things like "how to change the last item in an array in Python"), CS50 courses don't spoon feed you. You'll need to look thi…
  • Vivek Kumar
    The "Introduction to Programming with Python" course is an ideal starting point for beginners in the world of coding. This course provides a solid foundation in Python, a versatile and widely-used programming language. Students learn the fundamental…
  • Profile image for Raimundo Menezes
    Raimundo Menezes
    Amazing, this course is complete. our review helps other learners like you discover great courses. Only review the course if you have taken or started taking this course.
  • Profile image for Ujjwal Paliwal
    Ujjwal Paliwal
    this course is amazing and his teacher sir david j. malan also mamazing explanation so this is unique teacher as well as it's behaviour is very humble
  • Anonymous
    Am learning a lot since I started this course. I have no idea about cording, but since I started learning about python, everything is making since now. Thanks for edX for hard working you are doing.
  • Profile image for Ibrar Zahoor
    Ibrar Zahoor
    Introduction to Programming with Python This course is much helpful for beginner to intermediate I hope every one try this course for gating more knowledge
  • Guilherme Gomes Pires
    muito otima essa revisao muito necessaria para a humanidade e temos espalhar mais esse site para o mundo.
    muito boa a logistica ameiii
  • Profile image for Ivan Kavrakov
    Ivan Kavrakov
    CS50P is a fantastic course suitable for beginners, and it also offers great value to those who consider themselves intermediate developers. I would wholeheartedly recommend it, especially if you are thinking about doing CS50x with no prior programming experience.
  • Profile image for Dev Jyoti Patra
    Dev Jyoti Patra
    nice explained course,with a well spoken and concept building teacher,it really worth of time.
    thanks Harvard for this course to provided it on internet

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.