About this course

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)

Additional information

ASP Bingo

  • Play bingo by paying attention and win snacks!
  • Grab your bingo sheet now!

Any questions?