In January, I wrote an article on Class Central about CS50, Harvard’s Introduction to Computer Science, which offers a free certificate. In this article, I'll go over CS50’s entire 10-course lineup, seven of which also offer a free certificate.
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, he 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, it’s gotten even better.
CS50 in Harvard’s Sanders Theater
Offered at Harvard since 2007 and on edX since 2012, CS50 has grown to become Harvard’s largest on-campus course, with 800+ students per term. It's also one of the world’s highest rated and most popular MOOCs ever, with 2M+ learners in total.
And “CS50” has evolved from a code designating a single course to a brand encompassing multiple courses exploring different subjects, targeting different audiences, and stacking into different learning paths.
To make sense of CS50’s offerings, 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.
CS50: The Expanded Offering
CS50’s full offering currently comprises ten courses that can be broken down into three levels as shown in the table below. As you can see, seven courses offer a free certificate.
Click on a course or level to jump to the corresponding section.
Level | Courses | Workload | Certificate |
Basic (Optional) | CS50 Tech | 4 hours / 6 weeks | |
Core (Pick one: usually enough) | CS50 | 12 hours / 12 weeks | |
CS50 AP | 5 hours / 32 weeks |
|
|
CS50 Law | 4 hours / 10 weeks | ||
CS50 Business | 4 hours / 6 weeks | ||
Follow-up (Pick one or several) | CS50 AI | 20 hours / 7 weeks | |
CS50 Web | 8 hours / 12 weeks | ||
CS50 Games | 8 hours / 12 weeks | ||
CS50 Mobile | 8 hours / 13 weeks |
|
|
CS50 Beyond | 5 hours / 12 weeks |
|
Basic Course
Currently, CS50 only offers one basic course. It can be seen as an optional on-ramp to CS50’s core courses. If you don’t feel ready for a formal introduction to computer science, this is a good place to start.
CS50 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, how security is ensured, and ends with coding basics.
The course is taught by David J. Malan. It involves about 4 hours of study per week over 6 weeks. This course offers the following certificate options:
- Free certificate via Harvard OpenCourseWare
- Paid verified certificate via edX
- Paid transcript and academic credit via Harvard Extension School
Core Courses
Currently, CS50 offers four core courses. These 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 one of three specialization tracks: web, game, or mobile development.
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
CS50 AP Computer Science Principles — CS50AP
CS50AP is a CS50 variant that allows students in participating schools to earn AP credit. In the US, AP credit can help university applicants bolster their chances of admission and validate credit.
The course covers the same content as CS50 but includes more material, two extra assignments, and a proctored exam.
The course is taught by David J. Malan. It involves about 5 hours of study per week over 32 weeks. And it only offers a paid verified certificate via edX.
CS50 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 of 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 offers the following certificate options:
- Free certificate via Harvard OpenCourseWare
- Paid verified certificate via edX
- Paid certificate via Harvard Law School Executive Education
CS50 Computer Science for Business Professionals — CS50B
CS50B is a CS50 variant geared toward business professionals. Most of the course explores similar content but emphasizes big-picture understanding of 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 offers the following certificate options:
- Free certificate via Harvard OpenCourseWare
- Paid verified certificate via edX
- Paid certificate and academic credit via Harvard Extension School
Follow-up Courses
Currently, CS50 offers five follow-up courses. These pick up where CS50 leaves off and explore a specific subject. They’re an excellent way to build on your computer science fundamentals by delving into a specialization.
CS50 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 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 courses is also part of edX’s Professional Certificate in Computer Science for Artificial Intelligence.
CS50 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. This course 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 courses is also part of edX’s Professional Certificate in Computer Science for Web Programming.
CS50 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 and 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 courses is also part of edX’s Professional Certificate in Computer Science for Game Development.
CS50 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. This course is offered via Harvard OpenCourseWare, but has no certificate.
The courses is also part of edX’s Professional Certificate in Computer Science and Mobile Apps.
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 many of the projects are different.
The course is taught by Brian Yu. It involves about 5 hours of study per week over 12 weeks. This course is offered via Harvard OpenCourseWare, but has no certificate.