Ken Yanagisawa

Six weeks into the fall term, the hype surrounding CS50 — the most popular class at Yale College this semester — has largely subsided, as many students find themselves surprised by increasingly challenging topics and problem sets in the class.

CS50, which is officially known as Computer Science 100, or “Introduction to Computing and Programming,” originated at Harvard University and was brought to Yale for the first time this year. The class made its presence felt around campus early on, with a strong publicity campaign that featured campus-wide posters, giant sheet cakes and even a Harvard-Yale Puzzle Day, during which students at both schools joined together to simulate a hackathon experience. The campaign was successful: the class initially attracted 510 students.

However, as initial excitement for the class has faded, many students are struggling to do well in the class. As of this past Saturday, total class enrollment had dropped nearly 10 percent, from 510 to 448 students.

“CS50 students, many of whom don’t have prior experience with programming or computer science, may not have correctly gauged how challenging the course would be,” CS50 student teaching assistant Aubrey Wahl ’17 said.

Indeed, multiple students interviewed said they enrolled in the class expecting a fun addition to their schedules, rather than a course that would take up a large share of their study time.

David Malan, lead instructor of CS50 at Harvard, said the class — which has two lectures and a problem set each week — is designed to grow increasingly difficult as the semester goes on.

As a result, students who started out comfortable in the class soon found themselves struggling to finish problem sets and understand all the concepts taught in class.

“CS50 is definitely not the ‘gut’ people might have thought it was coming in,” student teaching assistant Devansh Tandon ’17 said.

Due to the way CS50 is structured, with lecture videos that are live-streamed from Cambridge, most of the learning is done outside of the classroom, previous Harvard student teaching assistant Gabriel Guimarães said. He added that for this reason, the CS50 teaching staff — which at Yale is made up of 47 people, including 29 student teaching assistants — provides students with various additional resources, such as online forums, lecture notes and tutorial videos for each problem set.

Still, students with little to no prior programming experience often struggle to find the necessary time and energy to dedicate to the class.

“They said that the course was completely suitable for people with no previous experience in programming, which is true,” Nathalya Nascimento ’19 said. “But many of those people were not expecting to spend so much time studying, looking for external resources, trying to learn the language or going to office hours every week.”

Tara Venkatesan ’18, a student double majoring in cognitive science and music, said she decided to take the class because computer science seemed a practical subject to learn, even though it is outside her major. However, like many others, she found the class much harder than expected, especially because of the discrepancy between the content taught in lectures and what was asked of students in the problem sets. She dropped CS50 four weeks into the semester.

Nascimento, who had a similar experience, dropped the course after five weeks. She said she did not expect to have to dedicate such a large number of hours to an elective course.

“Since computer science is not my major, I could be investing that same amount of time in another activity that would be more useful for me in the future,” Nascimento said.

CS50 Head Jason Hirschhorn, a recent Harvard graduate who worked as a student teaching assistant during his time there, said he has heard from students that the course has a higher workload than they expected. Both he and Malan recommended that students work to balance their course loads with extracurricular activities in order to do well in CS50, and they both emphasized that any student can succeed in the course if they dedicate enough time to it.

Brian Scassellati, lead instructor of CS50 at Yale, said he is not concerned by the number of students who have dropped the class. All Yale courses, especially larger ones, see a steady drop over the first month, he said. He added that the number of students will continue to fluctuate until the deadline to drop a class has passed.

Indeed, several other students interviewed say they have already decided to drop the class but have not yet taken the time to do so officially. As a result, the drop rate may still increase.

Students have until Oct. 30 to drop a full-term class without it appearing on their transcripts.

Correction: A previous version of this article incorrectly stated that CS50 was the most popular class in Yale College history. In fact, CS50 is the most popular class at Yale this semester.

  • roxlet

    As the parent of a Yale student, I am appalled that my tuition dollars are being spent on a course that is primarily taught online. This is what for-profit online colleges do. What I expect is for my son to be able to put his fanny in a chair in a classroom or lecture hall and to be taught by the fine professors for which Yale is so justly famous. We were not happy last year that the calculus course our student took was also taught online. Get these students back in the classroom for the main part of their instruction. This is what Yale is known for and what they should be doing for ALL courses, particularly introductory ones.

  • http://www.biocompta.com/ cmgoodman

    As someone who has taken CS50 in a previous edition, having the lectures online in video form makes it easy to review any lecture. The main learning is done in doing the programming for problem sets. The principles introduced in the lectures are put to use in problem sets, where one learns to programming. Sitting in a chair is not programming. Verbalizing one’s thoughts is not programming. If you get a job programming in the real world, the problem sets become your code sections and the test cases in each problem correspond to the unit tests your code segment must fulfill as a first step to integrating the code into the whole project.
    More to the point, Professor David Malan has pioneered CS50 at Harvard, where it is one of the most popular courses offered. It makes programming in C approachable and the cases in HTML/Javascript are contemporary. He has adapted the course to version on EdX, where the class could be scaled up 50x (or more). This semester, Professor Malan is teaching the same course on two campuses, Harvard and Yale, during the same semester. He splits the lectures between Cambridge and New Haven. Students do the same problem sets using the same tools, and take the same quizzes.
    At the end, the final projects create an entrepreneurial environment, that is commonly found in startups. From there, one can start developing websites, mobile applications, or even desktop apps. Earning your shirt through completing your project gives a feeling of what it will feel like when your future application is accepted for sale on Apple’s App Store or Google’s GooglePlay. I think it is very cool that Harvard and Yale can combine their resources and provide a common experience that both student populations can share.
    Morse ’81BS/MS MB&B.