Computer Laboratory

Course pages 2013–14



Although you are encouraged to discuss ideas with others, your programs are to be completed independently and must be your own, original work, or the work of you and your partners. Whenever you obtain significant outside help (from other students, the TAs, etc.) you should acknowledge this in your program write-up, e.g. “The idea for how to implement ARP decoding came from a discussion with Helen.” You can never get in trouble for plagarism if the help is properly credited.

The final thing we need to mention is that the Computer Laboratory uses screening systems to compare student submissions. Such systems are very sophisticated and highly effective, and we use it to identify submissions that need to be scrutinized further by course staff. Using systems of this type is common practice at many universities, and it has proved to be an effective deterrent to improper collaboration.

Programming is something you learn by doing. If you copy someone else’s work, you can expect the following:

  • You will not learn what the assignment was meant to teach you.
  • Your copied work will be brought to the attention of the relevant administration.

(This was blatantly plagiarised from the Stanford CS344 web page!)


The emphasis is on developing the required functionality and achieving interoperability with other’s solutions. We will pay careful attention to your writeup of who contributed what in each team!

Weekly milestones: We will provide regular feedback for submissions. Feedback will be one of “Satisfactory”, “Satisfactory plus”, or “Unsatisfactory”, together with a brief set of comments as appropriate. The purpose of the weekly milestones is to ensure that you remain on-track throughout the course.

Milestone delivery: If you are late for a milestone, then you lose 2 points per day, up to 3 days late. After that you receive zero for that milestone. Over the quarter each team has a total of 3 free late days that you can use however you want for any milestone - except the final 22-Apr-2012 deadline - without penalty.

Marks are awarded to an individual (I) or the team (T).

Points Item Description
10 (I) Participation This will be a subjective judgement by us based on aspects such as our interaction with you in regular meetings, your team’s final write-up on who did what, and by watching the online discussions.
10 (T) Interoperability Your router should interoperate correctly with the routers from all other teams and the reference router. The precise mark breakdown will depend on the number of teams this year.
60 (T) Functionality The code deliverables - 30 marks for the first deliverable, 30 marks for the second deliverable.
20 (T) Documentation The documentation deliverables - 10 marks for the first deliverable, 10 marks for the second deliverable.
10 (T) Bonus Presentation A presentation by each group covering the architecture of their design (hardware and software), the problems encountered, etc. Marks for clarity, technical material (don’t tell us things we already know such as how NetFPGA works!) and for providing insights into the issues you encountered and how you overcame them (or didn’t). Approximately 20 minutes per group.