Найкращі IT курси в Україні

Ми зібрали найкращі платні та безкоштовні IT курси України, які дозволять вам опанувати нову професію з можливістю працевлаштування або поглибити свої знання в галузі інформаційних технологій. Є навчальні програми для дітей, з нуля для початківців та досвідченних спеціалістів. Ви можете порівняти ціни, програми АйТі курсів та умови навчання.
Читати далі
Курс
Рекомендуємо
Формат
Online
Початок навчання
20.12.2023
Тривалість
6 місяців
Рівень
Для початківців
Мова навчання
Ukrainian
Вартість
уточнюйте
Вечірні заняттяВидається диплом/сертифікатСупровід ментораРеальний проект у портфоліо
Robot Dreams
  • Python
Подробиці

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

Програма курсу

Part 1 - Python Developer

Вступ до програмування

Теми:

  • Основи програмування та знайомство з Python
  • Основи роботи із системою контролю версій Git

Результати:

  • Знаєте особливості мови Python і розумієте, які завдання програмування можна розв'язувати з її допомогою
  • Маєте власний обліковий запис у GitHub і розумієте, як він працює
  • Вмієте працювати з терміналом і використовувати git-команди

Python Core

Теми:

  • Типи даних та операції з ними. Part 1
  • Типи даних та операції з ними. Part 2
  • Цикли
  • Функції. Part 1
  • Функції. Part 2
  • Колекції та структури даних. Part 1
  • Колекції та структури даних. Part 2
  • Ітератори та генератори
  • Помилки та винятки
  • Декоратори та менеджери контексту
  • Файли
  • Бібліотеки та фреймворки
  • Регулярні вирази (RegEx) в Python
  • Багатопотокове програмування

Результати:

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

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

Теми:

  • Основні парадигми програмування
  • ООП: поліморфізм, інкапсуляція, наслідування
  • ООП: на прикладах у Python: класи та робота з ними. Part 1
  • ООП: на прикладах у Python: класи та робота з ними. Part 2

Результати:

  • Розбираєтеся в стилях і підходах до програмування
  • Розумієте особливості роботи Python як об'єктно-орієнтованої мови програмування
  • Вмієте працювати з класами та об'єктами

Тестування коду

Теми:

  • Тестування коду перед запуском
  • Q&A-сесія (підсумок базового блоку)

Результати:

  • Дізнались про різні способи тестування коду перед запуском: unit-тести, інтеграційні тести, end-to-end тести
  • Дізнались, як працювати з FactoryBoy та Faker для спрощення роботи під час написання тестів та генерування рандомних даних
  • Навчились писати unit-тести за допомогою бібліотеки PyTest

Frontend-розробка

Теми:

  • Основи Frontend
  • Вступ до розробки програмного забезпечення
  • Введення в HTML
  • HTML. Робота з таблицями
  • HTML. Робота з формами
  • Вступ до CSS
  • CSS фон, рамки, відступи, розмір
  • Основи JavaScript. Перша програма, типи даних, базові оператори
  • Робота з функціями в JS
  • JS. Робота з DOM. Комунікація з елементами на сторінці
  • Браузерні події (events). Комунікація користувача зі скриптом

Результати:

  • ознайомлені з основами frontend-розробки
  • знаєте, як створювати користувацькі інтерфейси

Part 2 - Python for Web Development (Flask та Django)

Бази даних

Теми:

  • Знайомство з базами даних
  • Створення бази даних
  • Робота з базами даних. Part 1
  • Робота з базами даних. Part 2

Результати:

  • Знаєте, що таке база даних та які вони бувають
  • Вмієте підключати бази даних за допомогою Python
  • Познайомились із принципами роботи з SQL базами даних
  • Навчились створювати та працювати з базами даних і таблицями за допомогою SQLite

Мережеве програмування

Теми:

  • Основи веброзробки
  • Знайомство з HTML/CSS/JS
  • Базова робота з HTML/CSS/JS
  • Взаємодія з APІ

Результати:

  • Розумієте різницю між фронтендом і бекендом
  • Знаєте, що таке мережеве програмування та як воно влаштоване
  • Вмієте працювати з HTML і CSS
  • Знаєте базовий синтаксис JavaScript
  • Навчились працювати зі сторонніми API-інтерфейсами

Python для веброзробки

Теми:

  • Знайомство з Flask
  • Веброзробка за допомогою Flask. Part 1
  • Веброзробка за допомогою Flask. Part 2
  • Веброзробка за допомогою Flask. Part 3
  • Веброзробка за допомогою Flask. Part 4
  • Знайомство з Django
  • Django ORM. Part 1
  • Django ORM. Part 2
  • Робота в Django. Part 1
  • Робота в Django. Part 2
  • Робота в Django. Part 3
  • Django REST (DRF). Part 1
  • Django REST (DRF). Part 2
  • Асинхронні задачі в Django
  • Підготовка до запуску додатка - Docker. Part 1
  • Підготовка до запуску додатка - Docker. Part 2

Результати:

  • Вмієте працювати з API-інтерфейсами
  • Налаштовуєте обмін повідомленнями між клієнтом і сервером
  • Вмієте працювати з фреймворком Flask для створення вебзастосунків
  • Знаєте, як гарантувати обмін інформацією між клієнтом і сервером у режимі реального часу
  • Вмієте налаштовувати аутентифікацію та авторизацію
  • Працюєте з Django
  • Вмієте готувати застосунок до запуску за допомогою Docker

Я - Junior Python Developer

Теми:

  • Розвиток кар'єри в ІТ
  • Стратегія пошуку роботи
  • Ефективне резюме і супровідний лист
  • Інтерв'ю з рекрутером та hiring-менеджером

Результати:

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

Особливості курсу

  • Заняття щопонеділка та щосереди
  • Велика база
  • Підвищення скілів
  • Кар'єра

Викладачі курсу

Богдан Данилюк - Architect at EOS Data Analytics

Більше інформації
Курс
Рекомендуємо
Формат
Online
Початок навчання
31.12.2023
Тривалість
50 занять
Рівень
Для початківців
Мова навчання
Ukrainian
Вартість
уточнюйте
Гнучкий графікВидається диплом/сертифікатСупровід ментораРеальний проект у портфоліо
Robot Dreams
  • PHP
Подробиці

Комплексний курс для початківців, які прагнуть створювати сайти та застосунки однією з найпоширеніших мов. За 6 місяців ви отримаєте повний стек знань і навичок PHP-розробника - почнемо з того, чому у PHP всі змінні починаються з $, а закінчимо використанням популярних фреймворків Laravel і Symfony.

Програма курсу

Основи PHP

Теми:

  • Переваги та сфери застосування мови PHP. Клієнт-серверна архітектура. Варіанти локальної розробки. Огляд готових рішень
  • Історія мови PHP. Основи версії 5 / 7 / 8
  • GIT
  • Види програмування, їхні відмінності та переваги. Базові функції мови PHP
  • Умовні оператори, оператори циклів. Алгоритми, базові поняття
  • Основи HTML+CSS. Способи взаємодії з користувачем. Part 1
  • Способи взаємодії з користувачем. Part 2
  • Сесії та Cookie як спосіб зберігання даних
  • Робота з файлами. Запис, читання, функції для взаємодії з файлами
  • Бази даних. Основи синтаксису SQL
  • Взаємодія баз даних та PHP
  • Можливості IDE, вибір редактора

Результати:

  • Опануєте базові структури та функції у PHP, версії мови та їхні особливості
  • Розглянете HTML та CSS, способи взаємодії з користувачем
  • Ознайомитесь із Сесіями, Cookie та зрозумієте, як з ними працювати у PHP
  • Налаштуєте середовища IDE та GitHub для поглибленої роботи у PHP

Поглиблення в PHP

Теми:

  • JavaScript jQuery
  • Структури даних
  • Алгоритми
  • Шифрування та хешування + PSR
  • Проєктування баз даних
  • Робота зі вбудованим класом PDO. Захист від SQL-ін'єкцій
  • Функціональне та ООП програмування: історія та відмінності. Додаткові види програмування. Part 1
  • ООП. Part 2
  • ООП (абстракція). Part 3
  • Робота з Composer
  • Концепції MVC та Request-Response. Початковий огляд фреймворку Laravel. REST API + POSTMAN

Результати:

  • Заглибитеся в розробку з PHP: вивчите структури даних, алгоритми, базові принципи шифрування, концепції ООП
  • Ознайомитеся та встановите Composer для подальшої роботи зі фреймворками
  • Зрозумієте, що таке SQL-ін'єкція, відмінності між типами програмування, особливості ООП у PHP та її основні концепції
  • Розберете JavaScript jQuery для реалізації базової динаміки на вебсторінках та ajax-запитів
  • Дізнаєтеся, для чого реалізується шифрування/хешування, і засвоїте стандарти кодування PSR

Основи роботи з фреймворком Laravel

Теми:

  • Знайомство та поглиблення у фреймворк Laravel
  • Патерн ActiveRecord для роботи з базами даних
  • Шаблонізатор Blade
  • Маршрутизація, налаштування роутера проєкту. Middleware
  • Основи Docker та взаємодія контейнерів для PHP-проєкту

Результати:

  • Вивчите основи роботи та екосистему Laravel - одного із найпопулярніших фреймворків у розробці на PHP
  • Створюватимете міграції та моделі у Laravel
  • Розберете патерн ActiveRecord для роботи з базами даних, шаблонізатор Blade для оптимізації виконання типових задач, Docker для створення відокремлених середовищ

Просунута теорія програмування

Теми:

  • Принципи програмування SOLID, KISS, Dry, YAGNI
  • Патерни проєктування. Part 1
  • Патерни проєктування. Part 2
  • Методи злому та захисту вебзастосунків
  • Просунутий SQL (транзакції, індекси, тригери)
  • Нормалізація/денормалізація баз даних

Результати:

  • Заглибитесь у захист вебзастосунків та роботу з базами даних на більш високому рівні
  • Дізнаєтеся види патернів проєктування, на практиці навчитеся застосовувати основні та декілька патернів одночасно
  • Навчитеся створювати тести для власного коду та вивчите методологію розробки TDD

Створення проєкту на Laravel

Теми:

  • Анонс теми курсового проєкту. Планування структури баз даних, побудова базових зв'язків, міграції та моделей
  • Робота над проєктом (створення інтерфейсу). Part 1
  • Робота над проєктом (з параметрами часу). Part 2
  • Робота над проєктом (відображення часових слотів в інтерфейсі, бронювання). Part 3
  • Аутентифікація в Laravel та створення особистого кабінету
  • Поділ проєкту на частину користувача та адміністратора

Результати:

  • Вивчите практичні аспекти роботи з фреймворком Laravel та створите свій перший проєкт
  • Отримаєте досвід будування структури проєкту з чистого аркуша на різних рівнях (бази даних, архітектура, зв’язки)
  • Поглибите навички роботи з Eloquent ORM та працюватимете з об'єктами та механізмами DateTime

Розгалуження проєкту на клієнтську та адміністративну частини

Теми:

  • Робота з адміністративною панеллю. Розгляд варіантів реалізації адмін-панелей. Resource контролери
  • Складання статистики, складності вибірки та вибору структури даних для статистики
  • Створення клієнтського API. Додавання ендпоїнту для бронювання часу. Різні способи валідації запиту в Laravel. Обробка помилок
  • Сервісна архітектура та фасади у Laravel. Dependency injection та Facade у Laravel
  • Unit тести/інтеграційні тести. Поглиблення у види тестування: як, де і для чого їх варто застосовувати

Результати:

  • Поглибите знання у роботі з API та дізнаєтеся варіанти аутентифікації для API
  • Розберете варіанти валідації запиту в Laravel та реалізації Dependency injection
  • Навчитеся писати тести, знатимете їхні різновиди та розумітимете, коли їх варто використовувати
  • Зможете робити рефакторинг механізмів, які покриті тестами

Знайомство та робота з фреймворком Symfony

Теми:

  • Ознайомлення з особливостями фреймворку Symfony, встановлення та налаштування програми. Побудова плану інтеграції
  • Відмінності фреймворків Laravel та Symfony. Active Record vs DataMaper
  • Інтеграція Symfony-програми з Core-застосунком на Laravel. Проблеми подібних інтеграцій та способи їх розв'язання
  • Логування: де і коли його варто використовувати. Додавання логування бронювань в обидва проєкти
  • Рефакторинг наявного коду. Що таке Dependency injection і як це реалізовано в Symfony

Результати:

  • Дізнаєтеся, як встановити та налаштувати фреймворк Symfony
  • Побудуєте план інтеграції з проєктом, розробленим у минулих блоках
  • Реалізуєте простий інтерфейс для відображення контенту з іншого сервісу
  • Розглянете на практиці, як один і той самий механізм виглядатимете на двох різних фреймворках
  • Знатимете, як Dependency injection та рефакторинг реалізують у Symfony

Особливості курсу

  • Об'ємна база знань
  • Практика до кожного заняття
  • Прокачка портфоліо
  • Бонус: блок кар'єрної консультації

Викладачі курсу

Костянтин Сорока - Senior Software Developer at DataArt

Більше інформації
Курс
Рекомендуємо
Формат
Online
Початок навчання
01.05.2024
Тривалість
38 занять
Рівень
Для початківців
Мова навчання
Ukrainian
Вартість
уточнюйте
Вечірні заняттяВидається диплом/сертифікатСупровід ментораРеальний проект у портфоліо
Robot Dreams
  • Gamedev / Unity / Game Design
Подробиці

На цьому курсі ви опануєте мистецтво створення цифрових світів на Unreal Engine 5. Ми одразу почнемо будувати ігрові механіки за допомогою Blueprints, візуальної мови програмування в Unreal Engine. Потім опануємо розробку на С++, засвоїмо принципи об'єктно-орієнтованого програмування та навчимося працювати в Gameplay Ability System.

Програма курсу

Знайомство з розробкою ігор

  • Зрозумієте, що таке ігровий рушій
  • Розберете основні спеціальності, які залучені до розробки ігор
  • Дізнаєтеся, для яких завдань підходить UE

Знайомство з Unreal Engine

  • Навчитеся встановлювати UE та створювати ігровий проєкт з різних шаблонів
  • Зрозумієте, як завантажувати Assets із маркетплейса UE у проєкт
  • Знатимете, де можна запитати щодо UE та де шукати відповіді

Системи контролю версій

  • Зрозумієте, що таке системи контролю версій
  • Навчитеся створювати локальний Git-репозиторій
  • Дізнаєтеся, як звантажувати віддалений Git-репозиторій та заливати свої зміни на сервер
  • Навчитеся створювати гілку для себе та налаштовувати Git LFS
  • Знатимете, яким чином будується командна робота із системою контролю версій

Основи Blueprint. Частина 1

  • Дізнаєтеся, що таке Blueprints і навіщо їх використовують
  • Навчитеся створювати простий Blueprint із логікою

