Hide menu

TDDB68 Concurrent programming and Operating Systems


Lab Signup

Lab signup is done in Webreg. This is necessary to keep track of your progress as well as to know how many students that will really attend the class. The last day to sign up for the labs is 2023-01-20. If you encounter any problems with signing up for labs, please contact Felipe Boeira (felipe.boeira@liu.se).

Important note for returning students: Attending the lab sessions and demonstrating to the lab assistants can be done based on availability. First-time students have first priority. Regarding webreg, there are two cases:

  • You work with the same lab partner as the first time: You do not need to do anything with webreg. Your results will be entered in the webreg instance of the year you first took the course. No need to re-demonstrate labs you have already passed.
  • You have a new lab partner: You should register in the group "Returning students" (applies only to TDDB68, for TDDE47 just talk to your lab assistant). Previous results can be accounted by talking to your lab assistant.
If you only wish to demonstrate your labs (or take the exam), there is no need to do a formal course registration. However, if you need to attend lectures/lessons and go to more than just a couple of lab sessions, you should re-register to the course.

General Information

The assignments are done in pairs, but the examination is individual. This means that it may happen that only one student in a pair recieves the passing grade. If the lab groups are not filled up, you may do the labs alone, but this is not recommended.

Beyond the scheduled lab sessions you also have to spend a significant amount of non-scheduled time on these laborations.


There are three main deadlines related to the lab series:

  • 2023-01-20 Deadline for signing up in webreg
  • 2023-03-08 Deadline to to pass the lab series in order to get the 3 point bonus on the exam, see exam page for details (hard deadline). Please note that the last demonstration opportunity is on 2023-03-07
  • 2023-03-28 Final deadline to pass the lab series (hard deadline).

Note that the entire lab series (labs 0-6) must have been approved by the lab assistant by the time of the deadline. This means that if you demonstrate on the last day and have flaws in the solution, then you will not make the deadline.

If you haven't passed the labs by the time of the final deadline, you will have to wait until the retake period in June or August do demonstrate your solution. After August, the next time to demonstrate will be during the next instance of the course next year.

We recommend you to follow these soft and approximate deadlines to be able to finish the labs in time.

  • Lab 0: January 25
  • Labs 1 and 2: February 7
  • Labs 3 and 4: February 23
  • Labs 5 and 6: March 7

Lab documentation

Lab environment

There are three options for running the labs:

  • Preferred option: Use the Linux computer lab environment provided by LiU. You can use any of the SU*-rooms in the B-building, but also any other Linux lab room (there are some at ISY and MAI). You can also access the environment remotely by accessing a dedicated machine using RDP or through ThinLinc, more information here.
  • Install the Xubuntu VM provided here and run it on VirtualBox on your own machine.
  • Setup on your own Linux machine or a self-installed VM. We do not provide any support for this option, but there are some instructions that might be helpful.


The lab assignments are are provided as PDF documents below.
  • Lab0: Lists and setup PDF
  • Lab1: Basic system calls PDF
  • Lab2: Interrupts and threads PDF
  • Lab3: User programs PDF
  • Lab4: Command line PDF
  • Lab5: Process wait PDF
  • Lab6: File systems PDF

Each lab must be demonstrated and submitted to the lab assistant for review.

Handing in code

In order to ensure that the code being examined by the lab assistant has been submitted by both students in the lab group the following process should be followed.

  1. The code is submitted to the lab assistant by creating a branch in your git repository (to which you should have invited your assistant). The name of the branch should be "Lab X submission". A link to the branch should be sent by email.
  2. Always send email from your LiU student account.
  3. Always include the course code in the subject of your email and also information about whether you want to submit a solution or ask a question. Do not mix the two.
  4. When submitting a solution, include your lab partner in the list of recipients.
  5. Include the following text in your submission:

    We hereby submit this program code as part of the examination for the programming labs in TDDB68/TDDE47 Concurrent programming and operating systems. We guarantee that all submitted code except for parts included from the lab skeleton has been written entirely by us.
    your names

  6. The student not sending the email should reply to all and state: I confirm the contents of the email to which this is a reply.

Labs from 2018 (TDDB68)

As a reference, the labs from 2018 and earlier are also available: Old Lab0, Old Lab1, Old Lab2, Old Lab3, Old Lab4. Note that lab 0 differs substantially from the previous year and that lab 3 has been replaced with the new labs 3-5.

Rules of the game

The laboration assignments are part of the examination in the course. Therefore you will have to demonstrate your solutions to your laboration assistant. And the assistant will test if you understand the solution. If it is obvious that only one student in a group of two understands the code and the concepts, then only that student will get the passing grade.
Don't cheat!

IDA's general rules and policy for examination of computer labs

Rules for examination of computer lab assignments at IDA

You are expected to do lab assignments in group or individually, as instructed for a course. However, examination is always based on individual performance.

It is not allowed to hand in solutions copied from other students, or from elsewhere, even if you make changes to the solutions. If there is suspicion of such, or any other form of cheating, teachers are obliged to report it to the University Disciplinary Board.

Be prepared to answer questions about details in specific code and its connection to theory. You may also be asked to explain why you have chosen a specific solution. This applies to all group members.

If you foresee problems meeting a deadline, contact your teacher. You can then get some help and maybe the deadline can be set to a later date. It is always better to discuss problems, instead of, e.g., to cheat.

Any kind of academic dishonesty, such as cheating (e.g., plagiarism, use of unauthorized assistance, and use of prohibited AI-based assistants) and failure to comply with university examination rules, may result in the filing of a complaint to the University Disciplinary Board. The potential penalties include suspension, warning.

Policy for handing in computer lab assignments at IDA

For all IDA courses having computer lab assignments there will be one deadline during or at the end of the course. If you fail to make the deadline, you must retake the, possibly new, lab course the next time the course is given.

If a course deviates from this policy, information will be given on the course web pages.

Page responsible: Mikael Asplund and Adrian Pop
Last updated: 2023-01-26