• HW1 24 points total; (The whole homework is on History and addresses outcome 1.) Part 1: 4 points (1 per question) Part 2: 14 points (1 per question) Part 3: 6 points (3 per question) HW2 5 points total: I intended to ask for the BNF rules used in your favorite language to prevent the ambiguity of if-then-else in Algol 58, but I failed to make my question precise, so just describing what your favorite language does is good enough for full credit.
  • HW3 16 points total: 2 per question
  • HW4 20 points total Note that the second and third question address an outcome different from that addressed by the first question. 7 points for 1.9.3: 3 for a program that is correct or almost correct when considered to be C or Java or Pascal like pseudocode; 4 for a program that shows why the two statements may give different results. 9 points for 2.9.1 (1.5 per diagram: there are six diagrams). 4 points for 2.9.2: students should not use rules with an empty right-hand side, but not points will be taken off for that.
  • HW5 15 points total. 3 points for getting the first line right. 2 points for getting the read statement right. 6 points for getting the assignments right. 2 points for setting up the while loop right. 2 points for getting the read statement right.
  • HW6 20 points total. 5 points for a correct invariant. 5 points for proof that invariant follows from precondition. 5 points for proof that invariant and negation of loop condition imply postcondition. 5 points for proof that invariant follows from itself and loop condition after execution of loop body.
  • HW7. 22 points in total. 2.1.2 0.5 points each to 4 points. 2.2.2 0.5 points each to 4 points. 2.4.1 0.5 points each to 4 points. 2.4.3 1 point each to 4 points. 2.4.4 1 point each to 2 points. 2.4.5 0.5 points each, with a maximum of 2 points. 2.4.6 2 points
  • PR2. 30 points in total. 2.1.1 4 point, 1/2 point per part, full credit for (g) with either a report of error or a report of what appears when entering the expression 0xAB+123. 3.1.1 6 points in total, 1 point per exercise. 3.1.2 8 points in total, 2 points per exercise. 3.2.1 12 points (2 per part).
  • PR3 23 points in total. 3.3.1 6 points in total, 1 point each. 3.3.2 2 points. 3.3.3 3 points. 3.3.8 3 points. 3.3.11 9 points, 3 points per part.
  • PR4 15 points in total. 5 points per part. Partial credit for short programs that run. Small partial credit for use of &, !, @, trans, id, 1, %0.
  • PR5 25 points. One for each of the five relations defined extensionally, 2 points for each of the eight rules to be written, except 4 points for sibling, 3 points for sister_of and grandma_of.