Курс построен логично - от базовых концепций до сложных паттернов программирования. Каждый модуль основывается на предыдущем.
Первые модули раскрывают базовые принципы TypeScript. Студенты узнают о системе типов, аннотациях и примитивных типах. Это позволяет понять, как TypeScript улучшает JavaScript, добавляя проверки на этапе разработки. Рассматриваются перечисления для более читабельного кода.
Далее курс охватывает типизацию объектов, массивов и кортежей. Студенты работают с Union и Intersection типами, учатся создавать псевдонимы типов. Эти инструменты помогают строить более сложные структуры данных с четкой типизацией.
Модуль посвящен интерфейсам - способу определения структур данных. Рассматривается создание интерфейсов для объектов, функций и классов, их расширение и комбинирование. Далее идут классы с модификаторами доступа, перегрузкой методов и абстрактными классами.
Эта часть учит утверждению типов и защите типов для безопасной работы с данными. Далее рассматриваются обобщения для создания универсальных функций и классов. Студенты осваивают оператор keyof, Mapped Types и условные типы для гибкой работы с типами.
Модуль объясняет декораторы для расширения функциональности классов и методов. Затем идут основы объектно-ориентированного программирования в TypeScript - классы, наследование, инкапсуляция и полиморфизм. Рассматривается применение интерфейсов и абстрактных классов.
Заключительные модули учат принципам проектирования ПО, включая SOLID. Студенты изучают популярные шаблоны программирования как Facade, Strategy, Observer и Builder. Последний модуль охватывает основы тестирования с фреймворком Jest, включая модульное и интеграционное тестирование.
Все студенты проходят тренинг по подготовке к собеседованиям и составлению резюме с HR-специалистом.
Занятия проходят в небольших группах. Каждый студент имеет личный кабинет с доступом к записям уроков. Преподаватели - практики с реальным опытом. Курс включает много практических заданий. Служба поддержки помогает с техническими вопросами.