You will get to work on two projects: a practice project, and one of your own imagination.

Practice Project

Choose from the list of projects below. Make sure you like the project you choose.

You also have the option to work with a partner on any of these projects, however, you must both agree on the same project and be willing to work together. If you choose to go this route, make sure to take turns typing frequently, and the partner who is not typing should be helping out.

  1. Dr. NIM — Create the computer player that always wins for a classic game, Nim.
    Difficulty level: Easy/Medium. Concepts: looping.
  2. Stack Calculator — Create a Reverse Polish Notation calculator. This could even turn into your own programming language!
    Difficulty level: Medium. Concepts: looping, lists, optionally: functions, dictionaries.
  3. Evil Hangman — Design a computer program which cheats at hangman. You play against the computer, but the computer actively dodges guesses.
    Difficulty level: Hard. Concepts: looping, sets or lists, dictionaries, functions
  4. Maze Solver — Solve a text-based maze using recursion. This is definately the hardest project on this page, so choose wisely.
    Difficulty level: Hard. Concepts: lists or sets, functions, recursion

Final Project

Once you’ve completed the practice project, you may work on a project of your heart’s desire.