FAQs

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

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. In the course’s final weeks will students also learn a bit of 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!

Harvard College

Can I take the course SAT/UNS?

By default, Harvard College students will be enrolled in CSCI S-50 SAT/UNS, as is the case in fall and spring semesters. Harvard College students can opt out of SAT/UNS and into a letter grade by emailing this form to academicservices@extension.harvard.edu by 2022-07-05T23:59:00-04:00.

Do I need to submit a Certification of Live Attendance form?

No. The Certification of Live Attendance form is for courses whose meeting format is “Online (live or on demand) web conference” or “On Campus or Online”. CSCI S-50’s format is listed strictly as “Online” in the DCE course portal. The course itself expects live attendance at weekly sections.

Does CSCI S-50 count for CS concentration credit at Harvard College?

Yes.

Does CSCI S-50 count for degree credit at Harvard College?

Yes.

Does CS50 satisfy any College requirements at Harvard College?

Yes. Students at Harvard College 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.

Which concentrations at Harvard College offer concentration credit for CS50?

See this spreadsheet.

Which concentrations at Harvard College require a letter grade in order for CS50 to count for concentration credit?

See this spreadsheet. Note that Harvard College students may take the course SAT/UNS and concentrate in CS; CS does not require a letter grade.

Prior Experience

Does CS50 have any prerequisites?

No, CS50 does not assume any prior CS or programming experience. In fact, 66% of Fall 2018’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!).

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, concentrators and secondaries unable to take the course in fall term may take the spring or summer version of CS50.

How do spring term (at Harvard College) and summer term (at Harvard Summer School) differ from fall term (at Harvard College)?

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 and summer 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 Summer
CS50 Meals    
CS50 Puzzle Day    
Enrollment Unlimited Limited Unlimited
Final Project
Grading Basis SAT/UNS* or letter SAT/UNS* or letter SAT/UNS* or letter
Lectures Live Video Video
Meetings TF-led sections Preceptor-led classes Preceptor-led classes
Meetings per Week 1 1 2
Office Hours
Problem Sets
Quizzes
Simultaneous Enrollment    
Test

* Satisfactory/Unsatisfactory (SAT/UNS) grading is only an option for students from Harvard College.