Магістр комп'ютерних наук

Software Engineering

Рівень 1

Заголовок

ECTS / Години

Основи HTML і CSS для дизайну користувацького інтерфейсу
HTML and CSS Fundamentals for User Interface Design

5 / 125

Цифровий дизайн для веб: принципи та застосування
Digital Design for the Web: Principles and Applications

5 / 125

Основи JavaScript: від найпростішого до складних концепцій

JavaScript Fundamentals: From Basics to Advanced Concepts

5 / 125

Рівень 2

Спеціалізація «Розробка програмного забезпечення»

JavaScript і TypeScript: розширений iнструментарiй та сучаснi методи

Advanced JavaScript and TypeScript: Tools and Best Practices

5 / 125

Гнучкий продукт-менеджмент для команд розробників програмного забезпечення

Agile Product Management for Software Development Teams

5 / 125

Розробка користувацького інтерфейсу за допомогою React

Mastering Front-End Development with React

5 / 125

Реляційні бази даних: концепції й методи

Relational Databases: Concepts and Techniques

5 / 125

Повний цикл розробки. Розробка серверної частини: Node.js

Fullstack. Back End Development: Node.js

5 / 125

Введення в розробку програмного забезпечення та контроль якості

Introduction to software development and quality control

5 / 125

Дизайн взаємодії та дизайн-мислення для розробки користувацького досвіду та інтерфейсу

Interaction Design and Design Thinking for UX/UI

5 / 125

Проєктування та розробка крос- платформних мобільних застосунків за допомогою React Native

Cross-Platform Mobile App Design and Development with React Native

5 / 125

Алгоритмічні парадигми та методи розв'язання проблем

Algorithmic Paradigms and Techniques for Problem Solving

5 / 125

Рівень 3

Заголовок

ECTS / Години

Основи хмарних обчислень

Foundations of Cloud Computing

5 / 125

Програмування на Python: основи та передові методи

Python Programming: Foundations and Best Practices

5 / 125

Комплексна веб-розробка на Python

FullStack Web Development with Python

5 / 125

Кар’єрні стратегії та “м'які” навички для ІТ-фахівців

Career Strategies and Soft Skills for IT Professionals

5 / 125

Дипломний проєкт

Applied Computer Science: Capstone Project

10 / 250

Опис курсу та результати навчання

Основи HTML і CSS для дизайну користувацького інтерфейсу

Опис: це практичний курс із розробки адаптивного, сучасного та легкого інтерфейсу користувача для браузерних та мобільних веб додаткiв із використанням HTML5 та CSS. Протягом курсу вивчаємо інформацію про роботу веб-браузерів, мобільних застосунків і веб-серверів. Потім розглянемо все, що стосується використання HTML5 для створення веб-сторінок. Розпочемо з простих веб-сторінок, потім перейдемо до складніших макетів і функцій HTML. Після цього ми вивчимо таблиці стилів на основі CSS, інтерпретацію браузерами файлів CSS для відтворення веб-сторінок. Знову ж, аби вивчити внутрішні особливості CSS, ми використаємо декілька прикладів реальних веб-сторінок, вивчимо популярні передові методи написання адаптивного коду HTML і CSS для створення кроссбраузерних сайтів. Також ми вивчимо семантичну верстку, яка є важливою складовою розробки веб-додатків з точки зору доступності та SEO. Студенти дізнаються про різні типи HTML-тегів, якi використовуються для опису структури та змісту веб-сторінки, що дозволяє браузерам та іншим інтерпретаторам правильно інтерпретувати контент та поліпшує його читабельність для людей та пошукових роботів.

Основні результати навчання:

  • Оцінювання, аналіз і критика різних стратегій вирішення питань, що виникають в контексті розробки інтерфейсу й досвіду користувача
  • Порівняння та оцінювання різних методологій, рекомендованих у наукових джерелах, що стосуються проєкт-менеджменту розробки інтерфейсу й досвіду користувача
  • Пропонування відповідних рішень проблем, що змінюються, та складних проблем, пов’язаних із розробкою інтерфейсу та досвіду користувача

Цифровий дизайн для веб: принципи та застосування

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

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

Основні результати навчання:

  • Демонстрацiя вміння використовувати Figma для створення вайрфреймів, прототипів та дизайнів високої якості.
  • Аналіз та оцінювання різних принципів веб-дизайну, включаючи створення вайрфреймів, прототипування, композицію, типографіку, колір та графіку для створення функціональних та привабливих веб-сайтів.
  • Застосування критичного мислення та навичок розв'язання проблем для аналізу та вирішення проблем, пов'язаних із веб-дизайном, та ефективним представленням рішень клієнтам та зацікавленим сторонам.

