Grading
The grade for this project is a group grade -- each individual will
receive credit for the performance of their team's entire project.
It behooves the team members to work hard and support each other to
provide the best possible project.
The following is a rough guide to the credit associated with
various levels of implementation. These guidelines
are not absolute and do not guarantee any specific grade.
Superficial achievement of the requirements for one level may still
yield a lower grade if, e.g., code is poorly designed, coded, or
tested or if documentation is incomplete, poorly written, or
incoherent. ``C'' level is considered to be the minimal
``functional'' level of implementation.
- C level
- Client/server functionality with correct event
scheduling and synchronization. Client user interface including the
ability to see different terrain types and ability to see and
manipulate individual UNITs and BUILDINGs. UNITs do path
planning with shortest Manhattan distance (i.e., smallest number of
CELLs, rather than smallest time.) No handling of visibility. Full
player (user) documentation, API documentation, CVS logs, and
test/validation results.
- B level
- All of C level, plus: ability to manipulate
groups of UNITs. Units do path planning using correct,
shortest-path distance (via, e.g., Dijkstra's algorithm).
- A level
- All required (MUST) functionality, including handling
visibility, dynamic loading and saving of MAPs, and all other
specified functionality.
- A+ level
- All required (MUST) functionality, plus at least one
significant extension to the specified functionality. (Adding
a single new TERRAIN TYPE does not constitute significant
functionality. To attain A+ level credit, the group will have to
demonstrate one or more features that require significant design
effort and creativity above and beyond that required by this document.)
Terran Lane
2005-04-04