Основні складові Unreal Engine

  • Вивчите базові класи для розробки гри в UE
  • Зрозумієте відмінність між основними класами у грі
  • Навчитеся розробляти базову логіку для гри

Основи Blueprint. Частина 2

  • Навчитеся використовувати фізичний рушій в UE для ігрової логіки
  • Зрозумієте, яким чином працює фізика в іграх і які у неї обмеження

Персонаж та його налаштування

  • Знатимете, з яких частин складається типовий персонаж у грі на UE
  • Зрозумієте відмінність між Skeletal Mesh та Static Mesh
  • Зможете будувати логіку на Blueprints у класі персонажа

Система вводу (Input)

  • Знатимете, як влаштована Input-система в UE
  • Вмітимете додавати нові Input Actions та обробляти їх

Інтерфейс користувача

  • Дізнаєтеся, як створюються віджети для інтерфейсу користувача
  • Навчитеся створювати віджети з анімаціями

Комунікація між Blueprints

Навчитеся будувати комунікацію між різними Blueprints.

Приклад розробки ігрової механіки

  • Дізнаєтеся, що таке декомпозиція фічі та навіщо вона потрібна
  • Вмітимете ітерувати при розробці фічі

C++. Змінні

  • Знатимете, як запускати С++ програму
  • Дізнаєтеся, які бувають типи змінних у С++
  • Навчитеся створювати змінні та працювати із вказівниками
  • Вмітимете читати дані з консолі

C++. Розгалуження. Цикли

  • Навчитеся писати базову логіку з if/switch
  • Зможете писати програми з використанням циклів

C++. Функції

  • Навчитеся писати функції на С++
  • Зрозумієте відмінність між варіантами передачі даних функцій

C++. Базові контейнери

  • Дізнаєтеся про типи контейнерів і цілі їх застосування
  • Розумітимете, як користуватися різними типами даних

C++. Структури даних

Вмітимете використовувати unordered-контейнери та контейнери з користувацькими типами даних.

C++. Класи

  • Знатимете, як створювати свої класи
  • Зрозумієте відмінність між різними типами доступу

C++. Об'єктно-орієнтоване програмування

  • Навчитеся створювати ієрархію класів
  • Розумітимете відмінність між різними типами зв’язку

C++. Робота з пам'яттю

  • Навчитеся використовувати розумні вказівники та виявите відмінність між ними
  • Ознайомитеся з концепцію власності щодо об'єктів
  • Знатимете, як працювати з Garbage Collector в UE

C++. Архітектура та патерни

  • Вмітимете створювати інтерфейси
  • Зрозумієте відмінність між класом та інтерфейсом

C++. Шаблони. Багатопотоковість

  • Розумітимете базові терміни багатопотокового програмування
  • Навчитеся створювати базові шаблони та окремі потоки для виконання завдань

Розробка на C++ в Unreal Engine

  • Навчитеся створювати проєкт із базою на С++
  • Вмітимете писати логіку компонентів на С++

Gameplay Ability System. Філософія. Налаштування

  • Зрозумієте базові терміни GAS
  • Дізнаєтеся, як налаштувати GAS на своєму проєкті

Gameplay Ability System. Атрибути. Ефекти

  • Навчитеся створювати атрибути й ефекти
  • Розумітимете, як працювати з атрибутами персонажа
  • Знатимете, як накладати ефекти на персонажа

Gameplay Ability System. Abilities

  • Дізнаєтеся, як створити абілку для персонажа
  • Зможете запускати анімації під час абілки
  • Навчитеся накладати періодичні ефекти

Основи геймдизайну

  • Розберете базові терміни геймдизайну
  • Зрозумієте, що таке design document і яка його мета

Математика в геймдеві

  • Зрозумієте базову математику, яка потрібна у геймдеві
  • Навчитеся застосовувати математику для визначення орієнтації об’єктів у просторі

Анімації

  • Розумітимете підходи у роботі з анімаціями
  • Дізнаєтеся, як модифікувати анімаційний графік персонажа

Анімаційні системи

  • Зрозумієте, коли можна використовувати Root Motion
  • Ознайомитеся з прикладами систем анімації у різних рушіях
  • Розберете гарні та погані анімації в іграх

Левел-дизайн

  • Вивчите інструменти побудови рівня у грі
  • Зрозумієте базові підходи щодо левел-дизайну

AI. Побудова логіки агентів

  • Дізнаєтеся, як будувати AI-персонажів у грі
  • Вмітимете налаштовувати базове поведінкове дерево

AI. Допоміжні об'єкти

  • Знатимете, як налаштувати Perception в іграх
  • Навчитеся налаштовувати NavMesh

Звук та звуковий дизайн в іграх

  • Вмітимете запускати звуки у грі
  • Дізнаєтеся, як запускати звуки в анімаціях

Visual Effects (VFX)

  • Навчитеся розробляти базовий ефект у Niagara
  • Знатимете, як запускати його на персонажі

Дані в розробці ігор

  • Зрозумієте, яким чином можна організовувати дані в UE
  • Навчитеся створювати свій Data Asset і таблицю з даними

Онлайн-ігри. Збірка проєкту

  • Розберете різні підходи у побудові онлайн-ігор
  • Зрозумієте, як зібрати свій проєкт

Налагодження проєкту. Профайлинг

  • Навчитеся налагоджувати програми різними способами
  • Дізнаєтеся, як запрофайлити гру і проаналізувати проблемні місця

Презентація фінальних проєктів

Представите свій проєкт лектору та колегам.

Особливості курсу

  • Unreal Engine
  • Розробка на C++
  • Gameplay Ability System
  • GameDev
  • 4 додаткові заняття зі стратегії розвитку кар'єри в IT

Викладачі курсу

Михайло Столович - Senior Game Developer at Pixagon Games

Більше інформації
Курс
Рекомендуємо
Формат
Online
Початок навчання
30.07.2024
Тривалість
9 тижнів
Рівень
Для початківців
Мова навчання
Ukrainian
Вартість
уточнюйте
Вечірні заняттяВидається диплом/сертифікатСупровід ментораРеальний проект у портфоліо
Robot Dreams
  • Cloud technologies
Подробиці

На курсі ви ознайомитеся із serverless-розробкою на AWS та навчитеся реалізовувати різні хмарні архітектури з використанням AWS-сервісів: EC2, IAM, S3, EBS, EFS тощо.

Програма курсу

Знайомство з AWS. Безпека і права доступу

  • Дізнаєтесь, як влаштований інтерфейс в AWS і зможете вільно ним користуватись
  • Зможете створити декілька груп користувачів всередині організації з різними правами доступу до сервісів AWS
  • Опануєте налаштування взаємодії між різними сервісами в AWS

EC2: можливості й використання

  • Зможете налаштовувати зберігання даних у хмарі для подальшого застосування
  • Навчитеся налаштовувати файлову систему в хмарі для ефективного доступу
  • Зможете захостити динамічний вебзастосунок

Lambda-функції

  • Дізнаєтеся, що таке Lambda-функції в AWS і для чого вони потрібні, їхні переваги та недоліки
  • Навчитеся створювати прості Lambda-функції для зчитування файлу з обсягами продажів на сайті й підрахунку середнього щоденного прибутку

Бази даних: особливості роботи

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

Розробка API

  • Дізнаєтеся, як створити REST API в хмарі
  • Навчитеся налаштовувати автентифікацію до створеного API
  • Зможете побудувати REST API для завантаження даних всіх користувачів і деталей кожного окремого юзера

Обмін даними в AWS

  • Дізнаєтеся, як працює обмін даними між різними сервісами в AWS
  • Зможете здійснювати обмін повідомленнями за допомогою сервісу SNS
  • Побудуєте ланцюжок обміну даними для обробки великих обсягів даних організації

Контейнеризація застосунків

  • Дізнаєтеся, як влаштована робота з контейнерами AWS
  • Зможете налаштувати управління контейнерами в AWS і запускати будь-який контейнеризований застосунок в AWS
  • Навчитеся ефективно керувати різними версіями контейнерів для забезпечення безперервного циклу релізу

Мережеві сервіси

  • Дізнаєтеся про основні мережеві сервіси в AWS та правила налаштування мережевої безпеки в хмарі
  • Створите повноцінну віртуальну мережу в AWS для потреб організації
  • Навчитеся налаштовувати різні рівні мережевої безпеки для збільшення надійності застосунку

Моніторинг, відлагодження, аудит

  • Дізнаєтесь, як переглядати історію використання сервісів в AWS
  • Навчитеся аналізувати логи з різних сервісів і знаходити проблеми з ними
  • Зможете зрозуміти, чому той чи інший сервіс працює не так, як очікують
  • Навчитеся відстежувати підозрілу активність в AWS і запобігати витоку важливих даних організації

Інфраструктура як код

  • Розумітимете, що таке Infrastructure as Code і в чому переваги такого підходу
  • Навчитеся описувати інфраструктуру за допомогою файлів конфігурації та мов програмування
  • Зможете описати раніше побудовану систему за допомогою коду і покращити процес масштабування системи
  • Навчитеся розробляти й налаштовувати Lambda-функції через код

Архітектура хмарних застосунків

  • Дізнаєтеся про різні архітектури застосунків у хмарі
  • Зрозумієте переваги й відмінності кожної з архітектур, зможете використовувати найкращі практики для побудови застосунків у хмарі
  • Спроєктуєте складну систему в хмарі для вирішення потреб організації з урахуванням найкращих безпекових практик
  • Зможете розгорнути побудований застосунок в AWS для потреб будь-якої організації

Захист курсового проєкту. Підсумки та запитання

  • Зможете розібрати наявну архітектуру застосунку і запропонувати способи її покращення
  • Зрозумієте, як можна розвиватися на посаді інженера хмарних обчислень
  • Дізнаєтеся про основні відмінності між сертифікаціями в AWS

Особливості курсу

  • Опануєте основні хмарні сервіси
  • Практика
  • Курсовий проєкт і проєкт в портфоліо

Викладачі курсу

Андрій Лобанов - Fullstack Developer at Amazon

Більше інформації
Курс
Рекомендуємо
Формат
Online
Початок навчання
25.03.2024
Тривалість
12 тижнів
Рівень
Для досвідчених
Мова навчання
Ukrainian
Вартість
уточнюйте
Вечірні заняттяСупровід ментораРеальний проект у портфоліо
Robot Dreams
  • Product Manager / Product Owner
Подробиці

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

Програма курсу

Product Management в IT

  • Дізнаєтесь, що може бути продуктом в залежності від специфіки компанії
  • Розберете типові задачі Senior IT Product Manager
  • Зрозумієте роль та вимоги до продакт-менеджера
  • Ознайомитесь з інструментами Product Management

Business Model Prototyping

  • Ознайомитесь з різними типами бізнес-моделей
  • Дізнаєтесь, як правильно визначати бізнес-модель для продукту
  • Навчитесь формулювати УТП
  • Розглянете методи оцінки та дослідження ринку

Глибинні конкурентні аналізи

  • Дізнаєтесь про користь конкурентного аналізу
  • Розглянете Direct, Indirect, Replacement Competitors
  • Ознайомитесь з інструментами для аналізу конкурентів
  • Навчитеся визначати ринки, на яких конкурують продукти
  • Дізнаєтеся, як аналізувати конкурентів для отримання бази для подальших продуктових рішень

Аналіз цільової аудиторії

  • Зрозумієте важливість чіткого уявлення про цільову аудиторію
  • Дізнаєтесь, як сегментувати аудиторію
  • Розглянете базові сценарії використання сегментації

Управління продуктом на основі даних

  • Ознайомитесь з метриками зростання продукту, ефективності та доданої вартості
  • Розглянете показники задоволеності клієнтів: NPS, CSAT, CSI
  • Дізнаєтесь, що таке North Star Metric (NSM) і як застосовувати її на практиці
  • Вивчите інструменти продуктової аналітики

Unit-економіка

  • Дізнаєтесь про LTV, CPA, ROI та інші показники продукту
  • Навчитесь розрахувати unit-економіку продукту
  • Зрозумієте, як правильно аналізувати показники
  • Розберете приклади розрахунків для різних проєктів

Customer Development, проведення якісних досліджень

  • Зрозумієте, навіщо проводити Customer Development
  • Дізнаєтесь, що таке Customer Development і як він працює
  • Розберетеся, як проводити інтерв'ю

Пошук точок зростання продукту

  • Навчитесь правильно будувати Customer Journey Map (шаблон + практика)
  • Зрозумієте ролі та специфіку роботи з кожним з етапів Customer Journey
  • Дізнаєтеся, як побудувати продуктові воронки та воронки залучення
  • Розглянете основні аспекти продуктів: onboarding, adoption, retention, upsell

Залучення і робота з командою. Part 1

  • Навчитесь організовувати взаємодію та ставити цілі в команді
  • Розберете концепцію PRFAQ, Working backwards
  • Розвинете навики пітчінгу та "продажу" ідей (як частина захисту курсового проекту)
  • Отримаєте поради по комунікації з інженерами, дизайнерами та С-левелом

Залучення і робота з командою. Part 2

  • Розберете методики оптимізації процесів взаємодії в команді (Scrum, Kanban, Lean)
  • Розглянете аспекти щоденного життя команди, церемонії та точки взаємодії
  • Навчитеся формувати беклог і підтримувати його в актуальному стані
  • Опануєте організацію паралельної роботи над різними продуктами в різних стадіях
  • Навчитеся працювати з метриками успішності

Workshop. Генерація ідей

  • Розберете методи і способи проведення Ideation
  • Навчитеся проводити сесії генерації й обговорення ідей

Пріоритезація ідей

  • Зрозумієте важливість і суть розставлення пріоритетів для роботи з ідеями
  • Навчитеся працювати з беклогом команди та забезпечувати його якісну роботу
  • Розберете способи та методи визначення кроків і версій продукту
  • Розглянете приклади та отримаєте поради зі створення MVP

Побудова Product Roadmap

  • Дізнаєтеся, як проводити збір необхідної інформації для побудови Product Roadmap
  • Розберете кейси зі структури та формату наповнення Product Roadmap
  • Ознайомитеся з програмами для створення Product Roadmap
  • Отримаєте поради щодо презентації Product Roadmap різним стейкхолдерам
  • Зрозумієте відмінність між Backlog та Roadmap

Продуктовий дизайн та роль продуктового менеджера в ньому

  • Дізнаєтесь, як продакт-менеджер керує UX
  • Розберете взаємодію із Product Designer та Content Designer
  • Ознайомитесь з Mockups, wireframes, clickable prototypes та UX-інструментами
  • Дізнаєтесь про основні недоліки UX, які повинен знати кожен PM

Технічний дизайн та роль продуктового менеджера у ньому

  • Дізнаєтеся, для чого варто будувати прототипи рішень
  • Зрозумієте, що таке фронтенд і бекенд, де зберігаються дані та як працюють івенти статистики

