Exercise Content
The exercises include tutorial and computer exercises. Tutorial exercises will deepen and complement the lectures contents. Additional programming tasks facilitate practical experience on system-level programming. In the computer exercises, workstations in the computer room are reserved for SLP/SPiC students, whereby a supervisor will generally be available to provide assistance if required. In these exercises, system-level programming is practiced in two ways: On the one hand in the form of programming the hardware of an AVR microcontroller directly, on the other hand by reimplementing some common Linux system tools.Exercise Slides
| No. | Topic | Week | Slides | Material |
|---|---|---|---|---|
| 1 | Orga, IDE, Optimizations, Exercise 1 | 28.04.2025 | Handout, Animated | |
| 2 | Data Types, Visibility, Bitoperations, Modulo, Polling, Exercise 2 | 05.05.2025 | Handout, Animated | |
| 3 | Moduls, I/O Ports, Register, Exercise 3 | 12.05.2025 | Handout, Animated | |
| 4 | Additions Pointers, Hands-On (Pointers) | 19.05.2025 | Handout, Animated | pointer.c |
| 5 | Interrupts, Synchronization, Power-Saving Modes, Exercise 4 | 26.05.2025 | Handout, Animated | |
| 6 | Timer, Exercise 5, Hands-On (Coffee Machine) | 02.06.2025 | Handout, Animated | |
| 7 | No exercise | 09.06.2025 | Handout, Animated | |
| 8 | Hands-on (Coffee Machine), Hands-On (Marquee) | 16.06.2025 | Handout, Animated | |
| 9 | Linux Programming, Error Handling, Command-Line Arguments, Strings, Exercise 6, Buffer Overflow | 23.06.2025 | Handout, Animated | |
| 10 | Filesystems, Exercise 7 | 30.06.2025 | Handout, Animated | |
| 11 | Processes, Exercise 8 (Part a)) | 07.07.2025 | Handout, Animated | mish_vorlage.c |
| 12 | Signals, Exercise 8 (Part b) and c)) | 14.07.2025 | Handout, Animated | |
| 12 | Exam Preparation | 21.07.2025 | Handout, Animated |
Assignments
| No. | Title | Abstract | Start | Days | Teams | Files to submit | Points |
|---|---|---|---|---|---|---|---|
| 1 | blink | Getting started, Implementation of a LED-Blink-Programm | 28.04.2025 | 7 | Nein | blink.c | 3 |
| 2 | snake | C Control Structures, Functions, SPiCboard-Components, Bitoperations | 05.05.2025 | 7 | Ja | snake.c | 12 |
| 3 | led-modul | Pointers, AVR I/O-Ports, Modules | 12.05.2025 | 14 | Ja | led.c, led-test.c | 14 |
| 4 | spiel | Interrupts, Power-Saving Modes, Concurrency, Synchronization, volatile | 26.05.2025 | 14 | Ja | spiel.c | 12 |
| 5 | solar | Interrupts, Power-Saving Modes, Concurrency, Synchronization, volatile | 09.06.2025 | 14 | Ja | solar.c | 15 |
| 6 | concat | C under Linux, Memory Allocations, Strings | 23.06.2025 | 7 | Nein | concat.c | 10 |
| 7 | printdir | POSIX, Structs | 30.06.2025 | 7 | Ja | printdir.c | 12 |
| 8 | mish | POSIX-Processes, Signals | 07.07.2025 | 14 | Ja | mish.c | 22 |
Additional assignments for practice
| Title | Files to implement |
|---|---|
| 7seg | 7seg.c |
| wuerfel | wuerfel.c |
| zaehler | zaehler.c |
| button | button.c |