Systemnahe Informatik (Systems Programming)

Lecturer: Prof. Dr. Pedro José Marrón, Exercises: Dr. Matteo Zella

Differently from application programming, whose focus is to develop software providing services to the user, systems programming addresses software that interacts with computer systems. In this sense, systems programming exposes the dependency between software and the hardware executing it and forces the programmer to deal with low-level system knowledge. This knowledge is relevant not only to develop efficient software but also in systems with limited resources, e.g., embedded systems like robots, vehicles, IoT devices. The lecture and the exercises provide the basis to understand and develop system programs. In the course, the following topics will be discussed:

  • Basics of computer systems
  • Machine-level representation of programs
  • Optimizing program performance
  • Memory hierarchy
  • Linking
  • System-Level I/O
  • Network programming
  • Concurrent programming

The exercises will provide hands-on experience in system programming to understand the interdependency between software and the computer system executing it. Basic knowledge of the C language is required.

For more information about the course, feel free to contact Matteo Zella (

Time and Place:

  • Room:  SE 407
  • Lecture: Thursdays 14:00-16:00
  • Exercises: Mondays 12:00-14:00

The first lecture will take place on Wednesday, October 17, 2019. The first exercise will take place on Monday, October 21, 2019.

The access key to the moodle page of the lecture/lab will be announced in the first lecture.

LSF entry: Lecture and Exercises