Computer Networks and Distributed Systems
Required (mandatory) assignments
The "lab" part of the course consists of a series of programming assignments to be presented gradually to a teaching assistant (TA). To pass the lab series you need to have passing grade on all required (mandatory) assignments. General guidelines can be found here.
The assignments should be handed in before their respective deadlines, as outlined below.
From the date of this hard deadline, there will be a two week window during which you have one chance to address the TA's concerns and resubmit an improved version: One week for the TA to mark the assignment and one week for you to address his/her concerns. Please take the TA's concerns seriously and address them as carefully as possible. If you have problems keeping a deadline, please contact your lab assistant as soon as possible.
Assignment series overview (with important notes)
- Similar to in your future work life, many of these labs have more than one solution/answer and require that you to dig through various sources of information (including the assignments instructions themselves, textbooks, online resources, and other resources that you may find credible and helpful) to identify the most important information and what you need to reach a solution. You may therefore need to read the instructions multiple times, revisit the information in the instructions (and other resources), and search for yet new information as you refine your solution. At times, you may also need to try new paths as you learn how to best tackle the problem and learn more about each assignment.
- With a lot of available information, you may in some cases need to read the full instructions multiple times to determine what is expected from you. In fact, in assignments such as assignment 2, a non-trivial part of the assignment is to determine the requirements and identify the steps to get there. (Note that we have been nice and "sprinkled" some hints for you on the way.)
- You are also required to carefully explain your solutions and findings both verbally and in a written report. Please take this as a learning opportunity to communicate your solutions and findings.
- Assignment 2 and 4 require substantially more work than assignment 1 and 3. Therefore, please make sure to finish assignment 1 quickly so that you stay on pace with the assignment series.
- The lab slots are primarily to demonstrate the labs and ask questions to the TAs. Outside that, you are expected to allocate the time necessary for you and your lab partner to complete the assignments.
Registrering in Webreg
- Register here
- Deadline: January 19, 23:59
The assignments are done in groups of two. Only in very special cases can labs be done alone. You should register yourself (and your lab partner) before you can do the assignments. In total each student will have 4 assignments split across 13 lab opportunities.
The schedule for each lab group is listed in timeedit.
We use the webreg system to register and administer lab groups and your results. Please sign up as soon as possible. The group codes A, B, C correspond to the same codes in the timeedit schedule (Group_A, Group_B, Group_C, respectively). Teaching assistants and markers for the assignments are
- GRA: Nikita (C/C++, Java, Python)
- GRB: Nikita (C/C++, Java, Python)
- GRC: Alireza (Java, Python, C/C++)
Assignment 1: "Wireshark lab: Getting started + HTTP" (1 time slot, plus own work ...)
- Deadline: Friday, January 26
Assignment 2: Net Ninny (4 time slots, plus own work ...)
- Important note: This assignment can take time ... To complete this assignment on time, you are therefore strongly advised to spend lots of time on it as soon as possible.
- Deadline: Friday, February 16
Assignment 3: Transport-layer and TCP friendly protocols (1 time slots, plus own work ...)
- Deadline: Friday, February 23
Assignment 4: Distance vector routing (4 time slots, plus own work ...)
- Deadline: Friday, March 9
Old pointersPointers that may have been used by students in previous editions of the course, and that I therefore did not want to remove ...
Java vs. C++
Some important differences between C++ and Java:
Corba in Java
Page responsible: Andrei Gurtov
Last updated: 2018-01-15