

In this article, I (Manoel) go over Harvard CS50’s entire course lineup, which includes 14 courses — 10 of them with a free certificate of completion, like the one above.
The CS50 adventure began in 2012 with the launch of CS50, Harvard’s Introduction to Computer Science. Over the years, CS50 grew into a brand encompassing additional courses on topics such as Python, web development, and AI.
Let’s discuss the CS50 lineup, course by course, to help you find the best course for you. And let’s explain how you can earn a free certificate in most of these courses.
CS50: The Original Course
CS50 is taught by Harvard Professor David J. Malan. Back in 2015, when Class Central contributor Charlie Soliman reviewed the course, she said this about Professor Malan:
At the risk of stating a cliché, his approach to teaching is unlike anything I have seen and can easily be labeled as revolutionary. One can detect the joy and effort he puts into each of his lectures.
Having taken the course myself, I can say that this quote is as relevant today as it was back then. In fact, since the course is updated every year, the content has even gotten better. If you’d like to learn more, I’ve written a dedicated article on the course: Harvard CS50: How to Get a Free Certificate.

Offered at Harvard since 2007 and on edX since 2012, CS50 has grown to become Harvard’s largest on-campus course, with around 1000 students enrolled every Fall, and one of the world’s highest rated and most popular online courses ever, totaling over 6.5 million enrollments.
And “CS50” has evolved from a code designating a single course to a brand encompassing multiple courses exploring different subjects, targeting different audiences, and part of different learning paths.
To make sense of Harvard CS50’s offering, I partly audited each course, I explored their online communities, and I contacted their course staff. I found that Professor Malan often replies to emails himself — a nice touch considering the course has over 100 staff. As CS50 keeps growing and changing, we’ll continue to update this article.
CS50: The Expanded Offering
In the table below, you can find CS50’s full course offering broken down into three levels. As you can see, most courses offer a free certificate. Click on a course or level to jump to the corresponding section.
Level | Courses | Workload | Certificate |
Basic
(Optional) |
CS50 Scratch | 4 hours / 3 weeks | ○ Free on Harvard OCW |
Core
(Pick one: usually enough) |
CS50 | 12 hours / 12 weeks | ○ Free on Harvard OCW |
CS50 Law | 4 hours / 10 weeks | ○ Free on Harvard OCW | |
CS50 Business | 4 hours / 6 weeks | ○ Free on Harvard OCW | |
Specialization
(Pick one or several) |
CS50 Python | 6 hours / 10 weeks | ○ Free on Harvard OCW |
CS50 AI | 20 hours / 7 weeks | ○ Free on Harvard OCW | |
CS50 Web | 8 hours / 12 weeks | ○ Free on Harvard OCW | |
CS50 CyberSec | 4 hours / 5 weeks | ○ Free on Harvard OCW | |
CS50 SQL | 9 hours / 7 weeks | ○ Free on Harvard OCW | |
CS50 R | 9 hours / 7 weeks | ○ Free on Harvard OCW | |
Courses without certificates | CS50 Tech | 4 hours / 6 weeks | ○ No certificates |
CS50 Mobile | 8 hours / 13 weeks | ○ No certificates | |
CS50 Beyond | 5 hours / 12 weeks | ○ No certificates | |
CS50 Games | 8 hours / 12 weeks | ○No certificates |
Basic Course
Scratch can be seen as an optional on-ramp to CS50’s core courses. If you’ve never programmed before, or you don’t feel ready for a formal introduction to computer science, this is a good place to start.
CS50’s Introduction to Programming with Scratch (CS50S)
CS50S is a gentle introduction to programming. It focuses on Scratch, a language that makes coding highly visual. Instead of typing text, you combine functional blocks as if they were LEGO pieces to create programs. The course covers all programming fundamentals, including variables, functions, and loops.
The course is taught by Brian Yu. It involves 2 – 6 hours of study per week over 3 weeks. And it offers the following certificate options:
- Free certificate via Harvard OpenCourseWare
- Paid verified certificate via edX
Core Courses
Core courses include the original CS50 as well as variants geared toward different types of learners. This is where most learners want to start. One course should be plenty. But learners that take a variant may want to also take the original CS50 — especially if they plan to continue with a follow-up course.
CS50 Introduction to Computer Science
CS50 is Harvard’s computer science introduction. It starts with binary and goes up the ladder of abstraction from machine code to low-level languages to high-level languages. It explores algorithms, data structures, and memory management. And it ends with specializations: AI, web development, and cybersecurity.
The course is taught by David J. Malan. It involves about 12 hours of study per week over 12 weeks. And it offers the following certificate options:
- Free certificate via Harvard OpenCourseWare
- Paid verified certificate via edX
- Paid transcript and academic credit via Harvard Extension School or Harvard Summer School
The course is also part of edX’s professional certificates:
- Computer Science for Web Programming
- Computer Science for Artificial Intelligence
- Computer Science for Python Programming
- Computer Science for Cybersecurity
- Computer Science for Databases using SQL
- Computer Science for Data Science
If you’d like to learn more, I’ve written a dedicated article on the course: Harvard CS50: How to Get a Free Certificate.
CS50’s Computer Science for Lawyers (CS50L)
CS50L is a CS50 variant geared toward lawyers and law students. Part of the curriculum explores similar content but emphasizes big-picture understanding over low-level details. The other part explores entirely new content that considers how law and computer science interact — for instance, in regards to cybersecurity, data privacy, and internet regulation.
The course is taught by David J. Malan and Doug Lloyd. It involves about 4 hours of study per week over 10 weeks. And it offers the following certificate options:
- Free certificate via Harvard OpenCourseWare
- Paid verified certificate via edX
- Paid certificate via Harvard Law School Executive Education
CS50’s Computer Science for Business Professionals (CS50B)
CS50B is a CS50 variant geared toward business professionals. Most of the course explores similar content but favors big-picture understanding over low-level details. A small part explores entirely new content relevant to businesses — for instance, cloud computing.
The course is taught by David J. Malan. It involves about 4 hours of study per week over 6 weeks. And it offers the following certificate options:
- Free certificate via Harvard OpenCourseWare
- Paid verified certificate via edX
- Paid transcript and academic credit via Harvard Extension School or Harvard Summer School
Specialization Courses
Specialization courses complement CS50 by exploring a specific subject in more depth. They’re an excellent way to build on your computer science fundamentals by delving into a specialization.
CS50’s Introduction to Programming with Python (CS50P)
CS50P teaches the fundamentals of programming in Python, including variables, functions, loops, and reading and writing files. It draws from real-world programming problems and has plenty of practical exercises.
The course is taught by David J. Malan. It involves about 6 hours of study per week over 10 weeks. And it offers the following certificate options:
- Free certificate via Harvard OpenCourseWare
- Paid verified certificate via edX
The course is also part of edX’s Professional Certificate in Computer Science for Python Programming.
If you’d like to learn more, I’ve written a dedicated article on the course: Harvard New Intro to Python: How to Earn a Free Certificate.
CS50’s Introduction to Artificial Intelligence with Python (CS50AI)
CS50AI leverages the Python programming language to explore modern artificial intelligence. It covers foundational AI concepts, such as search algorithms and knowledge models, and builds on them to discuss more advanced concepts, such as optimization and machine learning.
The course is taught by Brian Yu. It involves about 20 hours of study per week over 7 weeks. And it offers the following certificate options:
- Free certificate via Harvard OpenCourseWare
- Paid verified certificate via edX
- Paid transcript and academic credit via Harvard Extension School or Harvard Summer School
The course is also part of edX’s Professional Certificate in Computer Science for Artificial Intelligence.
CS50’s Web Programming with Python and JavaScript (CS50W)
CS50W explores the languages, tools, and processes underpinning modern web app development. It covers languages such as Python and JavaScript, frameworks such as Flask and Django, and services such as GitHub and Heroku.
The course is taught by Brian Yu. It involves about 8 hours of study per week over 12 weeks. And it offers the following certificate options:
- Free certificate via Harvard OpenCourseWare
- Paid verified certificate via edX
- Paid transcript and academic credit via Harvard Extension School or Harvard Summer School
The course is also part of edX’s Professional Certificate in Computer Science for Web Programming.
CS50’s Introduction to Cybersecurity (CS50CSec)
CS50CSec discusses how to protect your data and systems from current and emerging threats and the trade-offs between security and usability. It covers practical, real-world applications of cybersecurity principles.
The course is taught by David J. Malan. It involves about 4 hours of study per week over 5 weeks. And it offers the following certificate options:
- Free certificate via Harvard OpenCourseWare
- Paid verified certificate via edX
- Paid transcript and academic credit via Harvard Extension School or Harvard Summer School
The course is also part of edX’s Professional Certificate in Computer Science for Cybersecurity.
If you’d like to learn more, I’ve written a dedicated article on the course: Harvard New Cybersecurity Course: How to Earn a Free Certificate.
CS50’s Introduction to Databases (CS50SQL)
CS50SQL uses the query language SQL to teach data management in relational databases. The course covers data modeling, manipulation, and optimization techniques, starting with SQLite and progressing to PostgreSQL and MySQL.
The course is taught by Carter Zenke. It involves about 9 hours of study per week over 7 weeks. And it offers the following certificate options:
- Free certificate via Harvard OpenCourseWare
- Paid verified certificate via edX
- Paid transcript and academic credit via Harvard Extension School
The course is also part of edX’s Professional Certificate in Computer Science for Databases using SQL.
If you’d like to learn more, I’ve written a dedicated article on the course: Harvard New SQL Course: How to Earn a Free Certificate.
CS50’s Introduction to R (CS50R)
This course launched on July 1, 2024.
CS50R explores the statistical programming language R, focusing on its application in data science and beyond. The course covers the use of RStudio and fundamental data structures like vectors and data frames. Learn to manipulate and visualize data with R’s tidyverse and grammar of graphics, culminating in skills to package and share R code.
The course is taught by Carter Zenke. It involves about 9 hours of study per week over 7 weeks. And it offers the following certificate options:
- Free certificate via Harvard OpenCourseWare
- Paid verified certificate via edX
- Paid transcript and academic credit via Harvard Summer School
The course is also part of edX’s Professional Certificate in Computer Science for Data Science.
Courses without certificates
CS50’s Understanding Technology (CS50T)
CS50T is a gentle introduction to the world of computing. It starts at the hardware level and works its way up from there. It explores how the internet works, how websites are created, and how security is ensured. And it ends with coding basics.
The course is taught by David J. Malan. It involves about 4 hours of study per week over 6 weeks. It was retired and archived on June 30, 2024, but the lectures are still available to watch on edX and Harvard OCW. Certificates and problem sets are not available.
CS50 Beyond
CS50 Beyond is the precursor of CS50W. It explores the same subject, web development, but does it in a more condensed time frame. Most topics remain the same but most projects are different.
The course is taught by Brian Yu. It involves about 5 hours of study per week over 12 weeks. And it is offered via Harvard OpenCourseWare (OCW). Projects are available but this course has no certificate.
CS50’s Mobile App Development with React Native (CS50M)
CS50M explores how to develop mobile apps using the React Native framework. It covers concepts such as state and components, processes such as testing and deployment, and tools such as Redux and JSX.
The course is taught by Jordan Hayashi. It involves about 8 hours of study per week over 13 weeks. It was retired and archived on June 30, 2020, but the lectures are still available to watch on edX and Harvard OpenCourseWare. Certificates and problem sets are not available.
CS50’s Introduction to Game Development (CS50G)
CS50G explores the languages, tools, and processes underpinning modern game development. It leverages languages such as C# and frameworks such as Unity to create 2D and 3D experiences, and draws examples from video games such as Pong, Mario, and Portal.
The course is taught by Colton Ogden. It involves about 8 hours of study per week over 12 weeks. It was retired and archived on June 30, 2024, but the lectures are still available to watch on Harvard OCW. Certificates and problem sets are not available.
Pat revised the latest version of this article.
The post Harvard CS50 Guide: How to Pick the Right Course (with Free Certificate) appeared first on The Report by Class Central.