Hide menu

TDTS06 Computer Networks

Lab assignments

Required (mandatory) assignments

The lab series consists of a series of programming assignments to be presented gradually to a lab assistant. 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.

For most people there will NOT be enough time during the lab times to solve all the assignments. As some of the later assignments can be demanding, and require programming, you are responsible to work hard outside of the allocated lab times to keep up with the labs. Based on past courses, we strongly encourage you to work hard from the first week of the course. Students that fall behind often struggle to catch up.

IMPORTANT about deadlines (updated 10/10/2017):
  • October 14 is the recommended semi-hard deadline for the assignments. You strongly recommend that you have all assignments completed by this time, as this greatly will improve your chances to pass the assignments.
  • October 17 is the first hard deadline for the assignments. This is the last date for demonstration of, and handing in the code for, the assignments. 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 November 3, at 17.00. This is the last date for demonstration of, and handing in the code for, the assignments. Contact your lab assistant and schedule a suitable time.
  • After the deadline you will only be allowed to hand in assignment solutions during the exam periods for the TDTS06 course in January, but only if you have previously passed at least assignments 1 and 2. The hard deadline to hand in the assignments during the January exam period will be at the date of the TDTS06 exam (during that period).
  • From the date of the hard deadlines, 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.)
  • Finally, 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.
Other notes and advice for the assignments:
  • For all emails regarding the assignments, you should use your LiU email and cc your lab partner.
  • Advice: The first assignment is relatively straight forward, is intended as a warmup exercise that helps you get prepared for the second assignment. It is expected to be done very quickly in the first week, so that you can hit the second assignment running. The second assignment can be much more time consuming and it is strongly recommended that you start it as soon as possible and work hard, so that you can solve, demonstrate, and report the results within before the September deadline. Of course, doing assignment 1 carefully will help here.

Assignment series overview

  • Similar to in your future work life, many of these labs have more than one solution/answer and require that you to digg 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.

Registering in Webreg
  • Register here
  • Deadline: 30.08.2017 (or as soon as possible!!)
  • Note 1: Assignment 2 will include learning socket programming in C/C++, java, python or Ruby.
    Recommended groups:
    • C/C++: B, C
    • Java: A
    • Python: A
    • Ruby: C
  • Note 2: Unfortunately, non-registered international students have occasionally had problem to register in WebReg. If you have problem registering in the course, please try at the student center. Once you are registered for the course AND verified your selections on the student portal you should (supposedly) be able to sign up in WebReg. (Unfortunately, it also appears that you may have to wait a day or so for the registrations to get through the system and your IDA accounts to be activated.) In the meantime, I would strongly suggest that you start doing the assignments (and attend the lab sessions).

Assignment 1: "Wireshark lab: Getting started + HTTP" (1 time slot)
  • Instructions
  • Target deadline: Sept. 2 (for purpose of priority)

Assignment 2: Net Ninny (3 time slots)
  • Instructions
  • Sockets and Assignment 2 lecture (Vengatanathan): 2016
  • 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.
  • Target deadline: Sept. 23 (for purpose of priority)

Assignment 3: Transport-layer and TCP friendly protocols (2 time slots)
  • Instructions
  • Target deadline: Oct. 7 (for purpose of priority)

Assignment 4: Distance vector routing (2 time slots)
  • Instructions
  • Target deadline: Oct. 14 ("semi-hard" for all assignments, please see deadline for labs above)

Optional (bonus) assignment

Solving an optional assignment during the course can render you up to 4 extra points to be used for the written examination (but not resit exams).

  • Instructions
  • Hard deadline: Oct. 17, 23:59 (hard deadline)

Old assignments

Previous year's assignments can be found here: 2010, 2011, 2013, 2014, 2015.

Page responsible: Andrei Gurtov
Last updated: 2017-10-10