Анотації курсів

Викладачі

Публікації

Анотації курсів

Веб-орієнтовані системи


Дизайн і архітектура програмного забезпечення
В курсі вивчаються особливості процесу створення програмного продукту, в якому потребам, бажанням і обмеженням кінцевих користувачів приділяється велике увагу на кожній стадії процесу розробки. Орієнтована на користувача розробка може бути охарактеризована як багатоступеневий процес розв'язку задач, який вимагає, щоб розробники не тільки аналізували і передбачали і, ймовірно, як користувачі, використовували продукт, але також і перевірили достовірність їх припущень щодо поведінки користувача в реальних тестуваннях з фактичними користувачами. Таке тестування необхідне, оскільки для проектувальників продукту часто дуже важко інтуїтивно зрозуміти, хто є новими користувачами їх продукту, і на що може бути схожа крива навчання кожного користувача. Головна мета курсу - навчитись розробляти продукт так, як користувачі можуть, хочуть, або повинні його використовувати, замість того, щоб змусити користувачів змінити свою поведінку для пристосування до продукту.


Електронні видання
Сучасні технічні та програмні засоби створення електронних видань, зокрема Desktop publishing, використання яких дає можливість підготувати видання будь-якого змісту як для якісного друку, так і для використання в електронному вигляді (в мережі Internet і на електронному носії). Результатом роботи студента стане власне видання, збережене в електронному вигляді з дотриманням усіх технологічних норм і вимог, для подальшого використання та розповсюдження.


Електронні видання
Сучасні технічні та програмні засоби створення електронних видань, зокрема Desktop publishing, використання яких дає можливість підготувати видання будь-якого змісту як для якісного друку, так і для використання в електронному вигляді (в мережі Internet і на електронному носії). Результатом роботи студента стане власне видання, збережене в електронному вигляді з дотриманням усіх технологічних норм і вимог, для подальшого використання та розповсюдження.


