Дисциплина относится к базовой части профессионального цикла. Реализуется в 1–2 модулях 4 курса. Для успешного освоения необходимы знания по дисциплинам «Алгоритмы и структуры данных», «Основы программирования» (на любом языке высокого уровня), «Веб-технологии» (базовое понимание HTML/CSS). Пререквизитом также является знакомство с основами JavaScript (переменные, функции, массивы, объекты) — студенты, не владеющие этой базой, допускаются к курсу только после самостоятельного прохождения вводного тренажера.
Цель освоения дисциплины
Цель курса — сформировать у студентов системные инженерные компетенции в области современной веб-разработки на стеке JavaScript/TypeScript с использованием React и Next.js, включая глубокое понимание работы языка «под капотом», архитектуры приложений, оптимизации производительности и командной разработки.
Владеет методами профилирования и оптимизации производительности;
Владеет практиками код‑ревью и парного программирования;
Владеет основами работы с GitHub Actions и автоматическим тестированием (Jest, React Testing Library).
Содержание учебной дисциплины
Раздел 1. Продвинутый JavaScript: типы, функции, замыкания, прототипы, асинхронность, среда выполнения
Раздел 2. TypeScript как инструмент разработки
Раздел 3. Браузер, HTML/CSS
Раздел 4. React: компоненты, хуки, состояние, архитектура, производительность
Раздел 5. Next.js: SSR, гидратация, получение данных, деплой
Элементы контроля
Одз
Одз – суммарная оценка за домашние задания (лучшие 4 из 6) – максимум 20 баллов.
В течение курса выдаётся 6 домашних заданий (после каждого спринта). В зачет идут 4 задания (студент может пропустить два без штрафа или заменить низкие результаты). Каждое ДЗ оценивается по 10-балльной шкале, затем баллы суммируются.
Орк
Орк– оценка за рубежный контроль (коллоквиум в середине курса) – максимум 20 баллов;
Рубежный контроль проводится после спринта 3 (конец октября) в форме коллоквиума по материалам блоков 1–2 (продвинутый JavaScript и TypeScript).
Формат проведения:
Студенту заранее (не менее чем за 2 недели) предоставляется список вопросов (20–25 вопросов), охватывающих ключевые темы:
приведение типов, контекст this, замыкания;
прототипное наследование, классы;
асинхронность (Promise, async/await), Event Loop;
утечки памяти, сборщик мусора;
основы TypeScript (типы, generics, utility types, типизация функций и API).
На коллоквиуме студент отвечает на 3 вопроса из списка (вопросы выбираются случайным образом или преподавателем).
На подготовку ответа по каждому вопросу даётся до 5 минут, на устный ответ – до 3–4 минут (суммарно до 15 минут на студента).
Допускается использование заранее подготовленных кратких конспектов (не более 1 страницы А4), но не готовых текстов ответов.
Опроект
Опроект – оценка за сквозной проект (суммарно за этапы 1–3) – максимум 50 баллов;
Описание итогового экзамена
Итоговый экзамен (2 модуль, декабрь) проводится в форме защиты финальной версии сквозного проекта. Проект должен быть полностью завершён: работающий дашборд на Next.js (TypeScript, React, Redux Toolkit), развёрнутый на Vercel, с тестами и документацией.
Структура защиты (10 минут):
Демонстрация работающего приложения (3 мин).
Презентация архитектуры, сложных моментов, метрик производительности (3 мин).
Ответы на вопросы преподавателя (4 мин).
Финальный проект (защита)
Система оценивания сквозного проекта (максимум 50 баллов)
Оценка за проект складывается из трёх частей:
Часть
Максимум баллов
Что оценивается
Работающий продукт
25
Приложение запускается, выполняет все основные функции (добавление, удаление, фильтрация задач, статистика), данные сохраняются, нет критических ошибок.
Качество кода и тесты
15
Код на TypeScript (без any), чистая архитектура, есть README, написаны тесты (хотя бы простые).
Защита проекта
10
Презентация, демонстрация работы, ответы на вопросы преподавателя.
Порядок сдачи/пересдачи экзамена:
Экзамен проводится в сессионный период. Для студентов, получивших неудовлетворительную оценку, предусматривается возможность пересдач. Все пересдачи проводятся в соответствии с Регламентом вуза в период пересдач, ее проводит преподаватель, выставивший оценку по промежуточной аттестации. Время для проведения пересдачи определяется Учебным офисом в рамках расписания дополнительной сессии. Первая пересдача защиты проекта проводится преподавателем курса, выставившим исходную оценку. Формат сохраняется: повторная защита проекта (уточненная версия решения, доработанные эксперименты и презентация). Накопленные баллы за ДЗ и активность при этом не пересдаются и не пересматриваются.Вторая и последующие пересдачи, при необходимости, проводятся в порядке, предусмотренном внутренними документами университета: в формате устной защиты перед комиссией не менее чем из трех человек. Состав комиссии и дата такой пересдачи утверждаются распоряжением руководителя департамента или академического руководителя ОП. Итоговая оценка за вторую (комиссионную) пересдачу определяется коллегиальным решением членов комиссии и является окончательной.
Опракт.з
Опракт.з. – оценка за активность на семинарских занятиях (воркшопах) – максимум 10 баллов;
Активность на практических занятиях (воркшопах) — до 10 баллов
Активность на воркшопах оценивается преподавателем и ассистентами по итогам каждого занятия. Баллы начисляются за:
Критерий
Макс. баллов за занятие
Описание
Участие в решении задач
0.5
Студент активно участвует в выполнении практических задач, предлагает решения.
Демонстрация кода
0.5
Студент показывает своё решение, объясняет логику.
Помощь сокурсникам
0.5
Студент помогает другим участникам группы разобраться с материалом.
Ответы на вопросы преподавателя
0.5
Студент отвечает на вопросы по теме занятия.
Итого за занятие
до 2
Порядок начисления:
Баллы фиксируются преподавателем или ассистентом во время занятия.
Студент может получить от 0 до 2 баллов за одно занятие.
Пропуск занятия без уважительной причины — 0 баллов за это занятие.
Избыточные баллы не суммируются (максимум 10 баллов за курс).
Пересдача: не предусмотрена (активность накапливается только во время занятий).
Промежуточная аттестация
2026/2027 2nd module
Итоговая оценка за курс формируется на основе накопленной балльной системы и затем переводится в 10‑балльную шкалу НИУ ВШЭ.
Общая сумма баллов по курсу:
Окурс = Опракт.з + Орк +Опроект +Одз
Опракт.з. – оценка за активность на семинарских занятиях (воркшопах) – максимум 10 баллов;
Орк– оценка за рубежный контроль (коллоквиум в середине курса) – максимум 20 баллов;
Опроект – оценка за сквозной проект (суммарно за этапы 1–3) – максимум 50 баллов;
Одз – суммарная оценка за домашние задания (лучшие 4 из 6) – максимум 20 баллов.
Максимальная сумма баллов: 100 баллов.
Далее суммарная оценка Окурс переводится в 10‑балльную шкалу по установленной шкале.
Шкала перевода в 10-балльную систему НИУ ВШЭ
Оценка (10-балльная)
Оценка (100-балльная)
Комментарий
10
100
Максимальный результат
9
90–99
Отлично
8
80–89
Очень хорошо
7
70–79
Хорошо
6
60–69
Хорошо
5
50–59
Удовлетворительно
4
40–49
Минимальный порог прохождения
3
30–39
Неудовлетворительно
2
20–29
Явно неудовлетворительно
1
10–19
Практическое отсутствие выполнения
Список литературы
Рекомендуемая основная литература
45381 - Хорошо ли вы знаете JavaScript? - Ф.К. - ДМК Пресс - 9785937003607 - 2025 - https://hse.alpinadigital.ru/document/45381 - Alpina
Попов, С. Е. JavaScript. Основы программирования : учебно-методическое пособие / С. Е. Попов. — Елец : ЕГУ им. И.А. Бунина, 2020. — 121 с. — ISBN 978-5-00151-175-5. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/331940 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
Янцев, В. В. Разработка web-страниц на HTML, CSS и JavaScript : учебное пособие для вузов / В. В. Янцев. — Санкт-Петербург : Лань, 2024. — 148 с. — ISBN 978-5-507-49640-2. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/422462 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
Рекомендуемая дополнительная литература
Диков, А. В. Клиентские технологии веб-программирования: JavaScript и DOM : учебное пособие / А. В. Диков. — Санкт-Петербург : Лань, 2020. — 124 с. — ISBN 978-5-8114-4074-0. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/126934 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
Уилсон, Г. Проектирование ПО на примере инструментов на JavaScript : руководство / Г. Уилсон , перевод с английского А. А. Слинкина. — Москва : ДМК Пресс, 2024. — 382 с. — ISBN 978-5-93700-316-4. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/464300 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
Instructor
Зарубин Антон Александрович
Программа дисциплины
Аннотация
Цель освоения дисциплины
Планируемые результаты обучения
Содержание учебной дисциплины
Элементы контроля
Промежуточная аттестация
Список литературы
Рекомендуемая основная литература
Рекомендуемая дополнительная литература
Авторы