The Project

oh, no, the dog ate my work

This page lists the weekly milestones for the semester project.

For details on how to organize your solutions to the weekly assignments, see the Read Me tab. For the design and code review process, see the Reviews tab.

The side bar also provides links to requirements analyses and general specifications.

You will build a distributed implementation of a board game over the course of this semester. The project will include planning, setting milestones, specifying interfaces, and designing code. To make sure that you do not veer off a reasonable path, we will post solutions to your assignments so that
  • you can compare, contrast, and reflect on the differences between your approach—and why it is unlikely to work—and that of the instructor

  • you will code according to the instructor’s solutions and plans.

This chance to reflect on intermediate milestones is precisely how you will learn to understand the big picture behind software projects.

Most project assignments will consist of several different tasks: planning, specifying, coding. As in the real world, the project assignments will become available only a short time before they are due. As you rush to complete your projects, don’t forget the fundamental lesson of the prerequisite courses:

Performing tasks systematically and according to a plan increases the likelihood of producing properly working software that you can read and improve four weeks later.