Hide menu

TDDB68 Concurrent programming and Operating Systems

Labs

Lab Signup

The course was given for the last time spring 2023. From spring 2024 the course TDDE68 is given instead.

The last day to sign up for the labs is 2024-01-19. If you encounter any problems with signing up for labs, please contact your course assistant.

Information for returning students

  • The labs 2024 are slightly reworked compared to 2023 and you need to demonstrade the new version.
  • Attending the lab sessions and demonstrating to the lab assistants can be done based on availability. First-time students have first priority.
  • Regarding webreg, you should register in the group "Returning students". Previous results can be accounted for by mailing your course assistant.
  • TDDE47 students: If you only wish to demonstrate your labs (or take the exam), there is no need to do a formal course registration, your old registration is sufficient. 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 to be ensured a seat.
  • TDDB68 students: You do not have to register to TDDE68 nor re-register to TDDB68. Just finish up your labs according to TDDE68 instruction and we'll handle the rest. Your previous registration to TDDB68 is sufficient for both labs and exam.

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.

Deadlines

There are three main deadlines related to the lab series:

  • 2024-01-19 Deadline for signing up in webreg
  • 2024-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 to get the bonus points is on 2024-03-08
  • 2024-03-26 Final deadline to pass the lab series (hard deadline). There is a demonstration session scheduled on 2024-03-26 which is the last chance to demonstrate before June.

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 pass the demonstration, meaning you code seem to work sufficiently good and you seem knowledgeable, you may still be asked to fix something after our inspection of your code. In this case you have 7 days and one shot at submitting the rectified code and still retain the bonus. The clock start ticking once you are notified of the issues.

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 23
  • Labs 1 and 2: February 6
  • Labs 3 and 4: February 20
  • Labs 5 and 6: March 8

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.

Assignments

The lab assignments are are provided as PDF documents below.
  • Lab0: Lists and setup PDF
  • Lab1: Command line PDF
  • Lab2: Basic system calls PDF
  • Lab3: Basic Synchronization PDF
  • Lab4: exec PDF
  • Lab5: wait and exit PDF
  • Lab6: File system 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 TDDE68/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 2023 (TDDB68)

Lab instructions from 2023:
  • Lab0: Lists and setup PDF
  • Lab1: Basic system calls PDF
  • Lab2: Basic Synchronization PDF
  • Lab3: exec and exit PDF
  • Lab4: Command line PDF
  • Lab5: wait PDF
  • Lab6: File system PDF

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: M. Asplund and K. Arvidsson
Last updated: 2024-03-07