Project Logistics

Projects are a central part of the CS162 experience. This page will give you an overview of the project process.

Groups

You must form 3 to 4 person groups. We generally suggest forming 4 person groups in case one member decides to drop the class, but the workload is just fine for a 3 person group too. If you are coming into the class without a group, please use the pinned Piazza thread to find group members. It is your responsibility to find a group. If you do not find a group, you will not be able to take the class.

Once you have formed a group, please register your group on the autograder. Everyone in your group needs to accept the group invitation, before the group is created.

Grading

You will complete three projects throughout the semester. Each project follows the same format:

  • [10 pts] Initial design
  • [10 pts] Design review
  • [70 pts] Autograder score
  • [5 pts] Code Style
  • [5 pts] Final Report
  • [0 pts] Peer Evaluation

Notice that your autograded code grade is only worth 70% of your total project grade!

Initial Design

At the beginning of the project, you will create and submit a design document to be reviewed by your TA. A template for the design document will be posted in Piazza. You must use this template to receive credit. The criteria for this section of the grade are:

  1. You have not made any egregious mistakes or misunderstanding of the project
  2. You have a reasonable mastery of the skeleton code and the concepts of the project you are attempting to implement.

The initial design document is worth 10 points of your project grade. The purpose of the design document is to lay out a general design for your project. For more information, see Design.

Design Review

The design review is worth 10 points of your project grade. During the design review, you will meet with your group's TA to discuss your initial design document. These meetings will usually be held the Monday and Tuesday after the initial design doc is due. They should take around 20-25 minutes. The meeting represents a good chance to clarify some design decisions and also to get to know your TA for those participation points.

Autograder

All of your 'code' grade will be fully determined by an autograder. The test cases for all projects will be provided to you. This is because writing test cases for an actual operating system is hard, and we don't want you to go crazy trying to figure it out. This portion is worth 70 points of your project grade.

Code Style

This portion of the project is worth 5 points. The rubric for code style will be included in the project spec for each project.

Final Report

Your final report will be worth 5 points of your total project grade. This final report should not just be a copy of your initial design document. You should include the following in your final design doc:

  1. The changes you made since your initial design doc and why you made them (feel free to re-iterate what you discussed with your TA in the design review)
  2. A reflection on the project — what exactly did each member do? What went well, what could be improved?

This section will follow a ternary grading rubric:

  1. (full credit) - accurately documented the changes made since the initial design doc, provided reasoning behind design changes, and put effort into the reflection (i.e. answered the above questions).
  2. (half credit) - any of the sections are missing, didn't answer crucial questions, overall minimal effort.
  3. (no credit) - no submission.

For more information, see Design.

Mandatory Peer Evaluation

We ask you to fill out a quick survey after each project describing each project member's contribution to the project. This ensures accountability within the group. We will be posting these on the Piazza forum.