Lucas Holter

How do you measure, measure a semester? Maybe in crazy problem set all-nighters, to-go cups of granola from the dining hall or reckless jaywalking. What about in three CS50 puzzle day shirts, one “I took CS50” shirt, two Bridgewater Technology shirts, one Google umbrella, more than 10 rubber “duck debugger” ducks lurking in the corners of my common room and under my bed, more than 20 shiny blue pens in my backpack and their clicker-and-spring entrails in every jacket pocket?

I’m a CS50 alumna? Survivor? Disciple? I have a sticker on my laptop from the CS50 Hackathon that says, “Hello, World, my name is ‘foo’); DROP TABLE students;” a syntactically questionable SQL injection attack pun from the 10th lecture. I get warm Stockholm-Syndrome–induced shivers when I walk through the part of the Center for Teaching and Learning where we had office hours. I still use my shiny blue pens. The yellow rubber ducks under my bed hum Toy Story’s “When She Loved Me.”

CS50 2017 was the last semester of the course’s three year experimental debut at Yale. Between now and the fall, the Yale Computer Science Department and other groups involved with its implementation will decide whether to offer the course permanently. I decided to go under the hood of the strange, spectacular name that CS50 has made for itself at Yale and in the world, to look at the class’s ones and zeros just over two months after my last Facebook tag in a candid office hours photoshoot.

printf(“This is CS50\n”);

Tucker Moses ’21 was a fixture of CS50 2017 at Yale. The legend went to two years of Catholic all-boys school and two years of Jewish day school near his hometown, Palo Alto, California. He took some introductory classes over the summer in high school and came to Yale wanting to study computer science. At Yale he was going to take CPSC 201, one of the current introductory computer science classes at Yale and the first major requirement. Then his dad said, “Don’t do anything if you’re not sure you’re going to screw up really badly,” and he opted for CS50, which seemed like the easier alternative.

I remember Moses from office hours, specifically at Problem Set 5 office hours with his TA Ethan Sciamma ’19 on the second floor of Watson Hall on a Saturday afternoon, two days before the deadline. Problem Set 5 was an introduction to building data structures, abstract designs that work inside your code to store organized information for future use, and I remember Moses explaining a hash table to a crowd of office hours piranhas while I sat criss-cross-applesauce on the carpet next to a wall outlet, stepping through my code meditatively with the CS50 debugger and nursing a diet Coke.

CS50 lets you to place yourself into a section specific to your comfort level with computer science. You could choose between “comfortable,” “somewhat comfortable” and “less comfortable,” although no exclusively “comfortable” section ran at Yale in 2017, and instead the ambitious, cocky few who labeled themselves “comfortable” coders were lumped in with “somewhat comfortable” coders. CS50 at Harvard is a requirement for the Computer Science major, so people who are actually really good at coding need to take the class and put themselves in comfortable sections, but the Yale CS50 population skews beginner. I was a major beginner.

“I just thought it was going to be an intro course, whereas it felt way more like a crash course,” Moses told me, chomping on an apple at Branford brunch. He had put himself in a “somewhat comfortable” section of coders and spent six to seven hours a week in office hours depending on the problem set. He also told me that there were “some hellish ones in the middle”: The fourth problem set was “disgusting,” and the fifth one was “still disgusting.”

Comfortable, less comfortable and somewhat comfortable people can choose problem sets of different levels in the beginning, and for the people who are not taking it Credit/D, the mysterious grading system gives a lot of help to people who know less. The discrepancy in knowledge between the less comfortable and somewhat comfortable populations is largest in the first few weeks and gradually, steadily, miraculously shrinks.

Office hours are staffed by undergraduate course assistants and run by undergraduates assigned to be “office hours heads,” who send people to different tables based on what they’re stuck on and give people sugary food. You have to swipe into office hours with your Yale ID, and you get sent a “Welcome to CS50 Office Hours” email with links to online course resources. I would know because I have received 19 of these emails. Nineteen “Hello Emily, Welcome to CS50 Office Hours! Below are some useful links for today.”

<head> <title>David J. Malan</title> </head>

David J. Malan teaches CS50 at Harvard, and his lectures get recorded. Yes, people actually watch them, and yes, they are objectively good lectures. Malan has more than a few academic accolades: He is the Gordon McKay Professor of the Practice of Computer Science in the Harvard School of Engineering and Applied Sciences and a faculty member in the Graduate School of Education. His personal website, which he probably built, also says that he received his bachelor’s, master’s and doctorate degrees in computer science from our neighbor to the north in 1999, 2004 and 2007, respectively.

