Assignment Assigned Due Notes
Lab 1 2018/10/08 2018/10/29 Handout, Materials, slides
Lab 2 2018/10/15 2018/11/26 Handout
Lab 3 2018/10/29 2018/12/31

The due time is before 23:59 PM of that day. Please send your submissions to the corresponding TAs.

There will be 3 labs in this practicum class. Your final grade for the course will be based on the following weights:

Take the lab deadlines seriously. You can extend the deadlines with a 10% penalty per day. Note that any submissions will NOT be accepted 48 hours after the due date.

DO NOT cheat! You will be punished with a 20% penalty of the overall grade at a time.

In the 04830241 course, you will be expected to learn and practice good software engineering, as well as demonstrate mastery of the networking concepts. Both partners in a project group will need to fully understand the project and your solution in order to do well on those exam questions relating to the labs and projects. For example, a typical question might be: "When you implemented X, you came across a particular situation Y that required some care. Explain why this simple solution Z doesn't work and describe how you solved it." We'll pick questions such that it will take some effort to figure out Y. If you didn't take the time to work the problem yourself and just relied on your partner, you won't have enough time during the test to figure it out. Be careful, the insights you'll need will come only from actually solving the problem as opposed to just seeing the solution.

Notes on the Programming Labs

A key objective of 04830241 is to provide a significant experience with system programming, where you must write programs that are robust and that must integrate with a large, installed software base. Oftentimes, these programs are the ones that other people will build upon or use as tools. Systems programming is very different from the application program development you have done in earlier courses:

We'll go into more details about each of these points during the recitation sections. But keep in mind: the programming assignments in 04830241 are larger and more open-ended than in other courses. Doing a good job on the project requires more than just producing code that runs: it should have a good overall organization, be well implemented and documented, and be thoroughly tested.


Last updated: 2018-10-10 10:35:21 +0800 [validate xhtml]