Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Code

Table of contents

  1. Checkpoints
  2. Testing
  3. Quality

Code will be submitted to GitHub via your groupX repo. Pintos comes with a test suite that you can run locally on your VM. We will run the same tests on the autograder, meaning there are no hidden tests. As a result, we recommend you test locally as much as possible since the autograder’s bandwidth is limited.

Checkpoints

We have checkpoints to guide your implementation of the project. Checkpoints will not be graded and have no effect on your grade. However, we still encourage students to keep up with the checkpoints. See Plan for more details on the specific checkpoints for this project.

Testing

Your testing code needs to be included in your repo as well under the appropriate folder.

Quality

The score of your code will be mainly determined by your autograder score. However, you will also be graded on the quality of your code on some factors including but not limited to

  • Does your code exhibit any major memory safety problems (especially regarding strings), memory leaks, poor error handling, or race conditions?

  • Is your code simple and easy to understand? Does it follow a consistent naming convention?

  • Did you add sufficient comments to explain complex portions of code?

  • Did you leave commented-out code in your final submission?

  • Did you copy and paste code instead of creating reusable functions?
  • Did you re-implement linked list algorithms instead of using the provided list manipulation functions?

  • Is your Git commit history full of binary files?

Note that you don’t have to worry about manually enforcing code formatting (e.g. indentation, spacing, wrapping long lines, consistent placement of braces) as long as you setup your precommit hook correctly in Project User Programs. You may also find it helpful to format code every once in a while by running make format.