Final Project: Deliverables and Guidelines
Project Due Date: December 5, 2007 (2PM)
Draft of this Document: October 10, 2007
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 during this semester. 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 +10 points will be given to the top 2 or 3 projects.
Due Date
The deliverable is due on December 5, 2007 (last day of
class) in class. No projects will be accepted after 2PM.
Deliverable
(on one DVD or CD)
- FILES: All files (including
source code)
- REPORT: Your report should be
from 10-16 pages, containing the following:
- project title
- list of team members
and the specified team leader
- list of
responsibilities (if this is a team project)
- schedule of work
performed (Gantt chart)
- a half-page abstract overviewing the project
- body
of the report including text, math, figures (with captions), and tables.
Include:
- a narrative on what
was accomplished
- clear specification
of dynamic models used
- sample executions for
the project
- explanation of the
user interface
- citations to the
literature (listed in the reference section)
- postmortem
section: what went right and wrong.
- reference section
- VIDEO: a video (MPEG2, AVI,
WMV, MOV, or DIVX) showing your work in action of between 5 to 8 minutes
in length - no .exe files. Use camstudio
wink, or related software.
Use your voice, or pop-up text windows, for explanations. We will use the
demo video to grade the interaction and input/output of your project.
We will not run executables. Make sure to test your
CD or DVD on another machine, as a test for portability.
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.
- [Second Life] Create a
simulation model on Second
Life.
- [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.