/Teaching/System Level Programming/Exercises and Assessment
System Level Programming — Exercises and Assessment
Update for WS 2026/27: The mandatory A1 entry test is cancelled. A1 is an optional bonus assignment worth up to 2 points. The crossed-out A1 information below does not apply this year.
Assessment at a glance
| Component | Date | Second Chance | Points | Assessment |
|---|---|---|---|---|
| A1: Bonus assignment | — | — | Up to 2 bonus | Optional for WS 2026/27; no mandatory entry test. |
| Lecture Exam | 07.01. 13:00 | 14.01. 13:00 | 35 | Repeatable Teilleistung with two attempts. At least 17.5 out of 35 points (50%) is required to pass. |
| Practicals Exam (A8 / A9) | 20.01. 18:00 | 27.01. 16:00 | 65 | Live coding. A8 is the regular date. At least 32.5 out of 65 points (50%) is required to pass. A9 the second chance with the same threshold to pass. |
| A2–A7 | — | — | Up to 20 bonus | Regular assignments provide bonus points only. |
Grading
To pass the course, you must achieve at least 50% in each of the two mandatory assessments separately:
A1: Entry Test — at least 50%.Cancelled for WS 2026/27; optional bonus only.- Lecture Exam — at least 17.5 out of 35 points (50%).
- Practicals Exam (A8 or A9) — at least 32.5 out of 65 points (50%).
A higher score in another component or bonus points from A1–A7 cannot compensate for a score below 50% in any of these assessments. The attempt-replacement rules apply when determining the result for each component.
The base score is the lecture exam plus the practicals exam, for a maximum of 100 points. A1 provides up to 2 bonus points, and A2–A7 provide up to 20 bonus points. Bonus points can improve a positive grade, but cannot turn a negative grade into a positive grade.
If you are selected for an oral exam, its assessment of your achievement of the learning goals is applied as a factor ranging from 0% to 120% to your entire course score, including bonus points, before determining the final grade. This can also turn an otherwise passing result into a failing result. See Oral Exam below.
| Final score | Grade |
|---|---|
| 87.5 or more | 1 |
| 75 or more | 2 |
| 62.5 or more | 3 |
| 50 or more | 4 |
Assignments and recommended time frames
All regular assignments are available throughout the semester. The following time frames are recommendations, not deadlines.
| Assignment | Recommended time frame | Question hour |
|---|---|---|
| — | — | |
| A2: Multithreading | 8–21 October | A2 and A3:
4. November 11:00 CCGEG008 |
| A3: Thread Synchronization | 22 October–5 November | |
| A4: Interprocess Communication | 6–19 November | A4 and A5:
2. December 11:00 CCGEG008 |
| A5: Memory Layout and Demand Paging | 20 November–3 December | |
| A6: Dynamic Memory Implementation | 4–17 December | A6 and A7:
16. December 11:00 CCGEG008 |
| A7: Calling Conventions and Inline Assembly | 7–28 January | |
| A8 + A9: Practicals Exam | — | — |
Entry Test (A1)
Cancelled for WS 2026/27. A1 counts only as an optional bonus assignment worth up to 2 points.
A1/input.c and A1/report.cpp using the A1 tag. Follow the A1 workflow, push the branch and explicitly update the tag, and verify the tested commit in the server log. Local checks alone do not confirm submission.
Practicals Exam (A8 + A9)
- The practicals exam determines the exercise points.
- A small additional screen (<= laptop size) is allowed; desktop computers are not allowed.
- Snacks and drinks can be left in the break room.
Oral Exam
The oral exam provides an overall assessment of the extent to which you have achieved the learning goals of the course. Its result determines a multiplicative factor ranging from 0% to 120% (0 to 1.2), applied to your entire course score, including the lecture exam, practicals exam, and assignment bonus points.
The oral exam therefore affects your final course grade and can result in failing the course, even if you passed the lecture exam and the practicals exam.
Final score = (lecture-exam points + practicals-exam points + applicable assignment bonus points) × oral-exam factor. A factor of 0% reduces the final score to zero. A factor of 100% leaves the score unchanged; a factor below 100% reduces it, and a factor above 100% increases it, up to a 20% increase at 120%. For example, 80 points with a factor of 50% become 40 points, which is below the passing threshold.
The separate minimum requirements for the lecture exam and practicals exam still apply.
Students are selected randomly. Students who push changes after the practicals exam have an increased probability of being selected. Changes after the practicals exam can be used to improve assignment bonus points.
Repository and submissions
Each participant receives a Git repository. Do not change its name or path, and do not add other people to it. Use the upstream repository at https://extgit.isec.tugraz.at/slp/upstream. Submit work by tagging it with the assignment name. Use gcc/g++ 13.x or later on Linux and implement according to POSIX.
Communication
Use Discord for course questions and information.
Pitfalls
Review the pitfalls before submitting work.