Ієрархічне програмування
Концепції сучасного програмування в рамках парадигм процедурно-орієнтованого програмування, абстрактних типів даних (об'єктне програмування) і ієрархічного програмування у їх розвитку і взаємозв'язку. Основу вивчення складають поняття типу, функції, в тому числі узагальненої , об'єкта і класу, в тому числі параметризованого. Проблеми розширення областей визначення функцій, специфікації класів, побудови ієрархії об'єктів і класів, зокрема поліморфізму, успадкування інтерфейсу і реалізації.


Інтелектуальні системи
Основні підходи до побудови програмних систем, що мають певні риси штучного інтелекту і здатні розв'язувати задачі, які можна віднести до недостатньо формалізованих. Основні моделі подання знань; методи логічного виведення; евристичний пошук; ігрові задачі;; нейронні мережі; основні підходи до машинного навчання і пошуку закономірностей.


Курсова робота
Завдання курсової роботи – прищепити студентам навички самостійної праці (робити огляд наукової літератури, аналізувати різні підходи, формулювати власні висновки).


Курсова робота


Магістерська робота


Магістерська робота


Методи об`єктно-орієнтованого програмування
Сучасні методи розробки програмного забезпечення, здатного налаштовуватися на нові умови і вимоги, що виникають під час його експлуатації. Розробка обґрунтованої ієрархії класів і об'єктів, визначення методів класу і службових функцій, обґрунтування інтерфейсу та його розмежування з реалізацією. Важливим аспектом ієрархії слугує обґрунтування співвідношення між агрегацією і успадкуванням, зокрема розмежування успадкування інтерфейсу й успадкування реалізації. Віртуальні функції і різні методи реалізації поліморфізму. Типові патерни проектування та інші засоби підвищення надійності програмного коду. Вивчення курсу супроводжується розробкою навчальних програмних проектів.


Методи з об`єктно-орієнтованого програмування
Мета курсу довести об'єктно-орієнтовану парадигму до довершеності, необхідної для віртуозної розробки програмних систем з використанням впорядкованих за рівнями об'єктно-орієнтованих абстракцій з гнучкими інтерфейсами і повторно вживаними вхідними кодами. Висхідною точкою курсу є вивчення структури об'єктної моделі програмного забезпечення, як статичної, так і динамічної, виходячи з якої визначається типова структура класу з урахуванням специфіки створення, копіювання, видалення об'єктів, методів доступу до об'єктів, зокрема засобами їх проксі. Значна увага приділяється концепціям інтелектуальних указників-маніпуляторів у їх різноманітті (в тому числі вкладених маніпуляторів) разом з методами підрахунку посилань на об'єкти та відкладеного копіювання. Вивчення функціональних об'єктів і класів функторів дозволяє зосередитися на методах інкапсуляції функцій. Досліджуються ієрархія і вкладення класів і об'єктів, зокрема спадкування інтерфейсів і налаштування реалізації. Вводяться поняття невіртуального стабільного інтерфейсу та нетермінальної абстракції. Досліджуються методи застосування поліморфних і, зокрема, чисто віртуальних функцій. Параметризовані класи і часткова спеціалізація шаблонів ілюструють методи проектування гнучких інтерфейсів та використання сучасних проектних взірців.


Методи програмування в середовищі Java
Основні підходи та методики створення розподілених програмних застосувань на платформі Java. Огляд та порівняльний аналіз засобів підтримки клієнт-серверної архітектури на основі Java. Методики роботи з даними. Потоки введення-виведення. Серіалізація та її особливості. Реляційні бази даних. Організація програмного комплексу на основі DAO та VO. JDBC та Hibernate. Робота з даними на основі XML. Основні підходи до аналізу документів: потоковий аналіз, об'єктна модель документів (DOM), трансформації на основі XSLT (TrAX), зв'язування даних (JAXB). Веб-частина: сервлети та JSP. Взаємодія інтерфейсних компонентів з бінами. Організація веб-застосування на основі MVC 2. Фреймворк JSF. Чотирирівнева модель J2EE. Знайомство з EJB. Принцип інверсії залежностей. Фреймворк Spring. Основи мережної взаємодії. Сокети та RMI. Рефлексія. Вивчення курсу передбачає виконання практичного проекту.


Методи розробки програмних систем
Мета курсу надати розуміння того, що сучасна програмна система є товаром на ринку інформаційних технологій і успішне просування такого товару по ринку залежить в першу чергу від якості розробки веб-застосунку, правильної організації хостингу, ефективного використання хмарних технологій, покращення рейтингу продукту на основі аналізу ринку та різних методів оптимізації. Розглядаються сучасні підходи до управління якістю та відповідні міжнародні стандарти та стандарти України . В результаті курсу студенти повинні зрозуміти, що для створення високорейтингового програмного продукту необхідно відповідне стратегічне та тактичне планування дій виробника або дістрибютора


Методологічні аспекти програмної інженерії
Курс орієнтований на вивчення основних методів і прийомів проектування та забезпечення якості програмного забезпечення (ПЗ), дає уявлення про управління вимогами під час проектування ПЗ,документування , версіонування ПЗ, управління дефектами і змінами, збірки і випуск ПЗ, безперервну інтеграцію , а також використання інструментальних засобів автоматизації тестування.


Об`єктно-орієнтоване програмування


Об`єктно-орієнтоване програмування


Об`єктно-орієнтоване програмування
Концепції сучасного програмування в рамках парадигм узагальненого програмування, абстрактних типів даних (об’єктне програмування) і ієрархічного (об’єктно-орієнтованого) програмування у їхньому розвитку і взаємозв’язку. В основі вивчення – поняття типу, функції, зокрема узагальненої, об’єкта і класу, зокрема параметризованого; проблеми довизначення функцій, специфікації класів, побудови ієрархії об’єктів і класів, зокрема поліморфізму, успадкування інтерфейсу і реалізації.


Обробка зображень
Забезпечення якісної базової підготовки фахівців в області цифрової обробки зображень і суміжних областях, а саме: видавнича та поліграфічна галузі, мультимедійні технології, Web-дизайн, тощо. Студенти здобувають основні знання та навички роботи з різними типами зображень, фотографією, а також основи дизайну і роботи зі шрифтами. Результатом праці студентів стане низка художніх, композиційних і дизайнерських розробок (плакатів, листівок тощо), створених за всіма технологічними нормами та вимогами.


Обробка зображень та мультимедіа
Навчальний курс "Обробка зображень та мультимедія" розроблений базовий загально оствітній курс, що має на меті ознайомити студентів з технологіями та методами створення, обробки та використання таких мультимедійних компонентів як зображення, звук, відео та анімація. Також розглядають інтеграційні процеси різних компонентів в один мультимедійний продукт. Ці базові навички дадуть можливість визначитись з подальшим бажання поглиблювати свої знання в одному з обраних напрямків мультимедіа, а також технологічно та дизайнерські правильно використовувати мультимедійні матеріали в інших предметних областях. . Результатом роботи студентів стануть низка художніх, композиційних та дизайнерських, створених згідно з усіма технологічними нормами та вимогами. Залік відбувається, як практичне втілення здобутих навичок у фінальне завдання.


Оглядові лекції


Основи інтернет бізнесу
Специфіка ведення бізнесу в Інтернеті. Власний веб-проект як основа Інтернеті-бізнесу. Типові бізнес-моделі в Інтернеті. Просування веб-проектів: пошукова оптимізація та реклама. Використання соціальних мереж для ведення Інтернет-бізнесу. Основи SMM-маркетингу. Технологічні, організаційні та правові аспекти Інтернет-бізнесу. Вивчення курсу передбачає виконання та захист практичного проекту


Практикум з об`єктно-орієнтованого програмування
Практикум об'єктно-орієнтованого програмування пропонується як вибірковий курс для студентів, які цікавляться засобами організації і визначення графічних інтерфейсів на основі об'єктно-орієнтованого підходу, виходячи з принципу відокремлення введення/виведення від логіки програми, вивчення якої складало предмет курсів процедурного і об'єктно-орієнтованого програмування. В практикумі вивчаються засоби організації графічних даних, методи відтворення графічних даних на екрані, класифікація графічних примітивів. Будуються ієрархії графічних класів. Проектується та реалізуються графічні інтерфейси користувача. Для реалізації графічних примітивів використовується бібліотека з відкритим кодом Qt("К'ют").


Практичні аспекти програмної інженерії
Курс дає уявлення про процес забезпечення якості програмного забезпечення(ПЗ), розкриваючи різні його етапи. Акцентується увага на контролі якості, оптимізації тестування як за допомогою практики тест-дизайну, так і за допомогою допоміжних інструментів та автоматизації.


Проблеми програмної інженерії
Мета курсу полягає в розвитку і закріпленні вміння самостійно опрацьовувати складну науково-технічну літературу з програмної інженерії. Оволодіти методами аналізу і рецензування програмного коду , складенного на основі об"єктно-орієнтованої парадигми із складних типів ієрархій, програмних ідіом і проектних взірців. Висхідною точкою курсу є вивчення структури об'єктної моделі програмного забезпечення, як статичної, так і динамічної, виходячи з якої визначається типова структура класу з урахуванням специфіки створення, копіювання, видалення об'єктів, методів доступу до об'єктів, зокрема засобами їх проксі. Значна увага приділяється концепціям інтелектуальних указників-маніпуляторів у їх різноманітті (в тому числі вкладених маніпуляторів) разом з методами підрахунку посилань на об'єкти та відкладеного копіювання. Вивчення функціональних об'єктів і класів функторів дозволяє зосередитися на методах інкапсуляції функцій. Досліджуються ієрархія і вкладення класів і об'єктів, зокрема спадкування інтерфейсів і налаштування реалізації. Вводяться поняття невіртуального стабільного інтерфейсу та нетермінальної абстракції. Досліджуються методи застосування поліморфних і, зокрема, чисто віртуальних функцій. Параметризовані класи і часткова спеціалізація шаблонів ілюструють методи проектування гнучких інтерфейсів та використання сучасних проектних взірців


Програмна інженерія


Програмування на основі .NET
Метою курсу є вивчення теоретичних основ та формування практичної бази сучасних технологій об'єктно-орієнтованого програмування на платформі Microsoft.NET. В курсі будуть розглянуті такі темі: Робота з файлами, серіалізація об'єктів, робота с XML, програмування в .NET з використанням SQL Server, ADO.NET. Технологія Language Integrated Queries (LINQ), Windows Forms, Windows Presentation Foundation, Silverlight, ASP.Net. Вступ в Windows Communication Foundation, вступ в Windows Workflow Foundation.


Проектування програмних систем


Процедурне програмування


Процедурне програмування (на базі Ci/Ci++)
Курс програмування мовою С служить двом головним цілям відповідно тому особливому місцю, яке мова С займає в сучасному програмуванні. Перш за все мова С - це мова програмування середнього рівня, в якій комбінуються засоби низького рівня, наприклад, бітові операції, з деякими рисами мови високого рівня, наприклад, структуровані дані і керування. Тому програмування з використанням мови С - це оволодіння іншою по відношенню до реалізованої у мові Паскаль моделі обчислень, а саме машинно-орієнтованою, здатною налаштовуватись на конкретне обчислювальне середовище. З другого боку, мова С - це крок в напрямку С++. Курс готує до переходу в об'єктно-орієнтовану парадигму програмування з використанням мультипарадигменної мови С++. Тому головними особливостями курсу є вивчення проблем типізації, зокрема літералів, розрізнення типів сталих і змінних, визначення інтерфейсів функцій, механізмів ініціалізації, непрямої адресації, управління пам'яттю, роботи з псевдонімами, способів виклику функцій, зокрема рекурсивних, класифікація типів передачі параметрів та результатів, використання механізмів розширення області визначення функцій і операцій. Мета курсу довести процедурно-орієнтовану парадигму, з вивчення якої починався Паскаль, до довершеності, необхідної для віртуозної розробки програмних систем з використанням впорядкованих за рівнями об'єктно-орієнтованих абстракцій з гнучкими інтерфейсами і повторно вживаними вхідними кодами.


Процедурне програмування (на базі Ci/Сi++)
Курс програмування мовою С служить двом головним цілям відповідно тому особливому місцю, яке мова С займає в сучасному програмуванні. Перш за все мова С - це мова програмування середнього рівня, в якій комбінуються засоби низького рівня, наприклад, бітові операції, з деякими рисами мови високого рівня, наприклад, структуровані дані і керування. Тому програмування з використанням мови С - це оволодіння іншою по відношенню до реалізованої у мові Паскаль моделі обчислень, а саме машинно-орієнтованою, здатною налаштовуватись на конкретне обчислювальне середовище. З другого боку, мова С - це крок в напрямку С++. Курс готує до переходу в об'єктно-орієнтовану парадигму програмування з використанням мультипарадигменної мови С++. Тому головними особливостями курсу є вивчення проблем типізації, зокрема літералів, розрізнення типів сталих і змінних, визначення інтерфейсів функцій, механізмів ініціалізації, непрямої адресації, управління пам'яттю, роботи з псевдонімами, способів виклику функцій, зокрема рекурсивних, класифікація типів передачі параметрів та результатів, використання механізмів розширення області визначення функцій і операцій. Мета курсу довести процедурно-орієнтовану парадигму, з вивчення якої починався Паскаль, до довершеності, необхідної для віртуозної розробки програмних систем з використанням впорядкованих за рівнями об'єктно-орієнтованих абстракцій з гнучкими інтерфейсами і повторно вживаними вхідними кодами.


Процедурне програмування (на базі Сі/Сі++)
Курс процедурного програмування мовами Сi і Сi++ слугує двом основним цілям. По-перше, це оволодіння іншою, в порівнянні із реалізованою у мові Паскаль, моделлю обчислень, а саме – машинно-залежною, здатною налаштовуватись на конкретне обчислювальне середовище. По-друге, закладається підвалини переходу в об’єктно-орієнтовану парадигму програмування, зокрема засобами мови Сi++. Особливостями курсу є вивчення проблем типізації, зокрема літералів, розрізнення типів сталих і змінних, визначення інтерфейсів функцій, механізмів ініціалізації, непрямої адресації, управління пам’яттю, роботи з псевдонімами, способів виклику функцій, зокрема рекурсивних, передачі параметрів і результатів, механізмів розширення та довизначення області дії функцій і операцій.


Розробка програмного забезпечення (груповий проект)
Курс присвячено викладенню принципів, моделей і методів, що використовуються в циклі розробки складних програмних продуктів. Вивчається повний цикл розробки програмних систем, починаючи з організації процесу конструювання та закінчуючи тестуванням і впровадженням. Розглядаються методи аналізу та проектування програмних систем, основи й моделі об'єктно-орієнтованого представлення програмних систем, а також моделі реалізації таких систем; структурне, функціональне й об'єктно-орієнтоване тестування програмного забезпечення; уніфікована мова моделювання (UML). Вивчається уніфікований процес розробки об'єктно-орієнтованих програмних систем і загальні керування програмним проектом. Курс супроводжується практичною реалізацією навичок, а принципи саме: розробкою навчальних програмних проектів невеликими групами студентів-розробників. Передбачені підтримка розподіленої групової розробки з боку Web-орієнтованих середовищ, зокрема систем управління версіями проекту, планування та документування процесу розробки, організація взаємодії і комунікації учасників, рецензування та презентація результатів розробки.


Системи та методи штучного інтелекту
Основні математичні методи обробки і використання інформації, одержаної при дослідженнях і вивченні різних процесів та явищ. Статистичні методи обробки первинної інформації, різні методи оцінювання параметрів розподілів, одновимірна та багатовимірна регресія, моделі часових рядів, кластерний аналіз.


Системне програмування
Курс призначений для знайомства студентів з основними принципами і методами конструювання трансляторів з мов програмування, оволодіння основними методами і засобами програмної реалізації сучасних мов, виділення функцій і задач мовного процесування у інструментальних середовищах розробки програм. На практичних заняттях методи, що розглянуті на лекціях, будуть демонструватися на прикладах реалізації основних методів і алгоритмів компіляції та інтерпретації програм.


Тестування і підтримка якості програмного забезпечення
Надання базових знань для підготовки тестувальників програмного проекту. В курсі розглядаються такі теми: - основні поняття тестування: термінологія тестування, відмінності тестування і відладки, фази і технологія тестування, проблеми тестування; - критерії вибору тестів: структурні, функціональні, стохастичні, мутаційний, оцінки покриття проекту; - різновиди тестування: модульне, інтеграційне, системне, регресійне, автоматизація тестування, витрати тестування; - особливості процесу і технології індустріального тестування: планування тестування, підходи до розробки тестів, особливості ручної розробки і генерації тестів, автоматизація тестового циклу, документування тестування, огляди і метрики; - регресійне тестування: особливості і види регресійного тестування, методи відбору тестів, оцінка ефективності.


Техніка ділових презентацій
Презентація - це комунікативний процес, тобто передача інформації певній аудиторії з певною метою і у певній формі. Презентація - випробуваний засіб привернути увагу, мета презентації - переконати чи навчити аудиторію. Головне правило презентації - довести слухачеві, як за допомогою предмету презентації він може поліпшити своє життя. Мистецтво презентації ставлять на одне з перших місць серед навичок, необхідних керівникові. Надзвичайно важливо вміти обґрунтувати, що Ваша ідея гідна підтримки, або що Ваш продукт варто купувати. Не кажучи вже про те, як важливо вміти надихнути підлеглих на гарну роботу.


Технології веб-програмування


Технології мультимедіа
Сучасні програмні й технічні засоби створення, обробки, зберігання та передавання мультимедійних складових, а також розробка мультимедійних сценаріїв і створення комплексних мультимедійних застосувань. Студенти здобувають основні знання та навички роботи з графічними даними, відео, аудіо, анімацією, програмами створення мультимедійних додатків. Результатом роботи студентів стане власний мультимедійний проект.


Технологія XML
Технологія XML як стандарт для створення нових мов розмітки документів та як засіб інформаційного моделювання предметних областей. Застосування XML в інформаційних системах, зокрема в Internet. Виконання практичного Internet-проекту, основні цілі якого – розробка на основі специфікацій XML власної мови опису документів і створення на базі цієї мови власної інформаційної системи в обраній предметній області.


Технологія XML, JavaScript, JQuery
Мова розмітки HTML. Таблиці стилів CSS. Веб-форми та їх взаємодія з серверними сценаріями. Мова клієнтських сценаріїв JavaScript. Бібліотека jQuery. Фреймворк Twitter Bootstrap. Поняття про XML та XHTML. Вивчення курсу передбачає написання практичного проекту, пов'язаного зі створенням власного веб-сайту.


© 2012-2017 Національний університет «Києво-Могилянська академія»
вул. Сковороди 2, Київ 04070, Україна