Final Project

At this point, seniors have about 4 weeks of class left, and the rest of you have about 6 weeks. In this time, you will complete a final project of your choosing that gives you a chance to use the skills you have developed in this class, and to learn a bit more along the way. For this project, you may work alone, or in teams of up to three people.

Whatever you do for the project must require you to study some new topic by reading about it online, and then use that topic in your program. So, for example, you might want to make something that involves sound, or you might want to try writing a game from the ground up, instead of basing it one one of my projects, so that you are able to see everything that goes into a full Java program. Obviously, a game like this wouldn't have to be as complicated as the ones I've made for you; you could do a simple text-based game like the NumberGame we used in Lesson: If Statements.

I think that it will be simpler to do this project if you base it on one of the projects that we have already done, even if what you want to do is something completely different. So, for example, if you want to write a checkers game, it might make sense to base it on Asteroids or RPG, using the same graphics code that I wrote but writin new rules for the game.

There are also often tutorials online that work like this class does: they will walk you through one step at a time of writing a program. So, for example, you might be interested in making a game like Vectorized but with "real" 3D graphics with textures and lighting. There are libraries like java3d that can make this easier for you, providing all the classes you need to do the drawing part. You could learn how to use java3d just by reading the specifications online, but it would probably be easier to look for a tutorial that will walk you slowly through how to use the library, by first showing you how to draw a cube, then how to rotate it, and so on.

Your program does not need to be a game; it might be some other program that performs a useful function. For example, using something like NumberGame, you could write a program to convert scientific values from one set of units to another.

Your fifth term grade (or for seniors, your final grade) will be based on how you do on this project. There are three parts that will be graded:

Final Project Proposal (30 pts)
Turn in just one copy of the proposal for your whole group

Working project turned in on one person's flash drive(40 pts)
So that I know which project it is that you want me to look at, it would be a good idea to make a text file called "ReadMe.txt" on your e: drive telling me which project to run and anythign else special that I need to know about it.

Final Project Postmortem - or - Final Project Blog (30 pts)
Each person in your group needs to turn in an individually written paper. I will not give you credit if it looks like you just copied from others in your group or from anything online.