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