СИСТЕМНЕ ПРОГРАМУВАННЯ
Галузь знань 12 Інформаційні технології
(шифр і назва)
Спеціальність 123 Комп’ютерна інженерія
(шифр і назва)
Освітньо-професійна програма Обслуговування комп’ютерних систем і мереж
(назва освітньо-професійної програми)
Мова навчання – українська
Програма навчальної дисципліни «Системне програмування» для здобувачів освіти спеціальності 123 Комп’ютерна інженерія (освітньо-професійна програма «Обслуговування комп’ютерних систем і мереж») у галузі знань 12 Інформаційні технології.
1. Мета навчальної дисципліни
Мета дисципліни «Системне програмування» полягає у формуванні в здобувачів освіти цілісного уявлення про те, що відбувається між програмним кодом і машиною, на трьох рівнях взаємодії: межа середовища виконання (ізоляція процесів засобами операційної системи та контейнеризація), межа керування пам'яттю (модель володіння в системній мові програмування без збирача сміття) і межа набору інструкцій (асемблер архітектури x86-64 та переносний байт-код WebAssembly).
Завданням дисципліни є: ознайомлення з програмною моделлю процесу — адресним простором, стеком, купою, системними викликами; здобуття практичних навичок роботи з механізмами ізоляції операційної системи та засобами контейнеризації для побудови відтворюваного середовища збірки й виконання; ознайомлення з моделлю володіння пам'яттю в системній мові програмування зі статичною перевіркою та здобуття досвіду читання діагностики компілятора; формування вміння читати код на рівні машинних інструкцій — асемблера x86-64 і текстового формату WebAssembly; здобуття досвіду складання застосунку із системного ядра, автоматизованої збірки та публікації результату.
Вивчення дисципліни «Системне програмування» здійснюється на компетентністних засадах.
Загальні компетентності
ЗК4. Здатність застосовувати знання у практичних ситуаціях.
ЗК5. Здатність спілкуватися державною мовою як усно, так і письмово.
ЗК7. Здатність працювати в команді.
ЗК8. Здатність вчитися і оволодівати сучасними знаннями.
ЗК9. Здатність застосовувати цифрові технології, зокрема сервіси на основі штучного інтелекту, для ефективного вирішення практичних завдань у професійній діяльності, дотримуючись принципів академічної доброчесності, норм етики та авторського права.
Спеціальні (фахові, предметні) компетентності
СК2. Здатність застосовувати на практиці фундаментальні концепції, парадигми і основні принципи функціонування апаратних, програмних та інструментальних засобів комп’ютерної інженерії.
СК3. Здатність вільно користуватись сучасними комп’ютерними та інформаційними технологіями, прикладними та спеціалізованими комп’ютерно-інтегрованими середовищами для розробки, впровадження та обслуговування апаратних та програмних засобів комп’ютерної інженерії.
СК4. Здатність брати участь у розробці системного та прикладного програмного забезпечення засобів комп’ютерної інженерії з використанням ефективних алгоритмів, сучасних методів і мов програмування.
СК7. Здатність системно адмініструвати, використовувати, адаптувати та експлуатувати наявні інформаційні технології та системи.
СК9. Здатність оформляти отримані робочі результати у вигляді презентацій, науково-технічних звітів.
СК10. Здатність аргументувати вибір методів розв’язування спеціалізованих задач, критично оцінювати отримані результати, обґрунтовувати прийняті рішення.
СК13. Здатність ідентифікувати, класифікувати та описувати роботу програмно-технічних засобів, комп’ютерних систем, мереж та їх компонентів шляхом використання аналітичних методів і методів моделювання.
СК14. Здатність оцінювати і враховувати економічні, соціальні, технологічні та екологічні чинники, що впливають на сферу професійної діяльності.
Міждисциплінарні зв’язки
Дисципліна спирається на результати навчання, здобуті під час вивчення освітніх компонентів «Алгоритми і структури даних» (ОК13), «Програмування» (ОК19), «Архітектура комп’ютерів і периферійні пристрої» (ОК21), «Комп’ютерна схемотехніка» (ОК22) та «Операційні системи» (ОК24). Результати навчання з дисципліни використовуються під час вивчення освітнього компонента «Комп’ютерні мережі» (ОК25), проходження виробничої практики (ОК38), виконання мультидисциплінарного курсового проєкту (ВК4) та підготовки кваліфікаційної роботи (ОК40).
2. Результати навчання
РН2. Знати і розуміти теоретичні положення, що лежать в основі функціонування апаратних та програмних засобів комп’ютерної інженерії.
РН3. Знати сучасні методи та технології для розв’язання прикладних задач комп’ютерної інженерії.
РН6. Тестувати, діагностувати та обслуговувати апаратні та програмні засоби комп’ютерної інженерії.
РН8. Застосовувати знання технічних характеристик, конструктивних особливостей, призначення і правил експлуатації апаратних та програмних засобів комп’ютерної інженерії для вирішення технічних задач у професійній діяльності.
РН9. Розробляти, тестувати, впроваджувати, експлуатувати програмне забезпечення для вбудованих і розподілених систем.
РН10. Здійснювати пошук інформації з різних джерел для розв’язання задач комп’ютерної інженерії.
РН11. Ідентифікувати, класифікувати та описувати роботу програмно-технічних засобів комп’ютерної інженерії.
РН12. Поєднувати теорію і практику, знаходити та обґрунтовувати шляхи рішення типових задач у професійній діяльності з урахуванням виробничих інтересів.
РН13. Обґрунтовувати прийняті рішення, оцінювати, оформляти та представляти результати професійної діяльності згідно з діючою нормативною документацією.
РН14. Використовувати сучасні інтегровані середовища, методи і технології розробки, впровадження, адміністрування комп’ютерних систем та мереж, баз даних і знань.
РН15. Проводити інсталяцію та налаштування системного та прикладного програмного забезпечення, у тому числі програмних засобів захисту інформації з метою реалізації встановленої політики інформаційної безпеки.
РН17. Вміти обґрунтовано обирати та використовувати цифрові інструменти, сервіси на основі штучного інтелекту, для вирішення фахових завдань, дотримуючись принципів академічної доброчесності, етичних норм та правових вимог щодо захисту авторського права.
3. Структура навчальної дисципліни
3.1. Структура навчальної дисципліни загальна й за семестрами
На вивчення навчальної дисципліни відведено 90 годин
Перед першою лекцією та першою лабораторною роботою передбачено вступні організаційно-ознайомчі заняття «Лекція 0» і «Лабораторна робота 0», які проводяться поза сіткою годин, не оцінюються і доступні здобувачам освіти впродовж усього семестру.
| Кількість годин | Розподіл по семестрах та форми контролю | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Всього | На заняттях | СРС | Семестр 7 денна форма навчання | ||||||
| Лекції | Практ. | Лабор. | Семінар. | Іспит | Залік | Конс. | |||
| 90 | 40 | 50 | 20 | - | 20 | - | - | х | - |
3.2. Тематичний план
| № | Назва розділу (модуля), теми(змістові модулі) |
|
| Результати навчання | ||||
|
|
|
|
| ||||
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| ||||||||
| 1 | Лекція 1. Три межі курсу: процес, адресний простір, системні виклики. | 2 | 2 | ЗК4, ЗК8; СК2, СК13 |
| |||
| 2 | Лекція 2. Образ як шари, Dockerfile, кеш, багатоетапна збірка: від інструкцій у тексті до бінарних шарів на диску. | 2 | 2 | ЗК4, ЗК8; СК3, СК7 |
| |||
| 3 | Лекція 3. Простори імен, групи керування (cgroups), привілеї: ізоляція ядром без віртуалізації заліза. | 2 | 2 | ЗК4, ЗК8; СК2, СК7, СК13 |
| |||
| 4 | Лабораторна робота №1. Контейнер розробника: перша капсула. | 7 | 2 | 5 | ЗК4, ЗК5, ЗК8, ЗК9; СК2, СК3, СК7, СК9 |
| ||
| 5 | Лабораторна робота №2. Dockerfile з багатоетапною збіркою і порівнянням розмірів. | 7 | 2 | 5 | ЗК4, ЗК7, ЗК8, ЗК9; СК3, СК7, СК10 |
| ||
| 6 | Лабораторна робота №3. Простори імен на практиці: два контейнери в ізольованій мережі. | 7 | 2 | 5 | ЗК4, ЗК7, ЗК8, ЗК9; СК3, СК7, СК10 |
| ||
| Всього по темі | 27 | 6 | 6 | 15 | ||||
| ||||||||
| 7 | Лекція 4. Чому програми псують пам’ять: ціна помилки керування пам’яттю. | 2 | 2 | ЗК4, ЗК8; СК2, СК10, СК14 |
| |||
| 8 | Лекція 5. Володіння і запозичення: хто власник значення — і як ним скористатися, не забираючи. | 2 | 2 | ЗК4, ЗК8; СК2, СК4 |
| |||
| 9 | Лекція 6. Зрізи, часи життя і типи без null: дивитися в дані, не володіючи ними — і описувати їхню відсутність явно. | 2 | 2 | ЗК4, ЗК8; СК2, СК4 |
| |||
| 10 | Лекція 7. Result, оператор ? і власні типи помилок: помилка як значення, а не як виняток. | 2 | 2 | ЗК4, ЗК8; СК4, СК10 |
| |||
| 11 | Лабораторна робота №4. Перший проєкт на Cargo з юніт-тестом. | 7 | 2 | 5 | ЗК4, ЗК7, ЗК8, ЗК9; СК3, СК4, СК9 |
| ||
| 12 | Лабораторна робота №5. Набір програм, що не компілюються (borrow checker). | 7 | 2 | 5 | ЗК4, ЗК7, ЗК8, ЗК9; СК4, СК10 |
| ||
| 13 | Лабораторна робота №6. Структури і перелічення без null. | 7 | 2 | 5 | ЗК4, ЗК7, ЗК9; СК4, СК10, СК13 |
| ||
| 14 | Лабораторна робота №7. Читання файлу з обробкою помилок. | 7 | 2 | 5 | ЗК4, ЗК5, ЗК7, ЗК9; СК4, СК9, СК10 |
| ||
| Всього по темі | 36 | 8 | 8 | 20 | ||||
| ||||||||
| 15 | Лекція 8. WebAssembly як переносний асемблер: один код — дві машини. | 2 | 2 | ЗК4, ЗК8; СК2, СК3 |
| |||
| 16 | Лекція 9. Асемблер x86-64: мова, якою насправді говорить процесор. | 2 | 2 | ЗК4, ЗК8; СК2, СК13 |
| |||
| 17 | Лекція 10. Rust у WASM, межа з host-середовищем: замикання лінії курсу. | 2 | 2 | ЗК4, ЗК8; СК3, СК4 |
| |||
| 18 | Лабораторна робота №8. Модуль на WAT вручну. | 7 | 2 | 5 | ЗК4, ЗК7, ЗК8, ЗК9; СК2, СК4 |
| ||
| 19 | Лабораторна робота №9. Той самий алгоритм у двох асемблерах. | 7 | 2 | 5 | ЗК4, ЗК7, ЗК8, ЗК9; СК10, СК13 |
| ||
| 20 | Лабораторна робота №10. Ядро на Rust у WASM на сторінці з відтворюваною збіркою. | 7 | 2 | 5 | ЗК4, ЗК7, ЗК8, ЗК9; СК3, СК4, СК9, СК10 |
| ||
| Всього по темі | 27 | 6 | 6 | 15 | ||||
| Всього по курсу | 90 | 20 | 20 | 50 |
3.3. Теми лекційних занять
| № з/п | Назва теми | К-сть годин | Літ-ра |
| 1 | 2 | 3 | 4 |
| 1 |
| 2 |
|
| 2 |
| 2 |
|
| 3 |
| 2 |
|
| 4 |
| 2 |
|
| 5 |
| 2 |
|
| 6 |
| 2 |
|
| 7 |
| 2 |
|
| 8 |
| 2 |
|
| 9 |
| 2 |
|
| 10 |
| 2 |
|
| 20 |
3.4. Теми практичних занять – навчальним планом не передбачені
3.5. Теми лабораторних занять
| № з/п | Назва теми | К-сть годин | Літ-ра |
| 1 | 2 | 3 | 4 |
| 1 |
| 2 |
|
| 2 |
| 2 |
|
| 3 |
| 2 |
|
| 4 |
| 2 |
|
| 5 |
| 2 |
|
| 6 |
| 2 |
|
| 7 |
| 2 |
|
| 8 |
| 2 |
|
| 9 |
| 2 |
|
| 10 |
| 2 |
|
| 20 |
3.6. Теми семінарських занять – навчальним планом не передбачені
3.7. Самостійна робота
| № з/п | Назва теми | К-сть годин | Форми контролю | Літ-ра |
| 1 |
| 2 | Захист відповідної лабораторної роботи (рівень 2) | [3, 7, 15, 17] |
| 2 |
| 3 | Захист відповідної лабораторної роботи (рівень 3) | [3, 7, 15, 17] |
| 3 |
| 2 | Захист відповідної лабораторної роботи (рівень 2) | [7, 13, 14] |
| 4 |
| 3 | Захист відповідної лабораторної роботи (рівень 3) | [7, 13, 14] |
| 5 |
| 2 | Захист відповідної лабораторної роботи (рівень 2) | [7, 14, 16] |
| 6 |
| 3 | Захист відповідної лабораторної роботи (рівень 3) | [7, 15, 16] |
| 7 |
| 2 | Захист відповідної лабораторної роботи (рівень 2) | [4, 5, 9] |
| 8 |
| 3 | Захист відповідної лабораторної роботи (рівень 3) | [4, 9, 19] |
| 9 |
| 2 | Захист відповідної лабораторної роботи (рівень 2) | [4, 5, 9] |
| 10 |
| 3 | Захист відповідної лабораторної роботи (рівень 3) | [4, 5, 9] |
| 11 |
| 2 | Захист відповідної лабораторної роботи (рівень 2) | [4, 5, 9] |
| 12 |
| 3 | Захист відповідної лабораторної роботи (рівень 3) | [4, 5, 9] |
| 13 |
| 2 | Захист відповідної лабораторної роботи (рівень 2) | [4, 5, 9] |
| 14 |
| 3 | Захист відповідної лабораторної роботи (рівень 3) | [4, 5, 9] |
| 15 |
| 2 | Захист відповідної лабораторної роботи (рівень 2) | [6, 11, 12] |
| 16 |
| 3 | Захист відповідної лабораторної роботи (рівень 3) | [6, 11, 12] |
| 17 |
| 2 | Захист відповідної лабораторної роботи (рівень 2) | [1, 2, 8] |
| 18 |
| 3 | Захист відповідної лабораторної роботи (рівень 3) | [1, 2, 8, 16] |
| 19 |
| 2 | Захист відповідної лабораторної роботи (рівень 2) | [6, 10, 12] |
| 20 |
| 3 | Захист відповідної лабораторної роботи (рівень 3) | [4, 6, 7, 10, 13] |
| 50 |
4. Критерії оцінювання (за формами роботи)
Оцінювання навчальних досягнень з дисципліни «Системне програмування» здійснюється за національною п’ятибальною шкалою («5», «4», «3», «2») відповідно до критеріїв, наведених нижче: певний рівень навчальних досягнень передбачає, що всі вказані для попередніх рівнів знання, уміння і навички повністю опановані. Рейтингова (100-бальна) шкала з дисципліни не застосовується. Наведена нижче таблиця подає довідкову відповідність п’ятибальної шкали європейській (ECTS) і дванадцятибальній:
| Оцінка з дисципліни (5-бальна шкала) | ECTS (довідково) | 12-бальна (довідково) | Рівень навчальних досягнень |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4.1. Критерії оцінювання рівня володіння теоретичними знаннями
Оцінка «5» (відмінно). Студент повністю й впевнено знає навчальний матеріал, вільно їм володіє, легко відрізняє головне від другорядного, у підтвердження висновків наводить правильні приклади, самостійно робить необхідні висновки й узагальнення, вправи та завдання виконує швидко й вірно, дає точні та чіткі формулювання, вміє самостійно працювати, зразково виконує практичні завдання, вільно використовує одержані знання на практиці.
Оцінка «4» (добре). Студент повністю й твердо знає навчальний матеріал, може виділити головне, відповідає переконливо, вдумливо, послідовно, без додаткових запитань. Вміє працювати з книгою. Деякий час роздумує над питаннями, але вміє долати труднощі самостійно. Вміє поєднати теорію з практикою. Практичні вправи виконує з незначною допомогою викладача.
Оцінка «3» (задовільно). Студент засвоїв мінімум програмового матеріалу, виникають довгі розмірковування під час відповіді на видозмінені або ускладнені питання, інколи йому погрібні навідні запитання. У письмових роботах і під час практичних завдань допускає помилки, недостатньо добре може працювати з підручником, в основному може використовувати на практиці одержані теоретичні знання.
Оцінка «2» (незадовільно). Студент не засвоїв основного навчального матеріалу. Відповідає лише за допомогою навідних запитань, у відповідях не може виділити головного. Відповіді помилкові. Самостійно не розбирається в навчальному матеріалі, практичні завдання виконувати не може.
4.2. Критерії оцінювання навчальних досягнень при виконанні лабораторних робіт
Оцінювання лабораторної роботи здійснюється за трьома рівнями досягнення. Рівень 1 — автоматизовані тести до завдання виконуються успішно, звіт оформлено відповідно до вимог і прийнято без критичних зауважень. Рівень 2 — здобувач освіти захищає роботу, пояснюючи власний код. Рівень 3 — здобувач освіти виконав розширене завдання, передбачене умовою лабораторної роботи. Кожен наступний рівень передбачає виконання вимог попереднього.
Самостійна робота окремо не здається і не оцінюється. До кожної лабораторної роботи віднесено дві теми самостійної роботи: перша готує до захисту на рівні 2, друга — до виконання розширеного завдання на рівні 3. Здобувач освіти може досягти будь-якого рівня незалежно від того, чи опрацьовував він ці теми.
Рівень 1 фіксується на занятті за результатами автоматизованої перевірки. Рівні 2 і 3 підтверджуються на захисті, який може відбутися пізніше: оцінку за лабораторну роботу можна підвищити до завершення відповідного модуля.
За лабораторну роботу оцінка виставляється кожному здобувачеві освіти. Здобувач освіти оформляє письмовий звіт по лабораторній роботі; звіти зберігаються протягом навчального року. Обов’язковим при оцінюванні є врахування дотримання здобувачами освіти правил техніки безпеки під час виконання лабораторних робіт.
Оцінка «5» (відмінно) — рівень 3. Виконано вимоги рівня 2; здобувач освіти виконав розширене завдання, опрацював граничні випадки та обґрунтував прийняті рішення, порівнявши їх з альтернативними.
Оцінка «4» (добре) — рівень 2. Виконано вимоги рівня 1; здобувач освіти на захисті пояснює власний код, обґрунтовує вибір використаних конструкцій і відповідає на запитання по суті роботи.
Оцінка «3» (задовільно) — рівень 1. Автоматизовані тести до завдання виконуються успішно, звіт прийнято без критичних зауважень. Роботу виконано за інструкцією; здобувач освіти відтворює послідовність дій і пояснює отриманий результат.
Оцінка «2» (незадовільно). Автоматизовані тести не виконуються, або звіт відсутній чи не відповідає виконаній роботі; здобувач освіти не може пояснити отриманий результат.
Умовою допуску до заліку є виконання всіх десяти лабораторних робіт щонайменше на рівні 1. Індивідуальний проєкт є необов’язковим і виконується за бажанням здобувача освіти.
4.3. Критерії оцінювання навчальних досягнень при виконанні тестових завдань
Тестова перевірка знань дає можливість індивідуалізувати процес контролю виконання здобувачами освіти програми курсу, об’єктивно перевірити знання теоретико-методичного матеріалу, виявити рівень сформованості в них професійних компетентностей.
Студентам пропонується виконати тестові завдання закритого типу (30 завдань з варіантами відповіді й однією або кількома правильними відповідями).
Оцінювання тестів здійснюється за п’ятибальною шкалою:
Оцінка «5» (відмінно) — ≥ 85% правильних відповідей;
Оцінка «4» (добре) — ≥ 75% правильних відповідей;
Оцінка «3» (задовільно) — ≥ 60% правильних відповідей;
Оцінка «2» (незадовільно) — < 60% правильних відповідей.
4.4. Критерії оцінювання результатів навчання, здобутих у неформальній та інформальній освіті
4.4.1. Умови для зарахування результатів
Визнання результатів неформальної освіти здійснюється на основі одного з двох варіантів. Варіант А (документальний): надання сертифіката про успішне проходження онлайн-курсу від освітніх платформ. Варіант Б (практичний): виконання та захист індивідуального проєкту або доповіді-презентації, якщо курсом не передбачений сертифікат.
Загальні вимоги: зміст навчання має прямо корелювати з результатами навчання дисципліни; курс має бути пройдений протягом семестру; обов’язковою є верифікація знань шляхом бесіди або захисту результатів. Обов’язковою умовою зарахування є суворе дотримання принципів академічної доброчесності та етики використання інструментів штучного інтелекту (РН17).
Для дисципліни «Системне програмування» верифікація проводиться у формі захисту відповідної лабораторної роботи на рівні 2 або 3: здобувач освіти демонструє засвоєний матеріал у власному коді. Окрема процедура не запроваджується.
4.4.2. Критерії оцінювання результатів навчання (неформальна освіта)
| Оцінка | Критерій оцінювання | Вимоги до здобувача освіти (сертифікат або проєкт) |
| Зарахування результатів неформальної освіти / відмінне виконання проєкту |
|
| Зарахування результатів неформальної освіти / добре виконання |
|
| Зарахування результатів неформальної освіти / задовільне виконання |
|
| Незарахування результатів неформальної освіти / незадовільне виконання |
|
4.4.3. Процедура підтвердження, якщо сертифікат відсутній
Якщо освітній курс не передбачає видачу сертифіката, здобувач освіти підтверджує знання одним із способів: презентація результатів (демонстрація набутих навичок на власному коді); звіт про навчання (короткий виклад ключових тез курсу та їх застосування в межах дисципліни); співбесіда-валідація (детальне опитування викладачем за програмою пройденого курсу).
4.5. Політика використання інструментів штучного інтелекту
Дисципліна «Системне програмування» реалізує компетентність ЗК9 і результат навчання РН17, тому використання цифрових інструментів і сервісів на основі штучного інтелекту є частиною навчального процесу, а не порушенням. Ключовий принцип оцінювання: авторство коду не має значення — значення має здатність здобувача освіти пояснити кожен рядок і відповісти на питання без підказок. Перевіряється розуміння, а не походження коду.
Зелене світло (дозволено та заохочується)
Використання інструментів штучного інтелекту як репетитора — пояснення концепцій, розбір повідомлень компілятора, приклади; генерація, рефакторинг і налагодження коду лабораторних робіт; пошук ідей і структурування роботи; переклад англомовних джерел; редагування мови звіту.
Жовте світло (дозволено із зазначенням)
У звіті REPORT.md зазначається одним реченням, який інструмент і для якої задачі використано (наприклад: «код рівня 2 згенеровано з використанням ШІ-асистента, обробку помилок переписано самостійно»). Зазначення не знижує оцінку — це елемент академічної культури посилань.
Червоне світло (не зараховується)
Здача роботи, логіку якої здобувач освіти не може пояснити на захисті: у цьому разі відповідний рівень не зараховується до моменту пояснення. Використання інструментів штучного інтелекту в реальному часі під час захисту лабораторної роботи, тестового або модульного контролю. Наведення вигаданих джерел і посилань. Подання чужої роботи як власної.
Зарахування сертифікатів профільних курсів як рівня 2 відповідної лабораторної роботи здійснюється за процедурою п. 4.4 з обов’язковою співбесідою — за тим самим принципом: перевіряється розуміння.
Шкала оцінювання знань здобувачів освіти
| Сума балів за всі види навчальної діяльності | Оцінка ECTS | Оцінка за національною шкалою для екзамену |
|---|---|---|
| А | відмінно |
| В | добре |
| С | |
| D | задовільно |
| Е | |
| FX | незадовільно з можливістюповторного складання |
| F | незадовільно з обов’язковимповторним вивченням дисципліни |
5. Засоби оцінювання
Звіти про виконання лабораторних робіт з автоматизованою перевіркою результатів.
Захист лабораторної роботи з поясненням власного коду (рівень 2).
Захист розширеного завдання лабораторної роботи (рівень 3).
Захист необов’язкового індивідуального проєкту.
Тестовий контроль за темами.
Обов‘язкові та директорські контрольні роботи.
6.1. Основна література
Рисований О.М. Системне програмування: підручник для студентів напрямку «Комп’ютерна інженерія» вищих навчальних закладів. Том 1. — Видання четверте: виправлено та доповнено. — Х.: «Слово», 2015. — 576 с.
Тонкошкур О.С., Гниленко О.Б., Матвєєва Н.О., Морозов О.С. Архітектура комп’ютерів. Машинні команди та програмування на асемблері: навчальний посібник. — Д.: Вид-во «Нова Ідеологія», 2018. — 179 с.
Зайцев В.Г., Дробязко І.П. Операційні системи: навч. посіб. для студ. спеціальності 123 «Комп’ютерна інженерія» / КПІ ім. Ігоря Сікорського. — Київ: КПІ ім. Ігоря Сікорського, 2019. — 240 с.
Klabnik S., Nichols C. The Rust Programming Language. — 2nd ed. — San Francisco: No Starch Press, 2023.
Blandy J., Orendorff J., Tindall L. Programming Rust: Fast, Safe Systems Development. — 2nd ed. — Sebastopol: O’Reilly Media, 2021.
Sletten B. WebAssembly: The Definitive Guide. — Sebastopol: O’Reilly Media, 2021.
Nickoloff J., Kuenzli S. Docker in Action. — 2nd ed. — Shelter Island: Manning Publications, 2019.
Bryant R.E., O’Hallaron D.R. Computer Systems: A Programmer’s Perspective. — 3rd ed. — Pearson, 2016.
6.2. Додаткова література
Іщеряков С.М. Основи мови Асемблер: конспект лекцій з курсів «Системне програмування», «Системне програмування та операційні системи». — Івано-Франківськ: Факел, 2004. — 52 с.
Дудзяний І.М., Черняхівський В.В. Програмування мовою Асемблера: навчальний посібник. — Львів, 2002. — 112 с.
6.3. Електронні ресурси
The Rust Programming Language (офіційне видання). URL: https://doc.rust-lang.org/book/
Rust and WebAssembly (офіційна документація). URL: https://rustwasm.github.io/docs/book/
WebAssembly Core Specification. URL: https://webassembly.github.io/spec/core/
WebAssembly — MDN Web Docs. URL: https://developer.mozilla.org/en-US/docs/WebAssembly
Docker Documentation. URL: https://docs.docker.com/
Docker Compose. URL: https://docs.docker.com/compose/
Linux Programmer’s Manual: namespaces(7), cgroups(7). URL: https://man7.org/linux/man-pages/man7/namespaces.7.html
NASM — The Netwide Assembler: Documentation. URL: https://www.nasm.us/docs.php
Clippy: набір перевірок коду мовою Rust. URL: https://doc.rust-lang.org/clippy/
Примітка. Основну літературу складають фундаментальні підручники, які зберігають чинність поза п’ятирічним горизонтом. Вимогу щодо актуальності джерел забезпечує підрозділ 6.3, перелік якого переглядається щороку перед початком навчального року.