Напрямки дослідження і розвитку комп'ютерних систем
Анотація навчальної дисципліни
Мета вивчення дисципліни: виробити у майбутніх магістрів цілісне уявлення про сучасні технології, засоби їхнього розроблення, тестування, діагностики, телеметрії та розвиток умінь і навичок практичного застосування отриманих знань в практиці в галузі НДРКС.
Практичне значення та використання отриманих знань Здатність до адаптації та дій в новій ситуації. Здатність проводити дослідження на відповідному рівні. Здатність до пошуку, оброблення та аналізу інформації з різних джерел. Здатність виявляти, ставити та вирішувати проблеми. Здатність будувати та досліджувати моделі комп’ютерних систем та мереж. Здатність використовувати та впроваджувати нові технології, включаючи технології розумних, мобільних, зелених і безпечних обчислень, брати участь в модернізації та реконструкції комп’ютерних систем та мереж, різноманітних вбудованих і розподілених додатків, зокрема з метою підвищення їх ефективності. Здатність досліджувати, розробляти та обирати технології створення великих і надвеликих систем. Здатність ідентифікувати, класифікувати та описувати роботу програмно-технічних засобів, комп’ютерних систем, мереж та їхніх компонентів. Здатність обирати ефективні методи розв’язування складних задач комп’ютерної інженерії, критично оцінювати отримані результати та аргументувати прийняті рішення. Здатність обирати, моделювати, вдосконалювати сучасні програмно-апаратні та інтелектуальні компоненти складних систем.
Основні результати навчання
ПРН1. Застосовувати загальні підходи пізнання, методи математики, природничих та інженерних наук до розв’язання складних задач комп’ютерної інженерії.
ПРН2. Знаходити необхідні дані, аналізувати та оцінювати їх.
ПРН3. Будувати та досліджувати моделі комп’ютерних систем і мереж, оцінювати їх адекватність, визначати межі застосовності.
ПРН4. Застосовувати спеціалізовані концептуальні знання, що включають сучасні наукові здобутки у сфері комп’ютерної інженерії, необхідні для професійної діяльності, оригінального мислення та проведення досліджень, критичного осмислення проблем інформаційних технологій та на межі галузей знань.
ПРН6. Аналізувати проблематику, ідентифікувати та формулювати конкретні проблеми, що потребують вирішення, обирати ефективні методи їх вирішення.
ПРН8. Застосовувати знання технічних характеристик, конструктивних особливостей, призначення і правил експлуатації програмно-технічних засобів комп’ютерних систем та мереж для вирішення складних задач комп’ютерної інженерії та дотичних проблем.
ПРН11. Приймати ефективні рішення з питань розроблення, впровадження та експлуатації комп’ютерних систем і мереж, аналізувати альтернативи, оцінювати ризики та імовірні наслідки рішень.
ПРН14. Вміти обирати та досліджувати програмно-технічні компоненти спеціалізованих комп’ютерних систем.
ПРН15. Вміти застосовувати принципи, засоби і методи проєктування та дослідження складних спеціалізованих та вбудованих систем.
ПРН16. Вміти обирати методи вирішення проблем при розробці програмно-технічних засобів складних систем з використанням сучасних інформаційних технологій.
ПРН18. Вміти використовувати методи моделювання та інформаційні технології для підвищення ефективності комп’ютерних систем та мереж.
ПРН19. Вміти застосовувати інтелектуальні методи обробки даних; мережні, мобільні, хмарні технології; інтелектуальні компоненти та елементи Інтернету речей, IT-інфраструктур, інтерфейси та протоколи взаємодії компонентів.
Тематика та види навчальних занять
1 тиждень.
Лекція 1 «Реалізація основних алгоритмічних структур мов програмування».
2 тиждень.
Лекція 2 «Реалізація системного примітиву міжпроцесної взаємодії pipe».
Лабораторне заняття 1 «Знайомство з UNIX-подібною ОС xv6».
3 тиждень.
Лекція 3 «Реалізація парсерів граматик: LL, LR, LALR, GLR граматики»
4 тиждень.
Лекція 4 «Реалізація системного примітиву міжпроцесної взаємодії mutex».
Лабораторне заняття 2 «Реалізація системних примітивів сучасних ОС».
5 тиждень.
Лекція 5 «Метакомпілятори: огляд, основні концепції та структури даних».
6 тиждень.
Лекція 6 «Метакомпілятори: Реалізація та основні структури даних».
Лабораторне заняття 3 «Реалізація компіляторів для сучасних ОС».
7 тиждень.
Лекція 7 «Метакомпілятори: Використання для оптимізації програм».
8 тиждень.
Лекція 8 «Реалізація системного примітиву міжпроцесної взаємодії unix signal».
Лабораторне заняття 4 «Оптимізація програм».
Модульна контрольна робота 1.
9 тиждень.
Лекція 9 «Асинхронний POSIX інтерфейс файлових систем».
10 тиждень.
Лекція 10 «Cинхронний POSIX інтерфейс файлових систем».
Лабораторне заняття 5 «Конвейерні ЕОМ».
11 тиждень.
Лекція 11 «Оптимізація та профілювання програм».
12 тиждень.
Лекція 12 «Реалізація семплуючих та інструментуючих профайлерів».
Лабораторне заняття 6 «Конвейерні ЕОМ, режими роботи».
13 тиждень.
Лекція 13 «Реалізація систем розподілення часу. Апаратні та програмні аспекти».
14 тиждень.
Лекція 14 «Конвейерні ЕОМ. Типи перешкод (hazards)».
Лабораторне заняття 7 «Генератори коду для HDL-мов».
15 тиждень.
Лекція 15 «Технічні засоби проектування структури СКС».
Модульна контрольна робота 2.
Самостійна робота складає 46 годин. Самостійна робота здобувача відбувається впродовж семестру та складається з підготовки до аудиторних занять, контрольних заходів, індивідуальних завдань.
Консультації: здійснюються викладачем впродовж семестру згідно розкладу.
Оцінювання результатів навчання
Оцінювання результатів навчання з дисципліни здійснюється за накопичувальною системою, яка дає можливість здобувачеві протягом семестру отримати максимально 100 балів.
Модуль 1
Повне виконання лабораторних завдань 1 – 3 – 21 балів (по 7 балів кожне).
Модульна контрольна робота 1 – бездоганне виконання 29 балів (в кожному завданні модульної контрольної роботи наведено максимальну кількість балів за виконання кожного завдання).
Модуль 2
Повне виконання лабораторних завдань 4 – 7 – 20 балів (по 5 балів кожне).
Модульна контрольна робота 2 – бездоганне виконання 30 балів (в кожному завданні модульної контрольної роботи наведено максимальну кількість балів за виконання кожного завдання).
Посилання на рекомендовані джерела
1. Approach to Programming 1st Edition / Guy Cousineau, Michel Mauny, Cambridge University Press; 1st edition (October 29, 1998), 460p, ISBN-13: 978-0521576819, ISBN-10: 0521576814.
2. ЦИФРОВАЯ СХЕМОТЕХНИКА И АРХИТЕКТУРА КОМПЬЮТЕРА, ЦВЕТНОЕ ИЗДАНИЕ / Харрис Д.М., Харрис С.Л., Москва: Вид-во ДМК Пресс, 2017.- 792с, ISBN: 978-5-97060-570-7.
3. OPERATING SYSTEMS Third Edition / Andrew S. Tanenbaum. Prentice Hall PTR. PH. Opper Saddle River, New Jersey 07458 phptr.com.