This assignment does not count toward the final grade.

Rubric

Find Rubric
Keep in mind that 5 students have already been assessed using this rubric. Changing it will affect their evaluations.
PA n-puzzle
PA n-puzzle
Criteria Ratings
program compiles and/or runs without error
pass
fail
the source code is well organized and commented
pass
fail
greedy search is implemented correctly
pass
fail
A* search is implemented correctly
pass
fail
all algorithms produce a correct solution
pass
fail
BFS, ID, UCS, and A* (with all implemented heuristics) produce optimal solutions
pass
fail
source code headers
each source code file includes a header indicating who wrote or contributed to the code
pass
fail
outside code cited
code from any outside sources, or code that relied on outside influence, includes a citation in a comment just above the corresponding code
pass
fail
README.md
the code includes an updated README.md file that explains how to run your code to solve the n-puzzle problem
pass
fail
the readme includes a section that states who worked on the project
pass
fail
heuristics described in README.md
the readme includes a section that describes three heuristics and an evaluation of those heuristics (how well each one worked with A*) over a number of trials of different board sizes
pass
fail
n-puzzle input file
an n-puzzle starting state is represented in a text file, the format of which should be clear from the README.md file
pass
fail
program options
the user has the option to specify the starting state, the algorithm (BFS, DFS, ID, UCS, greedy, and A*), the heuristic (if applicable), spot sizes, margin sizes, and the animation frames per second (FPS) when running the program
pass
fail
solution statistics
once a solution is found, stats (size, space, solution length) are displayed to the terminal in a clear and readable format
pass
fail
solution animation
after solving the problem, the program displays a window animating the solution found by the specified algorithm, that is, the sequence of moves required to put the tiles into the correct order
pass
fail
solution animation
each frame of the animation shows the next move; you don't need to worry about animating sliding transitions or anything fancy
pass
fail
solution animation
the spot sizes, their margin sizes, and the animation's frame rate (FPS) use the user-specified values from the command line argument, or a reasonable default for any option not provided
pass
fail
solution animation
in the solution animation, the board is of the size of the starting state and tiles are numbered (or the number corresponding to each tiles is communicated visually somehow)
pass
fail