SubjectsSubjects(version: 901)
Course, academic year 2021/2022
Computer Systems - NSWI170
Title: Počítačové systémy
Guaranteed by: Department of Software Engineering (32-KSI)
Faculty: Faculty of Mathematics and Physics
Actual: from 2019 to 2021
Semester: summer
E-Credits: 5
Hours per week, examination: summer s.:2/2 C+Ex [hours/week]
Capacity: unlimited
Min. number of students: unlimited
Virtual mobility / capacity: no
State of the course: taught
Language: Czech, English
Teaching methods: full-time
Additional information:
Guarantor: RNDr. Jakub Yaghob, Ph.D.
Co-requisite : NSWI120
Annotation -
Last update: doc. RNDr. Pavel Töpfer, CSc. (22.01.2018)
The course is a cornerstone for understanding the function of computers, compilers, and operating systems. The skills and knowledge acquired at this course are necessary for completing other subjects. An integral part of the course are practical exercises on suitably selected simple hardware or in an emulated environment.
Course completion requirements -
Last update: doc. Ing. Lubomír Bulej, Ph.D. (11.05.2021)

Credit is obtained for continuous work on labs, homework, and final work. Conditions may be specified by the lab teacher.

The default form of the exam is a short closed-book written test, however, the form of the exam may be influenced by epidemiological measures in place.

Because the epidemiological situation is difficult to predict, in the academic year 2020/2021 the exam will be held online.

Students are required to connect to an online Zoom meeting and work on the test with both the camera and microphone turned on.

Syllabus -
Last update: doc. RNDr. Pavel Töpfer, CSc. (25.05.2022)

Introduction to the C/C++ language - basic constructs, pointers and pointer arithmetic, complex data structures, pointers to functions, decomposition

Computer architecture

CPU - instruction set, registers, processor stack

Memory - addressing, data in memory, alignment, memory hierarchy, cache, allocation algorithms

Programming languages - program translation and compilation, memory organization of a procedural program, function/procedure call mechanism, parameter passing, variable types and lifetimes, stack, heap, runtime, JIT and sandbox concepts, libraries, source code portability

Operating systems - user mode/kernel mode, OS architectures, interrupts, exceptions, DMA, process, threads, scheduling, file systems, virtual memory

Parallel programming - synchronization, deadlock

Charles University | Information system of Charles University |