CPSC 124, Fall 2005
Final Programming Project

One of the requirements in CS 124 is a final programming project, which will count for 10% of the course grade. There is no assigned topic for the final project -- you should select a programming problem on your own. Sometime during the next two weeks (before Thanksgiving), you should meet with me to explore ideas for a project. Some possible ideas are given below, but you are not restricted to choosing from the list given here. The sooner you can get started, the better.

The project is due on the last day of class, December 9. At that time, I would like you to present your program to the rest of the class. If your program isn't quite complete by December 9, I will consider giving you an extension of a few days to finish it up. However, no extension will be given if you haven't already done a substantial amount of work.

For this final project, you can choose to work with a partner. If you do this, your project must be more ambitious than a one-person project.

Remember that you should not give help to or receive help from any other member of the class (except for your partner, if you have one). You can get help from me or from the computer science TA's, but not from anyone else. You should not copy code from the Internet or from any other source, unless you get my permission to use that code as a basis for further development.

Your final project can, of course, use any of the techniques that we have covered in class. We will be doing a few more things over the next few weeks that might be useful: using components, such as buttons and text-input boxes; simple network communication; reading from and writing to files; displaying images; more about using menus; and using arrays to store a numbered list of values. If it turns out that there are other things that you need for your project, I might be able to help you with them on an individual basis. In fact, if you don't need any help on your project, then it is not ambitious enough!

One approach to the project would be to write an improved version of one of the programs you have already worked on. For example:

Of course, you could also do something entirely different. Although you will probably want to write a GUI program, a command-line program is also acceptable. You should try to design a program that will be useful, interesting, or fun. Write a program that you would like to use yourself. Here are a few more ideas, but remember that you are not restricted to choosing from the lists given here:

David Eck, 5 November 2005