Системне програмування (курсовий проєкт)

Спеціальність: Комп'ютерна інженерія
Код дисципліни: 6.123.00.O.047
Кількість кредитів: 3.00
Кафедра: Електронні обчислювальні машини
Лектор: ст. викладач Мархивка Василь Степанович
Семестр: 5 семестр
Форма навчання: денна
Мета вивчення дисципліни: Метою дисципліни є надання студентам практичних умінь для вирішення системних задач та вироблення у студентів чіткого та систематизованого уявлення про склад і призначення систем програмування, а також вивчення принципів та способів побудови основних компонентів систем програмування, їх базових структур даних.
Завдання: Вивчення навчальної дисципліни передбачає формування у здобувачів освіти компетентностей: загальних: - базові знання в галузі інформаційних технологій, необхідні для освоєння професійно-орієнтованих дисциплін; - здатність до аналізу і синтезу; - здатність застосовувати знання на практиці; - здатність здійснювати пошук та аналізувати інформацію з різних джерел; - дослідницькі навики і уміння; - уміння розв’язувати поставлені задачі та приймати відповідні рішення; - здатність до письмової та усної комунікації українською мовою; - знання іншої мови(мов); - креативність, здатність до системного мислення; - потенціал до подальшого навчання; - відповідальність за якість виконуваної роботи; - здатність працювати самостійно; - розуміння соціальних аспектів застосування здобутих знань і пов’язаної з цим відповідальності. фахових: - знання архітектури комп’ютера; - володіння методами та засобами програмування мовами високого та низького рівня; - здатність використовувати сучасні методи і мови програмування для розроблення системного програмного забезпечення; - здатність створювати системне та прикладне програмне забезпечення комп’ютерних систем та мереж; - знання принципів роботи операційних систем; - володіння спеціалізованими програмними пакетами; - знання складу, призначення, способів і методів розробки компонентів систем програмування; - здатність оформляти отримані робочі результати у вигляді презентацій, науково-технічних звітів; - здатність вирішувати проблеми у галузі системного програмування та інформаційних технологій, визначати обмеження цих технологій.
Результати навчання: знати склад та призначення компонент систем програмування; узагальнену схему компіляції; основи теорії формальних мов та автоматів; принципи та методи побудови компонент систем програмування, їх базові структури даних; уміти створювати типові елементи систем програмування: лексичний, синтаксичний та семантичний аналіз.
Необхідні обов'язкові попередні та супутні навчальні дисципліни: попередні: Програмування, Алгоритми та моделі обчислень, Системне програмування частина 1; супутні: Системне програмування частина 2, Інженерія програмного забезпечення
Короткий зміст навчальної програми: Розробка транслятора для вхідної мови програмування: створення граматики для заданої мови програмування; проектування та реалізація інформаційних таблиць для трансляторів та компіляторів; розробка та реалізація модуля лексичного аналізатора; розробка та реалізація модуля синтаксичного аналізатора; розробка генератора коду.
Опис: Розробка транслятора для вхідної мови програмування: створення граматики для заданої мови програмування; проектування та реалізація інформаційних таблиць для трансляторів та компіляторів; розробка та реалізація модуля лексичного аналізатора; розробка та реалізація модуля синтаксичного аналізатора; розробка генератора коду.
Методи та критерії оцінювання: Оцінювання здійснюється за результатами перевірки пояснювальної записки на відповідність завданню і вимогам до оформлення курсового проекту, перевірки якості програмного коду і демонстрації його роботи, а також захист курсового проекту перед комісією.
Критерії оцінювання результатів навчання: Пояснювальна записка з графічною частиною, демонстрація програмної реалізації та захист курсового проекту. Підсумковий контроль – 100 балів, диф. залік: якість оформлення записки та відповідність завданню - 25 балів; демонстрація програмної реалізації та аналіз якості коду - 25 балів; захист курсового проекту - 50 балів. Максимальна кількість балів для оцінки поточного контролю (ПК) знань за семестр – 40 балів. Екзаменаційний контроль проводиться в письмово-усній формі. Максимальна кількість балів для оцінки екзаменаційного контролю – 60 балів.
Порядок та критерії виставляння балів та оцінок: 100–88 балів – («відмінно») виставляється за високий рівень знань (допускаються деякі неточності) навчального матеріалу компонента, що міститься в основних і додаткових рекомендованих літературних джерелах, вміння аналізувати явища, які вивчаються, у їхньому взаємозв’язку і роз витку, чітко, лаконічно, логічно, послідовно відповідати на поставлені запитання, вміння застосовувати теоретичні положення під час розв’язання практичних задач; 87–71 бал – («добре») виставляється за загалом правильне розуміння навчального матеріалу компонента, включаючи розрахунки , аргументовані відповіді на поставлені запитання, які, однак, містять певні (неістотні) недоліки, за вміння застосовувати теоретичні положення під час розв’язання практичних задач; 70 – 50 балів – («задовільно») виставляється за слабкі знання навчального матеріалу компонента, неточні або мало аргументовані відповіді, з порушенням послідовності викладення, за слабке застосування теоретичних положень під час розв’язання практичних задач; 49–26 балів – («не атестований» з можливістю повторного складання семестрового контролю) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння застосувати теоретичні положення під час розв’язання практичних задач; 25–00 балів – («незадовільно» з обов’язковим повторним вивченням) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння орієнтуватися під час розв’язання практичних задач, незнання основних фундаментальних положень.
Рекомендована література: 1. Системне програмування. Системні сервiсні компоненти.. Навч. посібник/ Дерев'янко О. С., Межерицький С. Г., Гавриленко С. Ю., Клименко А. М. - Харків: НТУ "ХПІ", 2009. - 160 с. 2. Бондаренко М.Ф. и др. Системное программирование в современных операционных системах: уч. пособие. – Харьков: ООО «Компания СМИТ», 2005. – 432 с. 3. Ахо, Альфред В., Лам, Моника С., Сети, Рави, Ульман, Джеффри Д. Компиляторы: принципы, технологии и инструментарий, 2 е изд. : Пер. с англ. – М. : ООО “И.Д. Вильямс”, 2018. – 1184 с. 4. Свердлов С.З. Конструирование компиляторов: уч. пособие. – Германия: Издательство: LAMBERT Academic Publishing, 2015. – 575 с. 5. Компаниец Р.И. и др. Системное программирование: Основы построения трансляторов. – СПб.: Питер : «Корона Принт», 2004. – 256 с.
Уніфікований додаток: Національний університет «Львівська політехніка» забезпечує реалізацію права осіб з інвалідністю на здобуття вищої освіти. Інклюзивні освітні послуги надає Служба доступності до можливостей навчання «Без обмежень», метою діяльності якої є забезпечення постійного індивідуального супроводу навчального процесу студентів з інвалідністю та хронічними захворюваннями. Важливим інструментом імплементації інклюзивної освітньої політики в Університеті є Програма підвищення кваліфікації науково-педагогічних працівників та навчально-допоміжного персоналу у сфері соціальної інклюзії та інклюзивної освіти. Звертатися за адресою: вул. Карпінського, 2/4, І-й н.к., кімн. 112 E-mail: nolimits@lpnu.ua Websites: https://lpnu.ua/nolimits https://lpnu.ua/integration
Академічна доброчесність: Політика щодо академічної доброчесності учасників освітнього процесу формується на основі дотримання принципів академічної доброчесності з урахуванням норм «Положення про академічну доброчесність у Національному університеті «Львівська політехніка» (затверджене вченою радою університету від 20.06.2017 р., протокол № 35).