Основи JavaScript: від найпростішого до складних концепцій

Опис: це практичний курс, який на прикладах охоплює всі тонкощі JavaScript від основ до складних концепцій. Ми почнемо з базових концепцій програмування, як-от: змінні, оператори керування, цикли, класи та об’єкти. Студенти дізнаються про основні структури даних, такі як рядки, масиви й дати, а також навчаться налагоджувати код та вміло коригувати помилки в ньому. Ми вивчимо популярні посібники зі стилю та ефективні способи кодування, для створення читабельного високопродуктивного коду, який можна використовувати багаторазово. Потім, на прикладі движка V8 дізнаємося, як у веб-браузерах виконується код JavaScript. Ми також розглянемо такі поняття, як JIT-компіляція, що допомагає прискорити роботу коду JS. Далі ми розглянемо дещо складніші концепції, як-от DOM, асинхронні функції, веб-API та Fetch, які дуже широко використовуються в розробці сучасних користувацьких інтерфейсів. Ми дізнаємося, як за допомогою ElectronJS оптимізувати код JavaScript, щоб він виконувався як у мобільних програмах і браузерах, так і у браузерах та програмах для настільних ПК. Більша частина цього курсу супроводжуватиметься реальними прикладами та вивченням коду JS популярних веб-сайтів і бібліотек із відкритим кодом.

Основні результати навчання:

  • Оцінювання, аналіз і критика різних стратегій вирішення питань, що виникають у контексті JavaScript
  • Порівняння й оцінювання різних методологій, рекомендованих у наукових джерелах, щодо проєкт-менеджменту проєктів JavaScript
  • Пропонування відповідних рішень проблем, що змінюються, та складних проблем, пов’язаних із JavaScript

JavaScript і TypeScript: розширений iнструментарiй та сучаснi методи

Опис: цей поглиблений курс JavaScript ґрунтується на базових концепціях, розглянутих у курсі JavaScript, з акцентом на складніших концепціях і передових практиках для створення сучасних, продуктивних веб-застосунків. Завдяки практиці з реальними прикладами студенти дізнаються як оптимізувати код JavaScript для мобільних пристроїв і настільних ПК, працювати з DOM і Web API, а також взаємодіяти із серверними API.

Курс починається з огляду методів розповсюдження та оптимізації подій, включаючи спливання, делегування та регулювання подій. Студенти також дізнаються про відкладене завантаження зображень, використання бібліотек через CDN та інші методи оптимізації продуктивності. Далі в курсі йдеться про інфраструктуру проєктів і веб-сховища, включаючи роботу з Node.js, керування пакетами npm, модульність коду та синтаксис для модулів ECMAScript. Студенти дізнаються про Webpack, Babel та інший інструментарій для транспіляції та об'єднання коду, а також про форматування коду та передові методики перевірки якості коду.

Курс також охопить асинхронність і обробку дат у JavaScript, особливу увагу буде приділено Promise API, синтаксису async/await і циклам подій. Студенти дізнаються, як взаємодіяти із серверними API, включаючи роботу з REST API, методами HTTP, заголовками та кодами статусів відповідей. Також студенти дізнаються про техніки пагінації, включаючи кнопки "Завантажити більше" та нескінченну прокрутку. На завершення, курс охопить CRUD-операції з асинхронними функціями, включаючи роботу з приватними API та передові практики обробки помилок.

Основні результати навчання:

  • Аналіз і оптимізація коду JavaScript для мобільних пристроїв і настільних ПК за допомогою передових практик оптимізації продуктивності
  • Створення модульного коду для багаторазового використання за допомогою модулів ECMAScript і інших інструментів для транспіляції та об'єднання коду
  • Взаємодія із серверними API за допомогою REST API, методів HTTP та технік пагінації
  • Розробка асинхронних функцій і ефективна обробка помилок CRUD-операцій

Гнучкий продукт-менеджмент для команд розробників програмного забезпечення

Опис: кожна організація створює продукти з метою вирішення проблем своїх клієнтів. Продукт-менеджери — критично важлива частина організації. Вони забезпечують безперервне спостереження за потребами клієнтів і ринковими тенденціями та допомагають перетворювати їх на привабливі рішення, які допомагають бізнесу досягти бажаних результатів.

У цьому курсі студенти отримають фундаментальне розуміння практики продукт-менеджменту.

Це надасть вичерпне уявлення про повний життєвий цикл управління продуктом.

