2D Project
This is a team project, with a team being from
one to three people maximum. The due date and time
is in the news group calendar.
- Choose one of the following source structures to
represent in 2D:
- A mathematical formula (or set of equations)
- A data structure
- A program structure
- A "model" (ie. from Systems Simulation or Databases)
- Take this source structure and represent the structure
and behavior in 2D.
- Interaction:
- Component identification:
Make the project interactive by making it so that the
user can point to a target component and be presented
with the equivalent source component information
- Behavior:
Add "behavior" so that one sees the
dynamics of the structure as it is "executed". For example,
for an equation, one can see a plot. For a program, it
executes, producing output. For a structure that has no
identifiable behavior, output a characteristic of the
structure such as behavior in the form of searching or
sorting.
- Game (optional):
Make the 2D project into a game. Here are possible mechanisms
for this approach:
(a) generated completely correct
2D target, unknown source text (goal: knowing
mapping, find correct source text); (b) generated partially
correct 2D target, correct source text (goal: modify the
target by changing select components). Additional
ideas: Elapsed time, additional
constraints such as demons.
Additional Information
- Deliverable: one CD containing
- A README.txt file specifying how to interact with your
project.
- All files needed to show (and interact with) the
2D representation, along with all source files. Acceptable
formats for the 2D piece: Java (via web page), Flash, Shockwave
- A 3-4 page single-spaced document (PDF or Word) describing
a detailed source to target mapping via tree transformation. Include
the source presentation in text along with snapshots from your
interaction. On the first page, specify your team members and
responsibilities (i.e., who did what).
- There are no minimums on number of components. Choose a
structure of "reasonable size". The grading will depend more on the
quality and innovation of what is submitted.
- Grading:
An average project that is complete and comprehensible will get a B.
Only excellent projects will get an A. In-between projects will receive
a B+. The instructor will assign the final grade based on feedback from
the 2 Teaching Assistants. "A" grades go to impressive and
innovative projects, and grades depend somewhat
upon what your peers produce in terms of relative performance.
Graduate students and teams have higher expectations.
- Comprehensibility (can we understand what you are doing, with
all documentation?)
- Completeness (whether the design is complete and accurate, and
whether you handed in all required items).
- Quality (perceived time to complete, with subjective look and feel
of the project)
- Documentation
Recommended Software Tools
- Java with AWT or Swing
- Processing (a Java API)
- Flash
- Director