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

Силабус

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

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

(назва навчальної дисципліни)

(дисципліна нормативна / вибіркова)

освітньо-професійний ступінь фаховий молодший бакалавр
галузь знань 12 Інформаційні технології
спеціальність 123 Комп’ютерна інженерія
освітньо-професійна програма Комп’ютерна інженерія

Вінниця – 2026

1. Загальна інформація

Розробник/розробники силабусу викладач Олександр ОРДИНСЬКИЙ
Активне посилання на Положення про силабус навчальної дисципліни у Вінницькому технічному фаховому коледжі ПОЛОЖЕННЯ ПРО СИЛАБУС
Активне посилання на освітньо-професійну програму ОПП «Комп’ютерна інженерія» (вступ 2023, редакція 2025)
sites.google.com/vtc.vn.ua/yakist-osvitu → ОПП → 123 Комп’ютерна інженерія → ОПП КІ
Назва навчальної дисципліни Системне програмування
Статус дисципліни цикл професійної підготовки, нормативна складова (ОК23)
Мова викладання українська
Курс / семестр 4 курс, 7 семестр
Обсяг дисципліни 3 кредити ЄКТС (90 годин)
Активне посилання на google диск / google сайт викладача з навчально-методичними матеріалами ________________________
Активне посилання на google клас / класи викладача з навчальної дисципліни 4КІ1 — ________________________
4КІ2 — ________________________
4КІ3 — ________________________
Дні проведення занять відповідно до розкладу
Проведення консультацій ________________________, групові та індивідуальні,
очно та дистанційно в Google Meet класу, відповідно до графіку
Форма підсумкового контролю залік
Назва циклової комісії та її місцезнаходження комп’ютерної інженерії, аудиторія ________________________
Сторінка циклової комісії на офіційному вебсайті коледжу vtc.vn.ua/department/list/?id=5
Прізвище, ім’я, по батькові викладача, кваліфікаційна категорія, педагогічне звання Ординський Олександр Олегович,
викладач, спеціаліст
Контактна інформація викладача (e-mail) ________________________@vtc.vn.ua
Активне посилання на Програму навчальної дисципліни (структура програми, тематичний план, інформація про СРС) ________________________

2. Анотація і мета навчальної дисципліни

Дисципліна «Системне програмування» є обов’язковою складовою навчального плану, освітнім компонентом ОК23 циклу дисциплін професійної підготовки, який забезпечує підготовку здобувачів освіти за освітньо-професійною програмою «Комп’ютерна інженерія» спеціальності 123 Комп’ютерна інженерія.

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

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

Завданнями дисципліни є: ознайомлення з програмною моделлю процесу — адресним простором, стеком, купою, системними викликами; здобуття практичних навичок роботи з механізмами ізоляції операційної системи та засобами контейнеризації для побудови відтворюваного середовища збірки й виконання; ознайомлення з моделлю володіння пам’яттю в системній мові програмування зі статичною перевіркою та здобуття досвіду читання діагностики компілятора; формування вміння читати код на рівні машинних інструкцій — асемблера x86-64 і текстового формату WebAssembly; здобуття досвіду складання застосунку із системного ядра, автоматизованої збірки та публікації результату; формування вміння обґрунтовано застосовувати цифрові інструменти, зокрема сервіси на основі штучного інтелекту, з дотриманням академічної доброчесності.

Дисципліна структурована у три модулі: «Ізоляція процесів: межа середовища виконання» (27 год), «Керування пам’яттю: межа безпеки» (36 год) та «Від асемблера до WebAssembly: межа набору інструкцій» (27 год). Загальний обсяг — 90 годин (3 кредити ЄКТС): 20 годин лекційних занять (10 лекцій), 20 годин лабораторних занять (10 лабораторних робіт) і 50 годин самостійної роботи (20 тем). Теми самостійної роботи мають подвійний зв’язок з аудиторними заняттями: кожна тема подається разом із відповідною лекцією і готує до захисту відповідної лабораторної роботи — перша тема пари до захисту на рівні 2, друга до виконання розширеного завдання на рівні 3. Перед першою лекцією та першою лабораторною роботою передбачено вступні організаційно-ознайомчі заняття «Лекція 0» і «Лабораторна робота 0», які проводяться поза сіткою годин, не оцінюються і доступні здобувачам освіти впродовж усього семестру.

3. Передумови вивчення навчальної дисципліни

Пререквізити: «Алгоритми і структури даних» (ОК13), «Програмування» (ОК19), «Архітектура комп’ютерів і периферійні пристрої» (ОК21), «Комп’ютерна схемотехніка» (ОК22), «Операційні системи» (ОК24).