Продуктові вимоги та PRD

  • Зрозумієте роль вимог у процесі роботи над продуктом
  • Дізнаєтеся, як визначати необхідний рівень документації для продуктів
  • Навчитеся створювати PRD для комунікації продуктових вимог
  • Дізнаєтеся різні підходи до роботи з вимогами, щоб управляти вимогами в умовах постійних змін

Продуктові артефакти, з якими працює менеджер

Навчитеся розрізняти та працювати з різними типами продуктових артефактів.

Реліз програмного продукту

  • Розглянете технічний бік релізу: учасники, release notes, документація
  • Навчитеся планувати реліз продукту
  • Ознайомитеся з розподілом зобов'язань для релізу між Product-, Project- та Release-менеджерами

Експериментування та оцінка ефективності змін

  • Усвідомите основні принципи наукового підходу до експериментів
  • Зрозумієте умови, за яких доцільне використання А/В-тестування
  • Навчитеся проводити А/В-тести

Ріст продукту, залучення, монетизація та утримання користувачів

  • Зрозумієте важливість маркетингової складової для успіху продуктів
  • Дізнаєтеся, як продукт адаптується під тип залучення користувачів
  • Розберете маркетингові інструменти, таргетинг та рекламні метрики: CPM, CPC, CPL, CPA, СРІ
  • Розглянете основні виклики, з якими може стикнутися продакт-менеджер у роботі з командою маркетингу

Особливості роботи з мобільними застосунками

  • Зрозумієте специфіку роботи з мобільними застосунками
  • Розглянете особливості роботи з Mobile Apps (App Store і Google Market), Desktop Apps, Browser extensions та Any-random-platform plug-ins

Product Strategy та Product Mindset

  • Розберете приклади реальних продуктових стратегій
  • Зрозумієте силу впливу продуктової стратегії на роботу продуктових команд
  • Навчитеся створювати та підтримувати Product Vision і продуктову стратегію
  • Сформуєте продуктовий майндсет

Product Manager - по той бік

  • Розглянете вимоги до кандидатів в залежності від ролі
  • Розберетесь у специфіці роботи по рівням позиції та роботи за кордоном
  • Дізнаєтесь, як найефективніше стартувати в новій компанії або з новим продуктом

Захист продуктових пітчів

Особливості курсу

  • Інструменти
  • Реальні кейси
  • Hard & Soft Skills
  • П'ятеро студентів, які наберуть найбільше балів, отримають індивідуальні консультації щодо своїх продуктів від лекторів

Викладачі курсу

  • Олександр Матіясевич - Senior Product Manager у DeepL
  • Сергій Матчук - Product Lead у Quarks
Більше інформації
Курс
Формат
Online
Початок навчання
29.07.2024
Тривалість
18 занять
Рівень
Для досвідчених
Мова навчання
Ukrainian
Вартість
уточнюйте
Вечірні заняттяВидається диплом/сертифікатСупровід ментораРеальний проект у портфоліо
Robot Dreams
  • Data Science / Machine learning / AI
Подробиці

Ви навчитеся проводити статистичний аналіз даних за допомогою Python та розвинете математичне мислення для розв'язання реальних завдань Data Science

Програма курсу

Python для аналізу даних: Part 1

  • Запускаєте код у Jupyter Notebook
  • Проводите базові операції над числами та простими структурами даних
  • Застосовуєте цикли for та while
  • Розумієте, як поєднання "математика + Python" допоможе вам у роботі

Python для аналізу даних: Part 2

  • Під'єднуєте бібліотеки Python
  • Оперуєте даними за допомогою бібліотек NumPy та Pandas
  • Візуалізуєте дані та інтерпретуєте результати за допомогою бібліотек Matplotlib та Seaborn

Дескриптивна статистика

  • Застосовуєте моду, медіану, середнє значення та середньоквадратичне відхилення для аналізу даних
  • Візуалізуєте результати аналізу та описуєте дані
  • Використовуєте бібліотеки Matplotlib, Seaborn та Plotly

Теорія множин

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

Теорія ймовірності

  • Знаєте, що таке ймовірність та умовна ймовірність
  • Виконуєте прості завдання на ймовірність

Випадкові величини та розподіли

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

Залежність між випадковими величинами

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

Основні розподіли

  • Знаєте основні розподіли, вмієте їх застосовувати
  • Визначаєте, який розподіл описує вашу проблему
  • Використовуєте бібліотеку stats

Дані. Статистика. Вибірка

  • Знаєте, що таке статистика та які проблеми вона розвʼязує
  • Вивчили методи вибірки
  • Плануєте та виконуєте збірку даних

Точкова оцінка

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

Інтервальна оцінка

  • Знаєте, що таке довірчий інтервал
  • Інтерпретуєте довірчий інтервал
  • Будуєте довірчі інтервали для простих проблем та розумієте, у яких випадках вони не працюють

Перевірка статистичних гіпотез

  • Знаєте, що таке P-значення та як його інтерпретувати
  • Розбираєтесь у типах помилок
  • Формулюєте статистичні гіпотези
  • Перевіряєте прості статистичні гіпотези різними методами

Аналіз якісних даних

  • Аналізуєте якісні дані
  • Будуєте та аналізуєте таблиці сполученості
  • Перевіряєте адекватність моделі за допомогою chi-square та бібліотеки stats

Статистика на практиці

  • Розпізнаєте можливу помилку в аналізі та коригуєте її
  • Проводите поправку під час перевірки множин гіпотез

Регресійний аналіз

  • Формулюєте проблему для лінійної регресії
  • Використовуєте scikit-learn для регресійного аналізу даних
  • Перевіряєте результат регресійного аналізу на адекватність
  • Регулюєте свою модель різними методами в разі перенавчання

Логістична регресія. Вступ до машинного навчання

  • Знаєте, що таке статистичне навчання
  • Розв'язуєте проблеми класифікації за допомогою логістичної регресії
  • Застосовуєте перехресну перевірку
  • Використовуєте scikit-learn для класифікації даних за допомогою логістичної регресії та перехресної перевірки
  • Вмієте робити перехресну перевірку вручну

Заключне заняття. Висновки

  • Знаєте, як братися за розв'язання проблем
  • Розумієте, як зменшити ймовірність помилок

Презентація курсового проєкту

Презентуєте свою роботу колегам.

Особливості курсу

  • Сильний контент
  • Інструменти для роботи
  • Практика
  • Кар'єра
  • Аналітична практика
  • Розробка проєкту
  • Апгрейд скілів

Викладачі курсу

Наталія Кеес - Data Scientist at Airbus

Більше інформації
Курс
Формат
Online
Початок навчання
13.09.2023
Тривалість
3 місяців
Рівень
Для початківців
Мова навчання
Ukrainian
Вартість
уточнюйте
Гнучкий графікВидається диплом/сертифікатСупровід ментораРеальний проект у портфоліо
Robot Dreams
  • Python
  • WEB Developer / Webmaster
Подробиці

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

Програма курсу

Вступне заняття. Знайомство з програмою

Запис бонусного блоку "Основи фронтенд-розробки"

Бази даних

Теми:

  • Знайомство з базами даних
  • Створення бази даних
  • Робота з базами даних. Part 1
  • Робота з базами даних. Part 2

Результати:

  • Знаєте, що таке база даних та які вони бувають
  • Вмієте під'єднувати бази даних за допомогою Python
  • Познайомилися з принципами роботи з базами даних SQL
  • Навчилися створювати та працювати з базами даних і таблицями за допомогою SQLite

Мережеве програмування

Теми:

  • Основи веброзробки
  • Знайомство з HTML/CSS/JS
  • Базова робота з HTML/CSS/JS
  • Взаємодія з API

Результати:

  • Розумієте різницю між фронтендом і бекендом
  • Знаєте, що таке мережеве програмування та як воно вліштоване
  • Вмієте працювати з HTML і CSS
  • Знаєте базовий синтаксисJavaScript
  • Навчилися працювати зі сторонніми API-інтерфейсами

Python для веброзробки

Теми:

  • Знайомство з Flask
  • Веброзробка за допомогою Flask. Part 1
  • Веброзробка за допомогою Flask. Part 2
  • Веброзробка за допомогою Flask. Part 3
  • Веброзробка за допомогою Flask. Part 4
  • БОНУС. Воркшоп по роботі з Telegram API
  • Знайомство з Django
  • Django ORM. Part 1
  • Django ORM. Part 2
  • Робота в Django. Part 1
  • Робота в Django. Part 2
  • Робота в Django. Part 3
  • БОНУС. Воркшоп по роботі з Django-проєктами
  • Django REST (DRF). Part 1
  • Django REST (DRF). Part 2
  • Асинхронні задачі в Django

Результати:

  • Вмієте працювати з API-інтерфейсами
  • Налаштовуєте обмін повідомленнями між клієнтом і сервером
  • Вмієте працювати з фреймворком Flask для створення вебзастосунків
  • Знаєте, як гарантувати обмін інформацією між клієнтом і сервером у режимі реального часу
  • Вмієте налаштовувати аутентифікацію та авторизацію
  • Працюєте з Django

Запуск застосунку в Docker

Теми:

  • Підготовка до запуску застосунку. Docker. Part 1
  • Підготовка до запуску застосунку. Docker. Part 2
  • Q&A-сесія

Результати:

  • Вмієте готувати застосунок до запуску за допомогою Docker
  • Працюєте з docker-compose для спільного використання багатоконтейнерних програм

Особливості курсу

  • Заняття щопонеділка та щосереди
  • База знань
  • Підвищення скілів
  • Кар'єра
  • Бонус: запис блоку по frontend development

Викладачі курсу

Олексій Клименюк - Software Engineer у SEEN

Більше інформації
Курс
Рекомендуємо
Формат
Online
Початок навчання
01.05.2024
Тривалість
30 занять
Рівень
Для початківців, Для досвідчених
Мова навчання
Ukrainian
Вартість
уточнюйте
Вечірні заняттяВидається диплом/сертифікатСупровід ментораРеальний проект у портфоліо
Robot Dreams
  • Dart
  • Flutter
  • Mobile Development
Подробиці

Опануйте кросплатформенну фулстек-розробку та навчіться створювати кастомізовані функціональні застосунки для Android, iOS i web.

Програма курсу

Знайомство з Dart та Flutter

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

Основи мобільної розробки

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

Git та робота з GitHub

  • Зрозумієте призначення системи контролю версій
  • Вивчите основні потрібні команди для роботи з Git
  • Знайдете та встановите все необхідне ПЗ для роботи з Flutter
  • Налаштуєте репозиторій та ключі доступу
  • Зробите перший коміт

Основи Dart. Part 1

  • Зрозумієте основні принципи роботи мови програмування Dart
  • Навчитеся оперувати даними різних типів
  • Напишете прості функції, реалізуєте умовні оператори та оператори перемикання
  • Дізнаєтеся про структуру Nullable-типів даних та її важливість

Основи Dart. Part 2

  • Вивчите основні модифікатори доступу та зрозумієте їхню відмінність від інших мов
  • Навчитеся працювати з класами, інтерфейсами, наслідуванням
  • Дізнаєтеся, коли та як використовувати часткове наслідування
  • Навчитеся працювати з колекціями
  • Дізнаєтеся патерни та рекорди й зрозумієте, коли їх використовувати

Основи Flutter. Part 3

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

Рендеринг у Flutter + Q&A-сесія з лектором

  • Дізнаєтеся про різні етапи рендерингу та механізми, що забезпечують швидкість і плавність відтворення
  • Зрозумієте, що таке віджети в контексті Flutter та яке значення вони мають для побудови інтерфейсу користувача, ознайомитеся з різними типами віджетів та їхньою функціональністю
  • Зрозумієте механізми, що забезпечують оновлення та перерендеринг віджетів у Flutter
  • Дізнаєтеся, що таке hot reload та hot restart у Flutter і зрозумієте їхній вплив на розробку та налагодження застосунків

Віджети для Flutter. Part 1

  • Дізнаєтеся, що таке віджети в контексті Flutter та якими бувають їхні типи, зрозумієте нюанси їх використання для побудови інтерфейсу користувача
  • Зрозумієте відмінність між StatefulWidget та StatelessWidget та дізнаєтеся, коли краще використовувати кожен з них
  • Зрозумієте принцип роботи InheritedWidget та його роль у передачі даних
  • Навчитеся використовувати необхідні віджети-контейнери для організації та розміщення елементів у UI

Віджети для Flutter. Part 2

  • Навчитеся створювати повноцінні екрани та їхні компоненти
  • Зможете використовувати компоненти Scaffold для побудови UI
  • Дізналися про відмінності між Material та Cupertino
  • Дізналися, в яких ситуаціях можуть знадобитись адаптивні віджети

Віджети для Flutter. Part 3

  • Навчитеся використовувати різні віджети для реалізації необхідного UI, а також різні види тестових та графічних віджетів
  • Дізнаєтеся, як будувати списки та сітки за допомогою ListView та GridView

Інші базові віджети для Flutter + Q&A-сесія з лектором

Базове керування станом застосунків Flutter

  • Зрозумієте, чому ефективне керування станом є ключовим елементом успішної розробки Flutter-застосунків і як воно впливає на їхню продуктивність та реактивність
  • Зрозумієте принципи та навчитеся використовувати метод setState для зміни стану компонента StatefulWidget та оновлення інтерфейсу на основі нового стану

Рефакторинг та структура проєкту

  • Зрозумієте потребу рефакторингу та правильної організації коду в проєкті
  • Зможете налаштовувати базову архітектуру для правильної взаємодії компонентів у Flutter-застосунку
  • Навчитеся обирати зручний для себе підхід в організації проєкту залежно від масштабу або підлаштовуватися під стиль команди
  • Зрозумієте принципи розробки та навчитеся використовувати їх на практиці

Лейаути у Flutter

  • Дізнаєтеся про наявні готові віджети, які допомогають будувати основу Layout, як-от Container, Padding, Align та інші
  • Навчитеся використовувати віджети Row та Column, Expanded та Flexible, Stack та Wrap

Побудова гнучкого та адаптивного UI

  • Дізнаєтеся про віджет SingleChildScrollView та віджети Sliver, як-от SliverAppBar, SliverList, SliverGrid та інші, для створення розширених та складних ефектів прокрутки
  • Навчитеся використовувати віджет Table для створення таблиць
  • Навчитеся використовувати LayoutBuilder для створення динамічних та адаптивних Layout, а також MediaQuery для створення адаптивної розмітки в застосунку
  • Зрозумієте, як створювати Layout, що пристосовуються до різних розмірів екрана

Персоналізація застосунків

  • Зрозумієте важливість персоналізації застосунків
  • Дізнаєтеся, як використовувати Theme та Colors для зміни кольорів, стилів та інших атрибутів віджетів у застосунку
  • Навчитеся створювати теми та налаштовувати їх для зміни загального вигляду застосунку, змінювати стилі тексту, використовувати шрифти з бібліотеки Google Fonts, додавати кастомні шрифти
  • Навчитеся створювати власні форми та фігури за допомогою CustomPainter, використовувати Flutter SVG для роботи з векторною графікою

