COMPSCI 50: Introduction to Computer Science
|Course Head||David Malan|
|Last run||Fall 2019|
|Q-Guide Overall||3.7 (Fall 2018)|
|Q-Guide Workload (hrs/week)||11.2 (Fall 2018)|
|Enrollment||744 (Fall 2018)|
|Fulfills||Science & Engineering|
COMPSCI 50, or more commonly known as CS 50, is the introductory computer science course at Harvard and is typically the first computer science course taken. It is also commonly the most popular course at Harvard. The course introduces basic computer programming as well as computer science concepts. The course starts with teaching the C programming language and familiarity with memory usage, then transitions to modern programming languages, like Python, and areas of software engineering, like web development. The course culminates in a final project where students are expected to create a technical project using the skills learned over the course of the semester.
Course format changes slightly from year to year. In 2019, the course had one lecture a week and one section. The lecture is delivered weekly by David Malan in Sanders Theatre, although lectures are recorded, attendance is expected. Sections are taught by undergraduate TFs (usually Sophomores or Juniors) and are divided into three categories: Less comfy, more comfy, and somewhere in between. Less comfy students are typically those with no experience coding while many more comfy students already feel familiar with the material taught in class. Students are assigned to sections, though they are free to attend any time and any comfort level they wish.
Assignments and Exams
The weighting of assignments and exams is as follows:
- Problem Sets: 50%
- Quizzes: 10%
- Test: 20%
- Final project: 10%
- Attendance: 10%
Quizzes are administered weekly are are to be filled in after lecture. These quizzes are low-stakes and are designed to test a student's comprehension of lecture material. There is usually one pset due a week with the exception of the week of the midterm (also called the test). According to the CS50 website, each student's final grade is "individually determined" at the end of the semester. There is no curve and less comfortable students are not disadvantaged compared to more comfortable students.
Beginning in 2019, CS50 removed the design score from psets, grading them on only correctness and style. Some criticised this move as students were now heavily differentiated by the test alone (since most students scored full marks in all other categories).
CS50 has been called a cult on campus, though that opinion no longer seems as prevalent. A reason for this is the abundance of CS50 related events such as:
- Changsho lunch: Free Chinese buffet once a week for students and staff.
- CS50 puzzle day: Usually sponsored by Facebook, anyone in the Harvard community can spend the day working on fun logic puzzles written by Facebook engineers. No CS experience required.
- CS50 hackathon: Previously attended by both Harvard and Yale students (who also take CS50 as their intro to CS course). This is an optional overnight event that gives students a chance to work on their final projects with their teams. Any students still awake at 7am are treated to IHOP.
- CS50 fair: A mandatory event. Students display their final projects to students and TFs. Companies usually attend this event and set up booths (with merch).
All CS50 events (with the exception of Changsho meals) come with and abundance of candy and, in the case of the hackathon and puzzle day, soft drinks and food.
A preeminent figure in both CS50 and the collective campus consciousness. Brian was the head TF in 2018 and served as a preceptor for CS50 in 2019 and 2020. Brian teaches An Introduction to AI in Python and is just generally a legend.
Other CS50 Classes
CS50 also offers (through the extension school and edX) "An Introduction to AI in Python". There is also a version of CS50 for the law school and business school.