We learn from our mistakes - IF we think about why we made the mistake and how to do it better. To encourage such learning in CS180, we are instituting "retro-credit" for projects where you have had problems. This is available if you have scored below the median on a project. If you correct the errors in a project, you can earn up to half of the missed points to raise your score up to (at most) the median. (E.g., if you originally received 5 out of 10 and the median is 8, you are eligible. If you revise the project so it receives 9, you would receive (9-5)/2 = 2 additional points on the project, equivalent to an original score of 7.) You MUST have turned in the project on time to be eligible.
To prevent abuse, each student can only do this twice per semester. Writeups and revised code (see below) must be submitted within one week of the date the project grade is returned.
The Assignment for Retro CreditIn order to obtain retro credit for a project, the student must identify why the project failed the test cases. The student must communicate, in writing, the specific parts of the code that caused the project to fail the test case. The student must then communicate in writing the code that fixes the problem and explain why this fixes the problem. These changes should be done on the project in question. After a student sends the updated code to the recitation instructor, the project will be regraded and the student will receive the appropriate retro-credit.
Example Writeup: File Name: Retro-Credit-For-Project1.txt Requirement: The getLength method returns the correct message lengthProblem: My initial code failed this requirement because my code counted the trailing bytes of all zeros at the end the message (see lines 112-123 of SecretString.java).
Solution: I added a new method (see lines 93-103 of SecretString.java) that returns a truncated copy of the message (if they're trailing bytes of zeros) that can be used for determining message length (see lines 112-118 of SecretString.java).
####Requirement: The getCharAt method returns correct characters.
Problem: My intial code failed this requirement because my code indexed into my bits array inappropriately (see lines 155-165 of SecretString.java).
Solution: Because a character is represented by 8 bits, I had to modify my code (see lines 158-162) so that the value of index was multiplied by 8 before being used as an index into my bits array.
#### (All other requirements in the same format as above)