His website does not say what he told us at the first lecture of CS50 in Sheffield-Sterling-Strathcona Hall. CS50 was his first computer science class as a sophomore at Harvard, mostly because he had a Credit/D/Fail option in the fall of 1996. He was a government concentrator when he took it and ended up switching his major to computer science, one of the first CS50 converts on record.

Yale CS50 students who watch the lectures know him for his black sweater and jeans and for saying “under the hood.” He has a good voice and charisma for a professor, with a unique persona. His email signoff is “djm” — not to be confused with the famous djb hash function. He updates his Facebook to show where he is traveling, and in his current artsy profile picture, he flashes a soft-serious smile in front of one of the buses that left the CS50 Hackathon, where the LED display on the front of the bus says “This is CS50.”

Malan gave an opening and closing lecture in SSS and commuted down for Wednesday office hours every few weeks. Moses and I both met him in person for the first time on Oct. 4, when we got an email at 2:59 p.m. that he had reserved a table at Yorkside Pizza & Restaurant for dinner at 6:30 p.m. By chance, I was able to go to pick up the first of my many duck debuggers and see Malan order his own Yorkside tortellini. Moses thought that Malan “seemed like a nice guy” and that from his few interactions “he talks the same way he does lectures.”

“Nobody sweats as much as him. Nobody talks as fast as him,” said Jack Adam ’21, a staff illustrator for the News who took CS50 with no computer science background, except when he messed around with his Tumblr layout in middle school, and who had his math and art double major dreams dashed when he “bombed” his math placement exam over the summer.

Adam’s journey to CS50 went like, “Intro to computing and programming sounds cool, and I didn’t know it was a cult.” Once he was told that it has a fervent following, he could not be bothered to care. Cult comparisons get thrown around loosely at Yale, but David Malan is a different breed of enigma in New Haven than at Harvard because Yale CS50 sees less of him in person and more of him pacing on 1.5 times speed while the camera angles oscillate. It was jarring to see the little gesticulating, black-sweater wearer sit at Yorkside, as a normally sized person, and eat tortellini, slowly.

So, what is Malan’s take on the cultish course he propagates? He said “the course is definitely challenging for most students,” himself included, back in the day. But the class is also about management, that “it’s more time-consuming than it is difficult.” He thinks that “once you carve out the time for some problem, break through and solve it, it’s incredibly gratifying.” When you do not carve out the time for some problems, you would end up like me on the floor of Bass Cafe in the middle of the night failing half of the test cases, my empathetic CS50 accomplices racking their brains for a reason check50 could not recognize the printed dollar amount on my Problem Set 8 website.

But then it works — I hadn’t USD formatted the HTML — and it is incredibly gratifying. I was hooked.

