Advanced Systems Programming
- What is this course about?
- What are your expectations?
- What is the plan for the semester?
Who is teaching this course?
- Prof. Dr. Pascal Bormann
- New professor since WS25/26
- h_da alumnus (CS master’s in 2018)
About this course
- You will learn systems programming using the Rust programming language
- Very programming-heavy
- Goals:
- Learn systems thinking: Precise, efficient and clear code
- Learn modern tools and abstractions (compared to C/C++)
- Prerequisites:
- PAD1&2, RA, BS
- Know your way around C++, memory, pointers
About you
- What are your expectations for this course?
- What is your background?
- Time for an activity!
Plan for the semester
- 14 lecture blocks this semester
- Weekly labs, also 14 blocks
- Lab starts one week later than lecture (17.10.2025)
- Lab attendence is mandatory
- No-show during first lab means you are removed from the course
- Lab structure
- Incremental exercises
- Graded group project (~second half of lab)
Lecture topics
- Introduction to systems programming (1 block)
- The design philosophy of Rust (1-2 blocks)
- The fundamentals of memory management and safety (2-3 blocks)
- Zero-overhead abstractions (2 blocks)
- Error handling (1 block)
- Systems level I/O (1 block)
- Fearless concurrency (2 blocks)
- Performance, profiling and tracing (1 block)
ASP Bingo
- Play bingo by paying attention and win snacks!
- Grab your bingo sheet now!