Постреквізити: «Комп’ютерні мережі» (ОК25), виробнича практика (ОК38), мультидисциплінарний курсовий проєкт (ВК4), підготовка та захист кваліфікаційної роботи (ОК40).

4. Перелік компетентностей, яких набуває здобувач освіти при опануванні дисципліни відповідно до освітньо-професійної програми

Загальні компетентності (ЗК):

ЗК4. Здатність застосовувати знання у практичних ситуаціях.

ЗК5. Здатність спілкуватися державною мовою як усно, так і письмово.

ЗК7. Здатність працювати в команді.

ЗК8. Здатність вчитися і оволодівати сучасними знаннями.

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

Спеціальні (фахові) компетентності (СК):

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

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

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

СК7. Здатність системно адмініструвати, використовувати, адаптувати та експлуатувати наявні інформаційні технології та системи.

СК9. Здатність оформляти отримані робочі результати у вигляді презентацій, науково-технічних звітів.

СК10. Здатність аргументувати вибір методів розв’язування спеціалізованих задач, критично оцінювати отримані результати, обґрунтовувати прийняті рішення.

СК13. Здатність ідентифікувати, класифікувати та описувати роботу програмно-технічних засобів, комп’ютерних систем, мереж та їх компонентів шляхом використання аналітичних методів і методів моделювання.

СК14. Здатність оцінювати і враховувати економічні, соціальні, технологічні та екологічні чинники, що впливають на сферу професійної діяльності.

5. Результати навчання відповідно до освітньо-професійної програми

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

РН3. Знати сучасні методи та технології для розв’язання прикладних задач комп’ютерної інженерії.

РН6. Тестувати, діагностувати та обслуговувати апаратні та програмні засоби комп’ютерної інженерії.

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

РН9. Розробляти, тестувати, впроваджувати, експлуатувати програмне забезпечення для вбудованих і розподілених систем.

РН10. Здійснювати пошук інформації з різних джерел для розв’язання задач комп’ютерної інженерії.

РН11. Ідентифікувати, класифікувати та описувати роботу програмно-технічних засобів комп’ютерної інженерії.

РН12. Поєднувати теорію і практику, знаходити та обґрунтовувати шляхи рішення типових задач у професійній діяльності з урахуванням виробничих інтересів.

РН13. Обґрунтовувати прийняті рішення, оцінювати, оформляти та представляти результати професійної діяльності згідно з діючою нормативною документацією.

РН14. Використовувати сучасні інтегровані середовища, методи і технології розробки, впровадження, адміністрування комп’ютерних систем та мереж, баз даних і знань.

РН15. Проводити інсталяцію та налаштування системного та прикладного програмного забезпечення, у тому числі програмних засобів захисту інформації з метою реалізації встановленої політики інформаційної безпеки.

РН17. Вміти обґрунтовано обирати та використовувати цифрові інструменти, сервіси на основі штучного інтелекту, для вирішення фахових завдань, дотримуючись принципів академічної доброчесності, етичних норм та правових вимог щодо захисту авторського права.

6. Система та критерії оцінювання

Оцінювання навчальних досягнень здійснюється за національною чотирибальною шкалою («відмінно», «добре», «задовільно», «незадовільно») за всіма видами аудиторної та позааудиторної навчальної діяльності. Види контролю: вхідний, поточний, рубіжний (тематичний), підсумковий, самоконтроль. Форма підсумкового контролю — залік.

6.1. Критерії оцінювання рівня володіння теоретичними знаннями

Оцінка «5» (відмінно). Здобувач освіти повністю й упевнено знає навчальний матеріал, вільно ним володіє, легко відрізняє головне від другорядного, на підтвердження висновків наводить правильні приклади, самостійно робить необхідні висновки й узагальнення, дає точні та чіткі формулювання, вільно використовує одержані знання на практиці.

Оцінка «4» (добре). Здобувач освіти повністю й твердо знає навчальний матеріал, може виділити головне, відповідає переконливо, вдумливо, послідовно, без додаткових запитань. Уміє поєднати теорію з практикою; практичні завдання виконує з незначною допомогою викладача.

Оцінка «3» (задовільно). Здобувач освіти засвоїв мінімум програмового матеріалу, під час відповіді на видозмінені або ускладнені питання виникають тривалі розмірковування, інколи потрібні навідні запитання. У практичних завданнях припускається помилок, але загалом може використовувати на практиці одержані теоретичні знання.

