Building an Internet Router
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 a feedback for each weekly submission. 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 10-Jan-2010 deadline - without penalty.
Marks are awarded to an individual (I) or the team (T).
|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. We will conduct an interoperability test session to verify interoperability. 6 points if your router interoperates in a topology of our choosing with several instantiations of our reference router. 2 additional points for each other team's router you interoperate with (under the same conditions), to a maximum of two teams (i.e. 4 points max). (This breakdown will change if there are a significant number of teams.)}|
|60 (T)||Functionality||The code deliverables.|
|20 (T)||Documentation||The documentation deliverables.|
|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.|