CS 50 Recitation Home

Welcome to cs50! If you’re on this page, chances are I’m your section leader. If not, I always welcome new seekers of knowledge!

You’re always welcome to drop by my recitation section - Thursdays in Sudikoff 214 from 4–5 PM. No need to ask permission - the more the merrier. :)

How Does This Work?

Recitation has a general pattern. Everyday begins with a puzzle. This is because I find that

After the puzzle we generally dive into content (the “Lecture” column). Although separated out here, tips and lectures are more intertwined during actual recitation. Tips include things that I found useful to survive / excell in the course, but of course feel free to ignore them.

Why jokes? This is no ordinary cs50 course - this is Professor Campbell’s cs50 course, and in accordance, each recitation will have an extremely lame pun or joke - usually delivered as punishment for getting an answer wrong (moral hazard?).

Why Recitation, Anyways?

Recitation is completely optional. If you’re unable to come, that’s fine, too. The CS department is unique in having recitation because computer science, much more so than many other fields, is one where you primarily learn by doing. You’re developing tangible skills here, and much like learning foreign languages, you need some sort of drill to reinforce this new knowledge.

We’re here primarily to help you - we clear up any concepts or anything that the Professor may not have had time to cover in lecture. The Dartmouth 3-class term is both a blessing and a curse. For the hard sciences, it makes it difficult to cover enough material given the limited meetings, which means we have to make use of recitation to go over anything we may have sped through in class.

It’s not so bad, I promise! Come and hang out - I promise you’ll learn a thing or two!


Lectures will be added and updated as the term progresses.

# Puzzle Joke Tips Lecture
1 Bit Shift Mystery Joke 1 Workflow / Vim Version Control
2 Efficient Swap Joke 2 Lessons Learned Learn GDB
3 Struct Suitcase Joke 3 GNU Screen Debug & Test
4 Pointers! Joke 4 Preprocessor Style
5 Commas Joke 5 Valgrind Dynamic Memory
6 Variadic Functions Joke 6 GProf Processes & Threads
Closing Thoughts

Lab Announcements