Final Project: Deliverables and Guidelines
Project Due Date: December 6, 2006 (2PM)
Draft of this Document: September 29, 2006
Goal
The goal of the final project is to construct a
comprehensive simulation of a physical scenario
of complexity sufficient to show that you have
created a significant implementation.
You must develop your own code to represent the
dynamics of the simulation. Keyframe animation
may be used only as a complement to code. "Code"
is defined by a script-based or compiled language
in some part(s) of the implementation.
The simulation models that are used must be clearly
identified by referring to them by type (or where
they appear in the book).
Projects can be created by individuals, or teams of a maximum
of 3 students. Each team project must have a designated team leader,
who takes responsibility for tasks being scheduled
and performed.
Grading
In general, the grade will reflect the quality of the overall project,
and how many perceived hours were put into it.
Ultimately, significance of a project is defined
relative to what other students in the class turn in.
In almost all cases, perceived effort (after viewing
all implementation aspects) corresponds well with
the grade. Grading, as in the exams, will be separate for each
class (CAP 4800 and CAP 5805).
Specific grading criteria include:
- Overall quality of work
- Perceived effort (time, resources) for project
- Completeness and functionality of work
- Complexity of the project (i.e., difficulty)
- Quality of final report
- Creativity
The approximate number of "A"s in Projects is 20-25%. Plus
grades (B+,C+,D+) will be given if projects fall in the boundaries.
Bonus grades of +15 points will be given to the top 6 projects
for CAP 4800 and the top 2
projects for CAP 5805.
Due Date
The deliverable is due
on December 6, 2006 (last day of class) in
class. No projects will be accepted after
the end of class (2:45PM).
Deliverable
(on one DVD or CD)
Ideas for Projects
- [Game] Create a computer game that is driven in part
by discrete event or continuous models. Consider using
OGRE or the Blender Game Engine.
- [MMORPG] Insert simulation models within the context
of a massively multiplayer game. Consider using either
Multiverse or Second Life. For example, allow multiple players
to collaborate on a 3D dynamic model.
- [Physics] Use ODE to build a rigid-body
simulation.
- [Sci/Eng] Take an example from science or engineering
Discourse Area (Alpha) and
Discourse Area (Beta)
for ideas.
- [SimPack Education] Produce narrated slides to create educational
material for how to use SimPack. Consider using
wink
software.
- [SimPack Extensions] Extend simpack functionality to include
functions for continuous and hybrid discrete event/continuous
simulation.
- [Processing flow interface] Produce a data flow capability
for the Processing language along the lines of the sort of
graphical user interface in Filter Forge or SynthMaker.
- [Design/Art] Create a series of artwork using either discrete event
or continuous simulation models from the book. See the Processing
"Exhibition" pages.
- [Biochemistry] Model gene regulated metabolism. See
Example paper based on Petri nets
- [Horticulture] Using Processing examples of plants, extend these
examples (possibly with the addition of sound) to create
more complex structures and a library.
- [Audio/Music] Show an innovative use of complex Jsyn-based
sounds (such as
Jlooch
or
Jnissa)
within computer simulation and model environments,
as driven by models such as timed FSMs, event graphs, or Petri nets.
- [Jsyn API] simplify the Jsyn API. Look at JMusic for comparison,
and apply to an example simulation model.
- [Eng/Finite Elements] Build a finite element modeling
library for use in Processing.
- [ODE interface] Use the Java ODE interface to create
a physically-based simulation.
- [Physical Control] Use
physical computing
and Fry's Serial
library to allow a set of novel inputs
to feed simulation model inputs, initial conditions, or parameters.