By Xinyi (Christine) Zhang

The ‘Necessary Evil’ of Computer Science 124

Most students aren’t taking Computer Science 124: Data Structures and Algorithms for pride. They’re taking it to fulfill the computer science concentration’s Algorithms requirement. Hence the course’s description as “a necessary evil” in the Q Guide.
By Xinni (Sunshine) Chen and Chelsie Lim

In late March, Noa Kligfeld ’24 sent an email to various College mailing lists with the subject line, “HAVE THOUGHTS ABOUT CS 124?” In the email, Kligfeld, a Computer Science concentrator, explained that she was working on a class project to “help make CS 124 better.” She hoped to share the survey results with Harvard professors to improve the class experience.

Why might Kligfeld hope to make the course better? Take a look at the Spring 2023 QReports: “Do not take this class for pride”; “No social life. You will be maiden-less.”

Most students, however, aren’t taking Computer Science 124: Data Structures and Algorithms for pride. They’re taking it to fulfill the computer science concentration’s Algorithms requirement. Hence the course’s description as “a necessary evil” in the Q Guide.

Last year, the average number of hours students reported spending on coursework outside of class per week was 16.70, with the plurality of students reporting it took up 18-20 hours a week. But this isn’t the only reason the course draws complaints: while many computer science students are hoping to use their degree to go into industry, CS 124 is a theoretical course, focusing more on proofs than programming. This is consistent with Harvard’s CS department at large. Many students step foot on campus hearing about how theoretical Harvard’s CS department is.

Adam C. Hesterberg, the current assistant director of undergraduate studies for CS, says that the theoretical focus of courses like CS 124 is an attempt to circumvent the rapidly changing industry trends.

“We try to teach skills that will be useful to computer scientists even when the hottest language in industry moves onto the next thing, probably in a few years,” he says.

He views the department as equipping students with “timeless skills, not the currently useful languages in the industry.”

Boaz Barak, a CS professor and co-director of undergraduate studies, also hopes undergraduates will find a broad range of applicability from their CS studies.

“Our goal is to prepare Harvard CS concentrators to many possible career options,” Barak says. “Courses that focus too much on practical knowledge may become outdated before students even graduate.”

Hesterberg notes that he frequently hears back from former students of CS 124 who state that “what they learned in 124 was really useful to them.” Similarly, Barak says that it is “no accident that the material of CS 124 is the one that is often used by tech companies in their interviews.”

Computer science concentrator Amulya Garimella ’25 agrees, saying she really enjoyed the theoretical aspects of Harvard’s computer science classes.

“Understanding deep down why things work is helpful. I think that it also helps you understand how to think about problems like a machine would, which I think is really helpful,” says Garimella, a former Crimson magazine editor.

Garimella says that anyone could easily learn a language by searching up the syntax, but the ability to understand the “super base layer” of computer science had allowed her to code better in her research positions and even in a biotech startup.

“Most languages are pretty similar, deep down. They have some very important differences in how they’re implemented,” she says. “Certainly GPT-5 will be able to code very well, but deep down, it’s the math and the theory that even made those advances possible.”

Charlie Chen ’27, who plans to concentrate in Computer Science, says that he’s not concerned about finding a job despite Harvard’s CS being largely theoretical.

“I’m not too worried. I feel like with SWE interviews nowadays, a lot of the prep work comes from outside of classes where you have to write code. And Harvard also does have a lot of clubs that provide great relevant experience, like T4SG,” he says, referring to Tech For Social Good.

Still, there’s the course’s rigor: the 16.7 hours of week that caused one QReports writer to say, “Do not take this class if you wish to have work-life balance.”

In response to complaints and questions from students about the course’s rigor, Barak clarifies, “The instructors of CS 124 have worked at reducing difficulty in recent years, and in particular making it less dense by eliminating material that appears in other courses. We certainly shouldn’t make [the] course hard for the sake of being hard.”

The growing number of CS concentrators — which roughly doubled in the last decade, according to Hesterberg — has also presented a challenge in sourcing enough teaching staff to support students. Barak says this staff shortage likely contributes to the negative experiences students have reported in more challenging classes.

Though the rigorous theoretical and mathematical components have dissuaded many students from pursuing a computer science concentration, others remain undeterred.

“I feel like the material we learn is all really interesting, because it’s just very problem solve-y,” Chen says.

Typically, those with stronger math backgrounds coming into college have found the theoretical CS classes relatively easier, making the barriers of entry higher for those from under-resourced schools and backgrounds.

“Usually the people who are super exposed to math find it really easy to just pick up coding,” says Garimella, who took a linear algebra class in high school. “To keep up, it’s definitely a challenge.”

In a similar vein, many QReport comments recommend that students have a solid math foundation before taking the course, with one even suggesting that you should take the class “if you excel in Math 55.”

Chen, however, says that he feels math background “isn’t that big.”

“A lot of the hard part of the course comes from being able to absorb a lot of hard information quickly,” he says. “It’s a lot more a question of how much time you can put into going to class, going to lectures, going to section and office hours.”

Garimella says that students might perceive the theoretical CS classes to be harder because they came into college having done well in their studies.

“You come to Harvard, and you might have a math lecture where you just understand none of that. I think that’s really disheartening,” she says.

“I think people should just stop being scared about these courses especially if you don’t want to go to grad school and your grades don’t matter as much,” she adds. “I think that people should be more comfortable with going to lecture not understanding anything.”

At the end of the day, CS 124 might not be all that different from the courses at other schools.

“Two of my apartment-mates are software engineers at Google who went to MIT, and were complaining pretty similarly about thinking that MIT’s CS classes were not really relevant to their jobs,” says Hesterberg, laughing. “My MIT alum apartment-mates were impressed at the practical applicability of our CS classes. So it seems like there is some amount of a ‘grass is always greener on the other side’ aspect.”

—Magazine writer Chelsie Lim can be reached at

—Staff writer Xinni (Sunshine) Chen can be reached at Follow her on X @sunshine_cxn.

The Scoop