Project 4 Design
Due Date
- 11:59pm, Saturday, April 22, 2006
- No late designs accepted
- NOTE: The design is due on Saturday so that the TAs can
return comments to you more quickly.
Objective
The objective of this assignment is to make sure that you begin thinking
about your project in a serious way early. This will not only give you
experience doing design work, but will help you anticipate the number of
hours that you'll need to set aside to be able to complete the project.
A new component to the design is a preliminary component of the final
project, to get you writing code the first week and not waiting until the
second week. You should actually submit 100% WORKING code, not just an
attempt at working code.
The Assignment
Your design assignment is broken down into two parts.
Classes
You are required to turn in the following:
- Class Headers - You must submit the entire class header material
for the MazeCrawler (base class) and the three required derived classes -
Right Crawler, Left Crawler, and Random Crawler. These must include
appropriate function header comments including pre- and post-conditions. You
should remember to include the virtual and pure virtual functions in your
classes. You DO NOT need to turn in the headers for the extra credit classes,
even if you actually plan on implementing it.
Implementation
You are required to turn in the following:
- Right-Hand Crawler - You must turn in a working implementation of
your Right-Hand Crawler (as a derived class). So get the hierarchy working
with just this ONE class and turn in the implementation for the Maze Crawler
(base class) and the Right-Hand Crawler (derived class). These should be 100%
working, just like the previous projects.
A template for your design document, p4design.txt,
is provided in Ms. Wortman's public directory. Copy that file
/afs/umbc.edu/users/d/a/dana3/pub/CMSC202/p4/p4design.txt
to your local directory and fill in the necessary information.
Submit your modified p4design.txt file to complete this assignment.
Grading
You will receive feedback from a TA on your design within a few days of turning
it in. This will give you an opportunity to address either design
or coding flaws before turning in the project. The TA comments will focus on
the most important changes to your application that should improve your grade.
They will NOT comment on everything you have done incorrectly.
Your p4design.txt file will be compared to the header file or files that you
submit when Project 3 is due. Minor changes or those suggested by your TA,
to the design are allowed. A minor change might be changing the way in
which one or two parameters are passed or even the removal, splitting or
addition of one function.
If there are major changes between the design document and the header files
that are part of the final project, you will lose 5 points, unless those
changes were suggested by your TA. This would indicate that you didn't
give sufficient thought to your design before beginning the implementation.
Your p4design.txt file will count as 10% of your project grade
(part of the Correctness). If this file is not submitted by its due date,
or if you submit a new version after its due date, you will lose all 10 points.