Q0: Take mark off if they missed anything on the cover page (including star), or if you find problems elsewhere in their code (messy code (with no attempt to keep it neat), didn’t tell you where question continues, etc). Q1: 1 mark per line (excluding STEP lines) Q2: a) Docstring /5 1 - Type Contract All or nothing 2 - REQ 1 mark for File must be open for reading 1 mark for File must be formatted as a CSV (may be in description instead) 2 - Description 1 mark for covering all the details of what the function is doing 1 mark for being clear and concise Internal Commenting /5 1 - Clearly Explaining while loop 1 - Clearly Explaining strip 2 - Clearly Explaining if structure 1 - Clearly Explaining deadline at bottom of loop NOTE: Clearly = if you deleted the code, you’d be able to re-assemble it from the comments Code /4 1 mark off for every deviation from solution NOTE: Deviation = edit you’d have to do (swap lines, indent section, add/delete line, move section, etc) b) Docstring /3 2 - Examples (1 for content, 1 for format) 1 - Rest of docstring (just check for format) Internal Commenting /6 2 - Explaining nested for loops 2 - Explaining if/else 2 - Explaining final for loop Code /5 1 mark of for every deviation from solution c) 1 for code 1 for commenting Q3: 1 mark for saying lists are mutable 1 mark for saying sets can’t contain mutable objects 1 mark for saying it has to do with hashing (they may not use that word, but the basic idea of a function that maps a value to a location in memory) 1 mark for explaining that changing the value of a mutable object would change the hash location, so we wouldn’t be able to find it in a set