Carnegie Mellon University
These notes are an updated version of this original version. They are designed for intro/intermediate programmers (specifically, students who have completed about 1-2 weeks of summer 15-112 at CMU).
Note that this design for Tetris is somewhat simplified, though the end result is indeed a reasonably functional game of Tetris. Also, the techniques used to create this game can be used to create many other popular arcade games.