Former Defense Department General Counsel Appointed Harvard’s Top Lawyer


Democracy Center Protesters Stage ‘Emergency Rally’ with Pro-Palestine Activists Amid Occupation


Harvard Violated Contract With HGSU in Excluding Some Grad Students, Arbitrator Rules


House Committee on China to Probe Harvard’s Handling of Anti-CCP Protest at HKS


Harvard Republican Club Endorses Donald Trump in 2024 Presidential Election

As CS50 Expanded, Course Materials Became More Publicly Available

Some CS50 staffers said it may have been easy for students to cheat in the course.
Some CS50 staffers said it may have been easy for students to cheat in the course. By Ryosuke Takashima
By Hannah Natanson, Crimson Staff Writer

The enormous online popularity of Computer Science 50: “Introduction to Computer Science I” made it easy for enrollees to find answers to problem sets on the Internet, potentially facilitating cheating in the course, according to some CS50 staffers.

More than 60 students enrolled in CS50 last semester were accused of academic dishonesty and appeared before the Honor Council, the College’s administrative body that hears academic dishonesty cases, The Crimson reported last week. The spate of cases represents roughly ten percent of the class’s 636 total fall enrollees.

While CS50 students and former teaching fellows said what they called the course’s vague collaboration policy may have caused students to cheat unintentionally, the course’s recent expansion and the online availability of answer keys likely also played a role, according to some course staffers.

In 2012, CS50 head instructor David J. Malan ’99 took the course online, making his lectures available to the public through the digital education platform edX. Two years later, Malan—who did not respond to a request for comment—moved to expand CS50 to Yale. And in September 2016, Malan declared that Harvard students enrolled in CS50 had to attend just two lectures in person each semester.

In total, tens of thousands of people have taken CS50 in some way.

Former CS50 teaching fellow Mark D. Grozen-Smith ’15 said he believes the class’s recent expansion likely increased the number of problem sets answers available online. The problem sets for each version of the course are the same, and three former CS50 staffers said Malan does not often update course assignments.

“I mean, having such a huge community—it’s not just about the students that are currently in the class but also edX and the online community—that makes it much more difficult to avoid having online answers posted,” Grozen-Smith said.

CS50 enrollees can post and view problem set code online on at least two different question-and-answer forums. Students in the course can also upload problem set answers to file-sharing websites like GitHub.

CS50 course staff operate a publicly accessible forum on Reddit—linked on a teaching fellow course policy document—where students can post code and ask questions. Posted code remains public, though the Reddit forum guidelines urge users to use their best judgment.

“Keep in mind the Academic Honesty guidelines,” the Reddit guidelines read. “Try to ask your question in plain English… If you must post code, please mark your post as ‘spoiler.’”

Another forum, called “Discuss,” is run by course staff and accessible only to those taking or teaching the course, according to a current CS50 teaching fellow. The teaching fellow said many Harvard enrollees use the platform to post code and ask course staff questions about it. The Crimson granted anonymity to the teaching fellow because CS50 course staff are instructed not to speak to the press about the class.

The teaching fellow said course staff usually set posted code to “private” so that only CS50 staffers can see it. He added that he occasionally saw students publish entire problem sets on the Discuss forum, and that course staff were not always able to make these posts confidential in a timely fashion.

“That could have contributed to [the cheating], if we don’t catch it right away then people can definitely see other people’s code on there,” the teaching fellow said.

The fact that Malan does not often update the CS50 problem sets makes it even simpler for students to find old answer keys online and elsewhere, according to three course staffers. Grozen-Smith said Malan completely revamps one problem set on average every two or three years, leaving the rest mostly untouched.

Though he admitted he thought Malan’s method of not updating CS50 problem sets can facilitate cheating, Grozen-Smith said he thought Malan was right to keep the assignments the same.

“I would not say that the professor should be thinking, ‘I have to change the p-set so that people don’t cheat,’ I think it should be more, ‘Let’s figure out how to get a p-set that will teach it the best,’” Grozen-Smith said.

Grozen-Smith said he thought that, to some extent, cheating is unavoidable in any computer science class.

“That is the nature of computer science, in the real world you do copy people’s code a lot," Grozen-Smith said. "It happens not at all just in CS50 but in every computer science class I took."

“It is pretty easy to cheat,” he added.

—Staff writer Hannah Natanson can be reached at Follow her on Twitter @hannah_natanson.

Want to keep up with breaking news? Subscribe to our email newsletter.

Computer ScienceAcademicsFront FeatureHonor CodeAcademic IntegrityCS50