Системне програмування (курсовий проєкт)
Спеціальність: Комп'ютерна інженерія
Код дисципліни: 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).