If they can dream it, they can code it

Students program imaginative solutions to real-world problems at CS50 Fair

By Selena Zhang, A.B. '20, SEAS Correspondent | Press contact

Students filled the Smith Campus Center with creative computer science projects during the annual CS50 Fair. (Photo by Richard Tong/HarvardSEAS)

In Introduction to Computer Science (CS50), students develop programming skills to tackle the problems they see around them. This introductory Harvard John A. Paulson School of Engineering and Applied Sciences (SEAS) computer science course, taught by David Malan, Gordon McKay Professor of the Practice of Computer Science, culminates in the annual CS50 Fair, where students have the opportunity to showcase their unique projects.

Integrative biology concentrator Dylan Ryals, A.B. '20, poses with the code he wrote to automatically generate musical arrangements. (Photo by Richard Tong/Harvard SEAS)


Created by Dylan Ryals, A.B. ‘20, an integrative biology concentrator

The Harvard Undergraduate Drummers (THUD) is a percussion ensemble on campus. Some of the most popular works in their repertoire involve a set of players, each playing two percussive notes. A recording of one of their works generated 3.6 million views on YouTube. To arrange works for their group, a member typically spends an entire weekend converting a song by splitting up an arrangement so that each player plays two notes. As a member of THUD, Ryals developed an algorithm that dynamically generates arrangements for THUD and tests whether they are playable. In a 10th of a second, his algorithm can tackle a problem that takes a human a whole weekend.

“I did dynamic programming and didn’t even realize until a teaching fellow told me,” Ryals said. “This simple problem was orders of magnitude more complex than I thought it would be.”

Statistics concentrator Caleb Ren, A.B. '21, and computer science concentrator Anna Wang, A.B. '22, created a device that uses color to visualize an individual's mood. (Photo by Richard Tong/Harvard SEAS)

That’s a Mood

Created by Caleb Ren, A.B. ‘21, a statistics concentrator, and Anna Wang, A.B. ’22, a computer science concentrator

Duck syndrome, while not a formal mental health diagnosis, refers to the idea that a student may look completely calm on a superficial level, while concealing a high level of stress.

Seeing duck syndrome on campus during finals season, Ren and Wang were motivated to find a way to poll people about mental health anonymously and represent it in a visual way. They designed an etched display that is lit up by different colored LEDs. When a user selects their mood and its associated color, a light of that color is added to the other lights moving down the display.

To build this display, the team used resources at SEAS and the Harvard Innovation Lab. They hope the display will let people know that their feelings are valid and shared by others. Ren and Wang would like their project to eventually become a public art installation.

“I wanted to help people share feelings more openly,” Wang said.

“Most of my time on this project was spent being really impressed with what Anna could do,” Ren said. “We also took advantage of a lot of resources that we didn’t know existed at Harvard before.”

Laura Zharmukhametova, A.B. '21, a math and computer science concentrator, developed a digital drawing app for iPhones and iPads. (Photo by Richard Tong/Harvard SEAS)

Doodle (Drawing application for iOS)

Created by Laura Zharmukhametova, A.B. ‘21, a joint concentrator in math and computer science

To make digital art easier, Zharmukhametova built a digital drawing app for iPhones and iPads.

Zharmukhametova utilized a function in Swift that allows users to track the location of their fingers on the screen. Once a finger is moved, another function creates a layer between those two points. The picture produced by the app is the culmination of many transparent layers.

The digital drawing app randomly generates backgrounds of different colors. The line varies in thickness depending on the speed with which it was drawn. A faster stroke leads to a thinner line, while a slower stroke leads to a thicker line. Zharmukhametova added this feature to make the digital drawing experience more similar to a pen-and-paper experience for artists.

“I love drawing, and I’m fascinated by people who create pictures digitally. I want to help people create,” Zharmukhametova said.

Panuvat (Todd) Chutichetpong, A.B. '22, and Richard Qiu, A.B. '22, explain how their project uses Google search data and weather reports to predict trends in a community's mental health. (Photo by Richard Tong/Harvard SEAS)

Weather got you down? (Predicting depression trends using high-resolution weather data)

Created by Panuvat (Todd) Chutichetpong, A.B. ‘22, and Richard Qiu, A.B. ‘22

Seasonal affective disorder (SAD) is a type of depression that's related to changes in seasons.

Driven to investigate the relationship between weather and mental health, Chutichetpong and Qiu designed a project to predict trends in depression using 10 years of weather data from the National Oceanic and Atmospheric Administration (NOAA). Mental health data is generally not measured daily on a large scale, so the pair used Google searches for “depression” as a proxy for daily data on depression.

The team had to scale the search data and correct for how Google normalizes the extracted search data within the dataset, which can include up to 90 days of data at a time. Chutichetpong and Qiu normalized across sets of extracted data to build a larger dataset. They then used smoothing functions to make any patterns in the data more apparent.

In the course of their project, the team encountered interesting phenomena, such as what they call the “Robin Williams Effect,” where there was a surge in Google searches for depression after celebrity Robin Williams’ death. Since these searches reflected an increase in interest in depression rather than the searchers’ mental health, the team removed this anomaly from their data.

They tested their project on data from New York, Chicago, and Los Angeles. The students found that their model’s prediction accurately captured seasonal trends and, to a lesser extent, also captured the daily effect of weather on mental health.

“That was my favorite part because we didn’t expect our model be so accurate,” Chutichetpong said.

“It was really rewarding at each step, not just the overall project,” Qiu added.

Computer science concentrator Tito Yak, A.B. '21, created a tool to help students choose courses to fulfill computer science concentration requirements. (Photo by Richard Tong/Harvard SEAS)

Harvard CS Concentration

Created by Tito Yak, A.B. ‘21, a computer science concentrator

Harvard has dozens of computer science classes, which can make it very overwhelming for undergraduates to declare their concentration. To declare, an undergraduate must submit a study plan detailing courses already taken and planned courses that will fulfill the concentration requirements. Ten courses are required by the basic requirements, while 12 courses are required for honors.

Yak built a website where a user can register and log in to select courses from the full computer science course list. The website also identifies the type of requirement each course fulfills. It prevents a user from picking courses that fulfill requirements that have already been fulfilled.

Yak intends to share his website with the computer science faculty and staff in the hopes that they will use it to ease the declaration process for potential computer science concentrators.

“My satisfaction with computer science is the logical part of it. You can make what you’re thinking work,” Yak said.

Students, and emoji balloons, were all smiles at the annual CS50 Fair. (Photo by Richard Tong/Harvard SEAS)

Topics: Computer Science, Events

Scientist Profiles

Press Contact

Adam Zewe | 617-496-5878 |