- Program Correctness (60%): The programs do everything that the
lab requires. If you have a question about how a program handles
a certain input, check the executables that have been provided.
Deduct 20 points for not using my dllist interface.
- Part 1 (16 points) -- Dllist Implementation: Award 16 points if
the student's photo_sorter works properly. If the student's photo_sorter
does not work properly, then test it with your photo_sorter. Each
working routine (dll_prepend, dll_append, dll_insert_after, and
dll_delete) is worth 4 points.
- photo_sorter (20 points):
- normal cases
- (2 points) append works (a set of append commands only)
- (2 points) prepend works (a set of prepend commands only)
- (2 points) insert_after works: use a command to create a one item list
(either append or prepend), and
then multiple insert_after commands
- (2 points) delete works: use
a number of commands to create a list with a few elements,
then a number of delete commands
- (2 points) a mixed set of commands works
- boundary conditions
- (1 points) a mixed set of commands that ultimately leads to an empty
list (i.e., a series of delete commands wipes out the list's
elements), and then starts inserting new elements into the
list again.
- (1 points) no commands
- (2 points) create a very large list
- (1 points) put a blank line in the commands
- (1 points) have a before command insert before the first photo in the list
- (1 points) have an after command insert after the last photo in the list
- error conditions
- (1 points) invalid command
- (1 points) wrong number of arguments to a command (you only need to
test one command)
- (1 points) for a insert_before, insert_after, or delete command, the
target photo does not exist (you only need to test one
command)
- linenum (24 points):
- normal cases
- (3 points): a file with a single line and unique words
- (3 points): a file with multiple lines and unique words
- (3 points): a file with multiple lines and words that appear on multiple
lines. However, no word is duplicated on the same line.
- (3 points): a file with multiple lines, words that appear on multiple
lines, and words that are duplicated on lines
- (4 points): a very large file with multiple lines and duplicates
- (2 points): an empty file
- formatting
- (2 points) words are left justified in a 10 character wide field
- (2 points) line numbers are right justified in a 4 digit wide field
- error conditions
- (1 point) handles wrong number of command line arguments
- (1 point) handles filenames that do not exist
- Design Document (15%): Refer to my design document
for the following discussion:
- photo_sorter (5 points)
- error conditions (3 points):
Award 3 points if the student enumerated 2/3 of the error
conditions. Award 1 point if the student enumerated 1/3 of
the error conditions.
- Boundary Conditions (2 points): Award 2 points if the student
enumerated at least 2/6 of the boundary conditions. Award
1 point if the student enumerated 1/6 of the boundary conditions.
- linenum (10 points)
- error conditions (2 points): Award 1 point for each of the
two error conditions that I identified
- boundary conditions: Don't check these. They were a bit
nebulous
- picture of data structures (4 points): Award 4 points for
something reasonably correct. Use your judgement to award points
if it isn't reasonably correct.
- design steps (4 points): Award 4 points for
something reasonably correct. Use your judgement to award points
if it isn't reasonably correct.
- Commenting (15%): See the commenting
information
on the course's lab web page for advice on how to comment your programs,
- Program Style (10%): Are the programs well-organized and do they
solve the problem in the most straightforward, efficient way possible?