Системне програмування

Освітня програма: Інформатика (перший (бакалаврський) рівень вищої освіти)

Структурний підрозділ: Факультет комп'ютерних наук та кібернетики

Назва дисципліни
Системне програмування
Код дисципліни
Тип модуля
Обов’язкова дисципліна для ОП
Цикл вищої освіти
Перший
Рік навчання
2021/2022
Семестр / Триместр
5 Семестр
Кількість кредитів ЕСТS
4
Результати навчання
ПРН9. Теоретичні основи розробки мовних процесорів: трансляторів та інтерпретаторів. Проектування та реалізація алгоритмів мовного процесорів: лексичний аналіз та синтаксичний аналіз.. ПРН15. Застосовувати знання кейсів об’об’єктно - орієнтованого програмування. Java SE. Проектування та розробка модулів лексичного та синтаксичного аналізу реальних мов програмування: PL/0, Pascal, C, SQL/.
Форма навчання
Очна форма
Попередні умови та додаткові вимоги
1. Знати: основні поняття програмування та принципи розробки програм; базові знання теорії алгоритмів, класичні алгоритми та різновиди структур даних 2. Вміти: проектувати, розробляти та тестувати програми на базовому рівні. 3. Володіти елементарними навичками: програмування мовами Lava.
Зміст навчальної дисципліни
Мета дисципліни – засвоєння базових знань основних алгоритмів функціонування мовних процесорів: трансляторів та інтерпретаторів. Вміння використовувати теоретичний матеріал при розробці синтаксичних структур мовних процесорів. Оволодіння базовими навичками проектування програмних систем, виконання робіт у середовищі повних специфікацій на проект. В результаті вивчення навчальної дисципліни студент повинен: знати основні структурні елементи мовного процесора, вміння користуватися контекстно-вільними граматиками, вміння проектувати модулі (алгоритми) мовного процесора, знати та використовувати основні принципи об’єктно-орієнтованого проектування програмного забезпечення; вміти застосовувати на практиці інструментальні програмні засоби проектування та розробки програмного забезпечення, виконати реалізацію модулів в умовах наданих зовнішніх специфікацій на алгоритми та структури даних. Спілкуватися з колегами з питань проектування та розробки програм, складати письмові звіти.
Рекомендована та необхідна література
1. Java 2. http://www.oracle.com/technetwork/java/javase/documentation/index.html 2. Презентаційні матеріали до оглядових лекцій з мови Java. 7. В.М. Волохов, Б.І. Бойко, В.Ф. Кузенко, С.С. Шкільняк. Методичні рекомендації до лабо-раторного практикуму побудови мовних процесорів з курсу „Системне програмування” – К. Київський національний університет імені Тараса Шевченка, 2010. – 58 с. (едект-ронний варіант. Реліз 2021). 8. https://docs.oracle.com/en/java/javase/17/. JDK 17 Documentation. 9. https://developer.oracle.com/developer-live.
Заплановані освітні заходи та методи викладання
Лекції, лабораторні заняття, самостійна робота, контрольні роботи, домашні завдання, захист лабораторних робіт, іспит.
Методи та критерії оцінювання
- семестрове оцінювання: 1. Контрольна робота (тест): до 7 тижня семестру: 10/5. 2. Контрольна робота (тест): до 15 тижня семестру. 10/5 3. Лабораторна робота 1,2 (проект): до 4 тижня семестру.10/5 4. Лабораторна робота 3,4 (проект): до 8 тижня семестру.10/10 5. Лабораторна робота 5 (проект): до 13 тижня семестру.20/10 Одну з форм контролю студент має право замінити на здачу сертифікату з можливістю отримання 5 балів. Курс повинен бути попередньо узгоджений з викладачем. Дата отримання сертифікату повинна бути не від 01.10 до 01.12 поточного року. - підсумкове оцінювання (у формі іспиту): - максимальна кількість балів: 40 балів; - результати навчання які будуть оцінюватись: PH1.1, PH1.2, PH1.3, PH2.1.
Мова викладання
Українська