Основні результати навчання:

  • Оцінювання, аналіз і критика різних стратегій вдосконалення продукту після запуску
  • Порівняння й оцінювання різних методологій, рекомендованих у наукових джерелах щодо вимірювання залучення користувачів
  • Пропонування відповідних рішень проблем, що змінюються, та складних проблем, пов’язаних із успіхом або невдачею продукту в реальному контексті та контексті створення ПЗ

Розробка користувацького інтерфейсу за допомогою React

Опис: цей курс ґрунтується на вступному курсі JavaScript і знайомить студентів з популярними та сучасними фреймворками для створення інтерфейсу. Ми зосередимось на трьох надзвичайно розповсюджених бібліотеках/фреймворках: React.js, jQuery та AngularJS. Розпочнемо з React.js - однієї з найбільш популярних та вдосконалених серед цих трьох. Студенти дізнаються про різні компоненти і потоки даних, та за допомогою React.js навчаться створювати реальні інтерфейси. Це буде досягнуто за допомогою численних практичних прикладів коду та його детального покрокового розбору з нуля.

Основні результати навчання:

  • Оцінювання, аналіз і критика різних стратегій вирішення питань, що виникають в контексті розробки користувацького інтерфейсу
  • Порівняння та оцінювання різних методологій, рекомендованих науковими джерелами, щодо проєкт-менеджменту розробки фронтенд-застосунків
  • Пропонування відповідних рішень проблем, що змінюються, та складних проблем, пов’язаних із розробкою користувацького інтерфейсу

Реляційні бази даних: концепції й методи

Опис: це основний та фундаментальний курс, метою якого є навчити студентів моделювати, проєктувати, впроваджувати та надсилати запити до систем реляційних баз даних для реальних потреб зберігання та обробки даних. Студенти почнуть із діаграмних інструментів (ER-модель), для відображення реальної проблеми зберігання даних у вигляді сутностей, зв’язків і ключів. Після цього вони навчаться перетворювати ER-модель на реляційну модель з таблицями. Потім буде представлено SQL, як фактичний інструмент створення, змінювання, додавання, видалення, запитування та маніпулювання даними в реляційних базах даних. Зважаючи на популярність SQL, курс приділяє значну увагу формуванню вміння писати оптимізовані та складні запити для різноманітних задач маніпулювання даними. Модуль знайомить студентів з різними реальними прикладами SQL, щоб сформувати міцні практичні знання. Далі студенти отримають розуміння різноманітних компромісів у сучасних реляційних базах даних, наприклад, між обсягом пам’яті та затримкою. Проєктування баз даних потребує чіткого розуміння звичайних форм для мінімізації дублювання даних, індексування для прискорення та зведення таблиць, аби уникнути складних об’єднань у середовищах із низькою затримкою. Ці реальні стратегії проєктування баз даних обговорюються на практичних прикладах із різних областей. Більша частина цього курсу використовує базу даних MySQL з відкритим кодом і хмарні реляційні бази даних (наприклад, Amazon RDS).

Основні результати навчання:

  • Оцінювання, аналіз і критика різних стратегій вирішення питань, що виникають у контексті реляційних баз даних
  • Порівняння й оцінювання різних методологій, рекомендованих у наукових джерелах щодо проєкт-менеджменту реляційних баз даних
  • Пропонування відповідних рішень проблем, що змінюються, та складних проблем, пов’язаних із реляційними базами даних

Повний цикл розробки. Розробка серверної частини: Node.js

Опис: це базовий курс зі створення серверних (back-end) застосунків із використанням популярних середовищ виконання JavaScript, як-от Node.js. Студенти вивчатимуть подійно-орієнтоване програмування для створення масштабованого бекенду для веб-застосунків. Протягом модуля вивчаються різні аспекти Node.js, як-от: налаштування, менеджер пакетів, клієнт-серверне програмування та підключення до різних баз даних і REST API. Більшість із цих концепцій будуть розглянуті на практиці з реальними прикладами та застосунками, створеними з нуля за допомогою Node.js на серверах Linux. Цей курс також містить введення до адміністрування серверів Linux і створення сценаріїв з особливим акцентом на веб-розробку та мережі. Студенти зможуть навчитися використовувати інструменти моніторингу Linux (наприклад, Monit) для відстеження стану серверів. Модуль також знайомить з Express.js — популярним легким фреймворком для застосунків на Node.js. Враховуючи практичний характер цього курсу, він включатиме створення реальних бекендів для веб-сайтів за допомогою завдань/проєктів для електронної комерції, онлайн-навчання та/або обміну фотографіями.

Основні результати навчання:

  • Оцінювання, аналіз і критика різних стратегій вирішення питань, що виникають в контексті бекенд-розробки
  • Порівняння та оцінювання різних методологій, рекомендованих у наукових джерелах, що стосуються проєкт-менеджменту бекенд-розробки
  • Пропонування відповідних рішень проблем, що змінюються, та складних проблем, пов’язаних із розробкою серверної частини

