Your grade will be based on your statements, your code, and your success in combining multiple techniques. The final assessment will be based on the following rubric.
Table 1. Grading Rubric
| Criterion | Excellent | Good | Satisfactory | Needs Work | Not Attempted | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Proposal design statement | The proposed design statement is complete and accurate. | 5 | The design statement makes excellent use of design terminology to explain the intended effects of the images on the viewer, addressing both color and composition. | 4 | The design statement uses design terminology correctly and justifies the most important aspects of the design. | 3 | The design statement makes some mistakes in using design terminology or fails to discuss some important aspects of the design. | 2 | The design statement does not use appropriate terminology or does not accurately describe the images. | 0 | |
| Proposal technique statement | The proposed technique statement completely and accurately describes the algorithmic techniques used. | 10 | The statement completely and accurately describes the algorithm, clearly indicating the three (or more) techniques used. The statement persuades the reader that the procedure produces 1000 distinct images. | 9 | The statement accurately describes the algorithms used but leaves a question or two remaining. The statement is somewhat persuasive that the procedure produces 1000 distinct images and uses 3 distinct techniques. | 8 | The statement has some minor inaccuracies or raises several questions. There is some attempt to argue that the procedure produces 1000 distinct images and uses at least 3 techniques. | 6 | The statement is significantly incomplete and/or inaccurate. The statement does not argue that the code meets the project specifications. | 0 | |
| Final design statement | The revised design statement is complete and accurate. | 5 | The design statement makes excellent use of design terminology to explain the intended effects of the images on the viewer, addressing both color and composition. | 4 | The design statement uses design terminology correctly and justifies the most important aspects of the design. | 3 | The design statement makes some mistakes in using design terminology or fails to discuss some important aspects of the design. | 2 | The design statement does not use appropriate terminology or does not accurately describe the images. | 0 | |
| Final technique statement | The proposed technique statement completely and accurately describes the algorithmic techniques used. | 5 | The statement completely and accurately describes the algorithm, clearly indicating the three (or more) techniques used. The statement persuades the reader that the procedure produces 1000 distinct images. | 4 | The statement accurately describes the algorithms used but leaves a question or two remaining. The statement is somewhat persuasive that the procedure produces 1000 distinct images and uses 3 distinct techniques. | 3 | The statement has some minor inaccuracies or raises several questions. There is some attempt to argue that the procedure produces 1000 distinct images and uses at least 3 techniques. | 2 | The statement is significantly incomplete and/or inaccurate. The statement does not argue that the code meets the project specifications. | 0 | |
| Procedure signature | The image-series procedure takes an integer (0 through 999) as a parameter, along with a width and height, and produces an image of the correct size. | 5 | The procedure has the correct signature and name. | 4 | The procedure has the correct signature but a different name. | 3 | The procedure takes the correct parameters but does not produce a new image. | 2 | The procedure does not take the specified parameters. | 0 | |
| Image distinctiveness | The procedure generates at least 1000 distinct images. | 15 | The procedure generates at least 1000 distinct images. | 13 | Images for nearby values of n are very similar, but distinct upon close inspection. | 11 | A few values of n produce images that are indistinguishable from each other. | 8 | Some values of n result in errors, or many values of n result in indistinguishable images. | 0 | |
| Image reproducibility | The images are reproducible and vary based solely on n. | 5 | The images are reproducible. | 2 | The images are not reproducible, e.g., due to the use of random numbers. | 0 | |||||
| Image scalability | The technique scales appropriately. That is, larger images look similar to smaller images for the same value of n. | 15 | Scaling is nearly perfect for all reasonable sizes; any differences are due to fixed brush sizes or rounding error at the pixel level. | 13 | The image mostly scales correctly but has one or two minor discrepancies. | 11 | Although there is an attempt at scalability, some element of the image obviously does not scale correctly. | 8 | Although there is an attempt at scalability, several elements of the image obviously do not scale correctly. | 0 | |
| Algorithmic techniques | The project uses at least three distinct techniques for generating images. | 15 | The project develops new techniques or is particularly creative in its combination of three or more existing techniques. | 13 | The project uses a novel combination and elaboration of three or more existing techniques. | 11 | The project uses three techniques but does not introduce any new ideas. The project images may resemble work for a prior homework assignment. | 8 | The project uses only one or two techniques. | 0 | |
| Code quality | The code is elegant, concise, and efficient. | 10 | The code is nearly flawless in conciseness and efficiency, or impressive in its elegance. | 9 | The code has a few minor problems with conciseness or efficiency. | 8 | The code has one significant problem with efficiency or several problems with conciseness. | 6 | The project has significant problems with conciseness and efficiency. | 0 | |
| Code readability | The code is well-documented and easy to understand. | 10 | All procedures are documented with 6Ps. Procedure, parameter, and variable names are crystal clear. Code is correctly formatted. Short comments explain the purpose of expressions that might otherwise be unclear. | 9 | All procedures are documented with the 6Ps and there may be a few internal comments where needed. Procedure, parameter, and variable names are mostly clear. Code is formatted correctly. | 8 | Most procedures are documented with the 6Ps. Procedure, variable, and parameter names are at least suggestive. Formatting is mostly correct. | 6 | There is little documentation. Much of the code is incorrectly formatted. Several procedures, variables, or parameters have opaque or meaningless names. | 0 | |
Copyright © 2007-2012 Janet Davis, Matthew Kluber, Samuel A. Rebelsky, and Jerod Weinman. (Selected materials copyright by John David Stone and Henry Walker and used by permission.)
This material is based upon work partially supported by the National Science Foundation under Grant No. CCLI-0633090. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.
This work is licensed under a
Creative Commons Attribution-NonCommercial 2.5 License
.