Перейти к основному содержимому

О курсе «Проектирование веб-приложений»

Бакалавриат 2025/2026. Обязательный курс для направления «Информатика и вычислительная техника».


Основная информация​

  • Название: Проектирование веб-приложений
  • Статус: обязательный курс
  • Направление: Информатика и вычислительная техника
  • Департамент: Департамент компьютерной инженерии
  • Кампус: Московский институт электроники и математики им. А.Н. Тихонова (МИЭМ)
  • Период: 4-й курс, 1–3 модуль (сентябрь — декабрь)
  • Язык: русский
  • Преподаватель: Пискунов Андрей Дмитриевич (adpiskunov@miem.hse.ru)

Цели курса​

  1. Практические навыки и теоретические знания в области разработки веб-приложений: от анализа требований до внедрения и поддержки, ключевые концепции и технологии.

  2. Понимание архитектуры современных веб-приложений: клиент-серверная архитектура, межсерверное взаимодействие, эксплуатация приложений.

  3. Навыки командной работы: работа в коллективе, современные инструменты разработки, реализация проектов.


Результаты обучения​

  • Владение клиент-серверной архитектурой, создание эффективных и безопасных веб-приложений.
  • Знание принципов системного анализа, формулирование требований, разработка ТЗ.
  • Основы работы с веб-фреймворками, базами данных, масштабируемыми приложениями.
  • Навыки командной работы и использования современных инструментов разработки.
  • Принципы эксплуатации веб-приложений: производительность, безопасность.

Содержание дисциплины​

  1. Введение в веб-разработку — история и эволюция веб-технологий, современные подходы, архитектурные паттерны.
  2. Клиент-серверная архитектура — принципы построения, протоколы взаимодействия, безопасность и производительность.
  3. Веб-фреймворки и технологии — современные фреймворки, интеграция с БД, API и микросервисы.
  4. Системный анализ и проектирование — анализ требований, проектирование архитектуры, техническое задание.
  5. Командная разработка — инструменты разработки, системы контроля версий, CI/CD.
  6. Эксплуатация и поддержка — развёртывание, мониторинг, логирование, масштабирование.

Формат занятий и расписание​

  • День недели: суббота
  • Лекция: 11:10–12:40 (одна пара)
  • Практические занятия: 4 пары подряд после лекции
  • Формат: офлайн
  • Аудитория: уточняется у администрации

Лекции: теория, примеры, опросы, студенческие доклады (темы выбираются из списка, доклад согласовывается с преподавателем).

Практика: выполнение заданий преподавателя или работа над проектом; за активность начисляются баллы.

Контроль: промежуточная защита проекта (8-я неделя), финальная защита (12-я неделя).


Правила курса​

Посещаемость​

Посещение лекций не является строго обязательным. Отсутствие влияет только на компонент «Лекции и активность» (20% итоговой оценки). Обязательны: промежуточная и финальная защиты проекта, консультации по проекту при необходимости. Студенты сами отвечают за освоение материала.

Домашние задания​

  • Сдача: код — GitHub или GitLab; документация — Smart LMS.
  • Опоздание до 1 недели — коэффициент 0,6 (60% оценки); до 2 недель — 0,4 (40%); более 2 недель — работа не принимается.
  • Работы должны быть оригинальными, источники указывать обязательно.

Проектная работа​

  • Команды 2–4 человека, формируются в начале курса.
  • Тема предлагается студентами и согласовывается с преподавателем.
  • Работа ведётся дома и на практиках; каждый этап защищается на занятиях, в конце — финальная презентация.

Код и документация​

Следование принятым в индустрии стандартам кодирования, понятные комментарии, обязательная техническая документация, наличие тестов.

Академическая честность​

Запрещены: плагиат (копирование чужого кода без указания источника), подделка результатов тестирования. Разрешены: использование библиотек с указанием источника, обсуждение подходов с одногруппниками, использование ИИ для обучения и отладки с указанием, разбор открытого кода с указанием источника.

Использование ИИ​

Допускается для изучения концепций и отладки; использование нужно указывать в комментариях. Запрещена сдача сгенерированного кода без понимания; преподаватель может проверить понимание.


