If you enjoy problem-solving and are intrigued by the interweaving of computer programs, including how our world is becoming more and more technology-centered, a career in computer science might be a good fit. If you want to break into the field, a first step may be to sign up for Harvard University’s most popular offering—a course that nearly 4.8 million-plus people have flocked to in recent years. And better yet? It’s free.
While that course—Introduction to Computer Science, or CS50, as it’s widely known—has been offered to Harvard students for decades, the university opened it up to online learners in 2007. Interest in the online version of the course, known as CS50x, has surged in the decade-plus that it’s been offered for free via online learning platform edX and the total number of people who have enrolled in this course has roughly doubled in a two-year span.
Berkeley's Data Science Master's
Master Key Skills in Data Mining, Machine Learning, Research Design & More
The online Master of Information and Data Science (MIDS) program is preparing the next generation of experts and leaders in the data science field and providing students with a UC Berkeley education without having to relocate. Students graduate with connections to UC Berkeley’s extensive alumni network in the Bay Area and across the world. All international applicants will be required to submit official Test of English as a Foreign Language (TOEFL) scores.

- GRE RequiredNo
- Part TimeYes
What keeps people coming back, year after year, to this online course?Harvard’s team of instructors strive to keep the material both fresh and cutting-edge. In fact, they recently began to incorporate artificial intelligence (A.I.) in the course, including testing a virtual teaching assistant to assess and deliver feedback on programming assignments in order to keep up with the demand for this course.
“A.I. is certainly at the forefront of our interest right now, particularly as it might allow us more students on campus, and all the more rapidly,” David J. Malan, Harvard University’s professor of computer science and the CS50 course, tells Fortune. “The goal with those tools would be for us educationally, to achieve the equivalent of a one-to-one student ratio. Rather than spreading human resources across a large demographic of students—some of whom are doing just fine, some of whom might be struggling—we can concentrate more customized attention on the students who need it most.”
Fortune recently sat down with Malan to learn more about how CS50x is helping prepare students to embark on a career in computer science.
This interview has been edited for brevity and clarity.
Complete CS50x on your timeline
Fortune: If someone’s already working, so they’re dedicating a little bit of time each week, what is a typical timeframe to finish the course?
Malan: The CS50x course we present as 12 weeks but in practice, most students take it self-paced. On campus, undergraduates would take it over the course of 12 weeks, but online most folks spend more time than that.
About how much more time?
I would say 12 to 48 weeks. Essentially, some folks do it quite quickly and intensely, others might spread it over a year. That translates into doing one of the courses ‘weeks’—which means lecture and homework assignment, a.k.a problems that are programming projects—one per week. Or they might do one per month depending on their bandwidth, since each of the homework assignments might take between 10 and 20 hours of programming time.
If someone has no computer science experience but wants to try CS50x, is there anything they should do to prepare?
Malan: Our advice to students along those lines now is, officially CS50x—which is synonymous with CS50—does not assume any prior background.
On campus for instance, two thirds of the students have never taken computer science before. That said, it is very intensive for the 10 to 20 hours I alluded to for homework assignments. If students are apprehensive or are feeling uncomfortable with the prospect of diving into and succeeding in a computer science course for the very first time, we suggest they take course CS50S—CS50’s introduction to programming with Scratch—or one of the newer Python classes, such as CS50P—CS50’s introduction to programming with Python.
Both are gentler introductions to programming and can provide students who are less comfortable with more background before they dive into CS50x itself.
How can a CS50x certificate be used?
Is the CS50x certificate applicable if a person were to be accepted to Harvard’s on-campus computer science program?
Malan: Not quite. Typically, the edX certificates might be used for professional development or for signaling that a student has that prior background. If a student is pursuing a degree program, whether an undergraduate degree at any age, or master’s degree or something higher, they would typically need to take a class like ours through Harvard Extension School or Harvard summer school.
Through those channels, students have a more traditional support structure like an assigned teaching assistant, weekly feedback from humans in terms of grades, and ultimately a transcript and official credits that they can apply either to Harvard’s degree programs, or if their own school accepts it, they could transfer that credit to their school.
So whether they’re hoping to gain admittance to Harvard, or to make a career switch, either route is possible, depending on the individual goals of the student?
Malan: That’s correct. Nowadays there are at least two demographics that relate to that narrative. One would be students coming out of high school who might have discovered CS50x online, who might have been taking a computer science course at their own high school—whose teacher might have adapted some of our open courseware materials. They might be pursuing an application to Harvard College, for instance.
If it’s an older student, who is past the traditional age of college and is therefore pursuing a degree a little later than others—whether it’s a bachelor’s or master’s—they would apply, for instance, to Harvard Extension School. And so we have quite a few students who might discover CS50 online through edX or YouTube or the like, and then enroll officially through Harvard Extension School for credits and more traditional pathways thereafter.
What are typical outcomes students are hoping for, to utilize this certificate?
Malan: One, students are looking to fill in gaps in their knowledge if they are self-taught, for instance. Two, they’re just looking for broad exposure to technology, computer science programming so as to have all the vocabulary in that space, even if they have no interest or plans to become programmers themselves. Or three, is in pursuit of the scenario you’ve described, which would be to pivot in life professionally and try their hands at a new field, to focus on a different career trajectory and upward mobility.
The certificate can help non-technical career switchers
Do you find that most people are coming from some sort of tech or computer analytical background, or is it spread out?
Malan: Definitely spread out. The stories we hear more about online—I dare say on social media—are actually more people coming from other fields. For example, someone coming from the world of cooking, someone coming from the world of literature, or really a very disparate background.
One of the very first students I taught at Harvard College took CS50 his senior year, thereafter worked in a non-technical role at Google, and in the years since has worked his way up through the ranks, has taught himself programming. He’s now doing very sophisticated artificial intelligence applications for radiology and reading medical scans. And so that, too, is something that we see happening.
Upon course completion, are there specific occupational roles people are hoping for?
Malan: I think it’s growing. Programming certainly is a role that people are looking for; data scientist is increasingly a role folks are looking for. Because in the world of data science, you’re all the more empowered if you can use not only off-the-shelf tools and software like Excel, but can also write code and query data yourself. Increasingly, that’s an outcome. So I would say, software development, data science, and really anything that’s analytical in nature nowadays.
One other less technical role is project management. Quite often, folks might take one or more programming classes so that they have all the vocabulary with which to manage teams who are developing products, so that they too have the same familiarity.
Check out all of Fortune’s rankings of degree programs, and learn more about specific career paths.
Full-Stack Web Development Certificate
Start your coding career today
Get comprehensive career training in web development and software engineering. Life is unpredictable, so we're flexible: attend in-person or online, full-time or part-time, with access to class recordings after each session.