Анімація у застосунках

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

Q&A-сесія з лектором

Покращене керування станом застосунків Flutter. Part 1

  • Ознайомитеся з пакетом Provider для керування станом застосунку
  • Дізнаєтеся, як створювати оптимізовані моделі стану та використовувати провайдери для постачання та слухачів для споживання
  • Ознайомитеся з пакетом Riverpod та дізнаєтеся, як його використовувати для створення залежностей та обміну станом між віджетами

Покращене керування станом застосунків Flutter. Part 2

  • Ознайомитеся з пакетом BLoC (Business Logic Component)
  • Навчитеся обирати оптимальний підхід для керування станом застосунків залежно від потреб та вимог

Багатопотоковість та паралелізм

  • Зрозумієте основні поняття та принципи роботи з потоками, а також особливості асинхронного програмування
  • Дізнаєтеся, як використовувати ключове слово async, об’єкти Future та FutureBuilder для оновлення інтерфейсу на основі стану Future
  • Дізнаєтеся, як працювати з потоками (Stream) та використовувати StreamBuilder
  • Навчитеся використовувати бібліотеку RxDart та набудете базових знань щодо застосування операторів
  • Дізнаєтеся про Isolate та функцію Compute

Навігація інтерфейсом застосунку

  • Навчитеся використовувати стандартні методи навігації, як-от Navigator.push і Navigator.pop
  • Дізнаєтеся про способи передачі даних між екранами під час навігації та зрозумієте принципи роботи стека навігації
  • Дізнаєтеся про Navigator 2.0, який надає більше гнучкості в навігації, та навчитеся працювати з URL-адресами для навігації
  • Ознайомитеся з go_router
  • Навчитеся будувати зручний та логічний інтерфейс навігації

Q&A-сесія з лектором

Робота з мережею та передачею даних

  • Навчитеся працювати з найпростішим пакетом HTTP для взаємодії з API
  • Ознайомитеся з принципами взаємодії з RESTful API та навчитеся виконувати (GET, POST, PUT, DELETE) запити до API
  • Зрозумієте принципи побудови JSON, які повертаються з API
  • Навчитеся створювати моделі даних, які відтворюють структуру й типи даних, отриманих з API
  • Зрозумієте асинхронність у Dart і відповідну роботу з API
  • Навчитеся перехоплювати та обробляти помилки, які можуть виникнути під час взаємодії з API
  • Вмієте виводити повідомлення про помилки користувачам

Бази даних - Offline. Part 1

  • Дізнаєтеся про основні типи баз даних
  • Ознайомитеся з ORM-фреймворками для зручної та швидкої роботи з базою даних у Flutter
  • Навчитеся створювати таблиці, додавати, змінювати, видаляти та запитувати дані з бази даних SQL
  • Попрацюєте з пакетами sqflite та Realm
  • Навчитеся використовувати Hive для роботи з даними

Бази даних - Offline. Firebase. Part 2

  • Підключите Firebase Realtime Database до застосунку Flutter і навчитеся використовувати його для роботи з даними в реальному часі
  • Дізнаєтеся, як підключити Firebase Cloud Firestore
  • Набудете теоретичних знань роботи з пакетом Hive
  • Ознайомитеся з інструментами для дослідження баз даних з мобільного пристрою

Підключення додаткових можливостей до застосунків. Part 1

  • Навчитеся підключати та використовувати пакети permission_handler, path_provider, file_picker, image_picker, camera
  • Налаштуєте мінімальний функціонал для фотографування, запису відео та роботи з іншими функціями камери

Підключення додаткових можливостей до застосунків. Part 2

  • Навчитеся використовувати пакети share_plus, location, flutter_local_notifications, audioplayers, chewie
  • Налаштуєте та відправите сповіщення з різними параметрами, як-от заголовок, текст, значок та інші
  • Навчитеся відтворювати звуки та музику в застосунку

Flutter Web

  • Навчитеся налаштувати Flutter SDK для розробки вебзастосунків
  • Дізнаєтеся, як використовувати Firebase Hosting для розгортання та публікації Flutter-вебзастосунків в інтернеті
  • Навчитеся працювати з Responsive та Adaptive дизайном у Flutter для вебу

Захист курсових проєктів

  • Набудете практичних навичок роботи з Flutter
  • Навчитеся презентувати власну роботу

Особливості курсу

  • Dart & Flutter
  • Мобільна розробка
  • Пет-проєкт
  • Кар'єра

Викладачі курсу

Вадим Пінчук - Senior Software Developer у Meta

Більше інформації
Курс
Формат
Online
Початок навчання
26.02.2024
Тривалість
15 занять
Рівень
Для досвідчених
Мова навчання
Ukrainian
Вартість
уточнюйте
Гнучкий графікВидається диплом/сертифікатСупровід ментораРеальний проект у портфоліо
Robot Dreams
  • Blockchain / Cryptocurrency
Подробиці

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

Програма курсу

Основи блокчейну та керування криптографічними ключами

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

Основні інструменти блокчейн-розробника

  • Налаштуєте базове середовище розробки
  • Отримаєте високорівневе розуміння того, як ним користуватися

Типи Solidity та розташування даних (частина 1)

  • Зрозумієте, як влаштована Ethereum Virtual Machine (EVM)
  • Ознайомитеся з типами даних Solidity, їхнім розташуванням, маніпуляціями в пам'яті та структурою зберігання

Типи Solidity та розташування даних (частина 2)

  • Зрозумієте логіку розташування даних у стеку, пам’яті та стейті
  • Розглянете структуру кожної області зберігання й тимчасового розміщення даних
  • Розберете можливі складнощі під час роботи з типами та дізнаєтеся, як з ними впоратися

Контракти Solidity (частина 1)

  • Зрозумієте, що таке смартконтракти та чим EOA address відрізняється від contract address
  • Ознайомитеся з основними можливостями смартконтрактів Solidity
  • Навчитеся створювати контракти й працювати з конструктором

Контракти Solidity (частина 2)

Розберете Events, Error Handling та спеціальні функції.

Бібліотеки Solidity

  • Ознайомитеся з основними можливостями бібліотек Solidity
  • Дізнаєтеся про призначення та виклики методів бібліотек

Assemblies, function selectors, ABI, RLP

  • Вивчите концепції та функціонал низького рівня, наближений до роботи Ethereum Virtual Machine (EVM)
  • Розглянете приклади використання assemblies
  • Вивчите застосування LLM для Solidity розробки

Галузеві стандарти

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

Безпека смартконтрактів

  • Розглянете основні аспекти безпеки смартконтрактів та інструменти для аудиту
  • Ознайомитеся з дизайном системи управління (governance system)
  • Дізнаєтеся про поширені вразливості смартконтрактів: reentrancies, overflows/underflows, oracles

Proxy Pattern. Контракт з можливістю оновлення

  • Навчитеся створювати смартконтракти з функцією оновлення
  • Розглянете призначення Proxy Pattern та його архітектуру
  • Дізнаєтесь, як розв'язувати конфлікти зберігання даних у storage

Інтеграція фронтенду та бекенду

Отримаєте практичні навички інтеграції контрактів із зовнішнім середовищем під час мініворкшопів

Oracles

  • Дізнаєтеся, що таке Oracles і навіщо вони потрібні в індустрії
  • Навчитеся застосовувати Oracle-системи для обміну даними між зовнішнім середовищем та смартконтрактами
  • Розглянете типи Oracles (централізовані й децентралізовані) та шаблони дизайну (публікація-підписка, запит-відповідь)

Воркшоп із Real dApp

  • Ознайомитеся з роботою однієї з популярних децентралізованих систем
  • Розглянете основні компоненти реального dApp

Тема на вибір

  • Мости
  • NFT
  • Децентралізовані біржі (DEXes)
  • dApps із Zero-Knowledge Proof (наприклад, Tornado Cash)
  • Decentralised Autonomous Organizations (DAOs)
  • Self-Sovereign Identity
  • Протоколи L2
  • Пропозиція тем від студентів

Особливості курсу

  • Сильний контент
  • Інструменти для роботи
  • Практика 70% курсу
  • Кар'єра

Викладачі курсу

Андріян Честних - Senior Engineer у Polygon Labs

Більше інформації
Курс
Формат
Online
Початок навчання
28.08.2023
Тривалість
22 тижнів
Рівень
Для досвідчених
Мова навчання
Ukrainian
Вартість
уточнюйте
Гнучкий графікВидається диплом/сертифікатСупровід ментораРеальний проект у портфоліо
Robot Dreams
  • QA Automation / QA Manual
Подробиці

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

Програма курсу

Вступ до автоматизованого тестування

Теми:

  • Переваги та недоліки автоматизованого тестування порівняно з ручним
  • Типи автоматизованих тестів
  • Тестова піраміда в контексті автоматизації

Результати:

  • Знаєте, які переваги має автоматизоване тестування
  • Розумієте, як оптимізувати свою роботу завдяки переходу в автоматизацію

Інструменти автоматизації

Теми:

  • Робота з Git
  • Робота з Docker
  • Формати зберігання та передачі даних

Результати:

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

Класи та інтерфейси

Теми:

  • Вступ до мови програмування Java
  • Робота з операторами Java
  • Умови на Java
  • Цикли на Java
  • Множинні типи даних для автоматизації тестування
  • Поля обʼєкта
  • Методи об'єкта
  • Перелічуваний тип ENUM
  • Інкапсуляція
  • Абстракція та інтерфейси
  • Наслідування та поліморфізм
  • Обробка помилок
  • Робота з файлами
  • Анотації, generics та streams
  • Дизайн Java-застосунку
  • Maven

Результати:

  • Знаєте базовий синтаксис Java
  • Розумієте, як працює об'єктна модель у Java
  • Вмієте застосовувати основні оператори присвоєння та модифікації
  • Вмієте будувати складні алгоритми на основі умов
  • Знаєте, як писати оптимальні та читані умови
  • Вмієте будувати алгоритми, засновані на повтореннях, а також логічні конструкції всередині циклів
  • Знаєте, як зберігати множинні дані в Java
  • Вмієте додавати, вилучати та модифікувати дані
  • Декларуєте класи Java, готові перейти від процедурного програмування до ООП
  • Знаєте, що таке тип ENUM і в яких випадках його варто застосовувати
  • Будуєте логічно безпечні алгоритми й правильні класи відповідно до ООП-моделі
  • Вмієте працювати з абстрактними класами й інтерфейсами
  • Розумієте, що таке наслідування та поліморфізм, і вмієте будувати багаторівневі програми з меншим обсягом коду
  • Вмієте правильно обробляти помилки та використовувати їх як засіб зворотної комунікації
  • Працюєте з файловою системою з Java-коду
  • Розумієте код, який містить анотації та generics
  • Вмієте створювати генералізований метод та клас
  • Знаєте ознаки поганого коду
  • Вмієте писати реалізації Singleton та Builder
  • Керуєте залежностями за допомогою Maven

Найпопулярніші інструменти Java для тестування

Теми:

  • Тестові фреймворки JUnit/TestNG
  • Data-driven testing
  • Тестовий звіт
  • Просунутий тестовий репорт Allure
  • Робота з базами даних із Java (JDBC) на прикладі postgreSQL
  • Просунута робота з базами даних. Бібліотека JDBI

Результати:

  • Працюєте з фреймворками JUnit/TestNG
  • Розумієте, як тести взаємодіють із кодом програми
  • Вмієте писати готові до виконання тести
  • Знаєте, як підготувати тестове оточення
  • Вмієте писати тести, які виконуються одним й тим самим кодом, але з різними наборами даних
  • Знаєте, як побудувати зрозумілу тестову структуру
  • Будуєте тести таким чином, щоби було зрозуміло, на якому етапі сталася помилка
  • Вмієте налаштовувати тестовий звіт, який зрозумілий всім
  • Знаєте, як налаштовувати Allure
  • Вмієте виконувати основні операції з базою даних у Java
  • Працюєте з бібліотекою JDBI

Web UI тестування

Теми:

  • Selenium WebDriver
  • Локатори елементів XPath
  • CSS Selector
  • Selenide
  • Cucumber

Результати:

  • Запускаєте різні браузери для виконання тестів
  • Вмієте виконувати простий пошук елементів сторінки та взаємодіяти із цими елементами
  • Будуєте селектори XPath для пошуку елементів за різними ознаками
  • Вмієте шукати елементи в динамічній структурі документа
  • Знаєте, як перевірити складений селектор XPath за допомогою плагіна до Google Chrome
  • Вмієте будувати CSS-селектори для пошуку елементів за базовими атрибутами
  • Вмієте взаємодіяти та перевіряти елементи в Selenide
  • Знаєте, як писати Web UI тести з використанням Selenide
  • Пишете прості, параметризовані та data-driven тести з Cucumber
  • Запускаєте тести засобами Idea та Maven

API - тестування

Теми:

  • HTTP + Postman
  • REST Assured
  • Awaitility

Результати:

  • Знаєте, як працює HTTP
  • Розумієте суть ресурсного підходу
  • Вмієте працювати з HTTP-ендпоінтами через Postman
  • Пишете API-тести, які виконують послідовність HTTP-запитів
  • Розумієте модель тестування Given-When-Then
  • Вмієте писати API для систем зі станом, що динамічно змінюється, і асинхронною обробкою даних
  • Знаєте, як налаштувати затримку та інтервал очікування, щоби не перевантажувати тестовану систему

Навантажувальне API - тестування

Теми:

  • Види навантажувального тестування, його задачі та вплив на бізнес
  • JMeter

Результати:

  • Розумієте цілі та завдання навантажувального тестування
  • Проводите навантажувальне тестування
  • Знайомі з основними елементами тесту на JMeter
  • Можете написати тест для перевірки продуктивності web-сервісу за допомогою JMeter
  • Пишете складні тести навантаження для web-сервісів, які виконують послідовність залежних запитів
  • Вмієте валідувати результати запитів, виконаних у процесі тестування

Continuous Integration

Теми:

  • Огляд актуальних систем, SaaS CI
  • Jenkins
  • Підсумки, перспективи карʼєри в QA Automation

Результати:

  • Розумієте різницю між SaaS CI та hosted CI
  • Знайомі з основними системами CI
  • Знаєте, як описуються завдання Jenkins через декларативний підхід
  • Вмієте налаштувати Jenkins для виконання простих завдань
  • Налаштовуєте Jenkins для роботи з кодом у Git-репозиторії
  • Розумієте свої перспективи у сфері QA Automation

Особливості курсу

  • Вивчите базу мови Java
  • Практика
  • Кар'єра
  • 5 кращих студентів візьмуть участь в імітації технічного інтерв'ю

Викладачі курсу

Ростислав Біляєв - Senior QA Automation Engineer в Adidas

Більше інформації
Курс
Рекомендуємо
Формат
Online
Початок навчання
Дата формується
Тривалість
30 занять
Рівень
Для початківців
Мова навчання
Ukrainian
Вартість
уточнюйте
Вечірні заняттяВидається диплом/сертифікатСупровід ментораРеальний проект у портфоліо
Robot Dreams
  • Android
  • Kotlin
