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

Guides

Harvard CS50 Guide: How to Pick the Right Course (with Free Certificate)

In 2023, Harvard CS50 offers 9 free certificate courses on topics such as computer science, Python, and AI.

Harvard’s CS50 free certificate

In this article, I go over Harvard CS50’s entire course lineup, which in 2023 includes 11 courses — 9 of them with a free certificate of completion.

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 10 additional courses on topics such as Python, web development, and AI. And they’re currently developing two new courses, on SQL and cybersecurity.

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 in 2023: How to Get a Free Certificate.

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 around 1000 students enrolled every Fall, and one of the world’s highest rated and most popular online courses ever, totalling over 4.3M 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, I’ll continue to update this article.

CS50: The Expanded Offering

CS50’s full offering comprises 11 courses that can be broken down into 3 levels, as shown below. As you can see, 9 courses offer a free certificate. Click on a course or level to jump to the corresponding section.

CS50 course offering in 2023
Level Courses Workload Certificate
Basic
(Optional)
CS50 Tech 4 hours / 6 weeks Free on Harvard OCW
$199 on edX
CS50 Scratch 6 hours / 3 weeks Free on Harvard OCW
$199 on edX
Core
(Pick one: usually enough)
CS50 12 hours / 12 weeks Free on Harvard OCW
$149 on edX
CS50 Law 4 hours / 10 weeks Free on Harvard OCW
$199 on edX
CS50 Business 4 hours / 6 weeks Free on Harvard OCW
$199 on edX
CS50 Python 6 hours / 9 weeks Free on Harvard OCW
$199 on edX
Follow-up
(Pick one or several)
CS50 AI 20 hours / 7 weeks Free on Harvard OCW
$199 on edX
CS50 Web 8 hours / 12 weeks Free on Harvard OCW
$199 on edX
CS50 Games 8 hours / 12 weeks Free on Harvard OCW
$199 on edX
CS50 Mobile 8 hours / 13 weeks ○ No certificates
CS50 Beyond 5 hours / 12 weeks ○ No certificates

Basic Courses

Currently, CS50 offers two basic courses. These can be seen as optional on-ramps 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’s Understanding Technology (CS50T)

CS50’s Understanding Technology

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. And it offers the following certificate options:

The course is also part of edX’s XSeries program in CS50’s AP Computer Science Principles.

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 about 6 hours of study per week over 3 weeks. And it offers the following certificate options:

Core Courses

Currently, CS50 offers three 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:

The course is also part of edX’s professional certificates:

If you’d like to learn more, I’ve written a dedicated article on the course: Harvard CS50 in 2023: How to Get a Free Certificate.

CS50’s Computer Science for Lawyers (CS50L)

CS50 for lawyers

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:

CS50’s Computer Science for Business Professionals (CS50B)

CS50 Business

CS50B is a CS50 variant geared toward business professionals. Most of the course explores similar content but emphasizes 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:

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 9 weeks. And it offers the following certificate options:

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.

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’s Introduction to Artificial Intelligence with Python (CS50AI)

CS50 AI

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:

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)

CS50 Web Development

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:

The course is also part of edX’s Professional Certificate in Computer Science for Web Programming.

CS50’s Introduction to Game Development (CS50G)

CS50 Game Development

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 it offers the following certificate options:

The course is also part of edX’s Professional Certificate in Computer Science for Game Development.

CS50’s Mobile App Development with React Native (CS50M)

CS50 Mobile App Development

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. And it is offered via Harvard OpenCourseWare but has no certificate.

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 but has no certificate.

Upcoming Courses

The CS50 team is currently developing two new courses:

  • CS50 SQL, an introduction to databases and SQL, a language that can be used to create and interact with databases ⁠— most notably, by adding, retrieving, updating, combining, and deleting data.
  • CS50 Cybersecurity, an introduction to cybersecurity suitable for non-technical learners, going over some of the threats existing in IT systems and ways to protect yourself from them.

The courses will be recorded week by week, and you’ll be able to attend the recordings live on Zoom or YouTube. If you’d like to attend, you can register here.

Manoel Cortes Mendez Profile Image

Manoel Cortes Mendez

Software engineer and online graduate student in computer science passionate about education, technology, and their intersection.

