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
to7.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
to2.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.
In general, though, if you are editing the Correctness score, it probably means the student did do something wrong either in the code or in the submission process. Please consult with Doug or Brian if following the above procedure would result in you adding more than 3.00
points to the autograded score.
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?
💡 The course expects that most students on average will be earning a score of 3 or 4 on the Design axis, with perhaps a 2 serving as the low end. Reserve awarding a 5 only to those submissions that are exceptional, for which you can find absolutely no room for improvement. If you can propose even one modification that would improve efficiency, it’s not a 5 and should not be scored as such.
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.