These programming projects are designed to complement the Composing Programs text, but they are freely available for any educational use. Each project comes with a comprehensive set of test cases so that students can check their work.

  • The Hog project highlights the use of iteration and higher-order functions from Sections 1.1 - 1.6 of the text. Students build a simulator for a dice game called Hog. This project is based on a 2010 SIGCSE Nifty Assignment by Todd Neller.
  • The Twitter Trends project highlights the use of data abstraction, tuples, lists, and maps from Sections 2.1-2.3 of the text. Students display U.S. maps colored by the positive or negative sentiment of tweets that contain a search term. This project was featured as a 2013 SIGCSE Nifty Assignment.
  • The Ants Vs SomeBees project highlights the object-oriented programming paradigm from Section 2.4 of the text. Students build a clone of the popular tower defense game, Plants Vs Zombies. This project was featured as a 2014 SIGCSE Nifty Assignment.
  • The Scheme Interpreter project asks students to implement an interpreter for a functional subset of the Scheme programming language from Chapter 3. The project includes a recursive art contest.

All projects are available for use under a Creative Commons Attribution-ShareAlike 3.0 Unported License.