Programming for UNIX- Systems
Course: Computer Systems and Networks Engineering
Structural unit: Faculty of Radiophysics, Electronics and Computer Systems
Title
Programming for UNIX- Systems
Code
ВБ 1.1
Module type
Вибіркова дисципліна для ОП
Educational cycle
First
Year of study when the component is delivered
2023/2024
Semester/trimester when the component is delivered
4 Semester
Number of ECTS credits allocated
4
Learning outcomes
The student must know: the concepts of open system in relation to operating systems (OS), open specifications, the purpose of this concept; basic concepts of OS and their architecture, classification of OS by kernel structure; concepts of processes and flows and their purpose, graphical shells of the OS; script programming: basic principles, methods and tools; system programming in the OS environment and API functions.
Form of study
Full-time form
Prerequisites and co-requisites
The discipline "Programming for UNIX-systems" is based on a series of disciplines of professional and practical training, in particular, "Discrete Mathematics", "Programming", "Fundamentals of Computer Hardware and Software".
Course content
Basic concepts of UNIX and other POSIX-compatible systems. Command line interface. Command syntax: action, argument, option. Functional division of users: owner, group, others, administrator. System for regulating the authority of users to access files and rules for its use. File system and paths to resources, mounting and dismounting external devices. UNIX Command Interpreter (shell), its main functions; data areas and variables. File name generation tools. Regular expressions in UNIX. OS mechanisms: pipelines and character shielding. Multitasking: foreground and background processes, teams working with them. Common types of shells: bash, ksh, POSIX shell, their features. Shell language programming: basic constructions: conditional, cyclic, switches and auxiliary. Processing command line options in scripts, using functions and arrays. Python as a full-featured UNIX scripting language.
Recommended or required reading and other learning resources/tools
1. Погорілий С.Д. Програмне конструювання. Підручник за редакцією академіка АПН України Третяка О.В., видання 2-е. Київ : ВПЦ "Київський університет", Київ, 2007.
2. Погорілий С.Д. “Автоматизація наукових досліджень. Основоположні математичні відомості. Програмне забезпечення. Задачі та лабораторні практикуми” за редакцією академіка АПН України Третяка О.В. Київ: ВПЦ “Київський університет”, 2002.
3. С.Д. Погорілий, В.А.Мар’яновський. Програмування для UNIX-систем. Навчальний посібник до лабораторних робіт. Видавнича лабораторія радіофізичного факультету Київського національного університету імені Тараса Шевченка, 2012, 88 с.
4. А. В. Анісімов, А. Ю. Дорошенко, С. Д. Погорілий, Я. Ю. Дорогий. Програмування числових методів мовою PYTHON. За редакцією чл.-кор. НАН України А. В. Анісімова. Київ: ВПЦ «Київський університет», 2015 р. 640 с.
Planned learning activities and teaching methods
Lectures, laboratory work, individual independent work
Assessment methods and criteria
Semester assessment: The academic semester includes 2 forms of reporting: 2 tests, for each from 0 to 15 points and for the laboratory workshop - from 0 to 30 points.
Final assessment (in the form of credit): credit form - written and oral. The test consists of 2 questions and 2 tasks. Each question and task evaluated from 0 to 10 points. In total, you can get from 0 to 40 points for the test. The condition for achieving a positive result for the discipline is to obtain at least 60 points, while the score for the test can’t be less than 25 points.
Conditions for admission to the test: the student receives a total of not less than 35 points per semester and the submission of all laboratory work.
Language of instruction
Ukrainian
Lecturers
This discipline is taught by the following teachers
Sergiy
Demyanovych
Pogorilyy
Faculty of Computer Engineering
Faculty of Radiophysics, Electronics and Computer Systems
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