Подробиці

Ми почнемо з основ програмування мовою Kotlin та розберемо принципи ООП. У результаті ви створите багатоекранний застосунок для портфоліо та підготуєтеся до технічного інтерв’ю на позицію Junior/Trainee Android Developer.

Програма курсу

Основи програмування разом з Kotlin (відеоуроки)

  • Вступ до програмування на Kotlin
  • Типи даних і функції
  • Операції, оператори та логічні вирази
  • Робота з циклами
  • Робота з масивами
  • Основи об'єктно-орієнтованого програмування. Part 1
  • Основи об'єктно-орієнтованого програмування. Part 2
  • Структури даних для зберігання об'єктів

Результат: запускаєте написаний на Kotlin код на виконання та знаєте принципи ООП. Вмієте використовувати основні структури даних і типізувати колекції, класи та функції.

Основи роботи з Android Studio

  • Коротка історія системи Android
  • Знайомство з Git
  • Лейаут як основа для розмітки
  • Перехід до багатоекранного режиму

Результат: знаєте компоненти Android-застосунку, працюєте з Git. Вмієте змінювати параметри UI-елементів залежно від вимог та користуватися Android Device Bridge.

Багатопотоковість і робота з інтернет-запитами

  • Багатопотоковість в Android
  • Основи мережевої взаємодії
  • Різновиди відповідей на інтернет-запити: PlainText, XML, JSON
  • Відтворення оброблених даних у вигляді списку: ListView та RecyclerView
  • Створення User Flow

Результат: знаєте, як налаштувати багатопотоковість та багатозадачність в Android-застосунку. Працюєте з бібліотеками для роботи із зображеннями й мережею. Створюєте User Flow.

Зберігання даних та архітектурні патерни

  • Зберігання даних під час зміни конфігурації
  • SQL і робота з базами даних
  • Service як компонент системи, призначений для виконання довготривалих завдань

Результат: розумієтеся на роботі з базами даних. Знаєте, як побудувати SQL-запит до бази, вмієте здійснювати огляд баз даних за допомогою вбудованих плагінів або інших програм.

Корутини, DI-бібліотеки та Unit-тестування

  • Корутини як патерн структурованої багатопотоковості
  • Dependency Injection
  • Тестування застосунків
  • Анімації в Android

Результат: запускаєте корутини та паралельне виконання декількох завдань у корутині. Вмієте рефакторити код, проводити тестування модулів та баз даних. Розумієтеся на анімації UI.

Google Services, Анімації та Jetpack compose

  • Google Services та Firebase
  • Відтворення медіа в Android-застосунку
  • Jetpack Compose
  • CustomView, SurfaceView і Kotlin Flow (API Flow)
  • Розбір запитань на співбесіді
  • Захист фінального проєкту

Результат: знаєте, як додавати сервіси та реалізовувати бекенд. Додаєте й відтворюєте медіафайли, створюєте багатоекранні застосунки з Jetpack Compose. Готові до Tech Interview.

Особливості курсу

  • База мови Kotlin
  • Робота з Android Studio
  • Розробка пет-проєкту в портфоліо
  • Кар'єрна консультація
  • 70% - практика

Викладачі курсу

Олександр Мазуренко - Senior Android Developer

Більше інформації
Курс
Рекомендуємо
Формат
Online
Початок навчання
12.02.2024
Тривалість
8 тижнів
Рівень
Для досвідчених
Мова навчання
Ukrainian
Вартість
уточнюйте
Гнучкий графікВидається диплом/сертифікатСупровід ментораРеальний проект у портфоліо
Robot Dreams
  • Lead / Architect / CTO
Подробиці

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

Програма курсу

Вступ до Highload-архітектури

  • Зрозумієте, що таке highload і data-intensive програми
  • Розберете завдання, які стоять перед архітектором високонавантажених систем
  • Навчитеся робити грубі розрахунки для архітектури програми

Вимоги до архітектури

  • Розберете базові терміни, які застосовують в архітектурі застосунків
  • Зрозумієте trade-offs у високонавантажених системах
  • Навчитеся збирати й документувати вимоги до програми

Q&A-сесія з лектором і методистом

Розберете свої запитання на Live-сесії з лектором і методистом.

Формат зберігання та передачі даних

  • Зрозумієте відмінність між різними форматами зберігання та передачі даних
  • Розберете переваги та недоліки того чи іншого підходу
  • Навчитеся обирати найкращий варіант з огляду на вимоги бізнесу

Комунікація системи із зовнішнім світом

  • Дізнаєтеся, як працює комунікація програми із зовнішнім світом
  • Зрозумієте, чим відрізняються балансувальники навантаження
  • Розберете різні способи імплементації rate limiters, а також їхні переваги та недоліки
  • Навчитеся обирати найкращий варіант комунікації з огляду на вимоги бізнесу

Q&A-сесія з лектором і методистом

Розберете свої запитання на Live-сесії з лектором і методистом.

Моделі передачі даних

  • Зрозумієте відмінність між різними моделями передачі даних
  • Дізнаєтеся, які переваги та недоліки має той чи інший підхід
  • Навчитеся обирати найкращий варіант з огляду на вимоги бізнесу

Зберігання даних

  • Зрозумієте відмінність між relational та document-based моделями зберігання даних, а також між declarative та imperative query languages
  • Отримаєте розуміння графових моделей даних
  • Навчитеся обирати найкращий варіант зберігання даних з огляду на вимоги бізнесу

Q&A-сесія з лектором і методистом

Розберете свої запитання на Live-сесії з лектором і методистом.

Структури даних

  • Матимете уявлення про те, як влаштовані бази даних та в якому вигляді зберігаються дані
  • Зрозумієте переваги та недоліки того чи іншого підходу зберігання даних
  • Навчитеся обирати найкращий варіант СУБД з огляду на вимоги бізнесу щодо зберігання даних

Аналітика та зберігання Big Data

  • Зрозумієте, в чому особливість зберігання даних для аналітики
  • Дізнаєтеся, що таке data warehouse і де його використовують
  • Зрозумієте, навіщо потрібні column-oriented storages
  • Навчитеся обирати відповідну модель зберігання даних з огляду на бізнес-вимоги

Q&A-сесія з лектором і методистом

Розберете свої запитання на Live-сесії з лектором і методистом.

Розподілені дані: CAP-теорема

  • Дізнаєтеся, для чого доводиться розділяти дані та яким проблемам дає раду такий підхід
  • Зрозумієте CAP-теорему
  • Навчитеся обирати найбільш відповідне рішення для розподіленого зберігання даних з огляду на бізнес-вимоги

Розподілені дані: реплікація [replication]

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

Q&A-сесія з лектором і методистом

Розберете свої запитання на Live-сесії з лектором і методистом.

Розподілені дані: секціонування [partitioning]

  • Зрозумієте основи секціонування
  • Розберете стратегії ребалансування, їхні переваги та недоліки, а також готові рішення
  • Продовжите роботу з key-value data warehouse

Розподілені дані: транзакції [transaction]

  • Дізнаєтеся, що таке ACID
  • Зрозумієте, чим відрізняються рівні ізоляції
  • Навчитеся обирати рівень ізоляції з огляду на вимоги бізнесу

Q&A-сесія з лектором і методистом

Розберете свої запитання на Live-сесії з лектором і методистом.

Розподілені дані: цілісність [consistency]

  • Зрозумієте, що таке цілісність даних у розподілених системах
  • Ознайомитеся з типами цілісності даних, їхніми перевагами та недоліками
  • Навчитеся обирати тип цілісності з огляду на вимоги бізнесу

Розподілені дані: консенсус [consensus]

  • Зрозумієте, що таке консенсус у розподілених системах
  • Отримаєте уявлення про популярні алгоритми консенсусу, як-от Paxos та Raft
  • Дізнаєтеся, як працюють популярні розподілені сховища даних у контексті консенсусу
  • Навчитеся реалізовувати обраний тип консенсусу

Q&A-сесія з лектором і методистом

Розберете свої запитання на Live-сесії з лектором і методистом.

Пакетна та потокова обробка

  • Зрозумієте, що таке batch та stream процесинг, а також у чому його особливості
  • Дізнаєтеся, що таке MapReduce і для яких завдань його використовують
  • Отримаєте інформацію про messaging systems, визначите їхні переваги та недоліки

Пошук подій та потоки подій

  • Розберете такі поняття, як-от state, stream та immutability
  • Дізнаєтеся, що таке event stream / event sourcing
  • Зрозумієте, в яких ситуаціях використовують event sourcing

Q&A-сесія з лектором і методистом

Розберете свої запитання на Live-сесії з лектором і методистом.

Моніторинг, метрики та алертинг

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

Q&A-сесія з лектором і методистом

Розберете свої запитання на Live-сесії з лектором і методистом.

Презентація курсового проєкту

Презентуєте й захистите курсовий проєкт, створений ​​з огляду на те, що дизайн обов’язково має передбачати високе навантаження

Особливості курсу

  • Технології Highload
  • Практика
  • Кар'єра
  • Фідбек від лектора та методиста

Викладачі курсу

Ярослав Літус - Staff Software Engineer у Google

Більше інформації
Курс
Рекомендуємо
Формат
Online
Початок навчання
01.04.2024
Тривалість
36 занять
Рівень
Для початківців
Мова навчання
Ukrainian
Вартість
уточнюйте
Вечірні заняттяСупровід ментораРеальний проект у портфоліо
Robot Dreams
  • C / C++
  • Gamedev / Unity / Game Design
Подробиці

Комплексний курс, який навчить кодити на C++ з нуля, дозволить опанувати принципи обʼєктно-орієнтованого програмування, ключові бібліотеки та інструменти для того, щоби створювати десктопні й мобільні ігри та розвиватися в геймдеві.

Програма курсу

Вступ та підготовка

  • Дізнаєтеся, що таке мова програмування високого рівня і яке в неї призначення
  • Розглянете парадигми та філософію мови С++
  • Зрозумієте, чому С++ - найпоширеніша мова для геймдеву
  • Завантажите та налаштуєте середовище розробки (IDE)
  • Запустите програму Hello World на С++

Основи програмування на C++

  • Дізнаєтесь про основні примітивні типи даних в С++: int, char, bool, singed/unsinged, float/double
  • Зможете створювати тип даних з визначеними програмістом допустими значеннями
  • Навчитеся виводити дані в консоль з простою обробкою виведення за допомогою маніпуляторів
  • Будете перетворювати змінні до різних типів

Оператори

  • Вивчите арифметичні оператори та навчитеся використовувати їх для числових розрахунків
  • Дізнаєтесь, як працювати з операторами присвоєння
  • Навчитеся порівнювати арифметичні типи даних
  • Зрозумієте, який пріоритет виконання арифметичних та логічних операторів у складених виразах та які способи зміни пріоритетності існують
  • Ознайомитеся з побітовими операціями

Розгалуження та умови

  • Дізнаєтеся, навіщо та як створювати умовні оператори
  • Навчитеся створювати логічні вирази для умовних операторів та поєднувати кілька умовних операторів в ієрархії виконання
  • Дізнаєтеся, що таке тернарний оператор і як його використовувати
  • Навчитеся використовувати switch як альтернативний набір if-else-if блоків

Система контролю версій Git

  • Опануєте застосування систем контролю версій в програмуванні над власним кодом та в команді
  • Зрозумієте принцип роботи Git та зможете використовувати його у проєктах
  • Зареєструєте профіль на github для збереження проектів і домашніх завдань
  • Дізнаєтесь про типи інших систем контролю версій, зокрема популярний у геймдев Perforce

Цикли

  • Дізнаєтеся, що таке цикл та у яких випадках його застосовувати
  • Навчитеся використовувати цикли 3 типів та детально розберете особливості кожного
  • Дізнаєтесь, як створювати вкладені цикли

Воркшоп: задачі, цикли, умови

  • Попрацюєте з типовими помилками й навчитеся їх фіксити
  • На практиці ознайомитеся зі способами дебагу програми у Visual Studio IDE

Функції

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

Строки і масиви

  • Дізнаєтесь, як створити колекцію однорідних даних із використанням одно- та двовимірних масивів визначеного розміру
  • Зрозумієте принципи, за якими масиви зберігаються в пам'яті
  • Навчитеся модифікувати масиви
  • Дізнаєтесь, як використовувати C-style рядки константного розміру

Посилання та вказівники

  • Зрозумієте, що таке посилання, адреси змінних та вказівники
  • Дізнаєтесь, як отримати дані з вказівника та адресу змінної
  • Навчитеся передавати вихідні параметри та повертати з функції посилання
  • Зрозумієте, навіщо передавати у функцію вказівники та посилання

Алгоритми. Робота з циклами та масивами

  • Розглянете різні принципи роботи з індексами циклів і вкладеними циклами
  • Вивчите підходи до пошуку даних залежно від стану масиву
  • Розберете задачі сортування даних та базові алгоритми сортування

Алгоритми. Складність, пошук і сортування

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

Воркшоп: робота з функціями, масивами, посиланнями та вказівниками

  • Розберете реальні задачі на алгоритміку
  • Реалізуєте алгоритми пошуку та сортування даних

Робота з динамічною пам'яттю

  • Навчитеся виділяти та очищати довільну кількість пам'яті для різних типів даних із масиву
  • Зрозумієте різницю між стеком та масивом
  • Розглянете особливості створення спеціальних методів класу та їхню взаємозалежність у контексті роботи з динамічною пам'яттю
  • Зрозумієте причини та наслідки витоків пам'яті, а також розглянете можливі способи розв'язання цієї проблеми

Структури даних

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

Знайомство з ООП. Класи

  • Навчитеся створювати нові типи даних, об'єднувати поведінку та дані в одному об'єкті
  • Розберете різницю між класом та об'єктом класу
  • Вивчите поняття модифікаторів стосовно особливостей використання інстенсів класу
  • Зрозумієте різницю між агрегацією та композицією під час додавання залежностей між класами

ООП. Оператори та статичні поля

  • Зрозумієте вплив дружніх функцій на модифікатори доступу
  • Навчитесь імплементувати та використовувати на практиці перевантажені оператори

ООП. Наслідування та поліморфізм

  • Зрозумієте принцип реалізації наслідування, принцип поліморфізму, чистих абстрактних функцій та інкапсуляції даних
  • Вивчите порядок виклику конструкторів в ієрархії класів

ООП. Приведення класів в ієрархії. Наслідування проти композиції

  • Вивчите способи приведення класів відповідно до ієрархії та розберете принципові відмінності між статичним і динамічним приведенням
  • Розберете типові випадки використання наслідування та композиції на практиці
  • Навчитесь обирати підхід залежно від поставленої задачі

Воркшоп: побудова міні-гри у консолі з використанням поліморфізму, практика дизайну архітектури застосунків

Підготуєте власний проєкт "Настільна гра в Манчкін" і отримаєте фідбек від лектора.

