CS 272 Software Development

CS 272-01, CS 272-02 • Fall 2021

Final Code Review

Instead of a final exam, you will have a final code review during finals week. The final code review is the last synchronous code review appointment possible in the semester. The project cutoff deadline determines which projects will be graded in your final code review. It is the only code review for which you may earn partial project grades and the only opportunity to have Project 4 Search Engine graded.

Here are some details regarding how your final code review will be handled.

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.

Final code reviews are conducted during finals week from Tuesday December 14th to Thursday December 16th between 11:00am and 6:30pm Pacific Time. Each final code review appointment is 30 minutes each.

You may sign up for an appointment using the Canvas scheduler. Look for “Final Code Review” on the calendar. Appointments will be released gradually in batches.

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 that required code review. Make sure to check the time zone being used by your Canvas calendar!

The project cutoff deadline determines which projects will be graded in your final code review appointment. The project cutoff deadline is Friday, December 10th at 11:59pm.

Specifically, to influence which project(s) will be graded in your final code review appointment, you must:

  • You must have a functionality grade issue correctly created in Github by this deadline. (It is not necessary to have the grade entered in Canvas by this deadline, however.)

  • You must have a code review pull request marked as “Passed” or “Conditionally Passed” by this deadline. (It is not necessary to have the final release and design grade by this deadline, but those steps will need to be completed before your final code review.)

THESE ARE FIRM DEADLINES AND REQUIREMENTS. There are no extensions available for this specific deadline, which determines what will be graded in your final code review appointment. However, other project extensions are available (see below).

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 need another asynchronous code review at this point, that project will NOT influence which projects you have graded in your final code review appointment.

The project cutoff deadline balances fairness for students that have an earlier final code review appointment while still allowing for some progress to be made up until the final code review appointment.

Code Review Requests

If you make a synchronous or asynchronous code review pull request correctly in Github by Tuesday, December 7th at 11:59pm, it is guaranteed to be completed by the project cutoff deadline. (It does not guarantee you will pass the code review, however.)

Any code review requests made after this point are not guaranteed to be fulfilled by the project cutoff deadline. For example, you cannot request an asynchronous code review on Friday 12/10 and expect it to be completed in time to meet the deadline. Similarly, you cannot expect to have more than one code review (synchronous or asynchronous) that week.

The projects you will have graded during the final code review depends on your first incomplete project grade after the project cutoff deadline. Unlike all other code reviews, you may receive partial project grades on consecutive projects during your final project code review.

Recall that you can only work ahead by one project in this class, so you may receive up to one partial functionality grade and up to one partial code review grade during this appointment.

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
Description Tests Design Tests Design Tests Design Tests Demo Maximum
Project 2 Design Incomplete Pass Pass Pass TBD TBD 0% 0% 0% 62.5% (D-)
Project 3 Tests Incomplete Pass Pass Pass Pass TBD TBD 0% 0% 75.0% (C) 
Project 3 Design Incomplete Pass Pass Pass Pass Pass TBD TBD 0% 87.5% (B+)
Project 3 Design Complete Pass Pass Pass Pass Pass Pass TBD TBD 100% (A+)

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. 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.

The maximum possible project grade that can be earned for each scenario is provided in the last column, but the exact maximum may be lower depending on your actual project scores (including any late penalties and other deductions).

I will consider project extension requests, allowing for work to be graded after your final code review appointment. See below for details.

Student Eligibility

These extensions are primarily for students that are close to passing the course by their final code review appointment. Students must be meeting both the exam and project pass requirements before the request will be approved.

Project Eligibility

Synchronous code review appointments are not available after the end of finals week. This means extensions are not available for project grades requiring a synchronous code review, which includes the final Project 4 Search Engine project.

However, extensions may be requested for up to 1 project functionality grade and up to 1 asynchronous code review for consecutive projects. 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.

For example, suppose you did not pass project 3 design in your final code review appointment and did not complete project 4 functionality in time. If you are meeting the other pass requirements but not earning a C or above in the course, you may request to have one more asynchronous code review of project 3 and submit the functionality of project 4 after your final code review appointment.

Late penalties will still apply up to the maximum 30% late penalty deduction.

Project Extra Credit

You may also request to also complete project extra credit as part of your extension as well. This can help offset some late penalties and other deductions. However, it will only help if you are close (within 1-3 percentage points) to a passing letter grade.

Extension Requests

These requests must be made in a private post within 24 hours after your final code review appointment.

Include a brief 1 paragraph 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.

Extension Deadline

The grade deadline is Tuesday, January 4th; this is the non-extendable university deadline by which I must enter your final letter grade for the semester.

Therefore the hard deadline for all extensions will be Monday, January 3rd at 11:59pm, which gives me 24 hours to wrap up the grading and enter the final letter grades.