Grading Algorithm for Project 2


  These are the point allocations and deductions for the project.
  There were points taken off for other small mistakes which were not common enough to be listed here.
  If the project was turned in after the deadline but within 24 hours, it was assigned 20% late penalty.

Question 1

bullet [6] Total
bullet [-1] if forgot to submit output

Question 2

bullet [6] Total. Almost everyone got this right.

Question 3

bullet [6] Total
bullet [-1] If not turned in y.output

Question 4

bullet [3] Total for hand trace
bullet [-1] No correct conflicts identified in handtrace
bullet [-0.5] Only 1 correct conflict identified in handtrace
bullet [-0.5] The states don't match the y.output but handtrace otherwise correct
bullet [-3] No handtrace turned in
bullet [3] Total for autotraces. 1.5 points each.
bullet [-1.5] each autotrace not submitted.
bullet [-0.5] for each autotrace, if no correct conflicts identified in an autotrace.
bullet [-0.25] for each autotrace, if only one correct conflict indicated in an autotrace.

Question 5

bullet [6] Total, 3 points for each autotrace
bullet [-3] for each autotrace not submitted.
bullet [-1] for each autotrace in which no correct conflicts are identified.
bullet [-0.5] for each autotrace in which only one correct conflict is identified.

Question 6

bullet [6] Total
bullet [-2] used something other than the operators provided in yacc to specify associativity and precedence.
bullet [-0.5] for each autotrace, if conflict is identified where there aren't any, or if conflicts exist but none are identified.
bullet [-2] if * and / are given different precedence.

Question 7

bullet [6] Total. Almost everyone got this right.

Question 8

bullet [6] Total
bullet [-1] Not defined unary minus to be right associative
bullet [-1] Not defined unary minus to have higher precedence than binary operators

Question 9

bullet [6] Total.
bullet [-3] Code won't compile but the logic is right.

Question 10

bullet [6] Total. 1 point for each correct answer.

Question 11

bullet [10] Total
bullet [-10] if not used symbol table to store identifier and assigned value
bullet [-5] Not turned in expr.y but turned in output that shows an assignment and then shows the assigned id being used correctly.
bullet [-2] Not turned in expr.y but turned in output as specified above and turned in correct parse output for an assignment

Question 12

bullet [10] Total
bullet [-2] if the boolean term is just a number not an identifier
bullet [-2] if the boolean term is an identifier but not getting the value for the identifier from symbol table
bullet [-5] Not turned in expr.y but turned in output for boolean expressions
bullet [-5] boolean expressions defined for only boolean values, not terms or numbers or identifiers.
bullet [-3] code won't compile but correct logic.

Question 13

bullet [10] Total
bullet [-4] defined IF () ELSE {} instead of IF () THEN {} ELSE {}
bullet [-1] not allowing nested if-statements
bullet [-2] Not assigning value to $$ for if-statement
bullet [-1] statement only expr, not boolean expresssion

Question 14

bullet [10] Total
bullet [-5] not submitted anything
bullet [-1] for each incorrect answer