Функціональні об'єкти

  • Дізнаєтеся, що таке функціональні об'єкти, анонімні функції та лямбди
  • Навчитеся передавати параметри в лямбду
  • Навчитеся використовувати лямбди для стандартних алгоритмів STL-бібліотеки

Бібліотека стандартних функцій

  • Ознайомитеся з бібліотекою std::string та її стандартними функціями
  • Розберете відмінності різних структур даних та методи std::string
  • Вивчите поняття ітераторів та зрозумієте, чому їх використовують замість контейнерів
  • Навчитеся використовувати набір алгоритмів зі стандартної бібліотеки функцій STL

Шаблонне метапрограмування

  • Дізнаєтеся, що таке шаблони програмування та навіщо їх використовують
  • Навчитеся створювати шаблонні функції та класи
  • Зрозумієте, як змінювати поведінку шаблонних функцій для окремо визначених типів
  • Крок за кроком вивчите процес створення шаблонів на компайл-таймі
  • Ознайомитеся з бібліотекою type-traits

Графи як структура даних для геймдеву

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

Вступ до лінійної алгебри в контексті геймдеву

  • Згадаєте поняття вектора та матриці, дізнаєтесь, як ці поняття застосовуються на практиці в геймдеві
  • Навчитеся виконувати прості операції над векторами, зокрема скалярне та векторне множення
  • Дізнаєтеся про базові матричні перетворення векторів

Багатопотокове програмування

  • Розберетеся в понятті багатопотоковості
  • Зрозумієте, в чому різниця між паралельним і багатопотоковим програмуванням
  • Навчитеся створювати треди для виконання операцій у багатопотоковому середовищі
  • Дізнаєтесь, як синхронізувати доступ до спільного ресурсу
  • Зрозумієте, як використовувати потоки в геймдеві

Подальші кроки в GameDev

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

Патерни проєктування в GameDev

  • Дізнаєтеся, що таке патерни проєктування та навіщо використовувати їх під час розробки ігор
  • Ознайомитеся з патернами проєктування GoF
  • Вивчите специфіку патернів, властивих сфері геймдеву

Фінальний проєкт: видача курсового проєкту

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

Фінальний проєкт

Сформуєте беклог ідей для 2D-гри відповідно до завдання.

Фінальний проєкт: представлення MVP лектору, задачам тощо

Підготуєте MVP власної гри та отримаєте фідбек від лектора.

Фінальний проєкт: презентація курсового проєкту

Допрацюєте гру та представите її лектору й колегам.

Розвиток кар'єри в ІТ

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

Стратегія пошуку роботи

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

Резюме та супровідний лист

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

Інтерв'ю з рекрутером та hiring-менеджером + воркшоп Q&A

  • Дізнаєтеся, з яких етапів складається процес залучення нових співробітників до компанії
  • Ознайомитеся зі структурою інтерв'ю
  • Підготуєтеся до інтерв'ю з рекрутером
  • Дізнаєтесь, які запитання необхідно поставити рекрутеру та hiring-менеджеру під час інтерв'ю
  • Навчитеся вести переговори під час укладання job-офера

Особливості курсу

  • Вивчення С++
  • Кейс у портфоліо
  • Кар'єрний буст

Викладачі курсу

Богдан Левунець - С++ Game Developer at Ubisoft

Більше інформації
Курс
Формат
Online
Початок навчання
12.12.2023
Тривалість
4 місяців
Рівень
Для початківців
Мова навчання
Ukrainian
Вартість
уточнюйте
Гнучкий графікВидається диплом/сертифікатСупровід ментораРеальний проект у портфоліо
Robot Dreams
  • Blockchain / Cryptocurrency
Подробиці

Комплексний курс із вивчення blockchain-технології - за 4 місяці ви пройдете шлях від основ криптографії до покриття тестами власних смартконтрактів та розробки dApp.

Програма курсу

Введення в блокчейн

  • Ознайомитеся з криптовалютами та блокчейном: сильними та слабкими сторонами технології
  • Дізнаєтеся про основні приклади використання блокчейну
  • Навчитеся встановлювати MetaMask та отримувати безкоштовний тестовий Ether у мережі Ropsten
  • Зрозумієте, як убезпечити свій гаманець і свої криптоактиви від втрати або викрадення

Основи криптографії

  • Зрозумієте базові поняття криптографії: шифрування, plaintext, ciphertext, salt, хешування
  • Навчитеся застосовувати шифрування для комунікації та збереження даних
  • Опануєте застосування хешування для збереження та перевірки цілісності даних
  • Дізнаєтеся, для чого може застосовуватися zero-knowledge proof

Протоколи блокчейну

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

Блокчейн у фінансовому секторі

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

Основи смартконтрактів

  • Зрозумієте, що таке смартконтракт, які можливості має ця технологія, та розберете приклади її застосування
  • Вивчите базовий синтаксис Solidity
  • Навчитеся користуватися Remix IDE для написання смартконтрактів

Написання смартконтрактів: функції, типи даних, логування в Solidity

  • Навчитеся передавати різні типи даних у ролі параметрів функцій смартконтракту
  • Використаєте read- та write-функції смартконтрактів
  • Дізнаєтеся примітивні типи даних у Solidity

Написання смартконтрактів: типи даних, структури, тернарні вирази та цикли

  • Опануєте всі типи даних у Solidity та їхнє використання
  • Навчитеся використовувати тернарні вирази та цикли в Solidity
  • Дізнаєтесь, як оптимізувати використання Gas під час розробки смартконтрактів

Написання смартконтрактів на Solidity: ООП

  • Вивчите основи ООП
  • Дізнаєтесь, як ООП застосовується під час розробки смартконтрактів

Контроль за видимістю і виконанням функцій та завантаження смартконтракту в мережу

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

Завантаження смартконтрактів у мережу, безпека смартконтрактів

  • Вивчите основи безпеки смартконтрактів
  • Дізнаєтеся про відомі приклади зломів криптовалютних проєктів

Безпека смартконтрактів

  • Ознайомитеся з найпоширенішими вразливостями смартконтрактів, яких слід остерігатися під час розробки
  • Навчитесь усувати найпоширеніші вразливості в смартконтрактах

Основи Node.js

  • Розглянете синтаксис Node.js та напишете простий скрипт
  • Навчитеся писати прості серверні застосунки у Node.js
  • Зрозумієте, як передавати параметри під час запуску серверних застосунків
  • Ознайомитесь із застосуванням ООП у Node.js

NPM, Hardhat, scripts

Навчитеся застосовувати Node.js і scripts для завантаження смартконтрактів та приватні тестові мережі, викликати їхні функції з hardhat console.

Hardhat Scripts продовження, ethers

  • Навчитеся писати складені скрипти від різних користувачів
  • Зможете користуватися основними функціями ethers

Тестування смартконтрактів

  • Навчитеся користуватися Ganache+Truffle для імітації блокчейну та завантаження в нього смартконтрактів через міграції
  • Ознайомитеся з документацією Mocha
  • Отримаєте навики написання acceptance-тестів для смартконтрактів із бібліотекою Mocha

Написання токена для ICO / ITO: частина 1

  • Дізнаєтесь, як і для чого створюються смартконтракти ICO
  • Ознайомитеся з умовами стандарту ERC-20
  • Навчитеся створювати простий токен ERC-20

Написання токена для ICO / ITO: частина 2

  • Реалізуєте більшість функціонала контрактів ICO
  • Навчитеся контролювати доступ до функцій смартконтрактів

Випуск токена в мережу

  • Навчитеся завантажувати смартконтракти ICO в публічну тестову мережу
  • Зрозумієте, як взаємодіяти з токенами через популярні вебінтерфейси
  • Опануєте процес підтвердження власності смартконтракту токена на Etherscan

Архітектура комерційних смартконтрактів, емісія токенів, скарбниці

  • Зрозумієте побудову архітектури ІСО для смартконтрактів на просунутому рівні
  • Дізнаєтесь, як підтримувати та оновлювати смартконтракти запущених ІСО
  • Навчитеся програмувати емісію та скарбниці токенів

Q&A

Знайомство і введення в HTML

  • Дізнаєтеся, з яких елементів складається сайт
  • Ознайомитеся зі змістом та розміткою вебсторінок
  • Налаштуєте редактор коду та корисні розширення
  • Опануєте базові теги та атрибути

Таблиці, списки та форми

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

Введення в CSS

  • Ознайомитеся зі стилями та навчитеся додавати їх на HTML-сторінку
  • Дослідите відносні та статичні одиниці виміру
  • Опануєте модульну систему верстки Grid та технологію позиціювання елементів Flexbox
  • Під'єднаєте CSS-бібліотеки

Основи Web JS

  • Навчитеся під'єднувати JavaScript до вебсторінки різними способами
  • Вивчите змінні, типи даних та перетворення типів
  • Навчитеся працювати з умовними операторами

Розробка вебкриптогаманця: частина 1

  • Отримаєте навички прикладної роботи з криптографічними функціями
  • Опануєте основи генерування Seed Phrase, вивід із неї приватних та публічних ключів

Розробка вебкриптогаманця: частина 2

  • Навчитеся використовувати криптографічні інструменти для генерування даних для гаманців різних блокчейн-протоколів
  • Опануєте основи захисту критичних даних у вебзастосунках

Розробка вебкриптогаманця: частина 3

  • Навчитесь інтегрувати 5 окремих блокчейн-протоколів із вебзастосунком
  • Зможете налаштовувати різні блокчейн-протоколи для роботи з одним криптографічним апаратом
  • Набудете досвіду повної розробки вебгаманців

Розробка вебкриптогаманця: частина 4 | Робота з ERC20

  • Дізнаєтесь, як інтегрувати вебінтерфейс з мережею блокчейн
  • Застосовуватимете бібліотеку ethers для взаємодії з функціями Ethereum
  • Навчитеся підключати основні методи смартконтракту до вебзастосунку

Альткоїни, вивчення найпопулярніших блокчейн-протоколів

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

Розробка вебкриптогаманця: частина 5 | Обробка даних з Bitcoin

  • Набудете навичок генерування приватних та публічних ключів
  • Зможете користуватися Bitcoin Explorer
  • Дізнаєтеся, як робити базові запити на Bitcoin

Розробка вебкриптогаманця: частина 6 | Надсилання Bitcoin

  • Зможете надсилати Bitcoin на інші гаманці
  • Навчитеся впорядковувати інтерфейс перед наступними доробками

Розробка вебкриптогаманця: частина 7 | Імпорт гаманця

  • Дізнаєтесь, як генерувати mnemonic та private keys
  • Навчитеся під'єднувати користувача за введеним private keys

Q&A, працевлаштування в індустрії, перспективи блокчейн-технології

Розвиток кар'єри в IT

  • Усвідомите свою мотивацію та сильні/слабкі сторони у кар'єрному розвитку
  • Зрозумієте, куди рухатися
  • Дізнаєтесь, які види компаній та посад існують на ринку

Стратегія пошуку роботи

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

Резюме та супровідний лист

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

Інтерв'ю з рекрутером та hiring-менеджером + Q&A

  • Дізнаєтеся, з яких етапів складається процес залучення нових співробітників до компанії
  • Ознайомитеся зі структурою інтерв'ю
  • Підготуєтеся до інтерв'ю з рекрутером
  • Дізнаєтесь, які запитання необхідно поставити рекрутеру та hiring-менеджеру під час інтерв'ю
  • Навчитеся вести переговори під час укладання job-офера

Особливості курсу

  • Доступ до курсу лишається назавжди
  • Практика + домашні завдання
  • Зворотній зв'язок від ментора
  • Спільний чат з одногрупниками
  • Отримання диплому або сертифікату за кількістю балів
  • Лекції по вівторкам і четвергам
  • Власний токен та вебгаманець із 5 блокчейн-протоколами
  • Можливість працевлаштування в компанію YOZH

Викладачі курсу

Владислав Бойченко - Tech Lead at YOZH

Більше інформації
Курс
Формат
Online
Початок навчання
01.04.2024
Тривалість
35 занять
Рівень
Для початківців, Для досвідчених
Мова навчання
Ukrainian
Вартість
уточнюйте
Гнучкий графікВидається диплом/сертифікатСупровід ментораРеальний проект у портфоліо
Robot Dreams
  • Data Science / Machine learning / AI
Подробиці

Опануйте повний стек інструментів і скілів дата-саєнтиста, а також навчіться будувати моделі прогнозування

Програма курсу

Вступ до професії Data Scientist і воркфлоу роботи на курсу

Теми:

  • Що таке дані та для чого їх збирати
  • Чим відрізняються професії Data Analyst, BI Analyst, Data Engineer, Software Engineer, Data Scientist i Machine Learning Engineer
  • Стек навичок Data Scientist

Результати:

  • Дізнаєтеся, що таке дані і які можливості є в бізнесу, якщо він правильно збирає та обробляє свої дані
  • Зрозумієте різницю між професіями Data Scientist, Data Analyst, BI Analyst і Data Engineer. Розберете зони відповідальності кожної
  • Дізнаєтеся про види та типи даних
  • Розберете ключові задачі Data Scientist у компанії
  • Розберете стек навичок Data Scientist, виокремите власні сильні та слабкі сторони для цієї професії

Інструменти Data Scientist

Теми:

  • Python та Jupyter Notebook
  • Принципи ООП та їхнє застосування в програмуванні на Python
  • Базові концепти Python
  • Функціональне програмування
  • Особливості програмування на Python
  • Основні бібліотеки та фреймворки Python
  • Бібліотеки Python для Data Science

Результати:

  • Знайомі з концептом і принципами програмування на Python
  • Знаєте базовий синтаксис Python
  • Вмієте користуватися Jupyter Notebook
  • Знайомі з принципами ООП та застосовуєте їх на практиці
  • Розумієте різницю між обʼєктно-орієнтованим і функціональним програмуванням
  • Вмієте використовувати код на Python для пошуку та обробки даних
  • Розумієте, для чого потрібні бібліотеки Python, та знайомі з основними з них
  • Знаєте, які бібліотеки Python використовують у Data Science, та вмієте працювати з ними

Базова математика для Data Science

Теми:

  • Основні концепти лінійної алгебри
  • Поняття вектора та операції з векторами
  • Поняття матриці та операції над матрицями
  • Векторний, нормативний та математичний простір
  • Події та ймовірність
  • Розподіл імовірностей
  • Дисперсія
  • Види розподілів

Результати:

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

Бази даних для Data Science

Теми:

  • Що таке дані та як їх зберігати
  • SQL для роботи з даними

Результати:

  • Розумієте, що таке дані та як правильно їх зберігати
  • Розбираєтесь у видах баз даних
  • Розумієте різницю між DB та DBMS
  • Вмієте писати SQL-запити та користуватися операторами INSERT, DELETE, SELECT, WHERE та JOIN
  • Знаєте, як "витягнути" потрібні дані з бази

Методи машинного навчання

