One of the best-taught programming courses in the world, by David J. Malan and his team.
Problem sets are real projects that stay on your GitHub.
Free certificate from CS50 when you finish on cs50.harvard.edu (the edX certificate is paid).
Active community on Discord, Reddit and Ed for help at any hour.
University courses you can audit for free, with lectures, readings and practice quizzes.
A verified certificate from the university if you pay for it.
Taught by Harvard University, one of the strongest names in its field.
331,233 learners have taken it, so help and notes are easy to find.
Disadvantages
Problem sets are hard and take far longer than the videos; plan 10–20 hours a week.
Lectures are long (about 2 hours each).
Graded assignments and the certificate need the paid track.
Audit access can expire a few weeks after the course ends.
Learning is free, but the certificate costs money.
Some parts (graded work, certificate) are paid.
Some points apply to every course of this kind; see how we rank.
Free to audit
Free: Choose "Audit this course" when you enrol: lectures, readings and practice are free.
Paid: Graded assignments and the verified certificate (Certificate $299). Audit access may end after the course closes.
Before you start
Learners must have a minimum baseline of programming knowledge (preferably in Python) and statistics in order to be successful in this course. Python prerequisites can be met with an introductory Python course offered through CS50’s Introduction to Programming with Python, and statistics prerequisites can be met via Fat Chance or with Stat110 offered through HarvardX.
This course provides an introduction to mathematical modeling of computational problems. It covers the common algorithms, algorithmic paradigms, and data structures used to solve these problems. The course emphasizes the relationship between algorithms and programming, and introduces basic performa…
Instructor: Prof. Erik Demaine, Dr. Jason Ku, Prof. Justin Solomon View the complete course: https://ocw.mit.edu/6-006S20 YouTube Playlist: https://www.youtube.com/playlist?list=PLUl4u3cNGP63EdVPNLG3ToM6LaEUuStEY This course is an introduction to mathematical modeling of computational problems, as…
View the complete course: http://ocw.mit.edu/6-046JS15 Instructors: Erik Demaine, Srinivas Devadas, Nancy Ann Lynch 6.046 introduces students to the design of computer algorithms, as well as analysis of sophisticated algorithms. License: Creative Commons BY-NC-SA More information at http://ocw.mit.…
View the complete course: http://ocw.mit.edu/6-851S12 Instructor: Erik Demaine Videos of 6.851 Lectures Spring 2012 License: Creative Commons BY-NC-SA More information at http://ocw.mit.edu/terms More courses at http://ocw.mit.edu