
CSci 242 - Summer '08
Class Project
We will create a gallery of educational software for elementary school
children. The goal is to produce a quality collection of simple games that kids
can use to build their skills in areas such as math, grammar, or geography.
Throughout the quarter, your team will design and build a data-driven, Web-based,
threaded learning tool.
Each milestone will have a project manager. The project manager is
responsible for delegating assignments, tracking progress, and completing a
milestone report. Each team member must be a project manager for at least one
milestone.
Milestone 1 - Project Design
due Thursday, July 3
Talk with several elementary school kids and/or teachers to identify a
real need for a learning tool. Many teachers would be delighted to have more
free educational games available to their students. Then, do a little Web
research to determine what games are already available. What can you create that
is different from what is already available? Design your learning game based on the need you identified.
At this point, your designs are on paper only. Keep it simple! It's always
easier to add on than to take away. On the due date, you will present your
design to the class for feedback. Create a visual aid, such as a poster or
storyboard, to demonstrate your design. You will be expected to describe your research
process, the need you identified, and justify your design. You will have 10 minutes to present.
Milestone 2 - Prototype
due Thursday, July 17
Create a prototype for your game. Your program is not expected to be fully
functional at this point, but you should have something to "show and tell." You
should have the basic visual elements in place. Implement your prototype as a
Java Applet. Get feedback on your prototype from the users you interviewed
during your research phase. Be prepared to participate in a
code review in which you share and explain your code to another project team.
Milestone 3 - Multithreading and Multimedia
due Thursday, July 31
Your game should now be functional, and able to be "played." It should
incorporate at least one multimedia element (audio, video, images) and multithreading. Incorporating pictures of actual players is a good way to
engage students. Multithreading is necessary when you want to do more than one
thing at the same time, for example, play background music while a user
interacts with your program. Be prepared to participate in a code review in
which you share and explain your code to another project team.
Milestone 4 - JDBC
due Thursday, August 14
Add database access to your game. This could be a repository of
questions and answers, score-keeping data, or user information, for example.
Create the database using the platform of your choice. Add the appropriate JDBC connection to your code
and implement the data access. Be prepared to present your final product to the
class and one or more outside visitors for feedback.
Checkers Assignment
Develop a networked checkers game, modeled after the tic-tac-toe game
described in chapter 24. Two users should alternate making moves. Your program
should mediate the players' moves, determining whose turn it is and allowing
only valid moves. This assignment should be completed individually, not in your
project team.
Part 1 - Plan and design
due Thursday, July 24
Plan and design your checkers program. Create a UML class diagram (include
cardinalities) and a sequence diagram. Be prepared to share your design with the
class and justify your design decisions.
Part 2 - Implementation
due Thursday, August 7
Implement the checkers program. Be prepared to demonstrate your game using
multiple machines during class.
*These assignments and dates are absolutely, positively subject to change at
any time.