EUt+ Mobility
Go back

Course Page ✏️


Advanced Systems Programming [ELECTIVE]
30.2650

Description
ELECTIVE COURSE -> not offered every semester

Learning Objectives:
The students are able to understand, design and implement hardware-efficient systems software. Students will learn the fundamentals of a modern systems programming language (Rust) and how it compares to the widely used systems programming language C++. Students will understand how to balance performance, safety and maintainability while writing systems software. By focusing on two different systems programming languages, good programming skills and a deep
understanding of common systems programming concepts are encouraged.
Content
What is Systems Programming and how does it compare to Application Programming?
Zero-overhead abstractions in C++ and Rust and how they help to write fast, readable and maintainable code
The fundamentals of memory management and memory safety
Error handling concepts in C++ and Rust for writing robust systems software
System level I/O and Network Programming
Fearless concurrency
Profiling and tracing: How to measure, evaluate and tweak performance
Tools for developing, debugging and maintaining systems software
Students will gain extensive hands-on experience in systems programming by analyzing open-source code and developing their own systems in the lab.

ECTS credits
5

Teaching Language
English

Exam Language
English

Support Materials Language
English

Basic Learning Outcomes

Managing Entity (faculty)
Computer Science Department (HDA)