David J. Malan

CS50 is Harvard University’s introduction to the intellectual enterprises of computer science and the art of programming, a course that can be taken both on campus and off. The course is unusual, perhaps, for its “production value,” which is part of its pedagogy, so that students watching videos asynchronously online feel no less a part of the classroom than students on campus. With all students now off campus, though, and all classes online, the course has aspired to optimize students’ synchronous experiences via Zoom as well. …

David J. Malan

CS50x Puzzle Day is an online adaptation of an event we hold at Harvard University each year, an opportunity for students around the world to collaborate on a team with classmates, family, and friends on a packet of puzzles, which are essentially logic (not jigsaw!) problems. Whereas the on-campus event is just a single day, the online adaptation spans four days, Friday through Monday, thereby allowing participants to collaborate with classmates or colleagues (on Friday or Monday) or with family and friends (on Saturday or Sunday). …

David J. Malan

CS50’s team began this summer, as we have past, with Summer50, a week-long retreat a few hours from Harvard during which we plan for the coming year, bond, and even compete in a Gordon Ramsay-inspired cooking competition. (The red team won this year.)

Image for post
Image for post
Summer50 2019

To guide each summer and, in turn, year, we decree a theme of sorts. That for this year is echa pa’lante, which perhaps translates best, from Spanish, as “move forward.” Indeed, just as CS50’s own demographics change, not to mention the world around us, so must the course itself evolve. I was surprised, in fact, when a colleague, some years ago now, asked why I kept tinkering with the course. …

Erin Carvalho

Here’s what’s new for the upcoming school year for CS50 AP! Similar to last summer, we had some undergrads from CS50 at Harvard join us in Cambridge to create and update some of the tools and resources listed below, and we think there’s a lot of great stuff in here for you and your students!

Table of Contents

Curriculum Changes and Updates





CS50 Puzzle Day Kits

Staffing Changes


Curriculum Changes and Updates

CS50 AP 2019–2020 will now reflect the changes from Fall 2018 at Harvard. The ap.cs50.school website is updated with the appropriate resources for the chapters. …

Brian Yu, Chad Sharp, and Jelle van Assema

Over the years, CS50 has developed a number of tools aimed at making it easier for computer science teachers (including us!) to collect student submissions for assignments, automatically grade those submissions along multiple axes, and provide feedback on students’ code.

check50, a correctness-testing tool made available to both students and teachers, automatically runs a suite of tests against students’ code to evaluate the correctness of each submission. style50, a similar tool for assessing the style of programs in a variety of languages, offers suggestions to students on how they can make their code more readable. Using submit50, students can, with a single command, upload their code to GitHub to a repository to which they and their teacher have access. And cs50.me, …

Doug Lloyd, David J. Malan

Each fall, CS50 at Harvard (and Yale!) kicks off with an afternoon event called CS50 Puzzle Day. The goal is to send a message that computer science isn’t about programming but about problem-solving. To that end, the challenges we present to students at that event do not require any programming experience, or even a computer, just logic, creativity, and sometimes some out-of-the-box thinking.

Starting in 2016, we decided to recreate this event for CS50x students and their friends around the world, though instead of confining the event to a single afternoon (which time zones make rather challenging!), …

Veronica Nutting, Head CA

I took CS50 as a very-much “less comfortable” student. My previous CS experience consisted of a trimester of Scratch in eleventh grade. I had only the heard of the word “terminal” in the context of transportation and illness. I’d never watched The Social Network. And I wasn’t even sure I could correctly pronounce “Malan.”

So, what drew me to CS50? I think I was mainly curious. A few people advised me not to take the class, which made me a bit nervous. But then I figured I’d at least try to prove them wrong. …

David J. Malan

Since 2015 has CS50 equipped students with CS50 IDE, a web-based programming environment built atop Cloud9, an open-source integrated development environment (soon to be) hosted on Amazon Web Services. Students of CS50 prior to 2015 might recall its predecessors.

Among CS50 IDE’s features are a file browser, text editor, and, most importantly, terminal window, which provides students with command-line access to an underlying container running Ubuntu, a distribution of Linux:

Image for post
Image for post

Not only can students share their IDE as needed with classmates and teachers, they can even collaborate and chat in real time, a la Google Docs. Moreover, thanks to CS50’s own Dan Armendariz (now at Amazon) and Kareem Zidane, CS50 IDE also includes a graphical debugger, debug50, via which students can step through (and find bugs in!) …

Erin Carvalho, David J. Malan

CS50 for AP Computer Science Principles (AP CSP), otherwise known as CS50 AP, is an adaptation of CS50 for high schools that satisfies the College Board’s curriculum framework for AP CSP, which means that students in high school can take CS50 for “advanced placement” (i.e., college-level) credit, provided their school offers it. AP CSP exists alongside AP Computer Science A (AP CS A), an introduction to Java that some schools have long offered. Whereas AP CS A has a prescribed curriculum, AP CSP is a framework that any number of courses can implement, much like AP English Literature and Composition can be taught using any number of books. Officially endorsed by the College Board, CS50 AP exists alongside other endorsed curricula from CS50’s friends at Code.org, UC Berkeley, and beyond. Among the curricula, CS50 AP is, by design, perhaps the most rigorous, a programming-centric superset of what’s expected in AP CSP, curricularly and technologically identical to CS50 itself. …

David J. Malan

First came CS50x Puzzle Day 2016. Then came CS50x Puzzle Day 2017. Then, just this past weekend, came CS50x Puzzle Day 2018, the third-ever adaptation of CS50’s on-campus tradition for students online. At 00:00:00 on Friday, 9 March 2018, students around the world were invited to download a packet of puzzles, written by CS50’s own Doug Lloyd and Facebook’s own Matthew Warshauer:

Students were encouraged to form teams of size two or more, collaborating in person or online, though students could also participate solo. In addition to a pen or pencil (and scratch paper!), …



Harvard’s introduction to the intellectual enterprises of computer science and the art of programming.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store