FAQs
Email heads@cs50.harvard.edu with any other questions!
- Advice
- College Requirements
- Comfort
- Coronavirus
- Curriculum
- First Years
- Grades
- How can I change from SAT/UNS to letter grade?
- How can I check the status of my Grading Basis Change Request?
- Should I take CS50 SAT/UNS or for a letter grade?
- What is CS50’s grade distribution?
- Which concentrations offer concentration credit for CS50?
- Which concentrations require a letter grade in order for CS50 to count for concentration credit?
- Lectures
- Prior Experience
- Problem Sets
- Sections
- Semesters
- Simultaneous Enrollment
- Support
- Tutorials
- Workload
Advice
How should I structure my week?
Most weeks follow the pattern below.
Monday | lecture | |
Tuesday | sections | quiz |
Wednesday | sections, tutorials | |
Thursday | tutorials | lab |
Friday | tutorials | |
Saturday | tutorials | |
Sunday | tutorials | problem set |
Accordingly, plan to
- attend lectures on Mondays (or watch recordings thereof if simultaneously enrolled in another course or in a distant time zone),
- submit quizzes by Tuesdays,
- attend section on Tuesdays or Wednesdays,
- submit labs by Thursdays,
- optionally attend tutorials on Wednesdays, Thursdays, Fridays, Saturdays, and/or Sundays, and
- submit problem sets by Sundays.
College Requirements
Does CS50 satisfy any College requirements?
Yes. You may take CS50 (SAT/UNS or for a letter grade) to fulfill the Science and Engineering and Applied Science distribution requirement or the Quantitative Reasoning with Data requirement, but not both.
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 2019, 58% of students described themselves as among those less comfortable, while 8% described themselves as more comfortable, and 34% described themselves as somewhere in between. No matter your own comfort level, then, you’ll be in good company!
Coronavirus
How does this year differ from past years?
CS50 has long been offered online in some form, so this year won’t be all that different, all things considered! Lectures, of course, won’t be in person but online via Zoom, as will be sections and tutorials. And there won’t be a CS50 Hackathon or CS50 Fair. But there will still be CS50 Puzzle Day, CS50 Meals (a la Classroom to Table, albeit via Zoom), and more, all at a healthy distance!
Curriculum
Does CS50 still have end-of-term tracks?
In Fall 2019, CS50 offered a choice of lectures and problem sets at term’s end on web programming, mobile app development, and game development. It turned out that most students chose the track on web programming, so we’ve reverted to focusing on web programming as of Fall 2020!
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!
First Years
Can first years take both CS50 and a Freshman Seminar SAT/UNS?
Yes. Even though first years may not ordinarily enroll in both a Freshman Seminar and another non-letter-graded course in any one term, they may take both CS50 and a Freshman Seminar SAT/UNS.
Should first years take CS50?
Yes, if they would like! In Fall 2019, first years composed a plurality of CS50’s student body. While students should be mindful of CS50’s workload and should perhaps avoid taking 4 pset-based classes, students shouldn’t shy away (from CS50 or any other introductory course) simply because they’re first years.
Grades
How can I change from SAT/UNS to letter grade?
If you are a College student, submit a Grading Basis Change Request form no later than .
If you are a grad student or cross-registered, email enrollment@fas.harvard.edu no later than , the term’s fifth Monday, and FAS’s Registrar will make the change for you.
How can I check the status of my Grading Basis Change Request?
If you are a College student, see step 5 of the Change of Grading Basis Workflow.
Should I take CS50 SAT/UNS or for a letter grade?
Unless your (potential) concentration requires that you take CS50 for a letter grade, you should take CS50 SAT/UNS, which is the default. Not only does SAT/UNS allow you to explore an unfamiliar field (whether CS or some other) without fear of “failure,” odds are, more pragmatically, it will reduce undue stress during your semester’s busier times.
What is CS50’s grade distribution?
Per CS50’s syllabus, “what ultimately matters in this course is not so much where you end up relative to your classmates but where you, in Week 11, end up relative to yourself in Week 0.” Accordingly, provided you put in the time and effort, odds are you’ll fare quite well! In Fall 2019, 34% of students received a final grade of SAT, 34% of students received a final grade of A, 20% of students received a final grade of A-, 8% of students received a final grade in the B range, and 2% of students received a final grade in the C range, per the below. In cases of E (<1%) or UNS (1%) were typically extenuating circumstances.
Which concentrations offer concentration credit for CS50?
See this spreadsheet.
Which concentrations require a letter grade in order for CS50 to count for concentration credit?
See this spreadsheet. Note that you may take CS50 SAT/UNS and concentrate in CS; CS does not require a letter grade.
Lectures
When are lectures?
Lectures are ordinarily via Zoom on Mondays, 1:30pm–4:15pm ET, which is a double block, but we’ll occasionally end before 4:15pm ET. And we’ll take one or more breaks during most lectures.
The course’s first lecture, though, will be on .
When are recordings of lectures available?
Lectures are live-streamed and available on demand the moment a lecture’s begun, a la a DVR. So if you are simultaneously enrolled in another course or in a distant time zone, you can watch them on video anytime after they’ve begun. Do just take care to watch before the week’s quiz is due!
Prior Experience
Does CS50 have any prerequisites?
No, CS50 does not assume any prior CS or programming experience. In fact, 60% of Fall 2019’s students had never taken a CS course before!
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!).
Should I skip CS50 if I already took AP CSP?
Probably not, unless you took CS50 AP.
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 2019, 20-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 master the course’s material.
Semesters
When is CS50 offered?
CS50 is offered primarily in fall term. All students, including concentrators and non-concentrators, are encouraged to take CS50 in fall term. However, SEAS concentrators and secondaries unable to take the course in fall term may take a (smaller-scale) spring version of CS50.
How does spring term differ from fall term?
The spring version of CS50 is for SEAS concentrators (or secondaries) who are unable to take the course in fall term. All students, including concentrators and non-concentrators as well as cross-registrants, are encouraged to take CS50 in fall term instead.
In fall term, students are expected to attend live lectures via Zoom as well as live sections via Zoom. In spring term, students are expected to watch lectures on video (produced in fall term) and attend live sections via Zoom.
Academically, the terms are equivalent, but the fall version of CS50 includes cultural traditions as well.
Fall | Spring | |
---|---|---|
CS50 Meals | ✓ | |
CS50 Puzzle Day | ✓ | |
Enrollment | Unlimited | Limited |
Final Project | ✓ | ✓ |
Grading Basis | SAT/UNS or letter | letter |
Lectures | Live | Video |
Sections | ✓ | ✓ |
Problem Sets | ✓ | ✓ |
Quizzes | ✓ | ✓ |
Simultaneous Enrollment | ✓ | |
Test | ✓ | ✓ |
Tutorials | ✓ | ✓ |
Simultaneous Enrollment
Can I simultaneously enroll in CS50 and another course that meets at the same or overlapping time?
Yes, you may simultaneously enroll in CS50 and another course that meets at the same time, watching CS50’s lectures anytime online and attending the other course via Zoom.
Ordinarily for simultaneous enrollment, you need the permission of the other course’s instructor, you need to arrange for “compensatory instruction,” and you need to petition the Administrative Board itself. But the Administrative Board has already granted an exception for CS50 itself, which obviates those needs. You do not need anyone’s permission or signature, and you do not need to petition the Administrative Board.
To simultaneously enroll in CS50 and another course that meets at the same or overlapping time, all that you need to do is enroll in both courses via my.harvard. CS50 is deliberately listed in the catalog as having no day or time (even though it does meet on Mondays at 1:30pm ET) so that it doesn’t technically conflict with any other courses. (Otherwise known as a “workaround” in software!)
Can I watch recordings of CS50’s lectures instead of live via Zoom if they conflict with some other academic commitment?
Yes, but be sure to arrange first with heads@cs50.harvard.edu.
Support
How much academic support does CS50 provide?
Quite a lot! In addition to lectures, and sections, CS50 also offers more than 185 staff-hours of tutorials per week.
Tutorials
How are tutorials different from office hours?
Tutorials are essentially office hours by appointment, with a member of the staff and only a small number of classmates present. Tutorials offer opportunities not only for help with problem sets but also tutoring more generally.
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.
How much work is CS50?
By mid-semester, most students spend 10+ hours per week on the course’s problem sets, but it definitely varies by problem set, per the below, and student.
Note that, in Fall 2019, students had two weeks to complete Problem Set 8, compared to one week for each of the other problem sets.