Теми:

  • Регресія
  • Задачі класифікації
  • Метод опорних векторів
  • Дерева ухвалення рішень
  • Задачі кластеризації
  • Методи прогнозування
  • Методи оцінки якості прогнозів
  • Поняття нейронних мереж
  • Бібліотеки та фреймворки для роботи з нейромережами
  • Метрики оцінки якості моделей Machine Learning

Результати:

  • Вмієте будувати лінійну та поліноміальну регресію
  • Вмієте розв'язувати задачі класифікації та кластеризації
  • Знаєте, як провести базовий Time Series Analysis
  • Вмієте будувати прогнози на основі отриманих даних
  • Вмієте працювати з пакетами PyTorch, TensorFlow, Keras для побудови моделей Machine Learning
  • Знайомі з метриками оцінки якості моделей
  • Розумієте, який алгоритм працює "під капотом" нейромереж
  • Побудували першу нейронну мережу вручну
  • Вмієте користуватися нейромережами для прогнозування

Аналіз даних та прогнозування

Теми:

  • Зчитування та обробка даних перед побудовою моделі
  • EDA, Feature Engineering, Feature Importance

Результати:

  • Зчитуєте дані із CSV, JSON, XLSX, SQLite
  • Знаєте, як працювати з Missing Data
  • Будуєте зрозумілі візуалізації для даних
  • Вмієте знаходити закономірності в даних
  • Розумієте, чому так важливо правильно зібрати та обробити дані перед побудовою моделей прогнозування і чому не можна просто взяти всі дані та закинути в модель
  • Знайомі з поняттям Feature та знаєте, що це таке в кожній моделі
  • Розумієте, навіщо використовувати Feature Importance

Обробка Big Data та розвиток майндсету дата-саєнтиста

Теми:

  • Обробка великих даних: парадигми, паралельне обчислення, розподілені системи
  • Компоненти Spark: Core, SQL, MlLib, Streaming, GraphX
  • Основи Spark: RDD, transformations та actions, lazy evaluations
  • Популярні API для роботи зі Spark
  • Базові операції в Databricks Notebook, синтаксис PySpark, візуалізація даних
  • Що таке майндсет дата-саєнтиста
  • Формулювання гіпотез та методи їх перевірки
  • Розуміння потреб бізнесу, поєднання вимог і математичних побажань
  • Вибір підходу та моделі, оцінка моделей
  • Поділ задачі від ПО на таски, планування
  • Презентація результатів та кінцевого рішення
  • Побудова власного профілю Data Scientist

Результати:

  • Розумієте, що таке великі дані та знаєте принципи їх обробки
  • Знаєте основи технології Spark та типові ситуації для її застосування
  • Володієте базовим синтаксисом PySpark для операцій в Spark
  • Працюєте з даними в Databricks Notebooks
  • Застосовуєте майндсет дата-саєнтиста на практиці

Презентація фінального проєкту

Результати:

  • Отримаєте Tabular Data і застосуєте всі скіли, опановані протягом курсу, на практиці
  • Опрацюєте дані, побудуєте візуалізації, зберете пайплайн, побудуєте та натренуєте модель для прогнозування
  • Представите свою модель колегам

Особливості курсу

  • Теорія
  • Інструменти для роботи
  • Практика
  • Кар'єра

Викладачі курсу

Дмитро Безущак - Data Scientist / ML Engineer

Більше інформації
Курс
Формат
Online
Початок навчання
27.05.2024
Тривалість
4 місяців
Рівень
Для початківців
Мова навчання
Ukrainian
Вартість
уточнюйте
Вечірні заняттяСупровід ментораРеальний проект у портфоліо
Robot Dreams
  • Data Analyst / Business Intelligence (BI)
Подробиці

На цьому курсі ми опануємо професію дата-аналітика з нуля й навчимося знаходити відповіді в числах. Якщо коротко ― за 4 місяці навчимося проходити повний цикл аналізу даних: від збору до інтерпретації результатів.

Програма курсу

Блок 0. Вступ

Знайомство з професією Data Analyst

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

Результати блоку:

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

Блок 1. Google Sheets для Data Analyst

Можливості Google Sheets та вбудовані формули

  • Інструмент Google Sheets та його можливості
  • Закріплення робочої області, сортування та фільтрація даних
  • Вбудовані функції (математичні, статистичні, логічні)
  • Умовне форматування таблиць
  • Типи даних та їх форматування
  • Дії (арифметичні)
  • Вбудовані функції для пошуку значень та текстового аналізу
  • Етапи роботи з даними для аналізу

Аналіз даних у Google Sheets

  • Типи аналізу даних
  • Data Cleaning або Data Wrangling
  • Ресурси з даними для аналізу
  • Етапи аналізу даних
  • Вбудовані функції
  • Завантаження файлів

Таблиці та візуалізація даних у Google Sheets

  • Зведені таблиці: створення, перетворення, фільтрація
  • Зведені таблиці: форматування, оновлення, групування
  • Підключення зовнішніх джерел даних
  • Зведені таблиці: додавання обчислюваних полів
  • Візуалізація даних у Google Sheets
  • Відмінність Microsoft Excel vs Google Spreadsheets

Воркшоп про Google Sheets

Практичне засвоєння роботи з Google Sheets.

Результат блоку:

  • Розумієте, з яких етапів складається аналіз даних
  • Вмієте користуватися базовими функціями Google Sheets для аналізу даних
  • Вмієте проводити продвинутий аналіз за допомогою зведених таблиць та будувати графіки в Google Sheets

Блок 2. Робота з базами даних

Вступ до теорії баз даних

  • Відмінності баз даних від Google Spreadsheets
  • Види БД та їхні відмінності
  • Огляд СУБД для аналітики даних та їхніх особливостей
  • Знайомство з інтерфейсом та ознайомлення з можливостями Google BigQuery
  • Значення терміна бази даних та їх застосування
  • Термін SQL
  • Інструменти для роботи з СУБД

Синтаксис SQL: оператори

  • Підключення до наявної бази даних у BigQuery
  • SELECT + FROM
  • WHERE
  • Логічні оператори (LIKE)
  • LIMIT
  • Розв'язання завдань із синтаксису SQL
  • Знайомство зі схемою бази даних, структурою та наповненням таблиць
  • AS + DISTINCT
  • Оператори порівняння
  • ORDER BY
  • Порядок операторів

Функції агрегації даних, аналітичні функції

  • Умовні вирази (if, case when)
  • Математичні та статистичні функції
  • HAVING
  • Функції агрегації
  • GROUP BY
  • Створення власного проєкту та наповнення його даними

Воркшоп: Синтаксис SQL, функції агрегації даних

Засвоєння роботи із синтаксисом SQL та функціями агрегації даних на практиці.

Оператори об'єднання даних [JOIN, UNION]

  • Типи SET-операторів (операції над наборами)
  • INNER JOIN
  • FULL JOIN
  • Типи об'єднання таблиць та їхні відмінності
  • LEFT/RIGHT JOIN
  • CROSS JOIN

Воркшоп: Робота з операторами JOIN and UNION

Засвоєння роботи з об'єднання таблиць на практиці.

Типи даних та їхнє перетворення

  • Огляд типів даних
  • Функції перетворення даних
  • Розв'язання завдань з перетворення типів даних за допомогою SQL
  • NULL-значення
  • Функції для роботи з різними типами даних

Підзапити, CTE, View

  • Підзапити
  • Подання (View)
  • Визначення поняття регулярних виразів
  • CTE (With)
  • Створюємо запит, який автоматично оновлюватиме дані в таблицях на постійній основі
  • Базовий синтаксис написання регулярних виразів

Воркшоп: Підзапити, CTE та View

Розв'язання завдань з використанням підзапитів, CTE та View.

Віконні функції

  • Визначення віконних функцій та завдань, які вони розв'язують
  • Синтаксис віконних функцій - параметри
  • Порядок побудови запиту
  • Синтаксис віконних функцій
  • Синтаксис віконних функцій - функції
  • Приклади написання запитів до БД з використанням віконних функцій

Оптимізація запитів, індекси, CRUD-оператори

  • Оптимізація запитів
  • Принципи ефективного використання ресурсів BQ
  • Підключення сторонніх джерел даних до BigQuery
  • Кластеризація та індекси у БД, типи зв'язків
  • Команди для роботи з таблицями
  • Функція Pivot

Воркшоп: Робота з віконними функціями + оптимізація запитів

  • Розв'язання завдань з використанням віконних та інших вивчених функцій
  • Розбір графа виконання запиту

Результат блоку:

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

Блок 3. Python для трансформації та аналізу даних

Вступ до Python: Встановлення та налаштування середовища

  • Що таке мова програмування
  • Сфери застосування Python
  • Історія створення Python
  • Встановлення та налаштування середовища для програмування (IDE)

Основні типи даних

  • Основні типи даних
  • Основні оператори
  • Базові можливості та операції з рядками
  • List, Tuple, Dictionary, Set
  • Коментування коду

Умовні оператори й цикли

  • Умовні оператори - IF, ELIF, ELSE
  • Цикли - WHILE та FOR

Бібліотеки Python для роботи з даними

  • Знайомство з бібліотеками Python, встановлення
  • Нормалізація даних
  • Робота з датами в Pandas
  • Читання даних із різних файлових форматів за допомогою Pandas
  • Бібліотека Pandas та датафрейм

Воркшоп: Python для роботи з даними

Вивчення роботи з даними за допомогою Python на практиці.

Підключення до баз даних і трансформації даних

  • Підключення до BigQuery
  • Отримання та трансформації даних
  • Імпорт та експорт даних до Google Sheets
  • Підключення до PostgreSQL
  • Експорт даних до BigQuery

Воркшоп: Підключення до баз даних і трансформація даних

Практичне вивчення підключення до баз даних та трансформації даних.

Аналіз та візуалізація даних в Python

  • Знайомство з бібліотекою Matplotlib
  • Огляд основних візуалізацій та їх побудова

Парсинг даних за допомогою Python

  • Джерела отримання даних (API (Application Programming Interface), WEB Scraping)
  • Бібліотеки для парсингу даних

Знайомство з Git, Terraform та Airflow

  • Data Orchestration з Airflow
  • Terraform
  • Контроль версій з Git

Воркшоп: Аналіз даних за допомогою Python

Практичне застосування вивчених навичок з аналізу даних за допомогою Python.

Результат блоку:

  • Знаєте, що таке мови програмування і навіщо вони потрібні аналітику, вмієте працювати зі списками, словниками, кортежами та множинами
  • Працюєте з Pandas та аналізуєте дані за допомогою Python
  • Знаєте, що таке Git та Airflow, як і навіщо їх використовують
  • Знаєте, як працювати з Terraform

Блок 4. Візуалізація даних

Вступ до візуалізації

  • Навіщо візуалізувати дані
  • Як побудувати зрозумілу візуалізацію
  • Огляд наявних інструментів для візуалізації (можливості, відмінності, обмеження, переваги та недоліки)
  • Види графіків, де та які використовувати
  • Принципи побудови дашбордів

Looker Studio: знайомство з інструментами

  • Looker Studio - огляд і початок роботи
  • Переваги Looker Studio
  • Візуалізації Looker Studio
  • Якою має бути ефективна візуалізація
  • Складові Looker Studio
  • Джерела Looker Studio
  • Етапи розробки дашбордів

Воркшоп: Візуалізація з Looker Studio

Практичне застосування навичок з візуалізації з Looker Studio.

Tableau: огляд та базові можливості

  • Tableau - огляд і початок роботи
  • Переваги Tableau
  • Візуалізації в Tableau
  • Якою має бути ефективна візуалізація
  • Складові Tableau
  • Джерела Tableau
  • Етапи розробки дашбордів

Воркшоп: Візуалізація з Tableau

Практичне застосування навичок з візуалізації з Tableau.

Результат блоку:

  • Розумієте, навіщо візуалізувати дані, розбираєтеся у видах і типах графіків, знайомі з принципом побудови дашбордів
  • Розумієте, які інструменти можна для цього використовувати
  • Вмієте створювати дашборди й візуалізувати дані в Looker Studio та Tableau, знаєте, як підключити нові сорси для Tableau

Блок 5. Згадати все - матстат на практиці

Застосування та базові терміни математичної статистики

  • Приклади практичного застосування статистики в аналізі даних (A/B-тести, прогнозування, кореляційний та регресійний аналіз, пошук аномалій)
  • Основні терміни (вибірка, генеральна сукупність, викид)
  • Міри центральної тенденції
  • Box plot: теорія та застосування (аномалії)
  • Теорія ймовірності
  • Види вибірок і типи змінних
  • Міри мінливості

Просунуті теми математичної статистики

  • Нормальний та інші види розподілів
  • Центральна гранична теорема
  • Помилки першого та другого роду
  • Лінійна регресія
  • Правило трьох сигм
  • Довірчі інтервали та рівень значущості
  • Перевірка наявності зв'язків між метриками - кореляція
  • Вступ до A/B-тестування (з практичним прикладом аналізу)

Воркшоп: Мат. статистика на практиці

  • Створення вибірки
  • Розрахунок кореляції
  • Підрахунок описових статистик для датасету та їхня візуалізація

Метрики продукту: дані та аналітичні системи

  • Способи збору даних у продукті
  • Огляд кабінету Google Analytics та Amplitude
  • Data Taxonomy
  • Продуктові метрики - термінологія та способи підрахунку
  • RFM-аналіз
  • Системи аналітики - визначення, особливості та відмінності
  • Які дані збирати та як?
  • Що таке метрики та їхня класифікація
  • Види сегментації користувачів

Воркшоп: Метрики продукту

  • Проведення EDA
  • Сегментація користувачів за допомогою RFM-аналізу
  • Розрахунок метрик продукту

Результат блоку:

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

Блок 6. Підсумки

Підготовка до курсового проєкту - Як презентувати результати аналізу

  • Як упакувати отримані результати у зрозумілий звіт
  • Як презентувати результати аналізу колегам
  • Як знаходити інсайти в даних

Захист курсового проєкту

  • Підготовка власного аналізу та звіту аналітика на основі реального датасету
  • Презентація результатів лекторам і колегам

Результат блоку:

  • Розумієте всі етапи процесу аналізу даних і можете застосовувати їх до реального кейсу
  • Знаєте, як правильно підготуватися до презентації результатів проведеного аналізу

Блок 7. Розвиток кар'єри в ІТ

Розвиток кар'єри в ІТ

  • Підходи до розвитку кар'єри
  • Структура сучасних ІТ-компаній
  • Пошук власних сильних і слабких сторін

Стратегія пошуку роботи

  • Ресурси для пошуку роботи
  • Як знайти роботу в міжнародній компанії
  • Як розробити власну стратегію пошуку роботи
  • Чому LinkedIn - це важливий інструмент пошуку роботи

Ефективне резюме і супровідний лист

  • Структура ефективного резюме
  • Як написати супровідний лист
  • Найпоширеніші помилки кандидатів у резюме

