My Favorite Class at Harvard

Category Student Voices

Author

Inno, HFAI Coordinator
Inno Class of '25
Authored on May 06, 2025

Article

As a graduating senior, if you asked me about one of my most memorable moments at Harvard, I would still immediately think of my very first lecture here. It happened to be CS50 – Introduction to Computer Science, held in the iconic Sanders Theatre.

Walking in felt surreal – I had watched a few lecture recordings online before ever stepping foot on campus, and now, here I was, experiencing it live. The atmosphere was electric: music filled the hall, students buzzed with anticipation, and Professor David Malan took the stage with boundless energy. Little did I know that first lecture would not just introduce me to computer science; it would shape my entire Harvard experience.

Starting college at Harvard was exhilarating – I was surrounded by historic halls, brilliant peers, and so many course choices. Amid the sea of options, one class kept coming up in many conversations, and it was one that I was already a bit familiar with: CS50. It was described with equal parts awe and enthusiasm by older students. I was unsure – could I, a total beginner, handle a computer science course at Harvard? Spoiler alert: I not only survived CS50, but it became my favorite class in college and set me on the path to pursue a concentration in Computer Science. Let me share why this class stood out and why it might just be the perfect start for you, too.

Why CS50 Is One of My Favorite Classes

From day one, CS50 felt unlike any other course. It’s known for being rigorous – indeed, you cover a fantastic amount of material in one semester. We dove into programming with Scratch, then C, then Python, and even web development (HTML, CSS, JavaScript, SQL, you name it). The pace was intense, but never too overwhelming, thanks to the course’s thoughtful organization. Each week introduced new concepts (from basic algorithms to memory management to web apps), yet it was structured so well that a newbie could follow along and build on each lesson. By semester’s end, I couldn’t believe how much I had learned and created. CS50’s mantra is that it is 

“accessible to concentrators and non-concentrators alike,” 

and it’s true – everyone is welcome, whether or not you intend to major in CS.

What truly made CS50 special was the quality of teaching and community. Prof. Malan is legendary for his energy and clarity. Attending his lectures in grand Sanders Theatre felt like going to an interactive tech show – music pumping as you walk in and dazzling live demos on stage. Prof. Malan has a knack for explaining complex topics with real-world analogies and contagious enthusiasm. The lectures are also expertly produced with a full production team, streamed in high definition, so even if you watch online, you feel like you have a front-row seat. Between Malan’s engaging lecture style and the course’s robust support system (more on that soon), CS50 managed to be 

“the quintessential Harvard course” – demanding, but definitely doable; social, but educational 

as the course’s ethos goes. I walked out of each lecture both inspired and challenged – a combination that pushed me to do my best.

 

Unique In-Person Elements of CS50

Another aspect that sets CS50 apart is the incredible array of in-person experiences that complement the lectures and problem sets. These are the parts of CS50 that make it more than just a class – it’s almost a campus culture of its own. Here are a few of my favorite CS50 traditions:

Puzzle Day

At the very beginning of the semester, CS50 kicks off with Puzzle Day, a super fun afternoon of logic puzzles and free pizza. You team up with friends (or new classmates you just met) to solve brainteasers and riddles. The goal isn’t to test programming at all – it’s to emphasize that computer science is really about problem-solving and teamwork. It’s open to all students (even those not in CS50) and by the end, you’ve made new friends and realized that CS, at its core, is collaborative and cool. Plus, who can say no to a free CS50 Puzzle Day t-shirt and prizes for the top teams?

Puzzle Day attendees looking at the intro presentation.

Puzzle Day attendees looking at the intro presentation. CS50

Some teams working on their puzzles and fall 2025 Puzzle Day.

Puzzle Day fall 2024.

Some teams working on their puzzles. CS50

Puzzle Day attendees looking at the presentation of the puzzle solutions and announcement of the winning teams.

Puzzle Day attendees looking at the presentation of the puzzle solutions and announcement of the winning teams. CS50

Photo booth photo of Inno and friends at the fall 2022 Puzzle Day.

Puzzle Day fall 2022.

Photo booth photo of Inno and friends. CS50

Postcard photo of Inno and other staff cohort member taken at the photo booth during the fall 2022 Puzzle Day

Puzzle Day fall 2022.

Postcard photo of Inno and other staff cohort member. CS50

Sections and Tutorials

CS50’s support network is huge. Every week, we broke out into small-group sections, each led by a Teaching Fellow (TF) to review that week’s material. In these recitations, you can ask all the questions you didn’t get the chance to ask in the big lecture. My TF was patient and made sure we all understood concepts by working through problems together on a whiteboard. On top of that, CS50 offered tutorials, which are like optional mini-classes or office hours to get help on problem sets or specific topics (say, debugging tips or advanced material for the curious). These in-person sessions are golden – they help reinforce the learning and make a big class feel intimate. In fact, wanting to give back to this experience, I've been proud to serve as a TF (and even a member of the course heads) for the class every semester since my sophomore Fall term!

