Обов’язкова анотована дисципліна здобувачів освітнього ступеня «бакалавр» освітньо-професійної програми
КОМП’ЮТЕРНА ІНЖЕНЕРІЯ
ОПИС МОДУЛЯ
Назва дисципліни: Системне програмне забезпечення.
Тип модуля: обов’язковий.
Семестри: 7,8
Обсяг модуля: загальна кількість годин – 180; кількість кредитів ЄКТС – 6.
Результати навчання:
знати: призначення, принципи організаціїї та методи побудови таблиць ідентифікаторів; призначення та побудова лексичного аналізатора (сканера) з граматикою вхідної мови, таблицею лексем і описом кінцевого автомата для розпізнавання лексем вхідної мови; призначення та побудова синтаксичного аналізатора з граматикою передування, матрицею операторного передування; принципи генерації коду, методики будування схем системно-керованого перекладу, способи внутрішнього представлення програм; принципи оптимізації коду (оптимізація лінійних ділянок, згортка об’єктного коду, виключення зайвих операцій, генерації списку тріад);
вміти: розробляти правильно працюючі програми з методами побудови таблиць ідентифікаторів, вибирати і описувати хеш-функцію; будувати лексичний аналізатор (сканер); будувати синтаксичний аналізатор; будувати генератор списку тріад; оптимізувати об’єктний код створюваного компілятора.
Програмні результати навчання: ПРН 6, ПРН 21.
Необхідні обов’язкові попередні та супутні модулі (пререквізити і кореквізити): комп’ютерний аналіз, архітектура комп’ютерів, розподілені системи та комунікації, фундаментальні принципи розробки програмного забезпечення.
Зміст навчального модуля: Предмет курсу. Особливості архітектури мікропроцесорів Intel80X86. Керування введенням/виведенням і файлові системи. Формальні мови й граматики. Поняття про граматику мови. Класифікація мов і граматик. Проблеми однозначності й еквівалентності граматик. Розпізнавачі. Регулярні мови і граматики. Кінцеві автомати. Способи завдання регулярних мов. Контекстно-вільні мови і КВ-граматики. Розпізнавачі КВ-мов. Основні принципи побудови трансляторів. Транслятори, компілятори й інтерпретатори-загальна схема роботи. Лексичні і синтаксичні аналізатори. Генерація й оптимізація коду. Сучасні системи програмування.
Види навчальних занять: лекція, лабораторні роботи, консультація.
Форми навчання: денна, заочна, заочна (дистанційна).
Методи навчання: словесний, пояснювально-демонстраційний, репродуктивний, дослідницький, метод проблемного викладання.
Методи контролю: усний, письмовий, тестовий, практичний.
Форми підсумкового контролю: залік (семестр 7), екзамен (семестр 8).
Засоби діагностики успішності навчання: індивідуальні завдання, вправи, перелік питань і комплекти тестових завдань для тематичного та підсумкового контролів.
Мова навчання: українська.