( Cult || Culture){ ?

Hackathon culture is the least understood and most integral piece of the student tech community. You do not hack into government cybersecurity systems. From my limited hackathon experience, a hackathon is an evangelistic swim meet crossed with an all-inclusive camping retreat.

CS50 has its own one-night Hackathon in Cambridge for hundreds of its students from Yale and Harvard to grind on their final group projects for the course, which was a lot, and the single most profound instance of CS50 cult-hood: a photobooth with the giant inflatable duck debugger from lecture, pizzas and burritos and candy and soft drinks, the CS50 2017 Spotify playlist thumping all night, the “hello world” name tags now on my laptop. A little past 3 a.m., a girl in my project and I took a nap on two chairs in a corner on the upper floor. What a Snapchat picture that was.

When I asked Moses what he thinks when people say CS50 is a cult, he instantly concurred. The class has a clingy insular reputation that is more reflective of its core believers than its larger population of fringe participants. First semester, Moses said he was spending so much time on CS50 that people in his suite and his first-year counselor saw “significantly less of him.” His theory is that the time commitment lets people have an “insider relationship” with the class and its students, that some chemical combination between the course rigor and the unblinking enthusiasm of its presentation primes some unsuspecting people to drink the Kool Aid. I guzzled it. I would characterize myself as a Kool Aid drinker in general, but I fell hard and fast for the CS50 office hours grind — I don’t think Moses is wrong.

But just trying to dissect the sociology of CS50 as a time input neglects to consider the branding: my shirt upon shirts upon umbrellas and the poor ducks under my bed. Adam said that while he was in the class,” there were moments where I feel like I’m part of a larger commercial scheme, and I’m just a pawn in that.” I asked him what the larger commercial scheme was trying to accomplish and he said, “I don’t know … because it’s all wholesome.”

Some of the branding pull of the course is preprofessional. CS50 at Yale had free lunches at Sitar every Friday afternoon to meet recruiters in technology and business. Over samosas and under the watchful eye of Benedict Brown and Natalie Melo, a Yale professor team assembled to manage the class, Google and Bridgewater recruiters talked about new and exciting opportunities and shared stories about understanding themselves better. CS50 convinced Moses that he wanted to try for a graduate degree in computer science. What are his plans?

“This sounds so generic because this is what everyone says but startups maybe by 30 or 35.” Needless to say, he went to a lot of Friday lunches.

About the CS50 collective mentality, Malan said “the course places unconventional emphasis on its social aspects” — a generous understatement. Malan added that “by design, CS50’s very much a community that anyone can join, whether they have or haven’t prior CS experience.” In all CS50 2017, 68 percent of the students had not taken a formal computer science class, myself included. The class is a community of beginners minus the brave cocky few in comfortable sections, a buzzing community of scared amateurs who need each other and their puzzle day T-shirts to make themselves scour hundreds of lines of code for a missing semicolon. Moses thinks CS201 “could make people who are interested in the major nervous” because it has a confusing and abstract reputation that “makes you probably pretty uncomfortable.” CS50 is the polar opposite.

But what do all the fancy sweatshirts, stickers and creative camera angles have to do with learning arrays and functions and pointers? I asked Adam what his take on the CS50 culture was, and he said, “It’s a machine of entertainment that propagates the idea that CS is super fun and exciting. … It’s a very different approach to teaching. It makes the subject fun.” Adam is in CS201 this semester and just officially declared his major in Computing and the Arts. He is getting the much less glamorous end of the computer science stick. He thinks all the sequins and marquee lights that concatenate to keep the CS50 heart beating “valorize [computer science], but that’s not bad.”

while(CS50atYale == true){

CS50’s evangelist reach is bigger than Harvard and Yale, their popping online EdX course or their path to becoming offered as a high school Advanced Placement class. Tech is new, popular and powerful, and the pull to study and involve yourself with innovation is not going to fade.

Shreyas Tirumala ’18, a senior computer science and economics major and a staff columnist for the News, wrote an opinion his freshman year about why Yale should team up with Harvard to offer CS50 in the first place. He argued that “At first glance, CS50 seems entirely antithetical to the Yale Computer Science Department’s goals. Our department is decidedly theoretical — a sharp contrast to the push for practicality over in Silicon Valley.” But Shreyas added, “CS50 is certainly not a pure computer science course. It’s a programming class, … but it’s exactly what we need if we want the Yale CS department to be capable of teaching the massive influx of students flocking to computer science.”

I know Tirumala because he was a CS50 office hours head this year, specifically the Wednesday night office hours head who did the Problem Set 9 walkthrough that saved my weekend, and whose navy blue name bubbled nearly to the top of the online leader board for Problem Set 5 spell-checker speed and efficiency, surrounded by the red names of Harvard students and TAs. CS50 has opened the floodgates for Yale’s Computer Science Department and has not, surprisingly, caused a flood.

Over winter break, suffering bleak CS50 withdrawal symptoms, I came across a post on David Malan’s Facebook page from Mahmoud Bwedany, a recent high school graduate from the “besieged city (Douma) near Damascus.” Bwedany took the EdX CS50 class and posted a thank-you note to Malan, one that Malan reshared. Bwedany said in Arabic, translated to English by Facebook: “I just wanted to tell you proudly that I’m a big fan student, even though I didn’t get to meet you or attend your class in person,” and called CS50 “the most amazing introduction course in computer science, a lot of difficulties and circumstances but it’s finally done.”

I asked Adam what impact he thought CS50 had on him, and he said “I’m doing more.” I’m in the same boat, still ready and hungry and excited about my three months of spiritual computer science awakening but 5 percent scared I’m just running on fumes, on crumbs of the little dark chocolate snickers in the office hours jack-o’-lantern bucket. Whatever it was, it was good.

return(0);

Emily Schussheim | emily.schussheim@yale.edu