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.
- 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
- Memory management
- 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.
|Rotation:||annually, each winter term|
|Time:||Tuesday 14:25 – 16:05, Wednesday 14:25 – 16:05|
|Lecturer:||Prof. Dr. Christian Bischof|
|Assistants:||Alexander Hück and Armin Jäger|
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 gdi3-ws1415.
- 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.