Computer Systems

Course: Computer Systems and Networks Engineering

Structural unit: Faculty of Radiophysics, Electronics and Computer Systems

Title
Computer Systems
Code
ОК 17
Module type
Обов’язкова дисципліна для ОП
Educational cycle
First
Year of study when the component is delivered
2023/2024
Semester/trimester when the component is delivered
6 Semester
Number of ECTS credits allocated
5
Learning outcomes
The student should know: - basic principles of information theory and basic digital logic schemes; - structure of the arithmetic and logic unit, RAM and central processor; - basic types of machine instructions and organization of virtual memory; - basics of system programming, assembly process and formats of executable files. The student should be able to: - programmatically estimate the amount of information in various data encoding options; - explain and implement the algorithms of the arithmetic and logical device; - investigate the performance of the software code with the help of profilers and optimizing compilers; - create, compile and debug programs in the assembly language using the standard tools of the Linux OS.
Form of study
Full-time form
Prerequisites and co-requisites
The discipline "Computer systems" is based on the cycle of disciplines of professional and practical bachelor's training, namely: "Programming".
Course content
The course "Computer systems" provides the necessary theoretical basis for understanding the principles and features of modern computer systems - from miniature embedded systems to high-performance supercomputers. Following the evolution of computing devices, the course examines the main inherent properties and components of computers - versatility, programmability, etc. Starting with simple digital logic circuits and gradually rising to the next levels of abstraction, the structure of the main components of the computer is presented - the arithmetic and logic unit, the processor as a whole, the memory subsystem, external interfaces, etc. The second part of the course is dedicated to the introduction to system programming and the principles of system software - the concept of machine code, the operation of the kernel of operating systems, the structure and principles of creating executable program files. As a practical task, the task of automating the build of a software project using the Make utility is proposed. The course includes laboratory work devoted to information theory, development of an arithmetic and logic unit simulator, research into software code optimizations, and assembly language programming. Laboratory works are designed to consolidate the understanding of the theoretical material.
Recommended or required reading and other learning resources/tools
1. Randal E. Bryant, David R. O’Hallaron. Computer Systems: A Programmer's Perspective, Global Edition. — Pearson Education, 2019. — 1122 pp. 2. J. Stanley Warford. Computer Systems. — Jones & Bartlett Publishers, 2016. — 824 pp. 3. Subrata Ghoshal. Computer Architecture and Organization: From 8085 to core2Duo & beyond. — Pearson Education, 2011. — 544 pp. 4. Jo Van Hoey. Beginning x64 Assembly Programming: From Novice to AVX Professional. — Apress, 2019. — 413 pp. 5. John Graham-Cumming. The GNU Make Book. — No Starch Press, 2015. — 230 pp.
Planned learning activities and teaching methods
Lectures, laboratory work, unsupervised work.
Assessment methods and criteria
Semester assessment: The study semester has two module assessments and 4 laboratory works. During the semester, two written tests are conducted. After completing the laboratory work with the preparation of the report, oral defenses of the reports are held by the students. Mandatory for admission to the exam is: defense of laboratory work with a total score of at least 20 and writing of module tests with a total number of points of at least 15. Instead of module tests, assignments completed by the student on the subject of classes may be counted. Final evaluation: in the form of a written exam. The examination ticket consists of 4 questions, the questions are evaluated for 10 points. In total, you can get from 0 to 40 points for the exam. A condition for achieving a positive grade for a discipline is to obtain at least 60 points, the grade for the exam cannot be less than 20 points.
Language of instruction
Ukrainian

Lecturers

This discipline is taught by the following teachers

Ievgen Andriiovych Sliusar
Faculty of Computer Engineering
Faculty of Radiophysics, Electronics and Computer Systems

Departments

The following departments are involved in teaching the above discipline

Faculty of Computer Engineering
Faculty of Radiophysics, Electronics and Computer Systems