Marking Guide for A2 ==================== Code Correctness ___ out of 60 [program runs and works correctly] Correct implementation of Insert :12 Correct implementation of Delete :12 Correct implementation of Change :12 Correct implementation of create hash :13 Correct implementation of List :11 In addition, marks will be deducted for the following reasons: - program terminates with some sort of error (i.e. segmentation fault, bus error) - not all files are created (i.e. missing error.log file) - newmaster file is corrupt (i.e. fields are too long, short, or the appearance of non-ascii characters) - opening files in wrong mode (i.e. opening original masterfile in read/write mode) - the hash and overflow files are not output to stdout correctly with nice print statements - the average record accesses is not calculated or output - record address are in correct and readjusting record addresses in the lists is incorrect or not done Quality of error checking [needs at least 5 types of relevant error checking] ___ out of 10 Here are some examples of error checking: - checking if the book is not already present when doing insertions - making sure the book is present when performing deletions - making sure a book's identifier is not altered when making changes for a book - checking to see if a book exists when listing the information for that book - not skipping ovcer tombstones when searching in main hash file for part A - Not reusing tombstones in part A on inserts - etc.. Style Modularity ___ out of 5 - program is broken into meaningful functions Comments ___ out of 5 - short description of what each function does - purpose of each variable - comments explaining any critical or tricky parts of code Other ___ out of 5 -sensible var and function names -no excessive redundancy in code - use of global var, etc. Testing ___ out of 15 - good choice of test data with explanation - own test cases were included - all test data and results were submitted electronically and by hardcopy Coverage :8 Explanation :7