SubjectsSubjects(version: 945)
Course, academic year 2023/2024
   Login via CAS
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 2023 to 2023
Semester: summer
E-Credits: 5
Hours per week, examination: summer s.:2/1, C+Ex [HT]
Capacity: unlimited
Min. number of students: unlimited
4EU+: no
Virtual mobility / capacity: no
State of the course: taught
Language: Czech, English
Teaching methods: full-time
Teaching methods: full-time
Additional information: https://www.ksi.mff.cuni.cz/teaching/nswi170-web/
Guarantor: RNDr. Jakub Yaghob, Ph.D.
doc. RNDr. Martin Kruliš, 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 | http://www.cuni.cz/UKEN-329.html