Home Up

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.