Lauri Alanko Grading guidelines for question 2. 2.a) 2 p: The answer gives the output of the program as "[[1, 2, 3, 4], 'abc']", or explains the difference between shallow and deep copy, and shows what the output would be in either case. 1 p: The answer describes most of the program correctly, but either gives the wrong output (usually either "[[1, 2, 3], 'abc']" or "[[1, 2, 3, 4], 'def']), or none at all. 2.b) 3 p: The program demonstrates the attribute lookup order in the following sense: given the source code of the program and the output of the program, we can deduce precisely which ordering (of the six possible orderings) between instance, class and base class attributes is used during the lookup process. 2 p: The program demonstrates either that classes attributes are searched before base class attributes, or that instance attributes are searched before class attributes, but not both. 1 p: The program demonstrates that attributes are looked up both from classes and instances and/or base classes, but gives no indication about the order of the search. +1 p: There is a correct verbal description about the lookup order. This bonus cannot raise the score above 2.