Sunday Office Hours in Widener Library

Ah, the (in)famous Sunday afternoon office hours! Picture this: it’s Sunday afternoon, that week's CS50's problem set is due at midnight, and you walk into one of Harvard’s most iconic libraries – Widener – only to find it transformed into a buzzing hive of coding and collaboration. Dozens upon dozens of students are sprawled at long tables, all working on CS50 problem sets. The course’s entire army of TFs and Course Assistants (CAs) is circulating, helping students one-on-one. It’s loud, it’s busy, and it’s incredibly energizing. I remember the first time I went to Sunday office hours in the Loker Reading Room of Widener: I was struck by how many people were there, not struggling alone in silence, but together, as if it were a social event. TFs and CAs wear bright red lanyards, and you literally just raise your hand, and a friendly TF/CA comes over to help you debug your code or talk through your algorithm.

Inno (and a student) looking and pointing at a screen during CS50's Sunday office hours in the Widener Library's Loker Reading Room.

Inno (and a student) looking and pointing at a screen during CS50's Sunday office hours in the Widener Library's Loker Reading Room. CS50

Inno and a student looking at a screen during CS50's Sunday office hours in the Widener Library's Loker Reading Room.

Inno and a student looking at a screen during CS50's Sunday office hours in the Widener Library's Loker Reading Room. CS50

CS50 Lunch(es) at Changsho

Most Fridays at noon, CS50 all but takes over Changsho, a cozy Chinese restaurant on Mass. Ave., just a short walk from the Yard. Anyone enrolled (or on staff) can RSVP for a free all-you-can-eat buffet and an hour of casual camaraderie. Prof. Malan, TFs, and dozens of students crowd around big tables, chopsticks in hand, while conversation flits from “Why won’t `valgrind` stop yelling at me?” to who’s grabbing the last crab rangoon. Just as often, you’ll find special guests (CS50 alumni now at Google or Meta and the like, tech recruiters, even visiting engineers) dropping by to dispense real-world advice and opportunities!

A photo taken during one of the past CS50 lunches at Changsho.

A photo taken during one of the past CS50 lunches at Changsho. CS50

The CS50 Hackathon

This is the ultimate college all-nighter (and trust me, it’s way more fun than cramming for an exam). Later in the semester, once final projects roll around, CS50 hosts an overnight Hackathon – an “optional” all-night coding extravaganza where you camp out with your project team and build, build, build. Imagine hundreds of students in a big open space, laptops and power cords everywhere, fueled by an endless supply of food and caffeine. And I do mean endless: around 9 pm, trays of burritos show up for dinner; come midnight, boxes of pizza arrive to keep us going; at 2 am, there might be Chinese takeout or Insomnia Cookies – it varies by year – and at 5 am, if you’re still awake and coding, the tradition is everyone heads to IHOP for a very early breakfast. By dawn, you’re exhausted but so proud – you achieved your “good, better, best” milestones (a CS50 Hackathon tradition is to set three progressive goals for your project at night’s start) and made memories for a lifetime.

CS50 Hackathon attendees working on their final projects.

CS50 Hackathon attendees working on their final projects. CS50

CS50 Hackathon attendees looking at a laptop screen

CS50 Hackathon attendees looking at a laptop screen CS50

CS50 Hackathon attendees grabbing burritos

CS50 Hackathon attendees grabbing burritos CS50

Pizza being served at the Fall 2024 CS50 Hackathon.

Pizza being served at the Fall 2024 CS50 Hackathon. CS50

CS50 Hackathon (fall 2024) attendees grabbing pizza.

CS50 Hackathon (fall 2024) attendees grabbing pizza. CS50

Photobooth photo of Inno and a few other staff members at the CS50 Hackathon in Fall 2022

Inno and a few other staff members at the CS50 Hackathon in Fall 2022 CS50

CS50 Hackathon (fall 2024) attendees arriving at IHOP for an early breakfast.

CS50 Hackathon (fall 2024) attendees arriving at IHOP for an early breakfast. CS50

The CS50 Fair

Finally, after all the hard work, CS50 ends with a bang in the form of the CS50 Fair. This is not your typical science fair – it’s an outright celebration of everything accomplished. Held in a huge venue (often Harvard’s Northwest Labs) and open to the entire campus (even faculty, parents, and tech company recruiters show up), the fair lets every student showcase their final project. When you walk into the CS50 Fair, you're greeted by decently loud music, booths decorated with balloons, and tables upon tables of students proudly demoing their apps, games, and websites. In addition, there are usually free popcorn, candy, and a raffle with fabulous prizes!

CS50 Fair (Fall 2024) at the Northwest Building.

