2 Розділи програми фахових вступних випробувань
Дисципліна «Комп’ютерна дискретна математика»
Множини та операції над множинами: об'єднання, перетин, різниця, симетрична різниця, доповнення. Кола Ейлера. Закони алгебри множин.
Відношення на множинах.
Функції алгебри логіки.
Мінімізація функцій алгебри логіки.
Дисципліна «Дискретні структури»
Визначення орієнтованого і неорієнтованого графів. Доповнення. Способи завдання графів.
Підграфи та ізоморфізм графів. Унарні і бінарні операції над графами.
Маршрути та зв’язність. Алгоритми побудови найкоротших маршрутів. Матриця відстаней. Вершинна і реберна зв'язність.
Дерева та остови. Алгоритми Прима і Краскала побудови остовів найкоротших маршрутів.
Цикли та обходи в графах. Циклічний і коціклічний ранг.
Орієнтовані графи. Конденсація. Алгоритм побудови конденсації. База. Алгоритм побудови бази. Антібаза. Алгоритм побудови антібази. Ядро орграфа.
Дисципліна «Основи програмування»
Метод рішення задачі. Визначення, способи опису, класифікація методів вирішення задач.
Алгоритм розв'язання задачі. Визначення алгоритму. Основні властивості алгоритму.
Основні оператори та керуючі конструкції, які використовуються при написанні алгоритмів.
Типові алгоритми вирішення задач.
Поняття типу даних. Основні типи даних в програмуванні та їх реалізація на С.
Структури даних у програмуванні. Визначення та класифікація за різними ознаками.
Масиви. Динамічні масиви. Особливості роботи з масивами. Реалізація масивів в С.
Рядки. Визначення та операції. Реалізація рядків в С.
Записи в програмуванні та їх реалізація в С. Структури та об’єднання.
Файли в програмуванні та їх реалізація в С.
Посилальні типи в мові С. Особливості застосування посилальних типів. Вказівники.
Розподіл пам'яті в програмі. Класифікація розподілу пам'яті. Карта пам'яті.
Динамічні структури даних. Їх реалізація в С.
Списки. Види списків. Особливості роботи з лінійними списками. Реалізація списків в С.
Функції в С. Формальні і фактичні параметри. Область видимості імен у функціях. Способи передачі параметрів у функції.
Рекурсія. Визначення. Види рекурсії. Способи застосування.
Дисципліна «Об’єктно-орієнтоване програмування»
Проектування складного програмного забезпечення.
Об’єктно-орієнтована декомпозиція.
ОО парадигма. ОО аналіз, проектування та програмування.
Об’єкт та клас. Протокол класу.
Стан та поведінка об’єкту.
Конструктор.
Деструктор.
Динамічне створення та видалення об’єктів.
Об’єктна модель.
Абстракція. Абстрагування.
Абстракція процедур (функцій). Абстракція даних. АТД. Абстракція ітерації.
Інкапсуляція. Методи доступа до членів класу. Дружня функція. Дружній клас.
Перевантаження функцій.
Перевантаження операторів.
Наслідування. Одиночне та множинне наслідування. Методи наслідування.
Наслідування конструктору, деструктору та оператору присвоєння.
Порядок виклику конструкторів и деструкторів об’єкту ПК. Віртуальне наслідування.
Поліморфізм.
Статичне та динамічне зв’язування.
Віртуальна функція.
Таблиця віртуальних функцій.
Чисто віртуальна функція.
Абстрактний базовий клас.
Проблеми неоднозначності імен при множинному наслідуванні.
Віртуальний базовий клас.
Дисципліна «Алгоритми та структури даних»
Методи сортувань.
Методи пошуку в таблицях. Лінійний пошук. Дихотомічний пошук.
Зростання функції. Головний параметр. Приклади функцій.
Таблиці з обчислюваним входом. Функції розставляння.
Строкові структури. Рядки. Алгоритми пошуку підрядка в рядку.
Відображення і використання стеків, черг, зв'язних списків.
Нелінійні структури. Робота з двійковими деревами: побудова впорядкованого дерева; видалення елементів; пошук елементів; обхід дерева.
Б-дерева. Властивості.
Збалансовані дерева. АВЛ - дерева.
Дерева оптимального пошуку.
Бінарні дерева, що представляються масивами. Піраміди.
Файли. Індексні файли.
Бази даних. Основні властивості.
Моделі даних.
Дисципліна «Бази даних»
Система баз даних. Призначення. Основні характеристики.
Типи СУБД.
Поняття СУБД.
Реляційна система управління базами даних.
Моделі даних
Мова SQL (основні поняття)
Потенційні ключі. Визначення. Призначення.
Зовнішні ключі. Правила зовнішніх ключів.
Null-значення. Особливості використання.
Реляційна алгебра. Призначення і вживання.
Реляційні операції.
Нормальні форми. Основні поняття і призначення.
Дисципліна «Архітектура та проектування програмного забезпечення»
Шаблони проектування.
Породжувальні шаблони проектування.
Структурні шаблони проектування.
Поведінкові шаблони проектування.
Шаблони аналізу.
Формат документу XML: елемент, атрибут, коментар.
Парсер XML документу, DOM и SAX парсери.
Компонентна модель.
Застосування інтерфейсів у компонентній моделі.
Три типи реалізації серверу СОМ.
Створення и знищення об’єктів в СОМ.
Архітектурний стиль канали та фільтри.
Транзакції.
Проміжне програмне забезпечення.
Багатоланкова архітектура ПЗ.
Web – сервіси.
Дисципліна «Емпіричні методи програмної інженерії»
1. Випадкові події та випадкові величини.
2. Статистичне оцінювання. Вимоги до статистичних оцінок. Типи статистичних оцінок.
3. Точкові статистичні оцінки неперервних та дискретних випадкових величин.
4. Інтервальні статистичні оцінки. Методи побудови довірчих інтервалів.
5. Статистичні оцінки випадкових подій.
6. Закони розподілу неперервних випадкових величин.
7. Теорія перевірки гіпотез. Перевірка гіпотез про приналежність двох вибірок єдиній генеральній сукупності. Перевірка гіпотез про закон розподілу.
8. Багатовимірні випадкові величини. Системи двох неперервних випадкових величин.
9. Елементи теорії кореляції. Функціональна, статистична і кореляційна залежність. Кореляційні таблиці. Коефіцієнт кореляції
10. Формування вибіркових сукупностей. Визначення розміру вибіркової сукупності.
Дисципліна «Операційні системи»
Типи операційних систем.
Склад і загальна структура ОС.
Обробка переривань. Типи переривань.
Критерії і стратегії планерування процесів.
Багатозадачність: процеси і потоки.
Засоби синхронізації і взаємодії процесів.
Проблема критичної секції. Семафори.
Клінчі і приклади взаємних блокувань.
Управління пам'яттю.
Організація сторінкової, сегментної і сторінково-сегментної пам'яті.
Призначення і основні функції файлової системи.
Логічна організація файлової системи.
Фізична організація і адреса файлу.
Файлові системи: FAT, HPFS, NTFS і UNIX.
Дисципліна «Якість програмного забезпечення та тестування»
Проектування якісних програмних комплексів.
Характеристики якості ПЗ.
Життєвий цикл ПЗ.
Стандартизація виробництва ПЗ і документації.
Види програм і програмних документів.
Основні етапи розробки ПЗ
Проектування і підтримка проектування програм case-системою.
Структурне проектування програмних комплексів.
Проста програма, схема виконання і дерево виконання програми.
Програмні функції. Еквівалентність програм.
Методи структуризації програм.
Тестування програм. Функціональні методи тестування. Структурні методи тестування.
Дисципліна «Людино-машинна взаємодія»
Інформаційні канали користувача.
Аналізатори. Пороги чутливості аналізаторів. Вимоги до сигналів-подразників оператору.
Особливості сприйняття людиною інформації.
Характеристики пам'яті.
Поняття інтерфейсу користувача.
Типи і види інтерфейсів.
Профіль користувача.
Сценарії дій користувача.
Об'єкти та операції інтерфейсу.
Поняття «юзабіліті». Показники «юзабіліті».
Евристики Якоба Нільсена.
Принципи побудови інтерфейсів. Золотий перетин. Гаманець Міллера. Принцип угруповання. Бритва Оккама. Розумне запозичення.
Чисельні показники якості інтерфейсів.
Тестування інтерфейсів.
Шаблони та анти шаблони проектування інтерфейсів.
