1. Can you explain the project 1 grading policy?

The purpose of the grading policy is to better mimic the way software engineers are evaluated in industry. In general, most companies place a significant weight on “shipping features”, meaning pushing new features into the codebase on a regular schedule. Further, if you ship additional features beyond the baseline, that’s even better (with additional rewards). However, if you ship code that causes user-facing errors, that will definitely result in a negative performance review. So the idea behind the project 1 grading system is that you need to “ship” the basic web server, and ensure it passes the vast majority of the test cases (the published ones and the unpublished ones). Beyond that, adding additional features results in a higher grade. This is why the extensions are only graded if the basic test cases all pass.

2. Where is the autograder? How do we use it?

A pointer to the autograder and instructions for using it will be posted shortly after the project spec is sent out.

3. Will the HTTP request have a body in it?

No.

4. How should we handle “..” in the filepath?

A helper function that will fix the path for you is realpath. Access the man page for additional information on using it.