CSC 222 Programming Assignment Grading Rubric

Grade Description
A A C++ program is present in your git repo that compiles and runs on an APS issued student laptop (and hopefully on other POSIX compliant systems like my GNU/Linux workstation) using GCC. The program delivers what is required. Documentation provided with the program is sufficient to guide installation and configuration of any 3rd party C++ libraries used, and the documentation is provided with the source code using Markdown files. Both source code and documentation are located together in a clearly structured, easy to navigate Git repository, and your git commit history shows clear evidence of incremental development Finally, if called on in class to present the program, you can describe in detail both what the program does and how it works.
B A C++ program is present that compiles and runs on an APS issued laptop. It delivers most of what was promised in the requirements, but might fall short of fully meeting requirement goals as required for an A. Documention allowing visitors to the projects git repository to download, compile and run the program mostly works, but may need a bit of web searching to get the program running. The program does most of what the documentation says it does. Even if the contents of the git repo would otherwise warrant an A, inability to effectively to describe what the program does and how it works will result in a loss of grade. The commit history shows evidence that work was completed outside of class meeting times.
C A C++ program is present that compiles and runs on an APS issued laptop. It delivers at least a part of what was required, but might fall well short of meeting program goals as required for an A or B. Documention is lacking or missing. The program shows some evidence of working toward the goal of the assignment requirements. When called on to present the program in class, there is a clear lack of understanding of what is the program does or how it works. The commit history only contains a few commits, so it does not show evidence of incremental development.
D Some work was completed, but it shows only minimal effort and does not provide sufficient evidence of goal attainment or learning mastery.
E No evidence of work presented.