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

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

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

Назва дисципліни
Системне програмування
Код дисципліни
Тип модуля
Обов’язкова дисципліна для ОП
Цикл вищої освіти
Перший
Рік навчання
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. 3. Ахо А. Ульман Дж. Теория синтаксического анализа, перевода и компиляции. Т1. М. Мир. 1978. 4. Грис Д. Построение компиляторов для ЦЭВМ. М. Мир. 1976. 5. Льюис Ф., Стирнз Р., Розенкранц Д. Теоретические основы построения компиляторов. М. Мир. 1979. 6. Вирт Н. Систематическое программирование. Введение. М.Мир. 1977. 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.
Мова викладання
Українська