Projects Home Page

This is the home page for the team programming projects of Object-Oriented Software Engineering.

Project Features

Features of the project include

Here are some more nitty-gritty points.

Frequently Asked Questions about the projects »

Iterations

Project development is broken down into a sequence of six two-week iterations. Certain milestones need to be hit by each iteration. Starting with the coding in interation 3, you need to turn in an iteration report describing what was accomplished compared to what you planned to do, and your plans for the next iteration.
Iteration 0: group formation
Declare who will be in your project group and propose an initial idea for a topic. When you have your group, email the head TA a single email with all of your names, emails, 321 or 421, and a brief description of where you stand in terms of the idea for your project -- list general area(s) or specific topic(s).
Iteration 1: Requirements
Give an analysis of the requirements your project must meet for it to fulfill its intended function. The main thing you will need to produce is use-cases, English descriptions of what functionality the program should have.
Iteration 2: Design Proposal
Give a design proposal, including the core use-cases you want to implement, and the core classes and responsibilities written in Javadoc.
Iteration 3: Initial Code
Core functionalty is coded, and at least a few tests written using JUnit. Javadoc is used to document the class structure.
Iteration 4: Core Working
Some core functionality of the project is working, with a good set of tests for that core.
Iteration 5: alpha
Alpha release: the project generally works but has some bugs and is missing some desired features.
Iteration 6: Final project
Beta release: Submission of all code and documentation, and demonstations by each group of their final project.

Presentations

Being a good software developer also means being able to communicate what you did and will do to clients, management, and your peers. The oral presentation component of the projects helps to give you practice in this arena.

There will be two presentations: each group will present an overview of their project in early November, and there will be a code review presentation in early December. The Presentations page provides the details of how these will run.

Examples

Some project webpages from past years are very helpful to see what a good scope of a project is, and what must be done for the first two iterations. Note the project requirements have changed over the years so the most recent examples are the best ones to look at.

Potential Topics

We are not now providing a list of potential topics; the above examples show some successful topics of past years. One thing to consider is you could simultaneously compete in the Imagine Cup, a contest to design software that meets the United Nations Millenium goals: End Poverty and Hunger, Universal Education, Gender Equality, Child Health, Maternal Heath, Combat HIV/AIDS, Environmental Sustainability, Global Partnership. You will need to use the Microsoft platform to compete in this competition.