- •Що виносяться на державний іспит в 2014 р. (спеціалісти спеціальності «інформатика»)
- •1. Програмування, системне програмування
- •Системнепрограмування
- •1. Мови програмування та їх класифiкацiя.
- •2. Системнепрограмування
- •2. Типи даних, скалярні та структурованi типи. Оператори; оператор присвоєння, структурнi оператори. Засоби вводу-виводу.
- •3. Структуризація програм та даних. Підпрограми, функцiї.
- •4. Динамічні структури даних. Списки, стеки, черги. Дерева, бінарні дерева. Дерева пошуку.
- •5. Поняття про функцiональне програмування, структурне програмування, об'єктно-орiєнтоване програмування.
- •6. Інструментальні засоби розробки інформаційних технологій, case-технології
- •2. Системнепрограмування
- •7. Cучасні технології програмування та тенденції їх розвитку.
- •2. Системнепрограмування
- •8. Об’єктно-орієнтоване програмування. Мова Java.
- •2. Системнепрограмування
- •9. Поняття мовного процесора. Типи мовних процесорів. Основні фази мовного процесора.
- •2. Системнепрограмування
- •10. Скінченні автомати. Методика побудови лексичного аналізатора на основі скінченного автомата.
- •2. Системнепрограмування
- •11. Синтаксичний аналіз та породжувальні граматики. Виведення в граматиці, дерево виведення. Лівостороння та правостороння стратегії виведення.
- •2. Системнепрограмування
- •12. Ll(k)-граматики. Перевірка ll(1)-умови. Побудова ll(1)-таблиці для управління синтаксичним ll(1)-аналізатором.
- •2. Системнепрограмування
- •13. Методи денотацiйної та операційної семантики. Метод семантичних підпрограм. Атрибутний метод визначення семантики програм. Семантичний терм програми.
- •2. Системнепрограмування
- •14. Машинно-орієнтовані мови програмування. Асемблери. Структура асемблера, перегляди тексту програми та відповідні бази даних.
- •2. Інформаційні технології
- •1. Уніфікована мова моделювання uml. Діаграми прецедентів
- •2. Використання діаграм послідовностей та діаграм класів при проектуванні програмних систем.
- •3. Патерни проектування
- •Класифікації патернів:
- •4. Платформа .Net Framework.
- •5. Сервісно-орієнтована архітектура
- •6. Огляд технологій j2ee. Технологія Java rmi.
- •8. Патерн Model-View-Controller у Web-проектах.
- •9. Патерн (принцип) ioc&di та його підтримка у фреймворку Spring
- •10. Проблема валідації даних у Web-проектах. Підтримка ajax.
- •3. Інформаційні мережі
- •1. Інформаційна глобальна мережа internet (написано много, выбрать главное)
- •Internet надає такі основні види послуг:
- •2. Система доменних імен глобальної мережі internet.
- •3. Система електронної пошти глобальної мережі internet.
- •4. Системи інтерактивних комунікацій глобальноїмережі internet (на прикладі Skype, icq).
- •5. Системи електронних спільнот глобальної мережі internet (на прикладі Facebook, Twiter).
- •6. Поняття універсального вказівника ресурсу. Основні типи ресурсів.
- •7. Мережі tcp/ip.Стек протоколів tcp/ip: топологічні особливості, функції рівнів.
- •8. Поняття раутінгу в мережах tcp/ip. (аккуратно, перевод через гугл транслейт!!!)
- •9. Технології, що забезпечують відмовостійкість мереж tcp/ip. (ответ не очень)
- •10.Класифікація комп’ютерних мереж.
- •11. Системи захисту інформації в глобальній мережі internet (на прикладі pgp).
- •4. Математична логіка та теорія алгоритмів, теорія програмування
- •9. Основні поняття програмування, відношення між ними. Основні програмні поняття Розвиток основних понять програмування
- •Композиції
- •11. Методи подання синтаксису мов програмування.
- •4.8.1. Нормальні форми Бекуса–Наура
- •4.8.2. Модифіковані нормальні форми Бекуса–Наура
- •4.8.3. Синтаксичні діаграми
- •Визначення основних понять формальних мов
- •4.3. Операції над формальними мовами
- •13. Неперервні відображення.Теореми про найменшу нерухому точку (Кнастер-Тарський-Кліні); теорема про неперервність оператора нерухомої точки.
- •14. Методи формальної семантики мов програмування (композиційна, натуральна, денотаційна, аксіоматична).
- •5. Штучний інтелект
4. Платформа .Net Framework.
Microsoft .NET (читається дот-нет) — програмна технологія, запропонована фірмою Microsoft як платформа для створення як звичайних програм, так і веб-застосунків. Багато в чому є продовженням ідей та принципів, покладених в технологію Java. Одною з ідей .NET є сумісність служб, написаних різними мовами. Хоча ця можливість рекламується Microsoft як перевага .NET, платформа Java має таку саму можливість.
Кожна бібліотека (збірка) в .NET має свідчення про свою версію, що дозволяє усунути можливі конфлікти між різними версіями збірок.
.NET — крос-платформова технологія, в цей час існує реалізація для платформи Microsoft Windows, FreeBSD (від Microsoft) і варіант технології для ОС Linux в проекті Mono (в рамках угоди між Microsoft з Novell), DotGNU [1].
Як і технологія Java, середовище розробки .NET створює байт-код, призначений для виконання віртуальною машиною. Вхідна мова цієї машини в .NET називається CIL (Common Intermediate Language), також відома як MSIL (Microsoft Intermediate Language), або просто IL. Застосування байт-кода дозволяє отримати крос-платформовість на рівні скомпільованого проекту (в термінах .NET:збірка), а не на рівні сирцевого тексту, як, наприклад, в С. Перед запуском збірки в середовищі виконання (CLR) байт-код перетворюється вбудованим в середовище JIT-компілятором (just in time, компіляція на льоту) в машинні коди цільового процесора.
Ядром .NET Framework виступає CLR (Common Language Runtime) – “віртуальна машина .NET”, інструкції якої визначаються об'єктно-орієнтованою мовою CIL (Common Intermediate Language, загальна проміжна мова).
Другим важливим компонентом платформи .NET Framework є Framework Class Library (FCL) – єдина бібліотека класів для всіх мов платформи .NET.
Ключові специфікації:
CIL (Common Intermediate Language) — загальна проміжна мова;
CTS (Common Type System) — система загальних типів;
CLR (Common Language Runtime) — “віртуальна машина .NET”.
5. Сервісно-орієнтована архітектура
Се́рвісно-орієнто́вана архітекту́ра (англ. Service-oriented architecture, SOA) — архітектурний шаблон програмного забезпечення, модульний підхід до розробки програмного забезпечення, заснований на використанні розподілених, слабко пов'язаних замінних компонентів, оснащених стандартизованими інтерфейсами для взаємодії за стандартизованими протоколам.
Веб-служби (Web Services) – це технологія надання служб, до яких можна звертатися через Інтернет на базі загальноприйнятих стандартів.
Важливо відзначити, що клієнтами веб-служб можуть бути будь-які програми, зокрема, не обов'язково пов'язані з веб-проектуванням (з орієнтацією на використання веб-браузерів).Технологія веб-служб є універсальною – не залежною ні від операційних систем, ні від мов програмування, ні від об'єктної моделі тощо.Веб-служби знаменують стратегію переходу від “жорсткої” системно-орієнтованої архітектури до сервісно-орієнтованої архітектури (СОА).
СОА ґрунтується на слабкій зв'язуваності – сервіси (“запаковані бізнес-процеси”) та, зокрема, веб-сервіси взаємодіють між собою шляхом обміну повідомленнями. Інтеграція сервісів отримала назву оркестрування (іноді виокремлюють ще й хореографію сервісів).
Веб-служби — це технологія, що забезпечує зв'язок та інтеграцію різного роду компонент (гетерогенну інтеграцію) на основі використання єдиних Інтернет-протоколів.
Веб-служби дозволяють створювати з використанням інтернет-інтеграції розподілені системи, компоненти яких взаємодіють між собою шляхом стандартних інтерфейсів, що визначаються на основі XML. (Контракти — на основі XML).
Основу технології веб-служб складають наступні стандарти:
транспортні Інтернет-протоколи HTTP (SMTP, TCP, FTP, HTTPS);
протокол SOAP (Simple Object Access Protocol) для повідомлень, якими, зокрема, обмінюються між собою веб-служба та програма (клієнт веб-служби). SOAP ґрунтується на стандарті XML;
мова WSDL (Web Services Definition Language) – мова опису веб-служб (також ґрунтується на стандарті XML);
реєстр веб-служб UDDI (Universal Description, Discovery, and Integration – універсальні опис, виявлення та інтеграція веб-служб). Цей реєстр є власне веб-службою і, зокрема, використовує повідомлення SOAP.
COA створює комунікаційне середовище для модулів, що реалізовують прикладну бізнес-логі ку. Інформація про модулі публікується в такій формі, що їх використання не вимагає знань про використані в них рішення і технології. Від розробника не вимагається знати, як працює програма, необхідно лише розуміти, які вхідні і вихідні дані потрібні, і як викликаються ці програми для виконання.
