Systems Programming and Computer Architecture

What's new?

  • Please note that there will be no lecture on 1st and 2nd of November!
  • 19.09.16: You can now register for the exercise sessions on Note that you need to register for the course in mystudies first.

Course Materials


This course introduces the fundamental concepts, mechanisms, and techniques that underpin how computer systems process information, execute programs, and interact with the outside world. We focus on computing immediately above and below the boundary between hardware and software, and expose students to the practical issues that affect performance, portability, robustness, and extensibility through assembly language, the C programming language, and computer hardware from the perspective of systems software.

Topics include:

  • Representing information in computer systems
  • Systems programming in C
  • Assembly language and compiled code
  • Sequential, pipelined, and multicore processor design
  • Caches and the memory hierarchy
  • Performance optimization and performance measurement
  • Devices, I/O, traps, and DMA
  • Memory management

Main Text and Reference books

  • R. Bryant, D. O'Hallaron: Computer Systems: A Programmer's Perspective, 2nd ed. 2002, Prentice Hall.
  • B. Kernighan, D. Ritchie: C Programming Language, 2nd ed. 1988, Prentice Hall.

Recommended Text and Reference books

  • D. Patterson, J. Hennessy: Computer Organization and Design, 4nd ed. 2008, Morgan Kaufmann.
  • S. Harbison, G. Steele: C: A Reference Manual, 5nd ed. 1994, Prentice Hall.
  • S. Oualline: Practical C Programming, 1997, O'Reilly.
  • S. Prata: C Primer Plus, 2004, Sams.
  • U Kirch-Prinz, P. Prinz: C Pocket Reference, 2002, O'Reilly.
  • Intel publishes a lot of material covering the IA-32 processors. The official web site for IA-32 and Intel 64 documentation is here.






  • Chris Mnuk (mnukc at student) (En + De)
  • Mickey Vänskä (mickeyv at student) (En + De)
  • Nicolas Ochsner (ochsnern at student) (En + De)

Course Hours


  • Tue 10-12h, HG G 5
  • Wed 10-12h, NO C 60


  • Thu 13-15h, CHN D 42 (Reto Achermann)
  • Thu 13-15h, CHN G 46 (Gerd Zellweger)
  • Thu 13-15h, LEE C 104 (Lukas Humbel)
  • Thu 13-15h, LEE D 105 (Roni Haecki)
  • Thu 13-15h, LFW C 1 (Chris Mnuk)
  • Thu 13-15h, ML J 34.1 (Mickey Vänskä)
  • Thu 13-15h, ML J 37.1 (Nicolas Ochsner)