Hide menu

Computer Networks and Distributed Systems

Laborationer


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 17/1/2016): March 11 and March 28 are the HARD deadlines for the assignments. March 11 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 28, at 17.00. 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: Friday, January 22, 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 5 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 and C correspond to the same codes in the timeedit schedule (Group_A, Group_B and Group_C, respectively). Teaching assistants and markers for the assignments are

  • GRA: Eric Henziger
  • GRB: Meysam Aghighi
  • GRC: Meysam Aghighi

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

Assignment 3: Transport-layer and TCP friendly protocols (1 time slots, plus own work ...)
  • Instructions (available)
  • Deadline: Friday, February 19 (prel.)

Assignment 4: Distance vector routing (4 time slots, plus own work ...)
  • Instructions (available)
  • Deadline: Friday, March 4 (prel.)

Assignment 5: Real-time chat and Othello (3 time slots, plus own work ...)
  • Instructions (available)
  • Deadline: Friday, March 11 (** hard deadline for all labs: March 11 (Friday) and March 28 (Monday) **)
The dates above specifies the last time when the assignments should have been demonstrated for your lab assistant.

Old pointers

Pointers 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: Niklas Carlsson
Last updated: 2016-01-18