Comments 56

  1. aneesh

    Thanks for this post. I opened the CS50 link. But there is no option for signup/register. How are we supposed to register ?

    Reply
  2. Yogesh Pandey

    I went to the Harvard University OCW website but all I could see was, the registration for the CS50AI course is through EdX. If I register via EdX, would I then be eligible to receive a certificate?

    Reply
    • Manoel Cortes Mendez

      If you want a free certificate, you don’t need to register on edX. You just need a GitHub account to submit the projects. Each project page has instructions – for instance, here’s week 0:

      https://cs50.harvard.edu/ai/2020/projects/0/degrees/#how-to-submit

      Then, once you’ve completed all the projects, follow the instructions below to receive your free certificate:

      https://cs50.harvard.edu/x/2020/faqs/#how-do-i-get-my-free-cs50-certificate

      Edit: If you want to submit the quizzes, you do need to register via edX. But simply pick the free audit track. You don’t need to pay anything.

      Reply
      • osman

        Thanks for useful info. but still i couldn’t find where teh assignments are and how to submit them to earn free certificate on OCW for CS50’s
        Computer Science for Business Professionals , is certification for this through Edx or any option and Info pls ?

        Thank you

        Reply
        • Manoel Cortes Mendez

          You’re right. CS50’s Computer Science for Business Professionals requires creating an edX account to submit the assignments. However, you only need to sign up for the free audit track. Once you complete the course, you’ll have access to a free certificate.

          It’s explained on Harvard’s OCW assignment instructions:

          https://forms.cs50.io/6f5d198e-43e8-4af9-90fb-eba6cb7cef5f

          Reply
    • irene merchant

      That’s what they say. Take all classes and upon completion it will be issued.

      Reply
  3. Sush

    How do I register ?? Is scratch project compulsory

    Reply
  4. Prince

    I really love the detail you put into your post

    Thanks

    Reply
  5. Sukanya

    Do they provide any such course for educators or teachers with free certification??

    Reply
    • Manoel Cortes Mendez

      The Advanced Placement version of CS50 has an open curriculum, which should be suitable for instructors that’d like to teach the course. But it doesn’t include a free certificate.

      https://cs50.harvard.edu/ap/2021/curriculum/

      Reply
  6. Carlos Nunez

    Nice work Manoel! Thank you

    Reply
  7. Chris Faulkner

    Thank you, Manoel, for this article. It is well presented and was evidently well researched.

    Reply
  8. Shwetha Maiya

    Thank you for a wonderful post. I am currently taking CS50W. It was good to know the details of each course.

    Reply
  9. Uche Lily

    How do you get a Github account if you want to register Cs50’s free courses and get the certificate.

    Reply
  10. Chris Spangler

    As an old goat that once upon a time went to the University of Michigan before computers were the thing, I am very interested in learning this, and Ai.. Thank you for the detailed responses to the questions, and course materials! Think I will have to start with the rudimentary course, and progress from there. But, first things first, I need to sign up for GitHub!!

    As an aside, I asked my guidance counselor in 1967 to find me courses on how to become a computer programmer. He had never heard of computers, but did find me an answer, and that was the military! I did make him a lot of money, when I advised him to buy IBM stock, and telling him that one day he would see a computer on everyones desk..

    Reply
  11. Brenton Cheng

    Hey, Manoel! Thanks for laying out the options. I’ve got a high-schooler interested in CS50 AP.

    1) The OpenCourseWare site recommends taking it for “free” on EdX, but it looks like EdX only offers a paid option. Does that sound right? (I’m not averse to supporting EdX’s mission — just wanted to verify.)

    2) Once registered on EdX, would the high-schooler be following along with the Fall 2020 lectures that are happening for CS50x, i.e. that start on 9/2/2020? Or are there a whole other set of lectures that David Malan gives for the CS50 AP folks? Or are they pre-recorded? I note the large duration difference between CS50 “Intro to CS” (12 weeks) vs. CS50 AP (32 weeks), which makes me think these are totally different tracks.

    I guess I’m trying to decide whether to steer the high-schooler towards just taking CS50x or investing in taking CS50 AP. Thanks for any light you can shed on the above!

    Reply
    • Manoel Cortes Mendez

      1) You can take it for free via Harvard OCW and earn a free “unverified” certificate, and you can audit it for free on edX, but you’ll have to pay for the “verified” certificate if you want one.

      2) At this point, CS50 AP subsumes CS50 Intro to CS and CS50 Understanding Technology. CS50, at least, is recorded annually, so the curriculum should be fresh, but yes, it’s the same as CS50, not a separate set of lectures.

      https://cs50.harvard.edu/ap/2022/

      Reply
      • Patima

        Hello Manoel,

        May I ask you a question?
        Does it mean that we cannot get the verified certificate for free nowadays?

        Thank you

        Reply
  12. Imran Fazil

    Is CS 50 Back Pain course have certificate after the completion and they charge 30 $ please do reply thank you

    Reply
  13. Hannah

    I just wanted to say, thank you for this post. However, I do have a question… and it might sound dumb, it might not even be something you did but Harvard did, or neither of you did and I’m just confused.

    If the people taking the beginner class knew how to operate Github, why would they need a beginner class? I’m not trying to be rude at all, but Github can be complicated for people who don’t know what they’re doing *coughMEcough*! Does the beginner course walk you through all of that? I don’t want to do the work if I’m not going to be able to access my certificate.

    But again, really great job on the article, it was well written!

    Reply
    • Manoel Cortes Mendez

      There’s a little bit of initial setup, but it’s all explained. And you won’t use GitHub functionality per se (commit, merge, …). It’s just a channel for uploading assignments.

      Reply
  14. Navjot Singh

    Would you guys please device a full computer science curriculum as there is so much confusion which course to take, when to take and so on…

    Reply
  15. Joe Rodrigo

    If I get the “Professional Certificate in Computer Science for Python Programming” from edx, will I also receive the individual certificates from each course (“CS50’s Introduction to Computer Science” and “CS50’s Introduction to Programming with Python”)? Alternatively, can I get the professional certificate if I finish both courses individually?

    Reply
    • Manoel Cortes Mendez

      If you enroll in the professional certificate program, you’ll still receive the individual certificates for each courses, as well an additional certificate for the whole program:

      https://support.edx.org/hc/en-us/articles/4405331055127-What-s-a-program-How-is-a-program-different-from-a-course-#h_01FBYHQ7X0JF8BE21T511CKSQV

      If you first buy the first course and then enroll in the professional certificate program, the program cost will be discounted by about 50% (I just tried it). Basically, you just pay for the part of the program you weren’t already enrolled in.

      What I’m not sure is what happens if you buy the two courses individually: I don’t know if you can still still enroll in the professional certificate, and I don’t know how much it would cost in that case (or if it’d be free).

      To avoid the problem altogether: if you’re positive you want to a verified-certificate for the second course, rather than enrolling in the course’s certificate track, enroll in the professional certificate program. Both would cost the same, but with the latter option, you’re sure to also get the program certificate in addition to the individual course certificates, upon completion of the program.

      Reply
  16. Abdisamic

    I want to begin cs50 understanding technology from harvard opencourseware
    Can I take my courses in githup acount
    Or through edx ?

    Reply
    • Manoel Cortes Mendez

      You can simply take the course directly through the Harvard OCW platform (https://cs50.harvard.edu/technology), going week by week on the sidebar.

      You will need a free GitHub account and free edX account to submit your assignments and get your grades back. You’ll be asked for your GitHub and edX username when you submit your first assignment.

      Reply
  17. Thandar Khaing

    Thank you for the good informations.My English is intermediate .Could I apply AI course.It’s so interesting.
    Thank you.

    Reply
    • Manoel Cortes Mendez

      Every video has subtitles, notes, and a transcript, which can help make the course more accessible. You can find these below each video lesson – for example: https://cs50.harvard.edu/ai/2020/weeks/0/

      But it’s a challenging course, so if your English is intermediate, it will be even more challenging. I recommend giving it a try to see how it goes.

      One thing to note is that CS50AI assumes you’ve taken the main CS50 course before (or an equivalent course). The main course also has subtitles, notes, etc. So if you haven’t taken it yet, that might be a better starting point.

      Reply
  18. Lloyd

    Thank You, Manoel for sharing!

    May I know if the certificate would show my Github username (which isn’t my full legal name) or will there be an option for me to insert my full name?

    Thank you!

    Reply
    • Manoel Cortes Mendez

      You’ll be able to have your full name on the certificate. A free GitHub account is only needed for logistical reasons, like being able to submit assignments. Your GitHub username won’t appear on the certificate.

      Reply
  19. Paul

    Thanks for all this information!!

    I have some questions i am unable to find the answers:

    – Do these certificates (OCW, verified eDX) expire?

    – If i do the free certificate can i pay later for the verified one? (like a year later)

    – Can i combine, say all individual go free certificate and only the program one go verified?

    Thanks!!

    Reply
    • Manoel Cortes Mendez

      1) The certificates don’t expire.

      2) Yes. The only thing to take into account is that some assignments may change from one year to the next. If you finish the free course on OCW, wait a year, then try to go for the paid certificate on edX and some of the assignments have changed, you’ll have to complete those assignments to unlock the paid certificate. (Those that didn’t change should remain valid.)

      3) No, the free certificates don’t count toward the paid programs. To unlock an edX program certificate, you have to earn a verified certificate for each of the courses in the program. If you’re positive you want a program certificate, you have two options: buying each course one by one, or buying the entire program right off the bat. In terms of learning, both are identical, since on edX, a program is just a collection of courses. The only difference is that, overall, buying a program costs a little bit less than buying its courses one by one (edX basically applies a discount for programs).

      I recommend finishing the free courses via Harvard OCW and only then deciding whether you still want an edX verified certificate.

      Reply
  20. Kira

    It seems that CS50 Mobile has long been deprecated. Do you know whether they offer another course instead?

    Reply
    • Manoel Cortes Mendez

      Unfortunately, CS50 doesn’t currently offer any other mobile development course.

      Reply
  21. Samuel Osuji

    Thank you for this post. I noticed using the links you provided lead to an older version.

    For someone starting out a self taught IT career like I am what link do I need to follow to register on OCW?

    Reply
    • Manoel Cortes Mendez

      You don’t need to register per se. You simply need a free GitHub account and a free edX account, so you can submit assignments and get grades back. Then you can simply go week by week. You’ll find instructions in each week’s assignment.

      The links in the article should point to the latest versions of each course. But I imagine you’re interested in the main CS50 course. Here’s the link: https://cs50.harvard.edu/x

      Reply
  22. Abije William

    Thanks very much for your post.

    I am very much interested in the cs50’s introduction to computer science, how can I register?

    Thank you!

    Reply
    • Manoel Cortes Mendez

      There’s no formal registration step. You just need free GitHub and edX accounts for submitting assignments each week. Here’s the first week: https://cs50.harvard.edu/x/2023/weeks/0/

      Reply
  23. Jesus H

    I started a Cs50’s Introduction to programing with Scratch and submit my assignments since March. So far I haven’t receive any grades or any of my assignments completion notice. How do I know if submit assignments or post assignments in Github? is there a link, video?

    Reply
  24. Natascha

    I have a high schooler that’s taken lots of introductory programing courses (Python, Scratch, Java, Unity, etc). What CS50 class should a high schooler take that is planning to do Computer Science at University and has already taken:
    – AP Comp Sci A and scored a 5 on the AP exam; and
    – Project Lead the Way (PLTW) Cyber Security and received 100% in the class?
    Thanks in advance, and for this article!

    Reply
    • Manoel Cortes Mendez

      Probably one of the courses in the follow-up category: https://www.classcentral.com/report/harvard-cs50-guide/#followup

      Of those, the AI and the web development courses would likely be the most useful ones to prepare for undergrad computing. (Although, since they’ve taken a Unity course before, the game development course might also be of interest.)

      The AI course is more academic and has the benefit of exploring fundamental CS topics, such as algorithms. The webdev course is more vocational, but assuming that the end goal is working in software, it has the benefit of teaching tools and processes actually used on on-the-job, such as git, databases, and testing.

      Reply
  25. Ivanda Orif

    Hi Manoel,
    I still confuse, why do we need edx free account? I mean, the submission task is only via github right?
    thank you.

    Reply
    • Manoel Cortes Mendez

      My understanding is that a free edX account is needed for the initial setup. More specifically, in Problem Set 0, the first submission step entails filling a form, which is only accessible via an edX account.

      https://cs50.harvard.edu/x/2023/psets/0/scratch/

      Maybe one can get around this requirement. But since all they ask is a free edX account, I didn’t bother trying.

      Reply
  26. Mohamed

    SHOULD I START WITH CS50T THEN CS50’s Introduction to Programming with Scratch OR VICE VERSA I AM absolute beginner

    Reply
    • Manoel Cortes Mendez

      You may want to start with CS50T, because it’s the most general one. Afterwards, you could start the main CS50 course, which introduces programming at a basic level. But if it proves too difficult, you might switch instead to CS50 Scratch, which take things even more progressively, and once finished, jump back into CS50.

      Reply
  27. Par Asm

    Hi,
    Thanks a lot for the informative article.
    Do you know if we sign up for the program, do you have to do the courses within the program back-2-back?
    Or can you do one course in the upcoming month, and the second course in a year from now?
    Also once you start the course, do you have to complete it in the stipulated time, or can you take as much time as you want?
    I think more the flexibility, the better I can manage it with my schedule.

    Reply
    • Manoel Cortes Mendez

      You can do the free courses whenever you want, for as long as they’re available. The one thing to keep in mind is they might refresh the content on January 1st. Your progress normally carries over, but to avoid any surprises (like a potential extra assignment), I’d recommend trying to complete the course by the end of the year.

      Reply
  28. I

    Hola Manoel
    I submitted before 1Jan2024 but have more to submit. There has been no reply and no grade. What to do next?

    Reply

Leave a reply

Your email address will not be published. All comments go through moderation, so your comment won't display immediately.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Browse our catalog

Discover thousands of free online courses from top universities around the world like MIT, Stanford, and Harvard.

Browse all subjects