Project 4: Shopping and Nim

Milestones

Project Deadline 2023-07-23T23:59:00-04:00
Late Deadline 2023-07-26T23:59:00-04:00
Grading Deadline 2023-07-29T23:59:00-04:00

Sample Solutions

github.com/vault50/e80-ai-solutions/tree/master/4/shopping/solution

github.com/vault50/e80-ai-solutions/tree/master/4/nim/solution

Please notify Doug if you don’t have access to the above via vault50.

Grading Information

Projects in CSCI E-80 are autograded along the axes of Correctness and Style. Teaching fellows grade as well along the axis of Design. Total scores on Projects are out of 15 points, weighted as follows:

  • Correctness scores range from 0.00 to 7.50 (all real-numbered values), awarded by the autograder.
  • Design scores are any of the values 0, 1, 2, 3, 4, 5 (integers only), awarded at the discretion of their teaching fellow based on some of the guidelines specified below
  • Style scores range from 0.00 to 2.50 (all real-numbered values), awarded by the autograder.

Autograder Overrides

As a grader, you do have the authority to override the autograder in situations where things seem to have gone wrong (such as the student poorly organizing their code in a way that the autograder can’t find the file, or they have imported a library that is not installed by default in the autograder, etc.)

To do this, when grading for Design, which is normally where the grader’s work is confined, type the , (comma) key to jump back to the erstwhile-invisible 1: Autograder question, and modify the “Score Adjustment” you see there as appropriate. You can download the student’s code and test it locally at this point.

In general, the style score should not be adjusted here, and for each “point” of Correctness you would want to add (if it were scored as Design is), you add 1.50 to the figure there.

Design

When grading for Design, try to treat this as independently as possible from the other two axes. Code that is very broken, but has some good ideas that didn’t come to fruition and is extremely well-styled could maybe earn a combined 5.68 from the autograder and perhaps an additional 3 for Design, for example.

Design is primarily concerned with how elegant, efficient, readable, and clear the student’s code is. Some design questions to consider and leave feedback on include (but are not limited to):

  • Is the code unnecessarily complex?
  • Is code reused where possible?
  • Are there unnecessary loops, conditions, and/or variables?
  • Are there places where the student’s code could have been made more efficient?
  • Is the code logical in structure?
  • Is there repetition of code that could be more cleanly written with the addition of a function?

Award:

  • 5 for the best designs, with absolutely no room for improvement.
  • 4 for better than average designs, with maybe a few quirks.
  • 3 for good, solid designs, though there are a few suggestions for areas for improvement.
  • 2 for fair designs that feature significant room for improvement.
  • 1 for poor designs reflecting very little effort or consideration of design implications of coding decisions.