Hide menu

Computer Networks and Distributed Systems


Optional (bonus) assignment

Solving an optional assignment during the course can render you up to 4 extra points to be used only for the written examination after the course. Note that the bonus assignment(s) can be challenging. We therefore strongly suggest that you make sure to finish the required (mandatory) assignments before considering the taking on the bonus assignment.

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.

IMPORTANT NOTE ON DEADLINES (updated 20/1/2020): March 14 and March 27 are the HARD deadlines for the assignments. March 14 is the last date for demonstration of, and handing in the code for, the assignments before the exam. We STRONGLY recommend that you have your demonstration and hand in the code before this date. From this date up until the exam, the TAs will not answer any questions about the labs. Please use this time to study for the exam. For those assignments that still require "more work", the final, hard deadline is on March 27. This is the last date for demonstration of, and handing in the code for, the assignments. Contact your lab/teaching assistant (TA) and schedule a suitable time. After the deadline you will only be allowed to hand in assignment solutions during the exam periods for the TDTS04 course in May/June, but only if you have previously passed at least assignments 1 and 2. The hard deadline to hand in the assignments during the May/June exam period will be at the date of the TDTS04 exam (during that period).

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 21, 2020

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.

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: Le Minh Ha (Python, Java, C/C++)
  • GRB: Le Minh Ha (Python, Java, C/C++)
  • GRC: Sanjana Vupparige Vijaykumar (C++, Java)

Assignment 1: "Wireshark lab: Getting started + HTTP" (1 time slot, plus own work ...)
Assignment 2: Net Ninny (4 time slots, plus own work ...)
  • Instructions
  • 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.
  • Recommended Deadline: February 14

Assignment 3: Transport-layer and TCP friendly protocols (1 time slots, plus own work ...)
Assignment 4: Distance vector routing (4 time slots, plus own work ...) The dates above specifies the last time when the assignments should have been demonstrated for your lab assistant.

Page responsible: Andrei Gurtov
Last updated: 2020-01-20