Введення в розробку програмного забезпечення та контроль якості

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

Курс також познайомить студентів з різними інструментами та методологіями тестування, які широко використовуються в індустрії, включаючи інструменти управління тестами, бази даних SQL, Postman та мобільне тестування. Студенти дізнаються про веб-технології та клієнт-серверну архітектуру, а також про фронтенд та бекенд розробку. Курс охоплюватиме основи HTML/CSS, сучасну архітектуру застосунків та роботу з інструментами командного рядка, такими як CI/CD та Git.

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

Основні результати навчання:

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

Дизайн взаємодії та дизайн-мислення для розробки користувацького досвіду та інтерфейсу

Опис: дизайн користувацького досвіду та користувацького інтерфейсу (UX/UI) — це розуміння потреб і уподобань користувача та створення цифрових продуктів, які відповідають цим потребам. Протягом цього курсу студенти ознайомляться з основними навичками та інструментами, необхідними для розробки ефективного користувацького інтерфейсу та досвіду.

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

Курс охоплюватиме основні теми, такі як Figma Pro, створення дизайн-систем, mobile-first дизайн, смарт-анімація та мікротексти. Студенти ознайомляться з процесом створення дизайну від ідеї до створення прототипу, тестування та вдосконалення, зрозуміють як працювати ітераціями. Курс включає розуміння того, що таке UX-тестування та які є його види, а також як працювати з аналітикою.

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

Основні результати навчання:

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

 

Проєктування та розробка крос-платформних мобільних застосунків за допомогою React Native

Опис: Розробка мобільних застосунків - це сфера, що стрімко розвивається і вимагає глибокого розуміння потреб користувачів, технологій та принципів UX-дизайну. Цей курс має на меті надати студентам поглиблене розуміння різних аспектів, пов'язаних з проєктуванням та розробкою крос-платформних мобільних застосунків з використанням React Native. Курс охоплює широкий спектр тем, включаючи архітектуру React Native, компоненти інтерфейсу користувача, навігацію, управління даними, залучення користувачів, анімацію та оптимізацію магазинів застосунків .

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

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

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

Основні результати навчання:

  • Розуміння принципів дизайну та розробки крос-платформних мобільних застосунків з використанням React Native
  • Аналіз та оцінювання особливостей дизайну мобільних застосунків, типiв застосунків та технологій, що використовуються в дизайні мобільних застосунків
  • Застосування принципів дизайну та UX-патернів для створення зручних та привабливих інтерфейсів мобільних застосунків з використанням фреймворку React Native
  • Отримання навичок підготовки застосунку до публікації, включаючи розуміння процесу подання застосунку до магазинів застосунків та оптимізації продуктивності

Алгоритмічні парадигми та методи розв'язання проблем 

Опис: це базовий і обов’язковий курс, який має на меті сформувати у студентів вміння застосовувати різні методи алгоритмічного проєктування для забезпечення оптимального розв'язування обчислювальних задач. Цей курс починається з аналізу часової та просторової складності алгоритмів типу «розділяй і володарюй» з використанням методів на основі рекурсивних дерев та майстер-методу. Студенти також дізнаються про аналіз складності амортизованого часу та простору для рандомізованих/імовірнісних алгоритмів. Різні стратегії алгоритмічного проєктування будуть представлені на реальних прикладах і задачах.  Студенти дізнаються, коли, де та як оптимально використовувати алгоритми типу «розділяй і володарюй», динамічне програмування, стратегії Жадібність, Зворотне відстеження та Рандомізація з прикладами. Модуль використовує різні практичні приклади маніпуляції масивами, сортування, пошуку, маніпуляцій рядками, обходу дерев і графів, пошуку шляхів у графах, дерев, що зв'язують, тощо, для представлення наведених вище алгоритмічних стратегій у дії. Студенти реалізовуватимуть багато з наведених вище методів алгоритмічного проєктування з нуля в межах завдань. Протягом модуля студенти також ознайомляться з тим, яким чином деякі з цих популярних алгоритмів доступні в популярних бібліотеках на різних мовах програмування.

Основні результати навчання:

  • Оцінювання, аналіз і критика різних стратегій вирішення питань, що виникають у контексті проєктування й аналізу алгоритмів
  • Порівняння та оцінювання різних методологій, рекомендованих у наукових джерелах, що стосуються проєкт-менеджменту методів проєктування алгоритмів
  • Пропонування відповідних рішень проблем, що змінюються, та складних проблем, пов’язаних із проєктуванням і аналізом алгоритмів

