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
| Nr. | Topic | Week | Slides | Materials |
|---|---|---|---|---|
| 1 | Orga, IDE, Optimizations, Exercise 1 | 22.04.2024 | 1x1, 1x2, 2x2 | |
| 2 | Data Types, Visibility, Bitoperations, Modulo, Polling, Exercise 2 | 29.04.2024 | 1x1, 1x2, 2x2 | |
| 3 | Moduls, I/O Ports, Register, Exercise 3 | 06.05.2024 | 1x1, 1x2, 2x2 | |
| 4 | Additions Pointers, Hands-On (Pointers) | 13.05.2024 | 1x1, 1x2, 2x2 | pointer.c |
| 5 | (canceled) | 20.05.2024 | ||
| 6 | Interrupts, Synchronization, Power-Saving Modes, Exercise 4 | 27.05.2024 | 1x1, 1x2, 2x2 | |
| 7 | Timer, Exercise 5, Hands-on (Coffee Machine) | 03.06.2024 | 1x1, 1x2, 2x2 | |
| 8 | Hands-on (Coffee Machine), Hands-on (Ticker) | 10.06.2024 | 1x1, 1x2, 2x2 | |
| 9 | Linux Programming, Error Handling, Command-Line Arguments, Strings, Exercise 6, Buffer Overflow | 17.06.2024 | 1x1, 1x2, 2x2 | |
| 10 | Filesystems, Exercise 7 | 24.06.2024 | 1x1, 1x2, 2x2 | |
| 11 | Processes, Exercise 8 (Teil a)) | 01.07.2024 | 1x1, 1x2, 2x2 | mish_vorlage.c |
| 11 | Signals, Exercise 8 (Teil b) und c)) | 08.07.2024 | 1x1, 1x2, 2x2 | |
| 12 | Exam Preparation | 15.07.2024 | 1x1, 1x2, 2x2 | mock_exam.pdf, mock_exam_man.pdf, mock_exam_solution.pdf |
Assignments
| Nr. | Topic | Description | Date | Processing Time (in days) | Group Submission | Submission | Points |
|---|---|---|---|---|---|---|---|
| 1 | blink | Getting started, Implementation of a LED-Blink-Programm | 22.04.2024 | 7 | No | blink.c | 3 |
| 2 | snake | C Control Structures, Functions, SPiCboard-Components, Bitoperations | 29.04.2024 | 7 | Yes | snake.c | 12 |
| 3 | led-modul | Pointers, AVR I/O-Ports, Modules | 06.05.2024 | 14 | Yes | led.c, led-test.c | 14 |
| 4 | spiel | Interrupts, Power-Saving Modes, Concurrency, Synchronization, volatile | 27.05.2024 | 7 | Yes | spiel.c | 12 |
| 5 | ampel | Interrupts, Power-Saving Modes, Concurrency, Synchronization, volatile | 03.06.2024 | 14 | Yes | ampel.c | 15 |
| 6 | concat | C under Linux, Memory Allocations, Strings | 17.06.2024 | 7 | No | concat.c | 10 |
| 7 | printdir | POSIX, Structs | 24.06.2024 | 7 | Yes | printdir.c | 12 |
| 8 | mish | POSIX-Processes, Signals | 01.07.2024 | 14 | Yes | mish.c | 22 |