Курс › Робоча програма
Дисципліна · нормативний документ

Робоча програма

90 год (3 кредити) = 20 лекцій + 20 лаб + 50 СРС · 4 курс, 7 семестр · форма контролю — залік

СИСТЕМНЕ ПРОГРАМУВАННЯ

Галузь знань 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 денна форма навчання
ЛекціїПракт.Лабор.Семінар.ІспитЗалікКонс.
90405020-20--х-

3.2. Тематичний план

№

Назва розділу (модуля), теми

(змістові модулі)

Кількість годин

Компетентності

Результати навчання

Всього

Лекції

Практичні

Лабораторні

СРС

123456789

Модуль 1. Ізоляція процесів: межа середовища виконання

1Лекція 1. Три межі курсу: процес, адресний простір, системні виклики.22ЗК4, ЗК8; СК2, СК13

РН2, РН11

2Лекція 2. Образ як шари, Dockerfile, кеш, багатоетапна збірка: від інструкцій у тексті до бінарних шарів на диску.22ЗК4, ЗК8; СК3, СК7

РН3, РН14, РН15

3Лекція 3. Простори імен, групи керування (cgroups), привілеї: ізоляція ядром без віртуалізації заліза.22ЗК4, ЗК8; СК2, СК7, СК13

РН2, РН11, РН15

4Лабораторна робота №1. Контейнер розробника: перша капсула.725ЗК4, ЗК5, ЗК8, ЗК9; СК2, СК3, СК7, СК9

РН2, РН11, РН13, РН15, РН17

5Лабораторна робота №2. Dockerfile з багатоетапною збіркою і порівнянням розмірів.725ЗК4, ЗК7, ЗК8, ЗК9; СК3, СК7, СК10

РН3, РН12, РН13, РН14, РН17

6Лабораторна робота №3. Простори імен на практиці: два контейнери в ізольованій мережі.725ЗК4, ЗК7, ЗК8, ЗК9; СК3, СК7, СК10

РН6, РН14, РН15, РН17

Всього по темі276615

Модуль 2. Керування пам'яттю: межа безпеки

7Лекція 4. Чому програми псують пам’ять: ціна помилки керування пам’яттю.22ЗК4, ЗК8; СК2, СК10, СК14

РН2, РН12

8Лекція 5. Володіння і запозичення: хто власник значення — і як ним скористатися, не забираючи.22ЗК4, ЗК8; СК2, СК4

РН2, РН9

9Лекція 6. Зрізи, часи життя і типи без null: дивитися в дані, не володіючи ними — і описувати їхню відсутність явно.22ЗК4, ЗК8; СК2, СК4

РН2, РН9

10Лекція 7. Result, оператор ? і власні типи помилок: помилка як значення, а не як виняток.22ЗК4, ЗК8; СК4, СК10

РН9, РН12

11Лабораторна робота №4. Перший проєкт на Cargo з юніт-тестом.725ЗК4, ЗК7, ЗК8, ЗК9; СК3, СК4, СК9

РН6, РН9, РН13, РН17

12Лабораторна робота №5. Набір програм, що не компілюються (borrow checker).725ЗК4, ЗК7, ЗК8, ЗК9; СК4, СК10

РН9, РН12, РН17

13Лабораторна робота №6. Структури і перелічення без null.725ЗК4, ЗК7, ЗК9; СК4, СК10, СК13

РН9, РН11, РН12, РН17

14Лабораторна робота №7. Читання файлу з обробкою помилок.725ЗК4, ЗК5, ЗК7, ЗК9; СК4, СК9, СК10

РН6, РН9, РН13, РН17

Всього по темі368820

Модуль 3. WebAssembly і асемблер: межа набору інструкцій

15Лекція 8. WebAssembly як переносний асемблер: один код — дві машини.22ЗК4, ЗК8; СК2, СК3

РН2, РН3, РН11

16Лекція 9. Асемблер x86-64: мова, якою насправді говорить процесор.22ЗК4, ЗК8; СК2, СК13