Основи хмарних обчислень

Опис: це курс, зосереджений як на архітектурному проєктуванні, так і на практичному вивченні найбільш використовуваних хмарних служб. Протягом модуля широко використовуються веб-сервіси Amazon (AWS), щоб показати реальні приклади коду різних хмарних служб. Курс також охоплює основні концепції та архітектури незалежно від платформи, щоб студенти могли легко перенести ці знання на інші хмарні платформи (наприклад, Azure, GCP тощо). Модуль починається з віртуалізації та створення й налаштування віртуалізованих обчислювальних екземплярів. Студенти також дізнаються, як автоматично масштабувати програми за допомогою засобів балансування навантаження та створювати відмовостійкі програми в територіально розподіленій хмарі. Оскільки реляційні бази даних широко використовуються на більшості підприємств, студенти дізнаються, як провести міграцію та масштабувати (як вертикально, так і горизонтально) ці бази даних у хмарі, забезпечуючи безпеку корпоративного рівня. Віртуальні приватні хмари дозволяють нам створити логічно ізольовану віртуальну мережу обчислювальних ресурсів. Студенти дізнаються як налаштовувати VPC за допомогою віртуалізованих обчислювальних серверів на AWS. Курс також охоплює основи роботи в мережі під час налаштування VPC. Студенти дізнаються про архітектуру та практичні аспекти розподіленого сховища об’єктів і про те, як це забезпечує низьку затримку та високу доступність зберігання даних у хмарі.

Основні результати навчання:

  • Оцінювання, аналіз і критика різних стратегій вирішення питань, що виникають у контексті хмарного обчислення
  • Порівняння й оцінювання різних методологій, рекомендованих у наукових джерелах щодо менеджменту проєктів хмарного обчислення
  • Пропонування відповідних рішень проблем, що змінюються, та складних проблем, пов’язаних із хмарними обчисленнями

Програмування на Python: основи та передові методи

Опис: цей курс надає практичне та детальне розуміння популярних парадигм програмування та типів зберігання даних. Студенти, які пройдуть цей курс, зможуть формулювати та розв’язувати задачі з програмування. Курс починається з основ про функції, різні вбудовані функції і способи написання коду функцій, визначених користувачем. Потім студенти дізнаються про різні типи сховищ даних, а також про списки та різні маніпуляцій зі списками, такі як розбиття списку на частини, а також ознайомляться з прикладами 2D-списків.

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

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

Основні результати навчання:

  • Оцінювання, аналіз і критика різних стратегій зберігання даних у комп’ютерній програмі
  • Порівняння й оцінювання різних методологій, рекомендованих у наукових джерелах, щодо розв'язання проблем за допомогою 2D-списків
  • Пропонування відповідних рішень для проблем, що змінюються, та складних проблем зберігання даних, функцій програмування та алгоритмів

Комплексна веб-розробка на Python

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

Цей курс призначений для підготовки розробників початкового рівня.

Основні результати навчання:

  • Оцінювання, аналіз і критика різних стратегій реалізації інтернет-застосунків на Python
  • Порівняння й оцінювання різних методологій, рекомендованих у наукових джерелах щодо проєкт-менеджменту з розробки коду для машинного навчання
  • Пропонування відповідних рішень проблем, що змінюються, та складних проблем, пов’язаних із математичним аналізом даних у реальному контексті техніки та науки

Кар’єрні стратегії та “м'які” навички для ІТ-фахівців

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

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

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

Основні результати навчання:

  • Розвиток і демонстрація навичок ефективного спілкування.
  • Ефективна співпраця в командному середовищі.
  • Розвиток і демонстрація лідерських якостей.
  • Побудова й підтримка професійних відносин.
  • Розробка та реалізація кар’єрного плану.

Дипломний проєкт

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

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

Протягом курсу буде викладено всі аспекти реалізації проєктів створення програмного забезпечення, включаючи безпеку, автентифікацію та авторизацію користувачів, моніторинг і аналітику, а також підтримку проєкту. Курс також охоплює аспекти підтримки проєктів, як-от: використання системи керування версіями, налаштування безперервної інтеграції, конвеєрів розгортання та засобів відстеження помилок.

Основні результати навчання:

  • Оцінювання, аналіз і критика різних стратегій керування та розгортання програмного забезпечення у хмарі
  • Порівняння й оцінювання різних методологій, рекомендованих у наукових джерелах, щодо проєктування схем даних
  • Пропонування відповідних рішень проблем, що змінюються, та складних проблем, пов’язаних із підтримкою програмного забезпечення у реальному технічному та науковому контекстах