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