FAQs

Email heads@cs50.harvard.edu with any other questions!

Advice

How should I structure my week?

Comfort

Will everyone else know more than me? Less than me?

Not at all! Approximately two thirds of CS50 students have never taken a CS course before. Moreover, in Fall 2024, 58% of students described themselves as among those less comfortable, while 12% described themselves as more comfortable, and 30% described themselves as somewhere in between. No matter your own comfort level, then, you’ll be in good company!

comfort level

Curriculum

Which languages will I learn?

Rather than teach just one language, CS50 introduces students to a range of ā€œproceduralā€ programming languages, each of which builds conceptually atop another, among them Scratch, C, Python, SQL, and JavaScript. Along the way does the course also introduce students to HTML and CSS (which are languages but not programming languages). The goal, ultimately, is for students to feel not that they ā€œlearned how to program in Xā€ but that they ā€œlearned how to program.ā€

Why does CS50 use C?

See this answer on Quora!

Grades

Prior Experience

Can I resubmit code I already wrote if I took CS50 AP or CS50x?

If you took part or all of CS50 AP (online or in high school) or CS50x (online), you can resubmit code from problem sets that you already completed so long as you completed them in a ā€œreasonableā€ manner, per the course’s policy on academic honesty. If you completed them in an ā€œunreasonableā€ manner, as by viewing someone else’s solutions at the time, you should not review or resubmit your prior work; you should instead re-do those problem sets from scratch.

If you do resubmit code that you already wrote, be sure it adheres to the current semester’s specifications, which might differ from earlier versions. And be sure to mention via a comment in your code that you previously submitted it.

Does CS50 have any prerequisites?

No, CS50 is indeed designed for concentrators and non-concentrators alike, with or without prior programming experience. And two thirds of CS50 students have indeed never taken CS before. Even so, while it is not necessary (or expected!) that you prepare (e.g., over the summer) to take CS50, some students find it helpful to do so! If anything, a bit of prep over the summer might help you feel all the more comfortable in the course’s first weeks, especially if you’re a first-year, in which case both CS and college might be new to you!

If, then, you would like to prepare over the summer, we recommend that you take (for free!) CS50’s Introduction to Programming with Scratch on edX. (No need to pay for a certificate!) We use Scratch, a graphical programming language from MIT’s Media Lab, in CS50’s own first week in the fall, so spending a bit of time with Scratch over the summer will allow you to hit the ground running. Even though Scratch is designed for younger students, here’s why we use Scratch (for just one week!) at Harvard and Yale alike!

Should I skip CS50 if I already took AP CS A?

Probably not. Most students who have taken AP CS A still take CS50 as it tends to fill in gaps in their knowledge and also introduces them to C (and more!). If you can’t complete the test from previous years quickly and correctly, you shouldn’t skip CS50.

Should I skip CS50 if I already took AP CSP?

Probably not, unless you took CS50 AP. If you can’t complete the test from 2022–2023 academic year quickly and correctly, you shouldn’t skip CS50.

Problem Sets

What’s the difference between ā€œless comfortableā€ and ā€œmore comfortableā€ problems? Do I have to do both?

In some earlier problem sets, you’ll have a choice between a ā€œless comfortableā€ and a ā€œmore comfortableā€ problem.

The ā€œless comfortableā€ are what you might consider the ā€œstandardā€ version of the problem, designed for students who have little or no prior experience. The ā€œmore comfortableā€ are the ā€œchallengeā€ version, designed for students who consider themselves more comfortable due to prior study/experience before this class. As such, they may require more concepts than have been covered in the course so far.

You don’t get any extra points for doing the ā€œmore comfortableā€ problems. If you submit both, we will consider the one with the highest score. For reference, in Fall 2023, 10–30% of students submitted the ā€œmore comfortableā€ problems.

Sections

Is attendance at section expected?

Yes, as sections are meant to be a more intimate, interactive opportunity to review the week’s material.

Workload

How difficult is CS50?

For many students, CS50 is simply more time-consuming than it is difficult. Starting each week’s problem set early, then, makes things easier! And the course’s difficulty was also recalibrated back in 2016, per the Q data below.

difficulty

How much work is CS50?

workload

By mid-semester, most students spend 8+ hours per week on the course’s problem sets, but it definitely varies by problem set, per the below, and student.

hours