CS @ Harvard
Harvard is known for being one of the most difficult universities to get into, but for those studying computer science, I would argue that it gets even harder once you arrive. At Harvard, we don’t have majors, we have concentrations. As a CS concentrator, I have to take courses in math, statistics, and of course, programming. Most of my courses are very collaborative, with most students learning the content before class in assigned readings and videos. The classes are then predominantly used for students to work together and practice solving in-class problems. In addition to exams, we are also graded on problem-sets (psets), which are basically just homework assignments. Some classes have 4 psets a week, while others have only one due every two weeks. They’re generally pretty hard, and it’s highly recommended to have a good study group that can help each other understand and implement the concepts. If you need any help at all, which you almost always will, every class has many different office hour sections offered by teaching staff. These are completely optional, but make the homework so much easier to understand and rewarding. You literally show up to office hours to do your homework, but whenever you get stuck you can ask a teacher or classmate for help!
Admissions and Strengths of Harvard CS
Harvard is notoriously difficult to get into, with a 3.19% acceptance rate for the class of 2026. While you do have to specify in your application what concentrations you might want to pursue at The College, what you put in your application is by no means binding. You aren’t even allowed to declare your concentration until sophomore year. The faculty and research being done in the Harvard CS department is world-class; that’s a given. However, I would argue that what sets Harvard CS apart from other schools’ programs are our new Science and Engineering Complex, SEC, and our flexibility in curriculum.
The Harvard Science and Engineering Complex was built in 2020, and designed by world-renowned architectural firm Behnisch Architekten. The building has a library, cafeteria, large lecture halls, small classrooms, outdoor terraces for when the weather is nice, tons of public seating with outlets, and many reservable study rooms with TVs and whiteboards. All four of my classes during my spring semester were at the SEC, and I was very happy to spend all day every day there. Plus, all CS professors have their offices located in the building, making them very accessible to get help or just chat.
The other big strength of the Harvard CS program is the flexibility offered. There are students that declare their concentration as CS their junior year, and are still able to graduate on time. The introduction to CS course is called CS50, and all Harvard
students, regardless of concentration are encouraged to take it. I took CS50 during my first semester of sophomore year, and it was my first CS course at Harvard. I took the course pass/fail to learn what CS courses were like at Harvard, and I fell in love with it. Even if you take the course pass/fail, you can still use it for concentration credit, as they want to encourage everyone to try out CS without the fear of getting a bad grade.
Major Requirements
For the basic Computer Science track at Harvard, you can graduate after taking as few as 11 courses in your concentration.
- Mathematical Preparation (2 - 5 courses): Students have to take pre-calculus, Calc 1, and Calc 2, or they can place out of these courses if they have learned the material in High School. AP Calc BC is sufficient to place out of them. After that, you must take one course in linear algebra and one course in statistics.
- Programming 1 and Programming 2 (2 courses): For this requirement, I recommend taking CS50 and CS51. CS50 provides a very good introduction to all areas of CS. CS51 teaches you how to write elegant code that is efficient, as well as a little bit of the technical theory behind what makes good programming.
- Formal Reasoning (3 courses): For this requirement, you have to take one course in Discrete Mathematics, one course in Computational Limitations, and one course in Algorithms. I recommend taking CS20, CS120, and CS121 if you are interested in fulfilling this requirement as painlessly as possible. However, CS120 and CS121 are known to be extremely difficult courses, with over 15 hours of homework every week.
- Systems, and Computation and the World (2 courses): There are many options to choose from to complete these requirements. I have not yet taken any of them, and so I can not recommend anything. But, it is worth noting that most artificial intelligence courses will count towards this requirement.
- Advanced Computer Science (4 courses): These are your elective CS courses. It’s your opportunity to find your passion in CS, or balance out your more difficult courses with Gems (easy courses with low workloads). One well-known gem is CS105, which is a course on privacy. My favorite elective course I have taken so far is CS 79, which I discussed previously.
After completing these 11 courses, you have successfully fulfilled your CS concentration requirements, and you can spend the rest of your time studying what you are most passionate about, whether that be CS, philosophy, or art.
My Favorite CS Class: CS 79, Design of Useful and Usable Interactive Systems
My favorite CS course at Harvard so far has definitely been CS 79, where we learn the skills needed to design technical solutions to real world problems. Through 2 group assignments and a group final project, students gain experience in interviewing stakeholders, UI prototyping, conducting usability tests, and pitching your proposed solution. The course is structured with two lectures and one studio every week. During lecture, the professor teaches different skills and concepts in product design, as well as insight into the academic world of design research. Studio sessions are used to work together with your team on group projects, and receive feedback from the other teams so that you can improve your project before the due date.
I loved this class because of its collaborative nature, and often found myself prototyping apps at 3 in the morning over nachos from El Jefe’s Taqueria in Harvard Square with my group members. And at the end of the course, you get to pitch your final project to the entire class. We designed a new communication platform for small startups to better allocate their time and employees’ skill sets. We had so much fun designing it, that we are now thinking about turning our project into our own startup!
Written by PathIvy Harvard University Ambassador