It’s easy to complain about the annoyances of life on campus; it’s much harder to use computer science to come up with solutions.
But that’s exactly what students do in Introduction to Computer Science (CS50), which challenges them to 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 J. Malan '99, 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.
Created by Sydney Kepler, S.B. ’22, and Mikel Davies, S.B. ’22, both bioengineering concentrators
Inspired to take action on the climate crisis, the team built a website that allows users to make a profile to trace their carbon footprint over time. Users can input information about their travel, household, and food consumed to calculate their daily carbon footprint and track changes over time. The website is designed to be easy to integrate into users’ daily lives. For example, food consumed is inputted as calories, a metric that many users already track. Users can also choose to share their carbon footprint on social media and compare with the average output of other users in their area.
The team also wanted to connect these individual choices to global impact. A page on the website includes global data on carbon emission of different countries to inspire users to take action. To that end, they also built a page with links to newspapers, as well as ways to donate and join grassroots organizations.
The team worked on the project over the course of three weeks, iterating through different ideas.
“I liked the process of letting the project change. It used to be centered around bees, and now it’s evolved to be more globally relevant,” Davies said.
“I learned a lot, and I think coding is so important for setting a foundation for my career,” said Kepler
Created by Farah Afify, A.B. ’22, a social studies concentrator
Afify created a platform to simplify anonymous online voting. As an active member of Phillips Brooks House Association (PBHA), Afify saw how voting in the election could take four hours when done offline to preserve anonymity. She wanted to build a secure online platform to streamline that process.
“I wanted to work on a project that relates to the work that I do in social studies, PBHA, and politics,” said Afify.
Users can either create or participate in a voting campaign. The platform randomizes the identification of the user and stores it as a random string of characters so it can be tracked, but remain anonymous. If a user tries to vote more than once, the platform returns an error page with a cheery image of Detective Pikachu.
“You can’t even be mad,” Afify said.
She was completely new to computer science at the start of the year and has grown as a coder. Through her project, she became very familiar with the data access and retrieval process.
“It was challenging constantly trying to find the most effective way to do it out of the many possible options. It was very much a step up from the beginning of the course when I didn’t know of any way to do it,” she said.
She looks forward to using these skills in the future, and can already see the impact; Secret Ballot will be implemented this year in the PBHA elections.
Created by Evangelos Kassos, A.B. ’23, a joint concentrator in molecular and cellular biology and government; and Pierson Michalak, A.B. ’23, a joint concentrator in math and statistics
For many college freshmen, one of the first challenges upon coming to campus is learning to share living spaces with new acquaintances. Communication is key to being considerate roommates. To help students coordinate sharing their living spaces, Kassos and Michalak created a room booking tool. Users log in with their Harvard authentication and register for the tool with their roommates and suitemates. Once registered, any user in the group can send out a booking request for the others in the group to approve or deny.
“The biggest challenge for us was dynamically updating the list of registered and unregistered roommates. We had to apply the skills we learned from the web track of the course,” Kassos said.
“Working together with Evangelos was my favorite part of the project. It was cool working on adding features to our tool,” said Piersen
The team’s next step will be to add an option for users to enforce a roommate contract through the website. For example, the tool could block bookings that exceed the number of bookings agreed upon in a roommate contract. The team hopes their tool can improve the quality of students’ relationships with their new roommates.
Created by Matthew McGlone, A.B. ’22, a physics concentrator; and Daniel Fu, A.B. ’22, a computer science and statistics concentrator
Inspired by Super Smash Bros., the team created a video game pitting concentrations against one other. Players can play as the STEM character that shoots lasers, the humanities character that throws books, the economics character that controls a snake, or David Malan himself.
The pair developed a deeper understanding of object-oriented programming through this project and learned to use the programming language Lua, as well as Paint3D to design the characters.
The team’s project was inspired by a shared pastime.
“We were freshman year roommates, and we would often play Smash together,” Fu said.
“My favorite part of the project has been playing our game, something we built,” said McGlone.
The team has shared the game with their roommates and they look forward to sharing it with even more students in the future.
Created by Kate Hazlett, A.B. ’23, and Alison Hu, A.B. ’23
During finals seasons, students are always looking for great places to study on campus. To help their fellow students, Hazlett and Hu created a website to recommend the optimal study spots. A user is asked a series of questions about key criteria for selecting a study spot, such as noise level, availability of food nearby, and collaborative working space. Based on the user’s responses, a list of study spots on campus or nearby is generated. Users can explore details about the different study spots and even browse pictures.
“The most challenging part of the project was figuring out how to get the current location of the user and map the distances,” Hazlett said.
The pair enjoyed learning different programming languages through the course and used them to tackle the challenge. As next steps, the they want to add even more creative study spaces.
“Brainstorming study spaces was the best part,” said Hu.
Topics: Computer Science
Cutting-edge science delivered direct to your inbox.
Join the Harvard SEAS mailing list.
Adam Zewe | 617-496-5878 | email@example.com