Foundations of Computer Science III


The goals of this course are basics about the structure of computer systems and their principles of operation as well as machine-oriented programming. The lecture aims at conveying a basic understanding of how data structures (e.g. arrays) or control structures (such as loops and function calls) are transformed from high-level programming languages into machine code and implications of this regarding runtime behavior. Usually this transformation is the task of compilers, which are also shortly covered. Furthermore the lecture gives an introduction into operating systems` basic principles, tasks and services as well as linkers, loaders and fundamentals of communication networks.

Course Content

  • Computer architecture from a machine-oriented programming perspective: Structures and components, machine instructions, addressing, pipelining techniques and memory hierarchies
  • Assembler programming, machine-oriented programming in C; Transformation from high-level programming language data and control structures into machine code
  • Basic principles of operating systems
    • Processes and synchronization
    • Interrupts
    • Memory management
    • I/O
  • Basics of compilers, linkers, loaders, debugging, runtime system
  • Basics of communication systems, ISO/OSI layers


Slides, exercises and additional material will be published every week in Moodle. Please register there as soon as the course is available.

Course: L4+E4
Rotation: annually, each winter term
Time: Tuesday 14:25 – 16:05, Wednesday 14:25 – 16:05
Begin: 14.10.2013
Location: S311|08
Lecturer: Prof. Dr. Christian Bischof
Assistants: Alexander Hück and Armin Jäger
University Calendar: Tucan
Classification: Elementary Course
Language: German


Exercises start on Thursday in the first week of lectures. Assignment to specific groups and other management will be handles through Moodle. Details will be presented during the first lecture.


If questions arise, the assistants as well as the professor can be contacted using .


  • Bryant, Randal E.; O´Hallaron, David R.: Computer Systems – A Programmer´s Perspective. Pearson, 2010.
  • Dausmann, Manfred; Bröckl, Ulrich; Goll, Joachim: C als erste Programmiersprache. Teubner, 2008.
  • Tanenbaum, Andrew S.: Moderne Betriebssysteme. Pearson, 2009.
  • Tanenbaum, Andrew S.: Computernetzwerke. Pearson, 2003.