Оцінка «2» (незадовільно). Здобувач освіти не засвоїв основного навчального матеріалу. Відповідає лише за допомогою навідних запитань, у відповідях не може виділити головного, самостійно не розбирається в навчальному матеріалі, практичні завдання виконувати не може.

6.2. Критерії оцінювання навчальних досягнень при виконанні лабораторних робіт

Оцінювання лабораторної роботи здійснюється за трьома рівнями досягнення. Рівень 1 — автоматизовані тести до завдання виконуються успішно, звіт оформлено відповідно до вимог і прийнято без критичних зауважень. Рівень 2 — здобувач освіти захищає роботу, пояснюючи власний код. Рівень 3 — здобувач освіти виконав розширене завдання, передбачене умовою лабораторної роботи. Кожен наступний рівень передбачає виконання вимог попереднього.

Оцінка Рівень Умова
«5» (відмінно) 3 Виконано вимоги рівня 2; здобувач освіти виконав розширене завдання, опрацював граничні випадки та обґрунтував прийняті рішення, порівнявши їх з альтернативними.
«4» (добре) 2 Виконано вимоги рівня 1; здобувач освіти на захисті пояснює власний код, обґрунтовує вибір використаних конструкцій і відповідає на запитання по суті роботи.
«3» (задовільно) 1 Автоматизовані тести до завдання виконуються успішно, звіт прийнято без критичних зауважень. Роботу виконано за інструкцією; здобувач освіти відтворює послідовність дій і пояснює отриманий результат.
«2» (незадовільно) Автоматизовані тести не виконуються, або звіт відсутній чи не відповідає виконаній роботі; здобувач освіти не може пояснити отриманий результат.

Самостійна робота окремо не здається і не оцінюється. До кожної лабораторної роботи віднесено дві теми самостійної роботи: перша готує до захисту на рівні 2, друга — до виконання розширеного завдання на рівні 3. Здобувач освіти може досягти будь-якого рівня незалежно від того, чи опрацьовував він ці теми.

Рівень 1 фіксується на занятті за результатами автоматизованої перевірки. Рівні 2 і 3 підтверджуються на захисті, який може відбутися пізніше: оцінку за лабораторну роботу можна підвищити до завершення відповідного модуля.

Умовою допуску до заліку є виконання всіх десяти лабораторних робіт щонайменше на рівні 1. Індивідуальний проєкт є необов’язковим і виконується за бажанням здобувача освіти.

6.3. Критерії оцінювання навчальних досягнень при виконанні тестових завдань

Здобувачам освіти пропонується виконати тестові завдання закритого типу (30 завдань з варіантами відповіді й однією або кількома правильними відповідями). Оцінювання здійснюється за п’ятибальною шкалою: «5» — не менше 85 % правильних відповідей; «4» — не менше 75 %; «3» — не менше 60 %; «2» — менше 60 %.

6.4. Критерії оцінювання результатів навчання, здобутих у неформальній та інформальній освіті

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

Загальні вимоги: зміст навчання має прямо корелювати з результатами навчання дисципліни; курс має бути пройдений протягом семестру; обов’язковою є верифікація знань шляхом бесіди або захисту результатів. Обов’язковою умовою зарахування є суворе дотримання принципів академічної доброчесності та етики використання інструментів штучного інтелекту (РН17).

Для дисципліни «Системне програмування» верифікація проводиться у формі захисту відповідної лабораторної роботи на рівні 2 або 3: здобувач освіти демонструє засвоєний матеріал у власному коді. Окрема процедура не запроваджується.

Оцінка Критерій оцінювання Вимоги до здобувача освіти (сертифікат або проєкт)
«5» (відмінно) Зарахування результатів неформальної освіти / відмінне виконання проєкту Надано релевантний сертифікат, підтверджений упевненими відповідями на співбесіді, або представлено результат навчання. Здобувач освіти демонструє глибоке розуміння матеріалу, вільне володіння вивченими методами, їх логічний зв’язок із програмою дисципліни та повне дотримання етичних норм.
«4» (добре) Зарахування результатів неформальної освіти / добре виконання Проєкт або результати курсу є актуальними та змістовними. Демонструється впевнене володіння ключовими поняттями та принципами дисципліни.
«3» (задовільно) Зарахування результатів неформальної освіти / задовільне виконання Наданий документ відповідає темі або вимогам. Загальний опис теми без глибокого аналізу. Зміст має ознаки копіювання, відсутня демонстрація власного практичного використання знань.
«2» (незадовільно) Незарахування результатів неформальної освіти / незадовільне виконання Наданий документ не відповідає темі або вимогам. Здобувач освіти не може відповісти на запитання щодо змісту курсу. Матеріал не відповідає темі, виявлено плагіат.

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

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

