CS 204: Software Design

Due 5:00PM Monday, 15 March 2010
You may work with a partner for this assignment.

Goals

For your final project, I want you to write a program that is complex enough to exercise some of the important ideas from this class, simple enough to complete by March 15, and interesting enough for you that you might want to keep working on it after the term.

On the complexity front, I would like your program to either incorporate one or more design patterns from our Design Patterns textbook, or give you practice in GUI design and development, or both. To help you strike the right balance, I have asked you to propose final project possibilities so I can give you feedback before you get started.

You may use either Java or Python for this project.

While you design and develop your code, please pay attention to:

What to hand in

Project ideas

Having trouble coming up with something? Here are a few ideas.

  1. Games

    • Text adventures.
    • 2D arcade like Tetris or solitaire or Donkey Kong or...
    • Word games like Boggle, TextTwist, etc.
    • ...
  2. Viewers of data (typically data that changes over time and is available on the network.

    • Stock market,.
    • Weather.
    • News feeds.
    • Sports scores.
    • Multi-viewed viewers of static data that's rich enough can be OK too. For example, there are tons of ways to slice a season's worth (or many season's worth) of baseball statistics.
  3. Utilities

    • text editor
    • A programmer's calculator
    • A graphing calculator
    • ...