Final Project

Your task is to make something nifty using primarily C or C++. The title of your project should be a statement of the problem it solves. For example:

  • “I don’t have an egg timer GUI that plays a cool sound.”
  • “There’s no game about placing pepperonis on pizza without any of them touching.”
  • “Not every photo of a person’s face has a hat.”
  • “None of the N-Queens solvers were written by me.”

The only requirements are that the project is appropriate in size for the number of people working on it, that it compiles and runs without any significant problems, and that you link with at least one third party library. We list some libraries you might be interested in below.

Use this as an opportunity to use many of the language features we presented in class, perhaps more than are actually called for by your project.

If your project doesn’t run on Windows, Linux, or OS X (maybe it runs on phones or robots), you should submit a short video of it in operation.

Starter Kit

If you’re having trouble getting started, perhaps you’ll find what you need in the Starter Kit!

Example Projects


Use wxWidgets to create a countdown clock. Then keep going: allow multiple countdowns, display the time in words, or make it look cool.

Pepperoni Placement

Use Cinder to create a game where you place pepperonis on a pizza without any of them overlapping or going off the edge. (It’s fun in real life, trust me.) Then keep going: by the end of their tutorial, you’d have a particle system with which you could add sweet effects.

Third-Party Libraries

You must use at least one third-party library. Here’s a list you can use for inspiration. Can you think of more?

2D/3D Games










Course Info

Learning Resource Types

assignment Problem Sets
notes Lecture Notes
group_work Projects
assignment_turned_in Programming Assignments with Examples