CSE 432S/533S: Project Definition Guidelines and Examples

This page is intended to help each project team define the appropriate topic and scope of its project for the semester, and to give illustrative examples and suggestions to help teams establish their projects initially and refine them thoughout the semester.

Guidelines for Project Scope and Content

Projects in this course should be well focused on a single application or problem area, but also be sufficiently nuanced to raise interesting and challenging issues primarily for design but also for implementation, which your work throughout the semester will address. In general, projects for which the context within which the problem is to be addressed is non-trivial, will easily meet this requirement.

For example, in Michael Sorensen's project described below, what made the scope both appropriately focused and appropriately nuanced was that (1) its focus could be summarized in one sentence ("it managed information about patients, medical personnel, and procedures"), but (2) the privacy, authority, procedural, and other factors involved for medical information management made the design very challenging and interesting to work through. For your projects, it's good to be able to state such a sentence, so you can answer the "what's your project about?" question easily, say during an elevator ride between two floors. However, you should have to spend more than the rest of the elevator ride (say at least another 5 minutes or so) to enumerate all the ways in which that is a non-trivial challenge to design and implement. If both of these things are true, then your project is probably well scoped for this course.

Project Lifecycle Overview

Your work on your project in this course will span two development cycles, consisting of five stages each, during the course of the semester.

Illustrative Project Examples (of a slightly smaller scale)

Due in part to constraints of the course setting in which they were conducted (in the first case as one of many projects during a course followed by an implementation in another course and a collaboration to write up his own pattern language about the design work he did, and in the second case as a one-person independent study project rather than a team project), the following two examples differ in scope from what you will do, but not in overall intent. Both projects were well focused and involved significant pattern-oriented design challenges. Please examine these more for the ideas they will help you generate about your own projects than for precise definitions of what you will do (we'll negotiate those precise definitions next week in the requirements stage).

Ideas for Potential Projects

To help bootstrap your thinking about the kind of project you would like to pursue this semester, or even to give you a seedling idea that you can run with, please consider some of the following possibilities. In each case, I've given a short description of the project's focus, followed by a sense of the complicating factors that will make the design effort non-trivial, challenging, and as a result ultimately interesting.

First, let's consider variations of the kinds of projects described above, and of the file system example given by Vlissides in the Pattern Hatching text:

Other examples of reasonable projects might include more technically focused topics such as the next two ideas, which are provided here to give a different flavor to our suggestions, and spur additional ideas you may have for your own project definitions, which need not be limited to the brief list of ideas given here: