КУРСОВОЙ ПРОЕКТ:
Разработка с использованием паттернов
ПРОДОЛЖИТЕЛЬНОСТЬ:
21 онлайн-занятие
Каждый понедельник и среду
Курс научит ускорять и упрощать процесс разработки благодаря паттернам проектирования. Под менторством лектора с 20-летним опытом на практике научитесь применять 30+ паттернов, чтобы оптимизировать программы, легко внедрять новые фичи, рефакторить старый код.
Курс подойдет:
-
JUNIOR / BEGINNER DEVELOPER Чтобы декомпозировать большие системы, рефакторить код, писать функциональные приложения с нуля и повысить профессиональную квалификацию.
-
MIDDLE DEVELOPER Чтобы решить проблемы неэффективного и медленного софта, а также усилить скилы для уровня Senior-разработчика.
-
QA AUTOMATION ENGINEER Чтобы овладеть самыми популярными паттернами, поднять качество и надежность автотестов и оптимизировать работу над проектом.
-
Алгоритмы, структуры данных, рефакторинг, принципы чистого кода и шаблоны проектирования — вот киты, с которых начинается профессиональный путь программиста. За 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/2024
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
Презентация курсового проекта
- Презентуете курсовой проект лектору и коллегам
Регистрация