CS 340-Fall 2007: Programming Assignment 2

Zeroeth Phase: Due September 24, 11:59 PM
First Phase: Due October 8, 11:59 PM
Second Phase: Due October 17th, 11:59 PM
Third Phase: Due November 12th, 11:59 PM
Fourth Phase: Due December 10th, 11:59 PM

(This document was last modified on September 2 at 9:25 PM.)


For this assignment, you are to design and implement a complete application.

You may work in teams of up to four people.

You may use either C++ or Java for this assignment. You may use Linux, Solaris, or Windows.

Zeroeth Phase: Description

Due September 24th, 11:59 PM

For this phase, your team will first pick a project. The project should be something that can be divided up into parts, with one part for each team member. This project will be implemented by your team.

The project should be fairly large. Assuming each person writes about 5000 lines of code, your total expected project size should be around 10-20 KLOC (K lines of code).

Your team should then prepare a description of the project. The document should describe the project in relative detail. I expect it to be anywhere from 2-10 pages.

E-mail your description document to cs340-internal@cs.binghamton.edu.

First Phase: Requirements

Due October 8th, 11:59 PM

For this phase, your team will formulate the requirements for a project other than your own. Your team first needs to find another project which you find interesting. You then need to formulate requirements for this team. Your team may need to meet with the other team.

These requirements should be in enough detail, and measurable where appropriate. For example, a requirement like: “It should be fast.” is probably not specific enough.

E-mail your requirements document to cs340-internal@cs.binghamton.edu.

Second Phase: Design

Due October 17th, 11:59 PM

For this phase, you will take the requirements that were given to you, and do an analysis and design based on those requirements.

Your design should include a module for each team member.

Your design should include a discussion of how it meets the requirements.

Your design should include two implementation stages, but each stage should result in at least a partially usable application. This will be similar to real-world scenarios where you need to demo a preliminary version to management to show that you are making progress; or where you are not sure of the requirements, and need an initial prototype that you can show to users to get feedback.

E-mail your design document to cs340-internal@cs.binghamton.edu.

In addition to the design document, each team will be required to give an in-class presentation of your design. The presentation will be about 25 minutes long. Each student must also formulate one question per design. I will randomly select students after each class, during which you will be required to ask your prepared question, or a different one. Of course, you may also ask questions even if I don't select you. (These numbers may be adjusted, depending on how many teams there are.)

Third Phase: Implemenation

Due November 12th, 11:59 PM

For this phase, you will implement stage one of your design.

E-mail a tar file to cs340-internal@cs.binghamton.edu. The tar file should contain a project report of approximately 10 pages, in addition to the source code. You will also demo your application.

Fourth Phase: Iteration

Due December 10th, 11:59 PM

For this phase, you will update your requirements and design, and implement stage four of your design.

E-mail a tar file to cs340-internal@cs.binghamton.edu. The tar file should contain a project report of approximately 10 pages, in addition to the source code. You will also demo your application.