Расписание 3 потока
computer science во frontend
2 марта - 12:00
Суббота
Вводная лекция
Модуль 1: Ядро
5 марта - 19:00
Вторник
Урок 1
Вычислители. Кодирование информации. Системы счисления. Бит и байт. Данные, типы и структуры данных.
7 марта - 19:00
Четверг
Урок 2
Языки программирования. Исходный код, машинный код, байткод. Способы интепретации кода. Runtime. Типизация в языках программирования.
12 марта - 19:00
Вторник
Урок 3
Языки программирования. Исходный код, машинный код, байткод. Способы интепретации кода. Runtime. Типизация в языках программирования.
14 марта - 19:00
Четверг
Урок 4
Операции над битами. Побитовые операторы JS. Побитовое умножение и деление. Битовые маски.
16 марта - 12:00
Суббота
Субботний созвон
Разбор ДЗ и ответы на вопросы
19 марта - 19:00
Вторник
Урок 5
Процессор и память. Адресация памяти и разрядность процессора. Кэш-память.
21 марта - 19:00
Четверг
Урок 6
Фундаментальные структуры данных. Массив, Кортеж и Структура. Связный список.
23 марта - 12:00
Суббота
Субботний созвон
Темы курсовых работ.
26 марта - 19:00
Вторник
Урок 7
ArrayBuffer и типизированные массивы в JS. Кодирование и декодирование данных бинарных данных. MessagePack и Protobuf.
28 марта - 19:00
Четверг
Урок 8
Структуры данных на основе массивов. Матрица и Вектор.
30 марта - 12:00
Суббота
Субботний созвон
Разбор ДЗ и ответы на вопросы
2 апреля - 19:00
Вторник
Урок 9
Абстрактные структуры данных. Стек и Очередь.
4 апреля - 19:00
Четверг
Урок 10
Сегменты памяти программы. Многозадачность и роль ОС. Ручное и автоматическое управление памятью.
9 апреля - 19:00
Вторник
Урок 11
Ассоциативный массив. Хеш-таблица. Хеш-функции. Разрешение коллизий.
11 апреля - 19:00
Четверг
Урок 12
Операции над структурами данных и их сложность. Сортировка. Бинарный поиск.
13 апреля - 12:00
Суббота
Субботний созвон
Разбор ДЗ и ответы на вопросы
16 апреля - 19:00
Вторник
Урок 13
Графы. Способы задания графа. Обход узлов графа. Топологическая сортировка графа.
18 апреля - 19:00
Четверг
Урок 14
Деревья. Деревья поиска. Самобалансирующееся деревья поиска.
23 апреля - 19:00
Вторник
Урок 15
Очередь с приоритетом. Бинарная куча.
25 апреля - 19:00
Четверг
Урок 16
Строки. Кодовые таблицы. Юникод. Кодировки. UTF-16 и UTF-8.
27 апреля - 12:00
Суббота
Субботний созвон
Разбор ДЗ и ответы на вопросы
29 АПРЕЛЯ - 11 МАЯ
ДВУХНЕДЕЛЬНАЯ ПЕРЕДЫШКА
14 мая - 19:00
Вторник
Урок 17
Алгоритмы поиска в строке. Конечные автоматы. Структура данных Бор.
16 мая - 19:00
Четверг
Урок 18
Грамматики. Регулярные выражения.
21 мая - 19:00
Вторник
Урок 19
Продвинутые регулярные выражения. Группы. Квантификаторы. Жадный и нежадный поиск.
23 мая - 19:00
Четверг
Урок 20
Продвинутые регулярные выражения. Ретроспективные и опережающие проверки.
25 мая - 12:00
Суббота
Субботний созвон
Разбор ДЗ и ответы на вопросы
28 мая - 19:00
Вторник
Урок 21
Паттерн "Итератор". Итерируемые объекты. Рекурсивные итераторы. Ленивые вычисления.
30 мая - 19:00
Четверг
Урок 22
Продвинутые итераторы. Продьюсеры, модификаторы, агрегаторы и коллекторы.
4 июня - 19:00
Вторник
Урок 23
Автоматы и генераторы. Поточная обработка данных.
6 июня - 19:00
Четверг
Урок 24
Парсеры. Парсерные комбинаторы.
8 июня - 12:00
Суббота
Субботний созвон
Разбор ДЗ и ответы на вопросы
11 июня - 19:00
Вторник
Урок 25
Асинхронное программирование. Функции обратного вызова. Паттерн "Источник событий".
13 июня - 19:00
Четверг
Урок 26
Ошибки и исключения в JS. Обработка ошибок в асинхронном программировании. Простые и контейнерные типы данных.
18 июня - 19:00
Вторник
Урок 27
Композиция контейнерных типов. Функторы, монады и моноиды.
20 июня - 19:00
Четверг
Урок 28
Каррирование и частичное применение функций. Аппликативные функторы.
22 июня - 12:00
Суббота
Субботний созвон
Разбор ДЗ и ответы на вопросы
24 ИЮНЯ - 07 ИЮЛЯ
ДВУХНЕДЕЛЬНАЯ ПЕРЕДЫШКА
9 июля - 19:00
Вторник
Урок 29
Promise API и Thenable объекты. Операторы async/await. Макро и микротаски.
11 июля - 19:00
Четверг
Урок 30
Асинхронные итераторы и генераторы. Реактивные структуры данных.
16 июля - 19:00
Вторник
Урок 31
Кооперативная многозадачность в JS. Зеленые потоки.
18 июля - 19:00
Четверг
Урок 32
Конкурентное программирование. Структуры данных RWLock, Семафор и Мьютекс.
20 июля - 12:00
Суббота
Субботний созвон
Разбор ДЗ и ответы на вопросы
23 июля - 19:00
Вторник
Урок 33
Параллельное вычисления в JS. Веб-воркеры. Структуры данных SharedBuffer и Atomics.
25 июля - 19:00
Четверг
Урок 34
Введение в WASM.
27 июля - 19:00
Вторник
Субботний созвон
Обсуждаем курсовые.
ФОРМИРУЕМ КОМАНДЫ ДЛЯ ГРУППОВОЙ
КУРСОВОЙ. ДЕДЛАЙН - 1 СЕНТЯБРЯ
Модуль 2: Инфраструктура
30 июля - 19:00
Вторник
Урок 1
Модули и пакеты в JS.
1 августа - 19:00
Четверг
Урок 2
Способы и системы сборки JS приложений.
3 августа - 12:00
Суббота
Субботний созвон
Разбор ДЗ и ответы на вопросы
6 августа - 19:00
Вторник
Урок 3
Введение в Webpack.
8 августа - 19:00
Четверг
Урок 4
Тестирование программных модулей. Способы автоматизации.
13 августа - 19:00
Вторник
Урок 5
Знакомство с Jest и Playwright.
17 августа - 19:00
Суббота
Субботний созвон
Разбор ДЗ и ответы на вопросы
17 АВГУСТА - 1 СЕНТЯБРЯ
ДВУХНЕДЕЛЬНАЯ ПЕРЕДЫШКА
ДЕДЛАЙН СДАЧИ КУРСОВОЙ
"БИБЛИОТЕКА" - 1 СЕНТЯБРЯ
Модуль 3: Архитектура
3 сентября - 19:00
Вторник
Урок 1
Парадигмы программирования. Модули и метрики
5 сентября - 19:00
Четверг
Урок 2
Введение в ООП. Реализация ООП в разных ЯП.
7 сентября - 12:00
Суббота
Результат конкурса библиотек. Разбор работ.
10 сентября - 19:00
Вторник
Урок 3
ООП в JS. Объекты-прототипы, функции конструкторы и ES6 классы. Паттерны создания объектов.
12 сентября - 19:00
Четверг
Урок 4
Продвинутая работа с объектами в JS. Рефлексия и мета-программирование в JS.
14 сентября - 12:00
Суббота
Субботний созвон
Разбор ДЗ и ответы на вопросы
17 сентября - 19:00
Вторник
Урок 5
Знакомство с TypeScript. Введение в обобщенное программирование.
19 сентября - 19:00
Четверг
Урок 6
Обобщенное программирование в TS. Принципы SOLID.
24 сентября - 19:00
Вторник
Урок 7
ОО паттерны. Композиция и стратегия. Примеси и характеристики.
26 сентября - 19:00
Четверг
Урок 8
Паттерн "Декоратор". Декораторы в JS/TS.
28 сентября - 12:00
Суббота
Субботний созвон
Разбор ДЗ и ответы на вопросы
1 октября - 19:00
Вторник
Урок 9
Взаимодействие объектов. Событийная модель. Реактивное программирование.
3 октября - 19:00
Четверг
Урок 10
Паттерн "Посетитель". Посетители vs декораторы.
8 октября - 19:00
Вторник
Урок 11
Архитектура Frontend приложения. MV* паттерны.
10 октября - 19:00
Четверг
Урок 12
Паттерны работы с состоянием компонента или приложения.
12 октября - 12:00
Суббота
Субботний созвон
Разбор ДЗ и ответы на вопросы
14 - 20 ОКТЯБРЯ
НЕДЕЛЬНАЯ ПЕРЕДЫШКА
22 октября - 19:00
Вторник
Урок 13
Компонент и внешние данные. Чистые компоненты.
24 октября - 19:00
Четверг
Урок 14
View компонента. Декларативный и императивные подходы. JSX и шаблоны.
29 октября - 19:00
Вторник
Урок 15
Внедрение зависимостей. Разделение приложения на слои. Микрофронтенды.
31 октября - 19:00
Вторник
Урок 16
Сквозной функционал. Аспектно-ориентированное программирование.
2 ноября - 12:00
Суббота
Субботний созвон
Разбор ДЗ и ответы на вопросы
5 ноября - 19:00
Вторник
Урок 17
Способы описания компонента. DSL.
7 ноября - 19:00
Четверг
Урок 18
Оптимизация Frontend приложений. Способы профилирования.
11 - 17 НОЯБРЯ
НЕДЕЛЬНАЯ ПЕРЕДЫШКА
19 ноября - 19:00
Вторник
Предзащита курсовой по архитектуре. Индивидуально.
23 ноября - 12:00
Суббота
Защита курсовых. Окончание курса.