Важные даты и дедлайны​

Ключевые события​

ДатаСобытие
2 сентябряНачало курса, первая лекция
9 сентябряФормирование команд
23 сентябряВыбор темы проекта
27 сентябряПредставление проекта (загрузка до 11:00, защита с 13:00)
4 октябряПредставление проекта, пересдача (коэф. 0,6)
11 октябряПредставление проекта, пересдача (коэф. 0,4)
18 октябряProof of Concept (RAT-PoC): загрузка до 11:00, защита с 13:00
25 октябряProof of Concept, пересдача (коэф. 0,6)
1 ноябряProof of Concept, пересдача (коэф. 0,4)
28 октябряПрототип
11 ноябряMVP (Minimum Viable Product)
25 ноябряMUP (Maximum Usable Product), финальная защита

Дедлайны домашних заданий​

Анализ приложения, CRUD API, тесты API, настройка проекта, SPA-приложение, Backend API, Backend с БД, пользовательские истории, архитектурная диаграмма, Docker-контейнер, развёртывание — сроки и вес в оценке уточняются в SMART LMS и на занятиях.


Программа по модулям​

Модуль 1. Введение в веб-разработку: основы веб-технологий, клиент-серверная архитектура, HTTP/HTTPS, RESTful API, GraphQL, безопасность (OWASP Top 10, аутентификация, авторизация). Практика: анализ приложений, создание CRUD API.

Модуль 2. Frontend (JavaScript/TypeScript, React, Vue.js, Angular, state management) и Backend (Node.js, Python Django/Flask, Java Spring, БД, ORM/ODM, JWT, middleware). Практика: SPA, backend с API и БД.

Модуль 3. Системный анализ и проектирование (требования, пользовательские истории, ТЗ, архитектурные паттерны, UML). DevOps: Docker, Docker Compose, CI/CD, мониторинг, логирование. Инструменты: Git, GitHub/GitLab, code review. Итог: развёртывание приложения и финальная презентация.

Этапы проекта: формирование команд и выбор темы → представление проекта (концепция) → RAT-PoC → прототип → MVP → MUP и финальная защита.

Требования к проекту: команда 2–4 человека, полнофункциональное веб-приложение на современном стеке (например, React/Vue + Node.js/Python), ТЗ и документация API, развёрнутое приложение.


Система оценивания​

Подробные критерии — в разделе Работа над проектом (описание этапов и критериев).

  • 1 модуль: 19/100 (представление проекта + RAT-PoC).
  • 2–3 модули: 81/100 (активность, опросы, этапы проекта).

Учитываются: посещаемость и активность, опросы, доклады, домашние задания, поэтапные и финальная защиты проекта (функциональность, качество кода и документации).


Литература и ресурсы​

Основная: Чистый код (Роберт Мартин), Паттерны проектирования (Фримен Э.), Пользовательские истории (Паттон Дж.), Программист-фанатик (Фаулер Ч.).

Дополнительная: Docker на практике, Использование Docker, Осваиваем Kubernetes, Паттерны Kubernetes, предметно-ориентированное проектирование в Enterprise Java.

Электронные ресурсы: ЭБС «Лань», iBOOKS, материалы в LMS. Рекомендуемые онлайн-документации: MDN Web Docs, React Documentation, Node.js Documentation, Docker Documentation.


Контакты и поддержка​

  • Преподаватель: Пискунов Андрей Дмитриевич — adpiskunov@miem.hse.ru
  • Консультации: на практических занятиях и в официальном чате курса (chat.miem.hse.ru)
  • Платформы: SMART LMS ВШЭ (материалы и задания), GitHub/GitLab (код и проекты)

Технические требования: ноутбук (рекомендуется) или компьютеры в инженерных классах; стабильный интернет; VS Code, Git, Docker. Для кода — GitHub или GitLab.

Адаптация: при особых потребностях возможны доступные форматы материалов, продление дедлайнов по согласованию, индивидуальные консультации.


Последнее обновление: февраль 2025
Источник: Официальная программа ВШЭ