CS224 -- Spring 2012
Project #1: Assembly Language Programming
Project Code Demo and Grading Criteria
Place and Time: The Project Code Demo will take place for each group at a time they select, on Monday March 26th, or Tuesday March 27st or Wednesday March 28th. The available times will be posted on the sign-up sheets on the door of EA-209. Each group must sign up for an appointment, in 1 time slot. The code demo will be held in the office named on the sign-up sheet. There will be an announcement about when and where the signup sheets are posted. Sign up will be first-come, first-served.
Late penalty: Groups which come late to the code demo will receive a penalty in their score. Groups which are so late that they miss their appointment will receive a penalty of 15 points, if the appointment is rescheduled the same day, and 20 points if it is rescheduled the next day. Groups which do not sign up for an appointment, or sign up but don't come at all, will receive a ZERO
What to bring: both members of the group, your textbook, a laptop computer which has MARS loaded and running on it, and your final MIPS code in electronic and hard-copy forms.
What will happen:.Each group will be asked to show their running code, giving convincing evidence and reasons to the believe that it works. Each of the 6 routines will be run, and the outputs and result values must be as specificed. The course TAs will determine a grade for your MIPS code, giving your score based on the criteria listed below. The demo will be a modified form of black-box testing, meaning that routines that do not perform up to the minimum standard will receive a grade of 0.
Grading: The score for your Project Code Demo will be based on the following criteria:
The overall score a group receives will the the average of the scores for the 6 routines.
A routine will receive a score of 0 if it doesn't assemble correctly, doesn't run for any reason, hangs in an infinite loop, or doesn't produce any output
A routine will receive a score of 0 if it doesn't produce the correct output(s) for the input(s) given.
A routine will receive a score of 0 if the TA is not convinced that it is being demo-ed in a way that tests the requirements of the routine, and shows the correct results.
A routine will receive a deduction of 10 points if convincing evidence is not shown that it obeys the MIPS convention for use of registers (i.e. that the $s0-$s7, $gp, $sp, $fp and $ra registers contain the same values upon return from the routine as they did before it was called)
A routine may receive a grade between 0 and 100 if it meets the main requirements of the specification, but fails to correctly handle special cases (such as a data structure with no elements) or fails to meet one of the extra specifications (such as “the value in the XYZ register is unchanged” or “the original data structure is unchanged”)
A routine will receive a score of 100 if the TA is persuaded that it runs correctly, according to the specifications.
Tips for Testing and Debugging are given at this link.