BINF4240 - Computer Engineering and Software Systems (CESS)

Reader: Prof. Dr. Burkhard Stiller
Assistants: Eder John Scheid, Rafael Ribeiro
ECTS Points: 6
Lectures : Tuesdays, 8:15 - 9:45 from 22.02.2022
Exercises: Thursdays, 8:15 - 9:45 from 24.02.2022

Lectures and Exercises: BIN-2.A.01 (Seminarraum)

Exam: 1.D.29


June 14, 2022, 8:00 - 10:00




Computer systems have changed over the past three decades almost every aspect of our life: They manage traffic infrastructures as well as financial transactions, they provide entertainment and education, and they are hidden in many tiny, mobile devices in daily operations for homes, transport, and leisure. The Information and Communications Technology (ICT) age has arrived within our daily life. Thus, the society has to cope with such developments of digitization. However, besides communications and distributed systems being already taught in a different class, the underlying basis, especially the processing of information is performed typically at the hardware level in binary digits (bit of value zero or one). Thus, while one pillar one of our ICT-based society is driven by programs, which assume a multitude of factors and experiences over the past 75 years, the second pillar of our ICT-based society is based on foundations of the Boolean logic to make such information’s processing possible. Within part one of this lecture the understanding of these basics is provided for very basic gates, basic logic and math operations, computer arithmetics, combinatorial circuits, sequential circuits, computer architectures and organization, and computer components as well as their interactions, including inaccuracies, erroneous behavior, or processing delays. After providing these suitable grounds for the understanding of essential operational constraints, the next level of perception of technology leads to computers to interoperate, to synchronize, and to cooperate. Thus, there is the need to understand the basics of each of those systems in terms of systems software. An operating system with its kernel, library, and tools determines the fundamental basis upon which all application programs and software systems can reliably build on. Therefore, this lecture’s part two covers the fundamental principles of operating systems, including the basic principles of inter-process communications, processes and threads, scheduling, and memory and resource management in modern multi-user and multi-tasking operating systems. It continues with coordination-based systems and examples of these.



This lecture will teach computer arithmetics, combinatorial circuits, sequential circuits, computer architectures and organization extended by basic principles of modern operating systems. Overall, students will be able to understand which performance restrictions computer hardware involve, how inaccuracies in computing may occur, which operations can be reliable, how basic system software functionality has to be designed and, which inter-operations of the Internet works.


  • Lecture of "Computer Networks and Distributed Systems" is highly recommended.
  • It is recommended for the exercises to know the basics of C/C++, while relevant introduction material for C/C++ programming is available.

Course Material

Literature will be announced in the lecture. Lecture slides and additional material can be found at Lecture Material. Details on the exercises can be found at Exercises.


The information contained on this page complements the official page at the Vorlesungsverzeichnis (VVZ). In case of doubt, the official information from the VVZ is always considered valid.