— звіти про виконання лабораторних робіт з автоматизованою перевіркою результатів;

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

— захист розширеного завдання лабораторної роботи (рівень 3);

— захист необов’язкового індивідуального проєкту;

— тестовий контроль за темами;

— обов’язкові та директорські контрольні роботи.

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


з/п
Змістовий модуль Тема Тип роботи Макс.
оцінка
1 Модуль 1.
Ізоляція процесів: межа середовища виконання
Лабораторна робота №1. Контейнер розробника й огляд просторів імен Лабораторна робота
(тегований коміт, звіт, захист)
«5»
2 Лабораторна робота №2. Dockerfile з багатоетапною збіркою і порівнянням розмірів Лабораторна робота
(тегований коміт, звіт, захист)
«5»
3 Лабораторна робота №3. Два контейнери разом і ізольована мережа Лабораторна робота
(тегований коміт, звіт, захист)
«5»
4 Теми модуля 1 Тестовий контроль «5»
5 Модуль 2.
Керування пам’яттю: межа безпеки
Лабораторна робота №4. Перший проєкт на Cargo з юніт-тестом Лабораторна робота
(тегований коміт, звіт, захист)
«5»
6 Лабораторна робота №5. Набір програм, що не компілюються (borrow checker) Лабораторна робота
(тегований коміт, звіт, захист)
«5»
7 Лабораторна робота №6. Структури і перелічення без null Лабораторна робота
(тегований коміт, звіт, захист)
«5»
8 Лабораторна робота №7. Читання файлу з обробкою помилок Лабораторна робота
(тегований коміт, звіт, захист)
«5»
9 Теми модуля 2 Тестовий контроль «5»
10 Модуль 3.
Від асемблера до WebAssembly: межа набору інструкцій
Лабораторна робота №8. Модуль на WAT вручну Лабораторна робота
(тегований коміт, звіт, захист)
«5»
11 Лабораторна робота №9. Той самий алгоритм у двох асемблерах Лабораторна робота
(тегований коміт, звіт, захист)
«5»
12 Лабораторна робота №10. Ядро на Rust у WASM на сторінці з відтворюваною збіркою Лабораторна робота
(тегований коміт, звіт, захист)
«5»
13 Теми модуля 3 Тестовий контроль «5»
14 Уся дисципліна Власне обчислювальне ядро на Rust у WebAssembly: реалізація, тести, автоматизована збірка, публікація Індивідуальний проєкт
(за бажанням)
«5»
15 Уся дисципліна Підсумковий контроль за результатами виконання лабораторних робіт і тестування Залік зараховано

Умовою допуску до заліку є виконання всіх десяти лабораторних робіт щонайменше на рівні 1. Формою подання лабораторної роботи є тегований коміт у репозиторії здобувача освіти; автоматизована перевірка запускається на тег, а не на кожний коміт.

8. Рекомендовані джерела інформації

8.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.

8.2. Допоміжна література

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

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

8.3. Інформаційні ресурси

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

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

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

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

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

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

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

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

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

Перелік інформаційних ресурсів переглядається щороку перед початком навчального року.

9. Політики курсу, правила і вимоги з активними посиланнями на відповідну нормативну базу Коледжу

Кожен здобувач освіти у Вінницькому технічному фаховому коледжі повинен ознайомитись, взяти до відома та виконувати положення, порядки та процедури, передбачені нормами чинного законодавства України та нормативних документів Коледжу:

— Статут коледжу.

— Правила внутрішнього розпорядку Вінницького технічного фахового коледжу.

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

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

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

— Положення про порядок та умови обрання студентами вибіркових дисциплін у Вінницькому технічному фаховому коледжі.

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

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

— Положення про силабус навчальної дисципліни у Вінницькому технічному фаховому коледжі.

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

Академічна доброчесність

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

Оскільки роботи з дисципліни виконуються у власних репозиторіях здобувачів освіти, для курсу діють такі уточнення.

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

— Заборонено: подавати як власний код, який здобувач освіти не може пояснити; копіювати розв’язок з репозиторію іншого здобувача освіти; надавати доступ до власного репозиторію з готовим розв’язком до завершення строку подання.

— Використання інструментів на основі штучного інтелекту не приховується, а зазначається у звіті: який інструмент, для чого і що саме здобувач освіти перевірив самостійно (РН17).

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

Відвідування, дедлайни та перескладання

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

Структура силабусу навчальної дисципліни відповідає Положенню про силабус навчальної дисципліни у Вінницькому технічному фаховому коледжі.