The area of computer architecture gives an introduction into functionality and structure of processors and memory. The topics include Harvard- and Von-Neumann architecture, computer arithmetics (number and data representation, arithmetic operations), microarchitecture (registers, microprogramming, pipelining, branch prediction), instruction set architecture (RISC, CISC, addressing), memory (memory hierarchy, caches, virtual memory, paging). In the tutorial sessions there will be programming tasks in NASM (an assembly language).
The operating systems part gives an overview of the necessary resp. usually used components of an operating system and presents the tasks which are usually provided by an operating system. The topics include interrupts, system calls, processes/threads, memory (fragmentation, paging, virtual memory, MMU), scheduling, in-/output, file systems, system start (booting), services, security. In the tutorial sessions there will be programming tasks in C.
The final part of communication networks outlines typical network communication topics and looks at all necessary layers. The topics are: networking (sockets, the internet, layers, protocols, devices (routers, switches)), link layer (physical signals, error detection, packets, network topologies), internet layer (routing, IP, addressing), transport layer (TCP, UDP, connection setup/tear-down, ports), application layer (DNS, email, world wide web), network security (concepts, cryptography, VPNs). As in operating systems, there will be programming tasks in C.