CPSC 124, Fall 2001
Final Programming Project
This is an individual or group programming assignment. You can get help from me and from the TA on this assignment. Otherwise, you should work on the assignment on your own or with other members of your group. You are welcome to use any code or classes from the textbook, and possibly from other sources if you tell me about it.
The program can be turned in any time up until the final exam, which takes place at 8:30 AM on Wednesday, December 12. However, I urge you to finish it early so you can concentrate on your final exams. Also, it would be nice if the class could look at some of the projects on the last day of class.
For the final programming assignment for CS 124, you will select a topic, subject to my approval. The project can be an applet or a stand-alone program. You should turn in a written proposal for your final project on Monday, November 12. This proposal will be graded for a maximum of 10 points. The proposal should be a description of the program, including a discussion of the type of interaction that it will have with the user. You are encouraged to work with a partner on this project, but you can also work as an individual if you prefer. I will consider letting more than two people work together on a project, if the project is appropriately ambitious.
Here are a few ideas for possible projects. You are not restricted to choosing from this list.
- An arcade-style game, along the lines of the SubKiller applet from Section 6.5, but with more action. Something like Tetris or Space Invaders would be challenging, but not impossible. Or you could design your own game.
- A two-person arcade game based on the KeyboardAnimationApplet. Typically, one person uses the arrow keys while another uses the W, A, S, and D keys. You could, for example, try to do the classic game of Pong.
- A strategy game such as MineSweeper.
- A Casino-style game such as Roulette or Craps, where the user can place bets, implemented as an applet. Or a video poker slot machine, or some other type of slot machine, or variety of casino games done with one or more partners.
- A Hi-Q solitaire game. (The wooden version has a bunch of pegs in holes, with one hole left empty to start with. The user removes pegs by jumping over them.)
- A solitaire card game.
- An improved version of the MosaicDraw applet from Lab 10;, perhaps with a menu bar and the ability to save and load files.
- An applet that can draw the graphs of functions entered by the user. You can use the Expr class that is described in Exercise 9.4.
- A four-function integer calculator. While this is not exactly original, it is an interesting program to write. It really forces you to think in terms of the state of the applet.
- A miniature spreadsheet, where the user can enter some numbers and have some useful calculations done on them.
- An applet or program that you think you might actually find useful in some other courses, especially if you can get the idea from one of your other professors.
David Eck, 31 October 2001