Проходження процесу відбору до компанії

  • Етапи онбордингу
  • Особливості інтерв'ю з hiring-менеджером
  • Як вести перемовини під час розробки job offer
  • Особливості інтерв'ю з рекрутером
  • Які запитання ставити під час інтерв'ю

Результат блоку:

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

Особливості курсу

  • Теорія
  • Практика
  • Інструменти
  • Кар'єра. По завершенню курсу кращі студенти потраплять на співбесіду з рекрутером і Head of Analytics в Laba Group, а двоє з них отримаюь офер на працевлаштування
  • Нетворкінг з колегами
  • Досвід від практиків

Викладачі курсу

  • Юлія Ларіонова - Data Analyst at MEGOGO
  • Вікторія Кириченко - 6+ років працює з даними, з яких останні 4 у Railswar
Більше інформації
Курс
Формат
Online
Початок навчання
01.04.2024
Тривалість
40 занять
Рівень
Для початківців
Мова навчання
Ukrainian
Вартість
уточнюйте
Гнучкий графікВидається диплом/сертифікатСупровід ментораРеальний проект у портфоліо
Robot Dreams
  • Data Analyst / Business Intelligence (BI)
Подробиці

На курсі ви поступово опануєте всі актуальні інструменти дата-аналітика. Розпочнете навчання з найпростіших таблиць у Google Sheets, вивчите SQL, перетворення типів даних та основні функції баз даних. Згодом перейдете до Python для трансформації та аналізу даних. Навчитеся візуалізувати дані з використанням Looker Studio та Tableau. Останній модуль навчання - математична статистика, завдяки якій ви опануєте A/B-тестування та метрики продукту.

Програма курсу

Інтро

Результат:

  • Розумієте відмінність між аналітиком даних, бізнес-аналітиком, фінансовим аналітиком, вебаналітиком, продуктовим аналітиком тощо
  • Маєте уявлення про інструментарій аналітика даних

Блок 1. Знайомство з курсом та професією Data Analyst

Результат:

  • Розумієте, з яких етапів складається аналіз даних
  • Вмієте користуватися базовими функціями Google Sheets для аналізу даних

Блок 2. Робота з базами даних

Результат:

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

Блок 3. Python для трансформації та аналізу даних

Результат:

  • Вмієте працювати зі списками, словниками, кортежами та множинами
  • Працюєте з Pandas та аналізуєте дані за допомогою Python
  • Знаєте, що таке Git та Airflow
  • Знаєте, як працювати з Terraform

Блок 4. Візуалізація даних

Результат:

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

Блок 5. Згадати все - матстат на практиці

Результат:

  • Розумієте, для чого застосовують мат. статистику в аналізі даних, та вмієте розрахувати базові статистики для датасету
  • Знайомі з поняттям A/B-тестів, вмієте рахувати метрики продукту та писати вимоги для збору базових подій і метрик

Блок 6. Підсумки

Результат:

  • Розумієте всі етапи процесу аналізу даних і можете застосовувати їх до реального кейсу
  • Знаєте, як правильно підготуватися до презентації результатів проведеного аналізу

Блок 7. Розвиток кар'єри в ІТ

Результат:

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

Особливості курсу

  • Досвід від практиків
  • Нетворкінг з колегами
  • Стажування для кращих
  • Можна повернути кошти до 3 заняття
  • Інструменти для роботи
  • Воркшопи
  • Підготовка резюме та портфоліо
  • Самостійна робота з реальними даними

Викладачі курсу

  • Вікторія Кириченко - Lead Analytics Engineer at Railsware
  • Юлія Ларіонова - Data Analyst at MEGOGO
Більше інформації
Курс
Формат
Online
Початок навчання
27.11.2023
Тривалість
6 тижнів
Рівень
Для початківців, Для досвідчених
Мова навчання
Ukrainian
Вартість
уточнюйте
Вечірні заняттяВидається диплом/сертифікатСупровід ментораРеальний проект у портфоліо
Robot Dreams
  • Cyber Security
Подробиці

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

Програма курсу

Знайомство з напрямком кібербезпеки

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

Основи мереж

  • Познайомитеся з моделлю OSI та дізнаєтеся різницю між основними протоколами
  • Розглянете таблицю основних портів

Воркшоп №1: SQL Injections, SQLMap

  • Розберете поняття "SQL-ін'єкція", її ризики та причини появи
  • Розкрутите SQL-ін'єкцію на розгорнутому хості
  • Навчитеся виправляти вразливу систему
  • Автоматизуєте процес отримання даних за допомогою SQLMap

Криптографія

  • Зрозумієте різницю між шифруванням, хешуванням та кодування
  • Вивчите принципи синхронної та асинхронної криптографії
  • Дізнаєтесь, як відбувається шифрування інформації
  • Вивчите основні алгоритми та протоколи

Контроль сесій (DAST 1)

  • Розберете OWASP Top 10
  • Розберетеся з HTTP-протоколом та конфігурацією Burp Suite
  • Зрозумієте, як контролювати безпеку сесій
  • Дізнаєтеся про вразливості на JWT

Атака на вебзастосунки (DAST 2)

  • Встановите Owasp bWAPP
  • Познайомитеся з різними типами вразливостей: XSS, SQLi, CSRF
  • Навчитеся запускати сканери вразливостей
  • Познайомитеся зі списком вразливостей bug bounty

Воркшоп №2: Застосування вразливостей у вебзастосунках

  • Проведете практичну роботу з вразливими вебзастосунками
  • Розберете знаходження та експлуатацію вразливостей (XSS, CSRF, SQLi)

Атака на вебзастосунки (DAST 3)

  • Отримаєте реальний список вразливостей, що використовується в компаніях
  • Познайомитеся з вразливостями XXE, Directory Traversal (IDOR) + API Security
  • Відтворите весь цикл вебпентесту: від сканерів до мануального тестування та написання звіту
  • Розберетесь із сертифікаціями підвищення кваліфікації

Воркшоп №3. Демонстрація проникнення у вразливу систему. Part 1

Розберете проникнення у вразливі системи разом із лектором.

Побудова карти застосунку

  • Проведете розвідку застосунків
  • Познайомитеся з розширенням кількості цілей
  • Зрозумієте, як працюють технології контейнеризації та віртуалізації

Атаки на сервер

  • Розберете типові атаки на сервери (SSTI, SSRF) та їхні наслідки
  • Навчитесь ідентифікувати та експлуатувати атаки на шаблони
  • SSTI
  • SSRF-види та наслідки

Воркшоп №4. Демонстрація проникнення у вразливу систему. Part 2

Розберете проникнення у вразливі системи разом із лектором.

Підготовка звіту вразливостей

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

Воркшоп №5: Вразливості, пов'язані з людським фактором

  • Навчитеся розрізняти вразливий дизайн та вразливу імплементацію
  • Дізнаєтесь, як ідентифікувати вразливості на етапі проєктування застосунку
  • Зможете надавати рекомендації щодо усунення вразливостей, пов'язаних із людським фактором

Напрямки розвитку в сфері кібербезпеки

  • Окреслите основні етапи роботи спеціаліста з безпеки
  • Познайомитеся з напрямками розвитку у сфері безпеки, з особливостями та відмінностями в роботі спеціалістів
  • Отримаєте уявлення про наступні напрямки кібербезпеки:
    • Аудити
    • Реагування на загрози
    • Кіберрозвідка
    • Кібербезпека в розробці
    • Страхування та викупи
    • IoT botnets

Особливосту курсу

  • Заняття щопонеділка та щочетверга
  • Best Practices
  • Інструменти
  • Кар'єра: ознайомлення з розвитком у кібербезпеці

Викладачі курсу

Дмитро Павлов - Application security engineer у WalkMe

Більше інформації
Курс
Рекомендуємо
Формат
Online
Початок навчання
01.08.2024
Тривалість
16 занять
Рівень
Для початківців, Для досвідчених
Мова навчання
Ukrainian
Вартість
уточнюйте
Вечірні заняттяСупровід ментора
Robot Dreams
  • Lead / Architect / CTO
  • WEB Developer / Webmaster
Подробиці

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

Програма курсу

Введення до алгоритмів та структур даних

  • Розберетеся в тому, що таке алгоритми та структури даних
  • Дізнаєтеся, у яких сферах використовують алгоритми та які завдання вони вирішують
  • На реальних прикладах із життя та технічних прикладах із практики лектора навчитеся визначати складність алгоритмів

Масиви як структура даних

  • Навчитеся обробляти масиви та виконувати прості операції над ними [доступ, пошук, вставка, видалення]
  • Розберете кілька різних завдань з роботи з масивами
  • Навчитеся визначати тимчасову складність і складність пам'яті масивів

Зв'язаний список, стеки та черги

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

Рекурсія

  • Дізнаєтеся, коли та навіщо застосовувати рекурсію
  • Розберете типові рекурсивні завдання та навчитеся реалізовувати алгоритми із застосуванням рекурсії
  • Розрахуєте n-й елемент для послідовності Фібоначчі за допомогою рекурсії

Алгоритми пошуку та сортування

  • Розберетеся у видах алгоритмів пошуку та сортування
  • Дізнаєтеся, що таке бінарний пошук та навчитеся реалізовувати завдання із застосуванням бінарного алгоритму
  • Визначите різницю між тимчасовою складністю та складністю пам'яті

Алгоритми сортування. Part 1

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

Алгоритми сортування. Part 2

  • Реалізуєте сортування злиттям та швидке сортування
  • Навчитеся вибирати вид алгоритму відповідно до конкретного завдання та знаходити оптимальний спосіб розв'язання

Дерева

  • Дізнаєтеся, як структура даних "дерево" допомагає зберігати ієрархічну інформацію
  • Розберете види деревоподібних структур даних
  • Зрозумієте, чим бінарне дерево відрізняється від дерева загального вигляду
  • Навчитеся знаходити спільного предка, визначати діаметр дерева та зв'язки між вузлами
  • Напишете алгоритм знаходження k-го елемента в масиві
  • Дізнаєтеся, які підходи можна застосувати для розв'язання типових завдань із бінарними деревами пошуку

Збалансовані дерева

  • Детально вивчите структуру AVL-дерева, червоно-чорних дерев та інші види збалансованих дерев
  • Ознайомитеся із сучасними варіантами деревоподібних структур [дерево Фенвіка, дерево відрізків]
  • Навчитеся розв'язувати класичні завдання з використанням збалансованих дерев

Графи. Part 1

  • Дізнаєтесь, які бувають графи
  • Навчитеся реалізовувати матрицю суміжності та основні алгоритми обходу
  • Знайдете мінімальне кістякове дерево в неорієнтованому навантаженому графі
  • Навчитеся реалізовувати алгоритми знаходження найкоротшого шляху та алгоритми обходу [у ширину, у глибину]

Графи. Part 2

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

Хеш-функції та хеш-таблиці

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

Динамічне програмування. Part 1

  • Розберетеся в поняттях: динамічний масив, двійкова купа та пірамідальне сортування
  • Розберете на прикладах одновимірні та двовимірні завдання динамічного програмування
  • Навчитеся визначати прості завдання на динаміку та знаходити розв'язання до них

Динамічне програмування. Part 2

  • Навчитеся розв'язувати задачі методом динамічного програмування за під відрізками та динамічного програмування за підмножинами
  • Розберетеся в алгоритмах кешування
  • Навчитеся оптимізувати тимчасову та обчислювальну складність [time and space complexity]

Жадібні алгоритми

  • Дізнаєтеся, навіщо застосовують жадібні алгоритми
  • Навчитеся оптимізувати алгоритми за графами
  • Підберете найкращий алгоритм для запропонованого завдання, самостійно розв'яжете задачу, потім аргументуєте свій вибір і розв'язання перед лектором

Підготовка до технічного інтерв'ю

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

Особливості курсу

  • Сильний контент
  • Алгоритми
  • Практика
  • Кар'єра. Для 3 найкращих студентів лектор проведе тестове технічне інтерв'ю чи особисту консультацію

Викладачі курсу

Артем Верещака - Tech Lead у Bolt

Більше інформації
Курс
Формат
Online
Початок навчання
Дата формується
Тривалість
11 занять
Рівень
Для досвідчених
Мова навчання
Ukrainian
Вартість
уточнюйте
Вечірні заняттяВидається диплом/сертифікатСупровід ментораРеальний проект у портфоліо
Robot Dreams
  • Python
Подробиці

За 11 занять на курсі ви опануєте основи вебскрапінгу, розглянете етичні питання та перейдете до практичних завдань: моніторингу аудиторії, пошуку лідів, обходу блокерів. В результаті навчитеся створювати власні скрапери, імітувати поведінку користувачів та вилучати інформацію з різноманітних сторінок, користуючись фреймворками Beautiful Soup, Scrapy, Selenium.

Програма курсу

Вступ до курсу Web Scraping

  • З'ясуєте, що таке Web Scraping та які є бібліотеки для розробки скраперів
  • Дізнаєтеся, де можна використовувати набуті за курс знання
  • Зрозумієте етичні та легальні аспекти використання скраперів

Початок роботи в парсингу даних

  • Опрацюєте основні мови розмітки вебсайтів - HTML, XML, JSON
  • Створите віртуальне оточення та встановите потрібні бібліотеки для парсингу даних

Методи вилучення даних

  • Зрозумієте, яким чином будувати XPath для доступу до будь-якого тегу в документі
  • Опануєте регулярні вирази та CSS-селектори для пошуку та вилучення інформації з вебсторінок

HTTP Request

  • Дізнаєтеся про типи запитів та відповідей
  • Опрацюєте інструмент Postman
  • Навчитеся використовувати бібліотеку Requests для відправлення запитів на сервер

Робота з даними у Web Scraping

  • Навчитеся зберігати дані локально та в бази даних
  • Зможете обирати оптимальний формат збереження даних для подальшого аналізу
  • Навчитеся писати SQL-запити для аналізу

Beautiful Soup

  • Навчитеся використовувати бібліотеку Beautiful Soup для парсингу сайтів
  • Опрацюєте Threads для парсингу
  • Знайдете потрібні HTML-теги за допомогою BS

Scrapy

  • Опануєте фреймворк Scrapy для парсингу сайтів
  • Ознайомитеся з поняттям Spider
  • Навчитеся використовувати Spider для парсингу сайту
  • Зможете зберігати отримані дані в різних форматах

Selenium

  • Розберете бібліотеку Selenium для парсингу сайтів
  • Навчитеся працювати із CSS-селекторами або XPath для знаходження потрібних елементів
  • Опануєте Selenium для заповнення форм та кліків на сторінці

Як уникнути захисту від Web Scrapers

Попрактикуєте підходи до імітації реального користувача для успішного отримання контенту сторінки.

Q&A-сесія з лектором

  • Відповіді на питання студентів
  • Поради щодо виконання курсового проєкту

Презентація курсових проєктів

Презентація курсових проєктів.

Викладачі курсу

Владислав Абрамов - Python Engineer at Jooble

Більше інформації

Сторінки