TDDB68 Concurrent programming and Operating Systems
Labs
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.
Lab Signup
The course was given for the last time spring 2023. From spring 2024 the course TDDE68 is given instead.
If you encounter any problems with signing up for labs, please contact your course assistant.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
The main deadlines are found in your timeedit schedule. The deadline appear at 08:00 in the morning to give you a heads-up and expires at 23:59 the same day.
Note that the entire lab series (labs 0-6) must have been approved by the lab assistant by the time of the final 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. Demonstrations in June or August must be scheduled with the course assistant well in advance.
Lab documentation
- The most important piece of documentation is the original pintos documentation [stanford.edu]. Or if you prefer it, as pdf. - The projects referred to in this document are not the same as our laboration assignments!
- See the slides from the lessons from the lectures and lessons page.
- A Frequently Asked Questions page is being created.
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 Hand in!
- Lab3: Basic Synchronization PDF
- Lab4: exec PDF
- Lab5: wait and exit PDF Hand in!
- Lab6: File system PDF Hand in!
Each lab must be demonstrated to the lab assistant. The labs marked with "Hand in!" needs to be handed in for review as well.
Handing in code
Note: Only lab 2, 5, and 6 should be handed in 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.
- 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.
- Always send email from your LiU student account.
- 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.
- When submitting a solution, include your lab partner in the list of recipients.
- 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 - 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.
Hand in assessments
In general we will assess your solution based on the following points:
- Correct memory management
- No undefined behaviour
- No synchronization errors
Labs from 2023 (TDDB68)
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: Klas Arvidsson
Last updated: 2025-01-24