Learn · CS50 at Harvard

CourseCS50's Introduction to Programming…10 lectures

CS50's Introduction to Programming with Python

David J. Malan · Harvard University

Start with lecture 1 At CS50 at Harvard

About

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!

Watch an introduction

How to Take this Course

Even if you are not a student at Harvard, you are welcome to “take” this course for free via this OpenCourseWare by working your way through the course’s ten weeks of material. For each week, follow this workflow:

flowchart TD A[Watch Lecture] --> |recommended|B[Watch Shorts] A --> C B --> C[Submit Problem Set]

And then submit the course’s final project.

To submit the course’s problem sets and final project for feedback, be sure to create an edX account, if you haven’t already. Ask questions along the way via any of the course’s communities!

Lectures

  1. Functions Functions, Variables · Video
  2. Conditionals Conditionals · Video
  3. Loops Loops · Video
  4. Exceptions Exceptions · Video
  5. Libraries Libraries · Video
  6. Unit Tests Unit Tests · Video
  7. File I/O File I/O · Video
  8. Regular Expressions Regular Expressions · Video
  9. Object-Oriented Programming Object-Oriented Programming · Video
  10. Et Cetera Et Cetera · Video

Syllabus and materials

At CS50 at Harvard, as the course publishes them.

Credits and licence

Institution
Harvard University
Department
CS50
Teacher
David J. Malan
Level
Undergraduate
Language
English
Subjects
Computer science
Source
CS50 at Harvard
Licence
CC BY-NC-SA 4.0, as CS50 at Harvard states it. Non-commercial use only. CS50 at Harvard's terms
Attribution
CS50, Harvard University. Licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International license.
Who can watch
CS50 at Harvard gives no rating. Invisible Network shows it to Tweens profiles and older, judged from what the source says about it. How courses are placed