Дисципліни кафедри

 

Дисципліни кафедри
Назва Опис
1 Агентно-орієнтоване програмування Засвоєння основоположних знань у галузі агентно-орієнтованого програмування. Розглядаються відмінності агентів від інших інтелектуальних систем, стандартні архітектурні рішення на базі програмних агентів, використання теорії агентів на практиці (персональні помічники, агенти пошуку, програмні агенти у семантичному середовищі Web та ін.), побудова мультиагентних систем.
2 Алгоритми та структури даних Дана дисципліна знайомить студентів із базовими концепціями структур даних і пов'язаних з ними алгоритмів. Теми курсу включають рекурсію, філософію об'єктно-орієнтованого програмування, базові структури даних (включаючи стеки, черги, зв'язані списки, хэш- таблиці, дерева й графи), основи аналізу алгоритмів і стратегії конструювання алгоритмів.
3 Аналіз вимог до програмного забезпечення Засвоєння методів виявлення та формалізації вимог до програмних систем. Вивчення мов та моделей представлення вимог, аналіз системних вимог та вимог до якості. Мова UML. Бізнес вимоги до системи, керування вимогами до ПЗ. Визначення вимог до різноманітних систем - web-систем, бізнес-систем. Стандарти документування вимог.
4 Архітектура та проектування програмного забезпечення Поглиблене вивчення проектування програмного забезпечення. Продовження вивчення шаблонів проектування, середовищ розробки й архітектури. Дослідження існуючих архітектур проміжного програмного забезпечення. Проектування розподілених систем з використанням проміжного програмного забезпечення. Компонентне проектування. Теорія виміру й використання метрик і проектування. Проектування з урахуванням таких якостей, як продуктивність, безпека, захищеність, можливість повторного використання, надійність тощо. Зміна внутрішніх параметрів і складності програмного забезпечення. Оцінка й еволюція проектування. Основи еволюції програмного забезпечення, реінженерингу й зворотної інженерії.
5 Бази даних Вивчення понять та методів роботи баз даних: принципів організації систем баз даних, інформаційних моделей та систем, методів моделювання даних, понять та методів роботи з реляційними базами даних, етапів проектування, розробки і функціонування баз даних, систем управління баз даних. Особлива увага надається придбанню навичок розробки прикладних програм для баз даних.
6 Бази даних (частина II) Формування систематичного та наукового підходу до розробки автоматизованих інформаційних систем корпоративного рівня та придбання практичних навичок використання систем управління базами даних, що лежать у їх основі, на прикладі СУБД ORACLE; розуміння взаємозв’язку архітектури даних на фізичному, логічному рівнях; володіння сучасними методами та засобами розробки інформаційних систем, таких як технологія клієнт-сервер, розподілені системи. Особливу увагу приділяється набуттю навичок розробки серверних частин інфораційних систем.
7 Безпека програм та даних Питання безпеки - важлива частина концепції упровадження нових інформаційних технологій у всі сфери життя суспільства. Широкомасштабне використання обчислювальної техніки і телекомунікаційних систем приводить до якісно нових можливостей несанкціонованого доступу до ресурсів і даних інформаційної системи, тобто до високої уразливості. Таким чином, забезпечення цілісності, достовірності і доступності інформації - важливі складові успіху діяльності будь-якої організації. Управління безпекою охоплює широке коло питань, в число яких входить: забезпечення цілісності, конфіденційності і автентичності інформації; розмежування прав користувачів з доступу до ресурсів автоматизованої системи; захист автоматизованої системи та її елементів від несанкціонованого доступу; забезпечення юридичного захисту електронних документів.
8 Групова динаміка і комунікації Метою викладання дисципліни “Групова динаміка і комунікації“ є основи усної, письменної і графічної комунікації для програмних інженерів. Ставиться за мету вивчення і використання: принципів написання документації, типів документів, презентацій, основ ефективної роботи і усної комунікації з колегами та в міжособистому спілкуванні, мотивації людей, концепції групової динаміки, принципів спілкування, переконання і впливання на людину, принципів уникнення стресових та конфліктних ситуацій.
9 Дискретні структури Даний курс поглиблює знання студентів з основ дискретної математики. Мета даного курсу – створити теоретичний фундамент для формализації методів програмної інженерії. Розглядаються числення висловлювань і предикатів як формальні теорії; методи формальних доведень; дискретна ймовірнисть і методи виведення в ймовірнісних системах; розв'язання матричних рівнянь.
10 Емпірічні методи програмної інженерії Засвоєння принципів застосування емпіричних методів у галузі програмної інженерії. Розглядаються основи описової статистики, дискретні та безперервні розподіли ймовірностей, методи оцінювання параметрів регревійних залежностей, кореляції, статистичні тести, найуживаніші у галузі програмної інженерії. Також методи планування експерименту і перевірка гіпотез. Застосування емпіричних методів для аналізу продуктивності та надійності програмних систем тощо.
11 Інтелектуальні системи аналізу даних Метою курсу є вивчення теоретичних основ обробки інформації з використанням різноманітних методів оцінки багатоаспектних взаємовідносин у даних, методів представлення невідомих знань та закономірностей, технології пошуку логічних закономірностей та виявлення внутрішньої структури даних, набуття навичок з аналізу та використання технологій підготовки, аналізу та аналітичного узагальнення інформації, математичного моделювання, класифікації, розпізнавання образів, а також застосування сучасних пакетів прикладних програм з метою автоматизованої обробки на ЕОМ експериментальних даних досліджень в галузі економіки, техніки, банківської діяльності тощо. Даний курс направлений на ознайомлення та навчання студентів сучасним напрямкам в області інтелектуальних систем підтримки прийняття рішень, експертних систем, машинному навчанню.
12 Комп'ютерна дискретна математика Отримання навичок природничого використання формальних методів та моделей дискретної математики щодо обробки дискретної інформації та опису дискретних процесів, пов'язаних з розробкою та експлуатацією засобів обчислювальної техніки та програмного забезпечення, розуміння проблем, які виникають при автоматизації процесів обробки дискретної інформації; ознайомлення з широким спектром методів дискретної математики; розуміння проблем, що виникають при побудові алгоритмів та програмного забезпечення.
13 Конструювання програмного забезпечення Вивчення загальних принципів проектування програмного забезпечення. Розглядаються формальні методи розробки програмного забезпечення, основи теорії формального опису мов на базі граматик і регулярних виразів, методи лексичного і синтаксичного аналізу, принципи роботи сканерів і парсерів, засоби автоматичної генерації сканерів і парсерів для мов програмування на основі специфікацій, засоби автоматичного проектування і розробки програмного забезпечення.
14 Людино-машинний інтерфейс  
15 Менеджмент проектів програмного забезпечення Метою курсу "Менеджмент проектів" є навчання студентів основам теорії управління проектами з розробки програмного забезпечення та набуття практичних навичок планування, контролю та оптимізації процесів розробки програмного забезпечення. В результаті вивчення курсу студент повинен засвоїти основні поняття управління проектами, виділяти та класифікувати проекти та задачі управління проектами, застосовувати системні підходи та методи управління проектами, володіти сучасними прикладними засобами підтримки управління проектами. Основні теми: Життєвий цикл проектів з розробки програмного забезпечення. Процеси менеджменту проектів. Інтеграційне управління проектом. Контроль обсягу робіт проекту. Управління часом проекту. Управління вартістю проекту. Управління якістю проекту. Управління персоналом проекту. Управління комунікаціями проекту. Управління ризиками проекту. Додаткові питання менеджменту проектів.
16 Методи та засоби обробки знань в геології нафти і газу Метою курсу є ознайомлення з основними підходами, методами які використовують для обробки даних та аналізу досвіду експертів у геології нафти і газу, бурінні нафтогазових свердловин, розробки нафтогазових родовищ.
17 Методологічні основи наукових досліджень в нафтогазовій галузі
Ознайомити студентів із базовими поняттями та методами формальної обробки знань. Алгоритмічні системи (частково рекурсивні функції, машини Тюрінга-Поста, нормальний алгоритм Маркова) як системи формального виведення. Обмеження алгоритмічного методу розв'язання задач. Визначення формальної системи та процесу виведення. Формальні моделі подання знань (логічна, об'єктна, семантичні мережі). Формальні виведення на знаннях. Пошук у просторі рішень. Генетичні алгоритми. Агенти, нейронні мережі
18 Мови програмування для web Навчання студентів створенню Web-застосувань на базі вивчення основних понять сучасних інформаційних технологій; методів передачі, обробки і захисту інформації та їх реалізації. Студенти вивчають мову програмування Web-застосувань PHP.
19 Моделювання програмного забезпечення Моделювання й аналіз розглядаються як основні концепції в будь-якій інженерній дисципліні, тому що вони необхідні для документування й оцінки проектних рішень і альтернатив. Моделювання й аналіз у першу чергу застосовуються до аналізу, специфікації й атестації вимог. Вимоги являють собою реальні потреби користувачів, клієнтів і інших зацікавлених осіб, інтереси яких так чи інакше зачіпаються системою. Створення вимог включає аналіз можливості створення планованої системи, виявлення і аналіз потреб зацікавлених осіб, чіткий опис того, що система повинна робити і що знаходиться поза рамками системи, які обмеження системи з її експлуатації та реалізації, а також атестації даного опису чи специфікації зацікавленими особами.
20 Мультимедіа - системи Формування методологічних уявлень інженера-програміста про технології розробки програмних засобів мультимедіа, засвоєння технологій, які базуються на принципах з'єднання звукового та візуального представлення інформації, одержання навичок з конфігурації апаратних засобів для обробки та відтворення аудіо та візуальної інформації, освоєння програмних продуктів створення цифрової анімації та звукового супроводу, програмними технологіями зберігання и розповсюдження мультимедіа-контента в Інтернет, уявлення про перспективи розвитку відповідних інформаційних технологій.
21 Об'єктно-орієнтоване програмування Курс є введенням до об’єктно-орієнтованого програмування (ООП). Він починається оглядом керуючих конструкцій програмування та поширених структур даних з акцентом на масиви. Далі вводяться основні поняття ООП, особлива увага надається визначенню та використанню класів. Також розглядаються різні мови програмування стосовно до ООП, найбільш поширені алгоритми, найпростіший аналіз складності алгоритмів та окремі питання програмної інженерії.
22 Операційні системи Засвоєння основоположних знань у використанні та розробці операційних систем. Розглядаються класифікація сучасних операційних систем, архітектура та принципи їх побудови, забезпечення паралелізму в умовах одно- та багатопроцесорних систем, керування зовнішніми пристроями, керування процесами та потоками, керування пам’яттю.
23 Операційні системи UNIX Формування базових знань про операційну систему UNIX, що використовується як середовище виконання прикладних пакетів розробки, синтезу та аналізу апаратних та програмних засобів цифрових обчислювальних систем і мереж різного призначення. Основним завданням дисципліни є знайомство студентів з існуючими платформами що забезпечують одночасну реєстрацію багатьох користувачів на ЕОМ, як за допомогою мережі, так і при застосування багатьох робочих станцій, і одночасного виконання кожним користувачем багатьох задач. Навчання засобам віддаленого запуску прикладних задач, обміну файлами між ЕОМ у мережі, засобам захисту персональної інформації від несанкціонованого доступу та елементам адміністрування
24 Основи крос-платформенного програмування Метою навчальної дисципліни є вивчення основ програмування мовою Java. Після вивчення дисципліни студенти мають знати об’єктну модель та мовні засоби Java, склад та структуру основних пакетів JDK, та вміти проектувати, кодувати та документувати консольні програми та програми з графічним інтерфейсом користувача.
25 Основи програмної інженерії Засвоєння основоположних знань у галузі програмної інженерії. Розглядаються основні засади програмної інженерії, цілі, завдання розробки, можливості її реалізації та також потрібних для цього ресурсів, принципи усунення знайдених вад, реалізація необхідних змін, зумовлених еволюцією потреб та умов діяльності користувача.
26 Основи програмування Засвоєння основ машинної арифметики (двійкової та 16-річної систем обчислювання) та засобів перетворення чисел з однієї в іншу систему обчислювання; зуміння типових алгоритмічних структур та основ алгоритмізації; розробка алгоритмів, де ці типові алгоритмічні структури комбінуються; засвоєння технології розробки процедурних програм на мові С++.
27 Паралельне програмування Метою курсу є вивчення методів створення паралельних алгоритмів і програм. Розглядаються сучасні технології паралельної обробки даних (SSE), виконання команд (суперскалярність), функцій (багатопоточність) і програм (багатопроцесність), математичний апарат для створення паралельних алгоритмів, етапи розробки паралельних програм, оцінка обчислювальної складності в різних режимах виконання програм, сучасні технології для створення, відлагодження та аналізу виконання таких програм.
28 Програмні системи для математичних розрахунків та моделей Ознайомлення з основними принципами проведення розрахунків великих об’ємів даних, огляд основних середовищ обробки та візуалізації даних, які застосовуються у нафтогазовій промисловості.
29 Проектний практикум Метою курсу є засвоєння практичних навичок у галузі створення програмних систем. Практично засвоїти життєвий цикл програмного продукту. Реалізувати один з методів організації розробки програмної системи. Одержати навички створення програм у складі групи програмістів (розподіл обов’язків, робочі та етичні відношення між членами групи, особливості виконання кожної зі складових процесу). Поглибити свої знання та навички створення моделі, алгоритму та програми для конкретної задачі. Навчитися створювати програми, що є складовими систем вищого рівня.
30 Професійна практика програмної інженерії Метою курсу є засвоєння знань та придбання умінь у галузі професійної діяльності та етики програмної інженерії. Розглядаються питання історії програмної інженерії, акредитації, сертифікації і ліцензування, кодекс етики і професійної поведінки, соціальні, юридичні і історичні питання, природа та значимість професійних спілок і стандартів програмної інженерії; економічний вплив програмного забезпечення; захист інтелектуальної власності та інше законодавство в галузі програмної інженерії.
31 Розробка web-застосувань Метою дисципліни є навчання студентів розробці серверних WEB-застосувань на платформі Microsoft.Net Framework для відображення HTML в веб-браузері на клієнтській машині з використанням сучасних інструментальних засобів Microsoft Visual Studio.Net 2008. В результаті вивчення курсу студент повинен засвоїти основні концепції, принципи та підходи до проектування, створення та підтримки WEB-застосувань в мережі Інтернет за допомогою сучасних технологій. Введення в розробку динамічних WEB-застосувань. Основні можливості ASP.NET технології при розробці WEB - застосувань. Розширені можливості технології ASP.NET при розробці WEB - застосувань.
32 Технології компонентного програмного забезпечення Метою курсу є засвоєння студентами компонентної моделі програмування та заснованих на цій моделі методів конструювання програм. Після вивчення курсу слухачі зможуть використовувати компоненти, які існують, та створювати власні компоненти. В курсі розглядаються компоненти рівня презентації для настільних і мережевих програм, компоненти для роботи з даними, компоненти з видаленим доступом. Окремо вивчаються мовні засоби компонентного програмування.
33 Якість програмного забезпечення та тестування Якість: як її забезпечити й верифікувати; необхідність культури якості. Запобігання помилок і проблем. Перевірки інспекціями й рецензії. Методи тестування, верифікації й атестації. Якість процесу в поєднанні з якістю продукту. Стандарти якості. Забезпечення якості продукту і якості процесу. Статистичні підходи до контролю якості

Дисципліни