Instead of a final exam, you will have a final code review during finals week. Here are some details regarding how your final code reviews will be handled.
Final Project Grading
Unlike all other code reviews, you may receive a partial project grade during your final project code review. You may receive one partial functionality grade and one partial code review grade on consecutive projects during this appointment.
The projects you will have graded during this appointment depends on your the earliest incomplete project grade after the deadlines (listed in the next section). Based on that, the projects you will have graded are listed as TBD
in the following table:
Project 1 | Project 2 | Project 3 | Project 4 | Estimate* | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Description | Tests | Design | Tests | Design | Tests | Design | Tests | Demo | Min | Max |
Project 2 Design Incomplete | Pass | Pass | Pass | TBD | TBD | 0% | 0% | 0% | 44% (F ) | 63% (D-) |
Project 3 Tests Incomplete | Pass | Pass | Pass | Pass | TBD | TBD | 0% | 0% | 53% (F ) | 75% (C ) |
Project 3 Design Incomplete | Pass | Pass | Pass | Pass | Pass | TBD | TBD | 0% | 61% (D-) | 88% (B+) |
Project 3 Design Complete | Pass | Pass | Pass | Pass | Pass | Pass | TBD | TBD | 70% (C-) | 100% (A+) |
*Estimate assumes at least 70% on TBD projects and no extra credit.
Recall that you can only work ahead by one project in this class, so it is not possible to receive a grade for project 4 unless you have completed both the functionality and design of project 2 and have at least passed the tests for project 3.
Therefore, if you are not passing the design of project 2 by the deadline (the first row), you may earn a partial grade for the design (code review) of project 2 and the functionality (tests) of project 3. You will receive a 0% on project 3 design and both parts of project 4. If you already have a functionality grade for project 3, then only project 2 design will be evaluated during your appointment.
Extensions
Synchronous code review appointments are not available after the end of finals week. This means extensions are not available for normal synchronous code reviews after your final code review appointment. This also means extensions for Project 4 Search Engine are not available.
However, I will consider extension requests of up to 1 week past the end of finals week for project functionality or to complete an additional offline/asynchronous code review. The rule that you may only work 1 project ahead will remain in place, but will include any additional progress you made in the final code review.
These requests must be made in a private post on Piazza between December 7th to December 11th (ideally after your final code review appointment). Include 1 to 3 paragraphs with justification, which can range from struggles with remote learning, struggles with physical or mental health, and even poor planning. I only ask that you are honest about why you ended up behind and need an extension.
Deadlines
The projects you will have graded during your final code review appointment depend on how many projects you passed by the following deadlines:
-
11:59pm Nov 30 (Mon), Synchronous Code Review Request: This is the deadline to correctly create a pull request on Github requesting a normal synchronous code review appointment and be guaranteed an appointment before the Friday deadline. Requests made after this point are not guaranteed.
-
11:59pm Dec 04 (Fri), Synchronous Code Review: This is the deadline to have a normal synchronous code review appointment and have the result of that code review influence which projects you will have graded in your final code review appointment.
-
11:59pm Dec 05 (Sat), Offline/Asynchronous Request: This is the deadline to correctly create a pull request on Github requesting an offline or asynchronous code review and have the result of that offline asynchronous code review influence which projects you will have graded in your final code review appointment.
-
11:59pm Dec 06 (Sun), Project Functionality: This is the deadline to correctly create a functionality issue on Github and have it influence which projects you will have graded in your final code review appointment.
THESE ARE HARD DEADLINES. For example, if you submit a functionality issue at 12:03am after the deadline, it will NOT influence which projects you have graded in your final code review appointment. Similarly, if you incorrectly create a pull request (for example, for a non-passing release) and do not have it corrected by the deadline, it will NOT influence which projects you have graded in your final code review appointment.
These deadlines are designed to balance between fairness for students that have an earlier final code review appointment with also allowing you to continue making some progress up until your final code review appointment. (Also see the extension policy above as well.)
Appointment Signup
Final code reviews are conducted during finals week from Monday December 7 to Thursday December 10th between 11:30am and 6:15pm Pacific Time. Each final code review appointment is 30 minutes each.
Everyone should sign up for an appointment regardless of how much progress on projects they have made. You do not need to have an approved Github pull request to sign up for your final code review appointment.
You may sign up for an appointment using the Canvas scheduler. Look for “Final Code Review” on the calendar. Treat your appointment like a final exam; if you miss it you do not get another opportunity and receive a 0 for any incomplete project grades.