КУРСОВИЙ ПРОЄКТ:
Розробка з використанням паттернів
ТРИВАЛІСТЬ:
21 онлайн-заняття
Щопонеділка та щосереди
Курс навчить прискорювати й спрощувати процес розробки завдяки патернам проєктування. Під менторством лектора із 20-річним досвідом у розробці на практиці навчитеся застосовувати 30+ патернів, щоб оптимізувати програми, легко впроваджувати нові фічі, рефакторити старий код.
Курс підійде:
-
JUNIOR / BEGINNER DEVELOPER Щоб декомпозувати великі системи, рефакторити код, писати функціональні застосунки з нуля та підвищити свою професійну кваліфікацію.
-
MIDDLE DEVELOPER Щоб розв’язувати проблеми неефективного та повільного софту, а також підсилити скіли для рівня Senior-розробника.
-
QA AUTOMATION Щоб опанувати найпопулярніші патерни, підняти якість та надійність автотестів і оптимізувати роботу над проєктом.
-
Алгоритми, структури даних, рефакторинг, принципи чистого коду та шаблони проєктування — ось кити, з яких починається професійний шлях програміста. За 1,5 місяця детально розберете 30 популярних патернів проєктування, щоб покращувати архітектуру застосунків і писати високоякісний, зрозумілий та легко підтримуваний код.
До програми курсу входять:
-
Розбір патернів Вивчите 30+ патернів, які найчастіше трапляються під час проєктування систем. Навчитеся обирати патерн, застосовувати й адаптувати його до свого проєкту.
-
Live Coding Під час лайвкодинг-сесій лектор розбере популярні кейси, а також покаже, як застосовувати кожен шаблон, звертати увагу на недоліки та прибирати «милиці».
-
Фінальний проєкт У фіналі курсу розробите гру з використанням вивчених патернів проєктування і додасте цей кейс у власне портфоліо.
-
Консультація лектора Три студенти з найвищими балами на курсі зможуть отримати індивідуальну консультацію з лектором, який має 20+ років досвіду в розробці.
-
Кар’єрний буст Набудете навичок для проходження технічних інтерв’ю у великі IT-компанії, де вимагають високої якості коду.
Лектор:
Олег Фокін
- Lead Software Engineer у GlobalLogic
- former Lead Developer в Ubisoft
- 20+ років досвіду в розробці програмного забезпечення
- основна спеціалізація — програмування на С++
- має в портфоліо різні проєкти: ігри, поліграфічні програми, редактори векторної графіки, CAD-програми, розподілені хмарні системи, AI/ML-моделі
- розробляв та проводив тренінги з програмування на С++, системного дизайну та архітектури ПЗ
- навчався в програмах Google Bootcamp та Google Cloud Professional Architect
Програма курсу:
-
01
8/19/2024
Знайомство з курсом
- Познайомитеся з лектором та куратором курсу
- Дізнаєтесь, як користуватися LMS
- Розглянете структуру курсу, завдання та особливості
-
02
8/19/2024
Принципи створення структурованого коду
- Розберетеся в концепціях програмування, дізнаєтеся, які основні інструменти та підходи існують для покращення коду
- Навчитеся пояснювати свої думки та код за допомогою діаграм UML
- Розглянете поняття «чистий код», «рефакторинг», Test-Driven Development
-
03
8/21/2024
Рефакторинг «поганого» коду
- Розберетеся в типах рефакторингу
- Ознайомитеся з ознаками «поганого» коду
- Наочно побачите, чим «гарний» код відрізняється від «поганого»
- Дізнаєтесь, як рефакторити «поганий» код під час livecoding-сесії
-
04
8/26/2024
Антипатерни
- Дізнаєтеся, що таке антипатерни
- Навчитесь уникати або виправляти антипатерни
- Зрозумієте, що таке надмірне та недостатнє проєктування
- Опануєте «критичне» та «конструктивне» бачення структурування коду
-
05
8/28/2024
Категорії та класифікації патернів
- Навчитеся класифікувати патерни
- Ознайомитеся з GRASP- та GoF-патернами
- Розглянете способи реалізації патернів
-
06
9/2/2024
Q&A з лектором
- Розглянете основні помилки з домашніх завдань
- Матимете чіткіше оверв’ю пройденого матеріалу
- Отримаєте відповіді на незрозумілі запитання
-
07
9/4/2024
Породжувальні патерни. Part № 1
- Дізнаєтесь, які завдання розв’язують породжувальні патерни
- Навчитеся створювати об’єкти за допомогою породжувальних патернів: Factory Method, Abstract Factory, Builder, Prototype
-
08
9/9/2024
Породжувальні патерни. Part № 2
- Ознайомитеся з патерном Singleton та прикладами його реалізації
- Навчитесь уникати його недоліків та застосовувати альтернативні техніки
- Попрацюєте з іншими корисними породжувальними патернами
-
09
9/11/2024
Q&A з лектором
- Розглянете основні помилки з домашніх завдань
- Матимете чіткіше оверв’ю пройденого матеріалу
- Отримаєте відповіді на незрозумілі запитання
-
10
9/16/2024
Структурні патерни. Part № 1
- Дізнаєтесь, які завдання розв’язують структурні патерни
- Зрозумієте відмінність між композицією та успадкуванням та як обрати механізм взаємодії об’єктів
- Розберете структурні патерни: Adapter, Proxy, Composite, Facade
- Навчитеся застосовувати ці патерни на практиці
-
11
9/18/2024
Структурні патерни. Part № 2
- Розберете патерни Decorator та Flyweight та дізнаєтесь, які проблеми вони розв’язують
- Застосуєте Decorator для логування та обробки помилок
- Задієте Flyweight для оптимального використовування об’єктів, залежних від контенту
-
12
9/23/2024
Структурні патерни. Part № 3
- Розглянете патерн Bridge та впораєтеся з його використанням
- Застосуєте Opaque pointer (pimpl) для приховування деталей імплементації
- Зрозумієте концепцію функціональної композиції та побудови Pipeline
-
13
9/25/20244
Q&A з лектором
- Розглянете основні помилки з домашніх завдань
- Матимете чіткіше оверв’ю пройденого матеріалу
- Отримаєте відповіді на незрозумілі запитання
-
14
9/30/2024
Патерни поведінки. Part № 1
- Дізнаєтесь, які завдання розв’язують патерни поведінки
- Зрозумієте концепцію First-class function
- Розглянете патерни: Command, Scheduled task, Null object, Mock object
- Навчитесь застосовувати ці патерни на практиці
-
15
10/2/2024
Патерни поведінки. Part № 2
- Розглянете патерни: State, Memento, Mediator, Observer, Chain of Responsibility, Template Method, Strategy, Interpreter та побачите застосування цих патернів на практиці
- Використаєте патерн State для реалізації програми як кінцевого автомата, інкапсуляції поточного стану та передбачуваних змін стану програми
- Опануєте патерн Memento для реалізації автозбереження
- Застосуєте патерн Observer для синхронізації/узгодження поведінки різних частин програми
-
16
10/7/2024
Патерни поведінки. Part № 3
- Дізнаєтесь, які бувають ітератори та як вони реалізовані
- Зрозумієте подвійну диспетчеризацію та патерн Visitor
- Навчитеся застосовувати Visitor в різних практичних завданнях
- Побачите зв’язки між патернами та складете повну картину їхньої взаємодії
-
17
10/9/2024
Q&A з лектором
- Розглянете основні помилки з домашніх завдань
- Матимете чіткіше оверв’ю пройденого матеріалу
- Отримаєте відповіді на незрозумілі запитання
-
18
10/14/2024
Patterns of Enterprise Application. Part № 1
- Дізнаєтесь, як розвивалися принципи проєктування та розв’язання проблем масштабування
- Розберетеся в завданнях, що стоять перед сучасними програмними системами
-
19
10/16/2024
Patterns of Enterprise Application. Part № 2
- Розберетесь в ORM-патернах
- Попрактикуєте найкращі патерни паралелізму
-
20
10/21/2024
Підсумки та roadmap із розвитку кар’єри
- Отримаєте рекомендації від лектора щодо подальшого кар’єрного розвитку
- Дізнаєтесь, які найпопулярніші запитання ставлять на співбесідах в IT-компаніях
-
21
10/23/2024
Презентація курсового проєкту
- Презентуєте курсовий проєкт лектору та колегам
Реєстрація