РН2, РН8, РН11

17Лекція 10. Rust у WASM, межа з host-середовищем: замикання лінії курсу.22ЗК4, ЗК8; СК3, СК4

РН3, РН9, РН14

18Лабораторна робота №8. Модуль на WAT вручну.725ЗК4, ЗК7, ЗК8, ЗК9; СК2, СК4

РН2, РН9, РН17

19Лабораторна робота №9. Той самий алгоритм у двох асемблерах.725ЗК4, ЗК7, ЗК8, ЗК9; СК10, СК13

РН8, РН11, РН12, РН17

20Лабораторна робота №10. Ядро на Rust у WASM на сторінці з відтворюваною збіркою.725ЗК4, ЗК7, ЗК8, ЗК9; СК3, СК4, СК9, СК10

РН9, РН13, РН14, РН17

Всього по темі276615
Всього по курсу90202050

3.3. Теми лекційних занять

№
з/п
Назва темиК-сть годинЛіт-ра
1234
1

Лекція 1. Три межі курсу: процес, адресний простір, системні виклики.

2

[3, 8, 15]

2

Лекція 2. Образ як шари, Dockerfile, кеш, багатоетапна збірка: від інструкцій у тексті до бінарних шарів на диску.

2

[3, 7, 15, 17]

3

Лекція 3. Простори імен, групи керування (cgroups), привілеї: ізоляція ядром без віртуалізації заліза.

2

[7, 13, 14]

4

Лекція 4. Чому програми псують пам’ять: ціна помилки керування пам’яттю.

2

[5, 8]

5

Лекція 5. Володіння і запозичення: хто власник значення — і як ним скористатися, не забираючи.

2

[4, 5, 9]

6

Лекція 6. Зрізи, часи життя і типи без null: дивитися в дані, не володіючи ними — і описувати їхню відсутність явно.

2

[4, 5, 9]

7

Лекція 7. Result, оператор ? і власні типи помилок: помилка як значення, а не як виняток.

2

[4, 5, 9]

8

Лекція 8. WebAssembly як переносний асемблер: один код — дві машини.

2

[1, 2, 8, 16]

9

Лекція 9. Асемблер x86-64: мова, якою насправді говорить процесор.

2

[6, 11, 12]

10

Лекція 10. Rust у WASM, межа з host-середовищем: замикання лінії курсу.

2

[6, 10, 12]

Разом

20

3.4. Теми практичних занять – навчальним планом не передбачені

3.5. Теми лабораторних занять

№
з/п
Назва темиК-сть годинЛіт-ра
1234
1

Лабораторна робота №1. Контейнер розробника: перша капсула.

2

МВ

2

Лабораторна робота №2. Dockerfile з багатоетапною збіркою і порівнянням розмірів.

2

МВ

3

Лабораторна робота №3. Простори імен на практиці: два контейнери в ізольованій мережі.

2

МВ

4

Лабораторна робота №4. Перший проєкт на Cargo з юніт-тестом.

2

МВ

5

Лабораторна робота №5. Набір програм, що не компілюються (borrow checker).

2

МВ

6

Лабораторна робота №6. Структури і перелічення без null.

2

МВ

7

Лабораторна робота №7. Читання файлу з обробкою помилок.

2

МВ

8

Лабораторна робота №8. Модуль на WAT вручну.

2

МВ

9

Лабораторна робота №9. Той самий алгоритм у двох асемблерах.

2

МВ

10

Лабораторна робота №10. Ядро на Rust у WASM на сторінці з відтворюваною збіркою.

2

МВ

Разом

20

3.6. Теми семінарських занять – навчальним планом не передбачені

3.7. Самостійна робота

№
з/п
Назва темиК-сть годинФорми контролюЛіт-ра
1

СРС 1. Публікація портів у Docker: -p, EXPOSE і чому без них хост не бачить контейнера.

2Захист відповідної лабораторної роботи (рівень 2)[3, 7, 15, 17]
2

СРС 2. Ідемпотентність скрипта розгортання: запустити двічі й не зламати.

3Захист відповідної лабораторної роботи (рівень 3)[3, 7, 15, 17]
3

СРС 3. OverlayFS і шари образу: як влаштовано об’єднану файлову систему

2Захист відповідної лабораторної роботи (рівень 2)[7, 13, 14]
4

СРС 4. Відтворюваність збірки і довіра до образу (digest, pin версій)

3Захист відповідної лабораторної роботи (рівень 3)[7, 13, 14]
5

СРС 5. Мережі Docker (bridge/none/host) і службове DNS між контейнерами

2Захист відповідної лабораторної роботи (рівень 2)[7, 14, 16]
6

СРС 6. Керування секретами: env проти файлів проти docker secrets

3Захист відповідної лабораторної роботи (рівень 3)[7, 15, 16]
7

СРС 7. Модель володіння Rust проти збирача сміття і ручного керування пам’яттю

2Захист відповідної лабораторної роботи (рівень 2)[4, 5, 9]
8

СРС 8. Екосистема crates.io, Cargo.toml/Cargo.lock і семантичне версіонування залежностей

3Захист відповідної лабораторної роботи (рівень 3)[4, 9, 19]
9

СРС 9. Часи життя (lifetimes) у сигнатурах функцій: що саме перевіряє компілятор

2Захист відповідної лабораторної роботи (рівень 2)[4, 5, 9]
10

СРС 10. Rc<T> і RefCell<T>: спільне володіння та внутрішня мутабельність без гонок

3Захист відповідної лабораторної роботи (рівень 3)[4, 5, 9]
11

СРС 11. Алгебраїчні типи даних (enum) і вичерпне зіставлення зі зразком (match)

2Захист відповідної лабораторної роботи (рівень 2)[4, 5, 9]
12

СРС 12. Патерн «зробити некоректний стан непредставним» (make illegal states unrepresentable)

3Захист відповідної лабораторної роботи (рівень 3)[4, 5, 9]
13

СРС 13. Result<T, E> проти panic!: коли доречна відновна відмова, а коли зупинка програми

2Захист відповідної лабораторної роботи (рівень 2)[4, 5, 9]
14

СРС 14. Власні типи помилок і трейт std::error::Error: Display, Debug, Box<dyn Error>

3Захист відповідної лабораторної роботи (рівень 3)[4, 5, 9]
15

СРС 15. Стекова машина WebAssembly і структура текстового формату .wat

2Захист відповідної лабораторної роботи (рівень 2)[6, 11, 12]
16

СРС 16. Лінійна пам’ять WASM і межі безпеки пісочниці

3Захист відповідної лабораторної роботи (рівень 3)[6, 11, 12]
17

СРС 17. Угоди виклику (calling conventions) x86-64: System V AMD64 ABI

2Захист відповідної лабораторної роботи (рівень 2)[1, 2, 8]
18

СРС 18. Інструменти дизасемблювання: objdump та wasm-objdump, синтаксис AT&T проти Intel

3Захист відповідної лабораторної роботи (рівень 3)[1, 2, 8, 16]
19

СРС 19. Межа Rust↔︎JS через wasm-bindgen: маршалінг типів і виклик з JavaScript

2Захист відповідної лабораторної роботи (рівень 2)[6, 10, 12]
20

СРС 20. Відтворювані збірки Rust→WASM і цілісність ланцюга постачання (supply chain)

3Захист відповідної лабораторної роботи (рівень 3)[4, 6, 7, 10, 13]

Разом

50

4. Критерії оцінювання (за формами роботи)

Оцінювання навчальних досягнень з дисципліни «Системне програмування» здійснюється за національною п’ятибальною шкалою («5», «4», «3», «2») відповідно до критеріїв, наведених нижче: певний рівень навчальних досягнень передбачає, що всі вказані для попередніх рівнів знання, уміння і навички повністю опановані. Рейтингова (100-бальна) шкала з дисципліни не застосовується. Наведена нижче таблиця подає довідкову відповідність п’ятибальної шкали європейській (ECTS) і дванадцятибальній:

Оцінка з дисципліни (5-бальна шкала)ECTS (довідково)12-бальна (довідково)Рівень навчальних досягнень

«5» (відмінно)

A

12, 11, 10

Вільне володіння матеріалом; самостійне розширення завдання, аналіз граничних випадків, обґрунтування рішень (рівень 3 лабораторної роботи)

«4» (добре)

B, C

9, 8, 7

Повне знання матеріалу; пояснення власного коду й вибору конструкцій на захисті (рівень 2 лабораторної роботи)

«3» (задовільно)

D, E

6, 5, 4

Засвоєно мінімум програмового матеріалу; роботу виконано за інструкцією, автоматизовані тести проходять (рівень 1)

«2» (незадовільно)

FX, F

3, 2, 1

Основний матеріал не засвоєно; тести не проходять або здобувач освіти не може пояснити роботу

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. Критерії оцінювання результатів навчання (неформальна освіта)

ОцінкаКритерій оцінюванняВимоги до здобувача освіти (сертифікат або проєкт)

«5» (відмінно)

Зарахування результатів неформальної освіти / відмінне виконання проєкту

Надано релевантний сертифікат, підтверджений упевненими відповідями на співбесіді, або представлено результат навчання. Здобувач освіти демонструє глибоке розуміння матеріалу, вільне володіння вивченими методами, їх логічний зв’язок із програмою дисципліни та повне дотримання етичних норм.

«4» (добре)

Зарахування результатів неформальної освіти / добре виконання

Проєкт або результати курсу є актуальними та змістовними. Демонструється впевнене володіння ключовими поняттями та принципами дисципліни.

«3» (задовільно)

Зарахування результатів неформальної освіти / задовільне виконання

Наданий документ відповідає темі або вимогам. Загальний опис теми без глибокого аналізу. Зміст має ознаки копіювання, відсутня демонстрація власного практичного використання знань.

«2» (незадовільно)

Незарахування результатів неформальної освіти / незадовільне виконання

Наданий документ не відповідає темі або вимогам. Здобувач освіти не може відповісти на запитання щодо змісту курсу. Матеріал не відповідає темі, виявлено плагіат.

4.4.3. Процедура підтвердження, якщо сертифікат відсутній

Якщо освітній курс не передбачає видачу сертифіката, здобувач освіти підтверджує знання одним із способів: презентація результатів (демонстрація набутих навичок на власному коді); звіт про навчання (короткий виклад ключових тез курсу та їх застосування в межах дисципліни); співбесіда-валідація (детальне опитування викладачем за програмою пройденого курсу).

4.5. Політика використання інструментів штучного інтелекту

Дисципліна «Системне програмування» реалізує компетентність ЗК9 і результат навчання РН17, тому використання цифрових інструментів і сервісів на основі штучного інтелекту є частиною навчального процесу, а не порушенням. Ключовий принцип оцінювання: авторство коду не має значення — значення має здатність здобувача освіти пояснити кожен рядок і відповісти на питання без підказок. Перевіряється розуміння, а не походження коду.

Зелене світло (дозволено та заохочується)

Використання інструментів штучного інтелекту як репетитора — пояснення концепцій, розбір повідомлень компілятора, приклади; генерація, рефакторинг і налагодження коду лабораторних робіт; пошук ідей і структурування роботи; переклад англомовних джерел; редагування мови звіту.

Жовте світло (дозволено із зазначенням)

У звіті REPORT.md зазначається одним реченням, який інструмент і для якої задачі використано (наприклад: «код рівня 2 згенеровано з використанням ШІ-асистента, обробку помилок переписано самостійно»). Зазначення не знижує оцінку — це елемент академічної культури посилань.

Червоне світло (не зараховується)

