Фронтенд-разработка

Осень 2021

Цель курса — познакомить студентов с таким направлением IT-разработки, как Frontend. Мы даём студентам базовые и продвинутые навыки Frontend-разработки, а также знакомим их со всеми необходимыми принципами, правилами и подходами к разработке современных web-приложений. В результате завершения курса студенты получают все необходимые знания для успешного прохождения собеседования на должность начинающего Frontend-разработчика в любой крупной IT-компании

Описание
Существует распространённое мнение о том, что Frontend — это всего лишь вёрстка и больше ничего. Но это большое заблуждение, потому что Frontend — это одна из крупнейших и самая драйвовая и динамичная сфера IT.

В течение семестра студенты, разбившись на группы по 2–4 человека, выполняют семестровые проекты. Семестровый проект — это полноценное web-приложение, которое представляет собой мультиплеерную игру, работающую в браузере. Наш курс тесно интегрирован с курсами "Разработка веб-сервисов на Golang" и "Проектирование интерфейсов". Это значит, что один и тот же семестровый проект команды выполняют как на курсе Фронтенда, так и на курсе Golang, так и на курсе интерфейсов. У нас разрабатывается клиентская часть web-приложения, на курсе Golang — серверная.

В курсе делается очень большой упор на изучение JavaScript и программирование на нём. JavaScript — это основной инструмент Frontend-разработчика, и поэтому так важно знать его особенности, нюансы и "подводные камни". Мы рассказываем про последние стандарты ECMAScript, уделяем много времени обсуждению тонкостей языка и учим писать на нём хорошо, знакомим студентов с Node.js. Так же в курсе освещается TypeScript, на нём разрешено разрабатывать семестровые проекты.

Для успешного прохождения курса требуется подготовка: во-первых, студенты должны на базовом уровне знать JavaScript и иметь хотя бы минимальный опыт программирования на нём. Кроме этого студенты должны быть знакомы с HTML и CSS: необходимо уметь верстать. Ещё одно обязательное требование — умение работать с git.
Подробнее
Чему научитесь
В процессе обучения студенты получают теоретические знания о протоколах HTTP/1.1, HTTP/2 и WebSocket, о том как работают браузеры, как десктопные, так и мобильные, о клиент-серверной архитектуре и о архитектуре современных web-приложений.

Теория подкрепляется практикой: в процессе разработки семестровых проектов студенты получают навыки программирования на JavaScript и TypeScript, навыки работы с браузерами (работа с DOM, шаблонизация, работа с сетью, программирование графики и разработка игр в браузере), навыки вёрстки (использование стандартов HTML5 и CSS3, навыки организации продуктивной работы со стилями, использование препроцессоров CSS, CSS-in-JS), навыки работы с git, nginx, docker, навыки использования Node.js.

Мы рассказываем студентам о том, как делать расширяемые и тестируемые web-приложения, как оптимизировать производительность web-приложений, следить за безопасностью пользователей, как улучшать User Experience от использования вашего продукта и, что не менее важно, Developer Experience от разработки вашего продукта, знакомим с практиками DevOps.

В середине семестра мы проводим хакатон в офисе компании Mail.Ru Group. На нём студенты целый день разрабатывают фичу для своих семстровых проектов.
Подробнее

Преподаватели

Александр Цветков Александр Цветков

Выпускник Технопарка 2015 года и ИУ3.
Руководитель фронтенда проекта Почта Mail.ru.

Сергей Володин Сергей Володин

Руководитель команды разработки в Почте Mail.ru
Евангелист Frontend и всего, что с ним связа...


Подробнее

Дмитрий Дорофеев Дмитрий Дорофеев

Выпускник ИУ6 и Технопарка.
Руководитель группы разработки Почты

Игорь Дружинин Игорь Дружинин

Frontend-разработчик Почты Mail.ru
https://t.me/Edwardgrolsh

Aлексей Тюльдюков Aлексей Тюльдюков

Whatever Dan Abramov says to do

Программа

занятие Часы в ауд. + сам. работа

Смешанное занятие №1: Введение во Frontend  
+ ДЗ №1

4 ак. ч. + 8 ак. ч. СР

Смешанное занятие №2: Работа с DOM, браузерные события, работа с сетью  
+ ДЗ №2

4 ак. ч. + 8 ак. ч. СР

Смешанное занятие №3: Модульность, разработка компонентов, шаблонизация  
+ ДЗ №3

4 ак. ч. + 10 ак. ч. СР

Смешанное занятие №4: Безопасность web-приложений, архитектура web-приложений и разработка API  
+ ДЗ №4

4 ак. ч. + 6 ак. ч. СР

Рубежный контроль №1: Рубежный контроль №1  

4 ак. ч. + 2 ак. ч. СР

Смешанное занятие №5: Архитектура web-приложений, роутинг, методологии написания CSS  
+ ДЗ №5

4 ак. ч. + 10 ак. ч. СР

Смешанное занятие №6: Производительность web-приложений и работа с данными в браузере, WebSockets, HTTP/2  
+ ДЗ №6

4 ак. ч. + 6 ак. ч. СР

Смешанное занятие №7: Современные возможности CSS, разработка под мобильные устройства  
+ ДЗ №7

4 ак. ч. + 12 ак. ч. СР

Лекция №1: Графика, Frontend Ops  
+ ДЗ №8

4 ак. ч. + 12 ак. ч. СР

Рубежный контроль №2: Рубежный контроль №2  

4 ак. ч. + 2 ак. ч. СР

Контрольное занятие №1: Совместная предзащита  

4 ак. ч. + 6 ак. ч. СР

Смешанное занятие №8: Продвинутые подходы разработки SPA  

4 ак. ч.

Смешанное занятие №9: Современное состояние Frontend  
+ ДЗ №9

4 ак. ч. + 4 ак. ч. СР

Хакатон №1: Разработка фичи  

12 ак. ч.

Рубежный контроль №3: Рубежный контроль №3  

4 ак. ч. + 2 ак. ч. СР

Смешанное занятие №10: Отслеживание проблем производительности web-приложений, инфраструктура и деплой web-приложений, практики DevOps  
+ ДЗ №10

4 ак. ч. + 8 ак. ч. СР

Лекция №2: Резюме Frontend-разработчика в 2020 году  

4 ак. ч.

Рубежный контроль №4: Рубежный контроль №4  

4 ак. ч. + 2 ак. ч. СР

Контрольное занятие №2: Совместная защита  

4 ак. ч. + 16 ак. ч. СР

РАСПИСАНИЕ

Полное расписание