CS 70

Check Your Submission

After all the work you've done building data structures and solving mazes, it's important to make sure your submission is in good shape and that you won't lose points for silly things.

Final Checklist

Before submitting, make sure you've completed all of these tasks:

Code Quality

  • Style Check: Run cpplint on all of your .hpp and .cpp files and correct any errors or warnings that appear.

    cpplint *.cpp *.hpp
    
  • Compilation Check: Confirm that your code compiles on cs70.cs.hmc.edu with no errors or warnings.

    make clean
    make
    
  • Memory Check: Run valgrind on your test programs to ensure no memory leaks:

    valgrind ./coordvector-test
    valgrind ./amaze mazes/maze-07x07.txt
    

Functionality

  • CoordVector Tests: All tests pass in coordvector-test.
  • Maze Solving: Both DFS and BFS successfully solve various mazes.
  • Cracked Maze: BFS finds a shorter path than DFS on maze-79x23-cracked.txt.

Documentation

  • README.md: Updated with your optional explorations (or noting that you didn't do any).
  • Comments: Your code has appropriate comments explaining complex logic.

Version Control

  • Check Status: Run git status in your working directory and review the output. Make sure that

    • There aren't any modified files that haven't been committed/pushed.
    • No extra files (compiled files, .DS_Store files, etc.) are in your repository.
  • Clean Repository: Your repository should contain

    • Your source files (.cpp and .hpp files).
    • Your Makefile.
    • Your maze files in mazes/.
    • Your updated README.md.
    • NO compiled files (.o files or executables).

Testing Your Solution

  • Run the Full Suite: Make sure everything works correctly:
    ./coordvector-test                             # All tests pass
    ./amaze mazes/maze-07x07.txt                   # Small maze with DFS
    ./amaze --bfs mazes/maze-91x43.txt             # Large maze with BFS
    ./amaze -n mazes/maze-79x23-cracked.txt        # DFS on cracked
    ./amaze --bfs -n mazes/maze-79x23-cracked.txt  # BFS on cracked (shorter!)
    

Submission

  • Submit on Gradescope: Submit your code on Gradescope by navigating to the submission page for this assignment and uploading files from your GitHub repository.

  • Associate Team Members: Each time one person uploads your files on Gradescope, click the Add Group Member button on the right-hand side of the page to ensure that all team members are associated with the submission. You will lose points if both partners are not listed on your final submission.

  • Check Autograder Results: Gradescope will provide feedback on your code. If there are any errors indicated, you are encouraged to fix your code and resubmit. You may submit as many times as you like.

Common Issues to Avoid

  • LHS Cow speaking

    Double-check these common problems before submitting!

  • Missing Files: Ensure all required files are in your repository.
  • Memory Leaks: Your CoordVector destructor must use delete[] not delete.
  • Circular Buffer Bugs: Make sure offset_ wraps correctly in both directions.
  • Path Reconstruction: BFS must show the actual path, not just confirm reachability.
  • Compilation Errors: Test compilation one more time on the server.
  • Git Issues: If git status shows uncommitted changes, commit and push them.

To Complete This Part of the Assignment...

You'll know you're done with this part of the assignment when you've done all of the following:

(When logged in, completion status appears here.)