Metadata
Title
Courses
Category
courses
UUID
9e7831dc7f674983a4d5935cb95bc4cd
Source URL
https://csadvising.seas.harvard.edu/concentration/courses/
Parent URL
https://csadvising.seas.harvard.edu/firstyear/
Crawl Time
2026-03-09T03:28:31+00:00
Rendered Raw Markdown

Courses

Source: https://csadvising.seas.harvard.edu/concentration/courses/ Parent: https://csadvising.seas.harvard.edu/firstyear/

SEAS offers undergraduate and graduate courses in Computer Science. SEAS faculty also offer several Freshman Seminars. Many additional courses of interest to concentrators can be found in the Applied Mathematics, Engineering Sciences, Mathematics, Physics, and Statistics sections of the my.harvard course catalog.

The SEAS 4 year course plan contains the most up to date plan for courses to be offered in the near future. You can filter the “catalog” entry to CS to see only Computer Science courses. The following courses are guaranteed to be offered at least once per year: CS 20, CS 50, CS 51, CS 61, CS 1200, CS 1210, CS 1240, CS 1810, CS 1820.

The Sample schedules and plans page contains some examples of plans of study that satisfy the CS concentration requirements.

Placement

Most students start with CS 50 or CS 32, even if they have had an AP course in Computer Science. These course are designed to accommodate both students who are starting from scratch and students with prior programming experience. However, some students have sufficient programming background to skip CS 50 and start with CS 51 or CS 61. See the CS 50 FAQs for more advice, or consult the Directors of Undergraduate Studies.

Students should consult with the Mathematics Department, Chemistry Department, and Physics Department for advice about appropriate placement in courses in those departments.

CS 20, Discrete Mathematics for Computer Science, teaches the mathematics needed for later computer science courses that is not covered in the calculus and linear algebra sequence in Mathematics and Applied Mathematics. Some students may already have the background covered in the course or may wish to self-study the material, in which case they may be able to “place out” of taking CS 20 by this self-test and self-attestation form. The CS 1210 page on Background and Prerequisites is a good source for figuring out if you need to take CS 20 before taking courses such as CS 1200, CS 1210, and CS 1240.

Which courses count for what?

Info

Students following the 2020 concentration requirements should read that description instead.

The official information is in listed in our requirements page but we summarize here which courses count for fulfilling various requirements. The list below is not exhaustive, and if there is any conflict between this list and the handbook, the handbook information is the correct one. We generally allow a student to replace a course with a more advanced course of the same type, though you should ask us for authorization in advance for each such case.

Harvard extension school courses do not count for CS concentration courses. Harvard summer courses could potentially count if they are equivalent to courses that are counted in the concentration (e.g., summer versions of CS 50 or Stat 110 or other math classes). Courses taken at other universities do not count towards the concentration, unless part of an official study abroad program, or you are a transfer student. (If you are a transfer student, come talk to us and we will decide which courses to count on a case-by-case basis).

No more than two of the courses used to satisfy CS requirements may be taken PA/FL or SUS. Of the tag requirements, courses taken PA/FL or SUS can be used only for the Programming 1 and Advanced Computer Science tags. For instance, if taken PA/FL, CS 1240 would not satisfy the Formal Reasoning or Algorithms tags.

Ordinarily, introductory courses can not be taken for concentration credit after more advanced courses. For example, courses tagged programming1 (e.g. CS 32, CS 50) ordinarily will not count for concentration credit if taken after courses tagged programming2 (e.g. CS 51, CS 61). Similarly, CS 20 ordinarily will not count for concentration credit after courses tagged algorithms (e.g. CS 1200, CS 1240) or limits of computation (e.g. CS 1200, CS 1210).

If you have questions about what courses (at Harvard, MIT, or elsewhere) count for concentration credit, feel free to .