This assignment does not count toward the final grade.

Rubric

Find Rubric
Keep in mind that 1 student has already been assessed using this rubric. Changing it will affect their evaluation.
PA CSP Solver
PA CSP Solver
Criteria Ratings
program compiles and/or runs without error
pass
fail
the source code is well organized and commented
pass
fail
source code headers
each source code file includes a header indicating who wrote or contributed to the code
pass
fail
external code cited
code from any external sources, or code that relied on outside influence, includes a citation in a comment just above the corresponding code
pass
fail
problem-specific driver
There is an implemented, working problem-specific driver class (must be one of the identification problems specified in the PA instructions)
pass
fail
iterative improvement class
There is an implemented, working iterative improvement class
pass
fail
forward checking
The CSP class has been updated to correctly support forward checking
pass
fail
constraint propagation
The CSP class has been updated to correctly support constraint propagation
pass
fail
MRV
The CSP class has been updated to correctly support minimum remaining values (MRV)
pass
fail
LCV
The CSP class has been updated to correctly support least constraining value (LCV)
pass
fail
README.md file
Explains which identification problem you implemented and how to run it
pass
fail
README.md file
Includes a section that states who worked on the project
pass
fail
README.md file
Clear formatting instructions for any input files required by your code
pass
fail
README.md file
Includes an analysis of the stats returned for running three differently sized initializations of the problem you selected (e.g., n=8, 100, 1000 for the n-queens problem) using each of the following configurations of algorithms:
* backtracking
* backtracking + forward checking
* backtracking + forward checking + MRV + LCV
* backtracking + constraint propagation
* backtracking + constraint propagation + MRV + LCV
* iterative improvement
pass
fail
command line options
The user has the option to specify problem-specific parameters
pass
fail
command line options
The user has the option to specify their choice of primary algorithm: backtracking or iterative improvement
pass
fail
command line options
In combination with backtracking, the user has the option to specify a filtering method: none, forward checking, or constraint propagation
pass
fail
command line options
In combination with backtracking, the user has the option to specify an ordering method: none, MRV, LCV, or MRV+LCV
pass
fail
command line options
In combination with iterative improvement, the user has the option to specify the maximum number of runs AND the maximum number of reassignments per run
pass
fail
program output
Once the program finishes, if a solution was found, the solution is displayed in a clear, readable format
pass
fail
program output
Once the program finishes, if a solution was not found, a notice saying so is displayed in a clear, readable format
pass
fail
program output
Once the program finishes, stats (as described in the PA instructions) are displayed to the terminal in a clear and readable format (this is regardless of whether a solution was found or not)
pass
fail