Здача роботи, логіку якої здобувач освіти не може пояснити на захисті: у цьому разі відповідний рівень не зараховується до моменту пояснення. Використання інструментів штучного інтелекту в реальному часі під час захисту лабораторної роботи, тестового або модульного контролю. Наведення вигаданих джерел і посилань. Подання чужої роботи як власної.

Зарахування сертифікатів профільних курсів як рівня 2 відповідної лабораторної роботи здійснюється за процедурою п. 4.4 з обов’язковою співбесідою — за тим самим принципом: перевіряється розуміння.

Шкала оцінювання знань здобувачів освіти

Сума балів за всі види навчальної діяльностіОцінка ECTS

Оцінка за національною шкалою

для екзамену

90 – 100

Авідмінно

82-89

Вдобре

75-81

С

66-74

Dзадовільно

60-65

Е

35-59

FX

незадовільно з можливістю

повторного складання

0-34

F

незадовільно з обов’язковим

повторним вивченням дисципліни

5. Засоби оцінювання

6.1. Основна література

  1. Рисований О.М. Системне програмування: підручник для студентів напрямку «Комп’ютерна інженерія» вищих навчальних закладів. Том 1. — Видання четверте: виправлено та доповнено. — Х.: «Слово», 2015. — 576 с.

  2. Тонкошкур О.С., Гниленко О.Б., Матвєєва Н.О., Морозов О.С. Архітектура комп’ютерів. Машинні команди та програмування на асемблері: навчальний посібник. — Д.: Вид-во «Нова Ідеологія», 2018. — 179 с.

  3. Зайцев В.Г., Дробязко І.П. Операційні системи: навч. посіб. для студ. спеціальності 123 «Комп’ютерна інженерія» / КПІ ім. Ігоря Сікорського. — Київ: КПІ ім. Ігоря Сікорського, 2019. — 240 с.

  4. Klabnik S., Nichols C. The Rust Programming Language. — 2nd ed. — San Francisco: No Starch Press, 2023.

  5. Blandy J., Orendorff J., Tindall L. Programming Rust: Fast, Safe Systems Development. — 2nd ed. — Sebastopol: O’Reilly Media, 2021.

  6. Sletten B. WebAssembly: The Definitive Guide. — Sebastopol: O’Reilly Media, 2021.

  7. Nickoloff J., Kuenzli S. Docker in Action. — 2nd ed. — Shelter Island: Manning Publications, 2019.

  8. Bryant R.E., O’Hallaron D.R. Computer Systems: A Programmer’s Perspective. — 3rd ed. — Pearson, 2016.

6.2. Додаткова література

  1. Іщеряков С.М. Основи мови Асемблер: конспект лекцій з курсів «Системне програмування», «Системне програмування та операційні системи». — Івано-Франківськ: Факел, 2004. — 52 с.

  2. Дудзяний І.М., Черняхівський В.В. Програмування мовою Асемблера: навчальний посібник. — Львів, 2002. — 112 с.

6.3. Електронні ресурси

  1. The Rust Programming Language (офіційне видання). URL: https://doc.rust-lang.org/book/

  2. Rust and WebAssembly (офіційна документація). URL: https://rustwasm.github.io/docs/book/

  3. WebAssembly Core Specification. URL: https://webassembly.github.io/spec/core/

  4. WebAssembly — MDN Web Docs. URL: https://developer.mozilla.org/en-US/docs/WebAssembly

  5. Docker Documentation. URL: https://docs.docker.com/

  6. Docker Compose. URL: https://docs.docker.com/compose/

  7. Linux Programmer’s Manual: namespaces(7), cgroups(7). URL: https://man7.org/linux/man-pages/man7/namespaces.7.html

  8. NASM — The Netwide Assembler: Documentation. URL: https://www.nasm.us/docs.php

  9. Clippy: набір перевірок коду мовою Rust. URL: https://doc.rust-lang.org/clippy/

Примітка. Основну літературу складають фундаментальні підручники, які зберігають чинність поза п’ятирічним горизонтом. Вимогу щодо актуальності джерел забезпечує підрозділ 6.3, перелік якого переглядається щороку перед початком навчального року.