CS50 2D - Introduction

CS50 (Harvard University)
CS50 (Harvard University)Apr 20, 2026

Why It Matters

The program democratizes game development, giving programmers a marketable skill set to create and monetize 2D games quickly.

Key Takeaways

  • Course teaches 2D game dev using Lua and LÖVE framework.
  • Covers classic and modern games: Pong to Candy Crush.
  • Topics include game loops, physics, side‑scrolling, state machines.
  • No prior Lua needed; only general programming experience required.
  • Emphasizes hands‑on projects building playable games from scratch.

Summary

CS50 2D is an introductory series on two‑dimensional game development, led by David Malan and featuring CS50 alumnus Colton Ogden. The curriculum assumes only generic programming experience and teaches students to build interactive games using the Lua language paired with the LÖVE (Love2D) framework.

The syllabus spans the full spectrum of game genres, from early arcade classics like Pong, Breakout, The Legend of Zelda, and Super Mario Bros. to contemporary hits such as Flappy Bird, Match‑3 puzzles, Candy Crush, Angry Birds, and Pokémon. Core technical concepts include the game loop, event handling, state machines, interpolation, physics simulation, side‑scrolling, and top‑down mechanics.

Throughout the course, learners progress from rendering simple black‑and‑white shapes to full‑color sprites and sophisticated physics engines, reinforcing theory with hands‑on projects that culminate in playable titles. As Malan notes, “You’ll start with a blank canvas and end with a game you can share.”

By the end, participants possess a production‑ready toolkit for rapid 2D prototyping, positioning them for indie development, portfolio building, or entry‑level roles in the gaming industry.

Original Description

CS50 is launching a new-and-improved course — CS50’s Introduction to 2D Game Development, or simply CS50 2D!
This course, previously known as CS50 Games, picks up where CS50x leaves off and lets you explore the design and mechanics of such childhood games as Pong, Flappy Bird, Breakout, Match 3, Super Mario Bros., Legend of Zelda, Angry Birds, and Pokémon in a quest to understand how video games more broadly are implemented.
***
This is CS50, Harvard University's introduction to the intellectual enterprises of computer science and the art of programming.
***
HOW TO SUBSCRIBE
HOW TO TAKE CS50
Harvard Extension School: https://cs50.harvard.edu/extension
Harvard Summer School: https://cs50.harvard.edu/summer
HOW TO JOIN CS50 COMMUNITIES
HOW TO FOLLOW DAVID J. MALAN
***
CS50 SHOP
***
LICENSE
CC BY-NC-SA 4.0
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License
David J. Malan
malan@harvard.edu

Comments

Want to join the conversation?

Loading comments...