CS50 Fair (Fall 2024) at the Northwest Building. CS50

A photo of some CS50 staff members at the fall 2024 fair.

Some CS50 staff members at the fall 2024 fair. CS50

A photo of a CS50 Fair postcard with Inno and other African students with Prof. David Malan.

A CS50 Fair postcard with Inno and other African students with Prof. David Malan. CS50

From Student to Teaching Fellow: A Full-Circle Journey

One of the most fulfilling aspects of my Harvard journey is that after taking CS50 as a first-year, I had the opportunity to join the course’s teaching staff. Starting sophomore year, I became a CS50 Teaching Fellow (TF) – essentially an undergraduate teaching assistant. I’ve now been a TF every semester from sophomore fall to senior spring, which has been a rewarding, full-circle experience! Working on CS50’s staff gave me a whole new appreciation for what makes this course so special.

Remember how I said CS50 has a robust support structure with many TFs and CAs? By my sophomore year, I was one of those folks, helping new students tackle the same problems that once stumped me. We kick off each academic year with staff trainings (one in the spring and another in the fall), which are both serious and fun. As a team, led by Prof. Malan and the head TFs, during the staff training, we not only brushed up on the course material in-depth but also dived into how to teach effectively, how to debug patiently, and how to inspire confidence in new coders.

Inno speaking during the spring 2023 CS50 staff training.

Inno speaking during the spring 2023 CS50 staff training. CS50

Inno speaking during the CS50 staff training held in fall 2023.

Inno speaking during the CS50 staff training held in fall 2023. CS50

Inno (and staff cohort) after cracking a joke during the CS50 staff training held in fall 2023.

Inno (and staff cohort) after cracking a joke during the CS50 staff training held in fall 2023. CS50

Carter Zenke, a former CS50 Preceptor, speaking at the Fall 2023 Staff Training session.

Carter Zenke, a former CS50 Preceptor, speaking at the Fall 2023 Staff Training session. CS50

All-staff photo taken during the fall 2023 staff training.

All-staff photo taken during the fall 2023 staff training. CS50

Inno speaking during the spring 2024 CS50 staff training session.

Inno speaking during the spring 2024 CS50 staff training session. CS50

Being on the other side of CS50 taught me as much about leadership and teaching as the class itself taught me about code. Being a TF gave me a new appreciation for the class – guiding students through their first coding experiences, seeing their projects evolve, and supporting their "aha!" moments were profoundly rewarding. I led weekly sections, guiding ~12 students through a particular week's concepts. At first, I was extremely nervous, but the comprehensive TF training (and remembering how my own TF taught) helped immensely.

Another highlight of being a TF has been seeing the creative projects students come up with. As a student, I only really knew about my project; as staff, I got to mentor several teams on theirs. From early brainstorming to the hackathon to the fair, I’d watch ideas evolve into working software. It’s hard to describe how proud one feels seeing a student who nervously came to your section in week 0 (customarily, in Computer Science, we start counting from 0) now confidently explaining their app to a passerby at the CS50 Fair. I imagine it’s akin to seeing a little sibling accomplish something great. Some of my students even decided to concentrate in CS because of the class, just as I did, which was incredibly validating. Ultimately, being a CS50 TF has been one of the most rewarding experiences of my college life. It solidified my knowledge, as nothing makes you understand material better than having to teach it!

Conclusion: “This is CS50!” – Don’t Be Intimidated

If perhaps you’re a prospective student or incoming first-year student reading this, you might be thinking, “This sounds awesome, but I have zero coding experience – is CS50 really for me?” The answer is an enthusiastic YES! One of the beautiful things about CS50 is that it draws students from all backgrounds – many have never written a line of code on day 1. The course staff expect that and support you every step of the way. You’ll find art majors, future historians, and yes, potential CS concentrators all sitting side by side. Remember, it’s not about programming, it’s about problem-solving. You’ll gain a new analytical mindset that will aid you in any field, not just computer science. And you’ll have a ton of fun in the process. Few classes will challenge you as much, and few will support you as much. It’s that balance of rigor and community that makes CS50 truly special. And here’s the kicker: you don’t even have to be at Harvard to take CS50. The course is available for free online as a MOOC (through edX, its very own CS50x, and beyond), and thousands around the world enroll each year. So if you’re curious, you can get a taste of this class even before you set foot in Cambridge.

CS50 didn't just teach me how to code; it taught me to tackle seemingly impossible challenges with confidence, curiosity, and community. And that's a lesson that lasts far beyond Harvard Yard.

Tags

  • Academics
  • First-Year

Inno Class of '25

Kamwene! My name is Innocent (Inno), and I am a senior at Harvard College studying computer science. I hail from Tanzania, East Africa.

Inno, HFAI Coordinator
Book Icon

Student Voices