Присоединяйтесь к нам в соц.сетях!
8 (812) 914-88-40
Санкт-Петербург

Продвинутый курс по JavaScript с гарантией трудоустройства

Глубокое погружение в язык. Разбираем вопросы «почему» и «как именно» работает JS. Учимся работать с асинхронным кодом, использовать промисы, классы, итераторы и другие возможности ES6+.
64
ак. часа
8-10
человек в группе
16
занятий
22 июня
старт группы
Запишись на курс сейчас –
первое занятие уже 22 июня

Ключевые темы курса

  • Стандарт ECMAScript 6
  • Прототипы и классы
  • Функции, замыкания, модули
  • Canvas API
  • Общение с веб-сервисами
  • Промисы
  • Async / await
  • REST API
  • Gulp, Babel и Webpack
  • Drag & Drop
  • Функциональный стиль
  • Git и GitHub
  • Unit-тестирование

Что даст прохождение курса?

Курс даст глубокое понимание устройства JS, даст ответы на вопросы «как оно работает», «зачем оно нужно», «как правильно использовать».

После прохождения курса ты сможешь:

  • Использовать в работе промисы.
  • Взаимодействовать с веб-сервисами и бэкендом по REST API, используя xmlhttprequest, fetch или популярные promise-based библиотеки.
  • Использовать drag & drop в пользовательском интерфейсе.
  • Собирать проект с помощью Gulp, Babel и Webpack.
  • Рисовать и анимировать изображения на Canvas.
  • Писать модульные автоматические тесты.
  • Использовать систему контроля версий Git и хостинг репозиториев GitHub.

Кроме того:

  • Разберёшь все проблемные места в JavaScript.
  • Освоишь современный JavaScript (ES 6/7/8).
  • Научишься использовать различные подходы к работе с асинхронным кодом.
  • Создашь в ходе курса игровое приложение на Canvas.
Маленькие группы
В одной группе не больше 10-ти человек (чаще 7-8), преподаватель уделяет внимание каждому!
Спокойный темп занятий
Учебный материал выдаётся дозировано, программа курса позволяет заниматься в комфортном режиме.
Повторное прохождение бесплатно
Не поняли сложную тему или пропустили урок? Не беда, пройдите бесплатно с другой группой!
Отработка материала
На занятиях очень много практики, в том числе самостоятельных работ.
Дополнительные материалы
После каждого занятия вы получите комплект дополнительных учебных материалов.
Поддержка вне занятий
В онлайн-чате вы всегда можете задать вопрос и получить поддержку даже вне стен учебного центра.

Кому подойдёт этот курс

  • Начинающим веб-разработчикам, которые хотят освоить специальность Front-end developer
  • Junior JavaScript разработчикам с опытом работы до одного года, которые хотят улучшить знание JS, чтобы занять позицию Middle
  • Веб-разработчикам, которые хотят разрабатывать Back-end на Node.js
  • Выпускникам нашего курса JavaScript и jQuery для начинающих

Кому этот курс не подходит

Курс не подойдёт, если ты:

  • Новичок в веб-разработке или вообще не знаком с JavaScript.
  • Опытный JavaScript разработчик (от 1.5 лет).
  • Хорошо знаешь ES6+, промисы, async / await, сборку с gulp / webpack / babel.
Для желающих освоить разработку веб-приложений у нас есть курс по Vue.js

Подробная программа курса

Для каждого урока есть список теоретических тем и практических упражнений, а также итоги занятия.
Модуль 1

Глубины JavaScript

Занятие 1. Git и GitHub

Разбираем основы работы с системой контроля версий Git, обсуждаем проблемы типов данных в JS

Теория:

  • Роль систем контроля версий в современной разработке
  • Основы работы с репозиторием
  • Базовые операции Git: Commit, Push, pull
  • Типы данных в JavaScript
  • Оператор typeof
  • Проблемы типизации: null, NaN, undefined
  • Строгий режим (use strict)

Практика:

  • Установка и настройка Git
  • Создание репозитория и публикация проекта на GitHub
  • Решение задач на проверку типов данных
  • Самостоятельная работа

По итогам занятия:

  • Изучите основы системы контроля версий (VCS) Git
  • Научитесь правильно «коммитить» изменения и публиковать их на гитхабе
  • Разберётесь с проблемными вопросами системы типов данных в JS
  • Сможете правильно использовать оператор typeof для проверки условий

Занятие 2. Функции и замыкания

Понимаем функции, области видимости и замыкания

Теория:

  • Объект arguments
  • Оператор rest
  • Значения аргументов по умолчанию
  • Области видимости и замыкания
  • Замыкания в циклах
  • Функции и функциональные выражения
  • Хостинг
  • IIFE
  • Стрелочные функции

Практика:

  • Решение учебных задач на понимание внутреннего устройства функций
  • Создание слайдера с эффектом анимированных «слайсов»

По итогам занятия:

  • Научитесь использовать различные возможности функций и функциональных выражений
  • Отработаете на учебных задачах все тонкости функций в JavaScript
  • Создадите слайдер с красивым анимационным эффектом плавного проявления «разрезанного» на части изображения

Занятие 3. Объекты и прототипы

Изучаем внутреннее устройство объектов в JS

Теория:

  • Наследование свойств и методов от прототипа
  • Цепочки прототипов
  • Объект Object
  • Расширение стандартных объектов
  • Цикл for in
  • Метод hasOwnProperty

Практика:

  • Учебные задачи по работе с объектами
  • Разработка простого модуля для таймера обратного отсчета
  • Самостоятельная работа

По итогам занятия:

  • Познакомитесь с понятием прототипов и наследования свойств
  • Научитесь расширять стандартные объекты, в том числе для написания полифиллов
  • Создадите объект для таймера обратного отсчета с возможностью повторного использования

Занятие 4. Функции-конструкторы

Учимся использовать конструкторы и цепочки прототипов

Теория:

  • Функции-конструкторы
  • Оператор new
  • Построение цепочек прототипов в функциональном стиле
  • Объект this
  • Метод Object.defineProperty
  • Сеттеры и геттеры

Практика:

  • Разработка функции для наследования прототипов
  • Создание цепочки прототипов
  • Программирование объекта User
  • Самостоятельная работа

По итогам занятия:

  • Освоите работу с функциями-конструкторами
  • Научитесь строить цепочки прототипов в функциональном стиле

Занятие 5. Массивы и итераторы

Обходим подводные камни в работе с массивами, изучаем косвенный вызов функций

Теория:

  • Объекты, подобные массивам (псевдомассивы)
  • Цикл for of
  • Функциональный подход к обработке массивов
  • Применение функций forEach, some, every
  • Косвенный вызов функций: call, apply, bind
  • Одолжение метода
  • Итерируемые объекты
  • iterator

Практика:

  • Учебные задачи на обход массивов и создание итераторов
  • Самостоятельная работа

По итогам занятия:

  • Познакомитесь с массивами и научитесь обходить подводные камни в работе с ними
  • Освоите косвенный вызов функций
  • Научитесь использовать итераторы
Модуль 2

ООП и ES6+

Занятие 6. Классы ES6

Осваиваем работу с прототипами с классами из ES6

Теория:

  • Классы
  • Наследование классов и оператор extends
  • Статические свойства и методы
  • Оператор super
  • Исключения
  • Объект Error
  • Оператор try catch

Практика:

  • Создание иерархии классов
  • Разработка универсального класса для генерации таблиц
  • Самостоятельная работа

По итогам занятия:

  • Научитесь использовать классы для описания прототипов
  • Создадите плагин для генерации и отображения таблиц
  • Освоите работу с исключениями

Занятие 7. Gulp, webpack, babel

Применяем инструментарий для транспиляции и сборки скриптов

Теория:

  • Менеджер задач Gulp
  • Сборка бандлов с Webpack
  • Транспиляция скриптов с babel
  • eslint

Практика:

  • Программирование задач по сборке проекта через gulpfile.js
  • Настройка сборки модулей через gulp и webpack
  • Настройка проверки качества кода с помощью eslink
  • Самостоятельная работа

По итогам занятия:

  • Научитесь использовать gulp, webpack и babel для сборки проекта
  • Сможете cамостоятельно разрабатывать задачи в gulpfile

Занятие 8. ООП

Учимся организовывать код в объектно-ориентированном стиле

Теория:

  • Основы ООП
  • Интерфейсы
  • Абстракция
  • Инкапсуляция
  • Полиморфизм
  • Модули ES6
  • import / export

Практика:

  • Моделирование приложения для заметок в объектно-ориентированном стиле
  • Построение модульной системы приложения

По итогам занятия:

  • Познакомитесь с основными концепциями объектно-ориентированного программирования в JavaScript
  • Узнаете особенности реализации инкапсуляции и публичного интерфейса
  • Научитесь использовать модульную систему из ECMAScript 2015

Занятие 9. Дестрактуринг и функциональный подход

Знакомимся с дестрактурингом и функциональным стилем

Теория:

  • Дестрактуринг объектов и массивов
  • Оператор spread
  • Callback-функции
  • Функциональный стиль: методы reduce, map
  • Библиотека loadash.js

Практика:

  • Решение задач с помощью дестрактуринга
  • Решение задач на обработку массивов в функциональном стиле
  • Продолжение работы над приложением для заметок
  • Самостоятельная работа

По итогам занятия:

  • Освоите дестрактуринг
  • Познакомитесь с функциональным подходом к работе с массивами
Модуль 3

Асинхронный код. Взаимодействие с API

Занятие 10. Drag & Drop

Изучаем возможности браузера для создания Drag & Drop в интерфейсе

Теория:

  • Способы реализации Drag & Drop в JavaScript
  • Достоинства и недостатки HTML5 Draggable API
  • Кастомная реализация Drag & Drop
  • Библиотека Draggable.js

Практика:

  • Реализация учебного примера на HTML5 Drag & Drop
  • Разработка кастомного Drag & Drop
  • Применение библиотеки draggable.js
  • Самостоятельная работа

По итогам занятия:

  • Освоите различные механики создания Drag & Drop в пользовательском интерфейсе
  • Научитесь работать с библиотекой draggable.js для реализации сортировки заметок в приложении

Занятие 11. REST API и AJAX

Учимся взаимодействовать с серверным API по REST

Теория:

  • Асинхронные запросы
  • Протокол HTTP
  • Типы запросов: GET, POST, PUT, DELETE
  • RPC
  • REST
  • xmlHttpRequest
  • CORS
  • Postman

Практика:

  • Учебная задача на работу с объектом xmlHttpRequest
  • Реализация взаимодействия приложения заметок с backend по REST API
  • Отладка запросов через Postman

По итогам занятия:

  • Познакомитесь с идеологией, лежащей в основе REST
  • Научитесь использовать xmlHttpRequest для работы с REST API
  • Сможете использовать расширение Postman для отладки HTTP-запросов

Занятие 12. Промисы

Учимся управлять асинхронным кодом с помощью промисов

Теория:

  • Работа с асинхронным кодом
  • Callback-hell
  • Основы промисов
  • Обработка ошибок
  • Функция fetch
  • Цепочки промисов
  • Promise.all

Практика:

  • Отправка запросов с помощью функции fetch
  • Решение учебных задач с помощью промисов
  • Самостоятельная работа

По итогам занятия:

  • Познакомитесь с возможностями Promise
  • Научитесь организовывать работу с асинхронным кодом
  • Сможете использовать функцию fetch для работы с REST API

Занятие 13. async / await

Используем async / await для упрощения работы с промисами

Теория:

  • Асинхронные функции
  • Синтаксический сахар для промисов: async await
  • Приёмы работы с асинхронным кодом

Практика:

  • Замена промисов на async / await в приложении с заметками
  • Учебные задачи на промисы и асинхронные функции
  • Самостоятельная работа

По итогам занятия:

  • Освоите новые приёмы работы с асинхронным кодом
  • Научитесь использовать async / await при работе с промисами
Модуль 4

Практика

Занятие 14. Unit-тестирование

Знакомимся с модульным тестированием и библиотеками для него

Теория:

  • Основы модульного тестирования
  • Принципы тестирования Front-end приложений
  • Библиотека js
  • Библиотека Chai.js
  • Вопросы интеграционного тестирования
  • Знакомство с TDD

Практика:

  • Написание учебных тестовых модулей
  • Разработка комплекта тестов для веб-приложения с заметками

По итогам занятия:

  • Научитесь писать автоматические модульные тесты
  • Сможете использовать в тестировании библиотеки Mocha и Chai
  • Познакомитесь с разработкой по TDD

Занятие 15. HTML5 Canvas API

Учимся рисовать и анимировать графику на Canvas

Теория:

  • Основы работы с Canvas
  • Рисование 2d-изображений на Canvas
  • Анимация на Canvas
  • Библиотека js

Практика:

  • Создание простого рисунка на Canvas
  • Анимационный эффект «Rainbow rain»
  • Начало разработки игры «Concentration»
  • Самостоятельная работа

По итогам занятия:

  • Познакомитесь с возможностями для рисования на Canvas
  • Научитесь анимировать нарисованные 2d-изображения
  • Познакомитесь с библиотекой js

Занятие 16. Выпускной

Повторяем изученный материал, разбираем оставшиеся вопросы

Теория:

  • Повторение ключевых принципов ООП
  • Повторение приёмов работы
  • Закрепление изученного на курсе материала
  • Разбор оставшихся вопросов

Практика:

  • Доработка игры «Concentration»

По итогам занятия:

  • Повторите все основные темы курса
  • Узнаете, куда двигаться дальше и что ещё нужно изучать
  • Подведёте итоги курса и получите комплект дополнительных учебных материалов
Подробный план занятия
/home/student/module_1/lesson_1>

Теория:

  • Роль систем контроля версий в современной разработке
  • Основы работы с репозиторием
  • Базовые операции Git: Commit, Push, pull
  • Типы данных в JavaScript
  • Оператор typeof
  • Проблемы типизации: null, NaN, undefined
  • Строгий режим (use strict)

Практика:

  • Установка и настройка Git
  • Создание репозитория и публикация проекта на GitHub
  • Решение задач на проверку типов данных
  • Самостоятельная работа

По итогам занятия:

  • Изучите основы системы контроля версий (VCS) Git
  • Научитесь правильно «коммитить» изменения и публиковать их на гитхабе
  • Разберётесь с проблемными вопросами системы типов данных в JS
  • Сможете правильно использовать оператор typeof для проверки условий

Сколько стоит прохождение курса?

Максимальный
  • Очное прохождение курса
  • Рабочее место за нашим ноутбуком (по желанию)
  • Учебные материалы
  • Онлайн-чат с преподавателем
  • Лицензионная копия программ JetBrains
  • Проверка домашних заданий и code-review
  • Help-day по средам
  • 2 индивидуальных занятия с преподавателем
  • Дополнительные индивидуально подобранные задания
  • Возможность работать над личным проектом с помощью преподавателя

21 000
руб / месяц
42 000 руб. за весь курс
Оптимальный
  • Очное прохождение курса
  • Рабочее место за нашим ноутбуком (по желанию)
  • Учебные материалы
  • Онлайн-чат с преподавателем
  • Лицензионная копия программ JetBrains
  • Проверка домашних заданий и code-review
  • Help-day по средам
  • 2 индивидуальных занятия с преподавателем
  • Дополнительные индивидуально подобранные задания
  • Возможность работать над личным проектом с помощью преподавателя

17 000
руб / месяц
34 000 руб. за весь курс
Стартовый
  • Очное прохождение курса
  • Рабочее место за нашим ноутбуком (по желанию)
  • Учебные материалы
  • Онлайн-чат с преподавателем
  • Лицензионная копия программ JetBrains
  • Проверка домашних заданий и code-review
  • Help-day по средам
  • 2 индивидуальных занятия с преподавателем
  • Дополнительные индивидуально подобранные задания
  • Возможность работать над личным проектом с помощью преподавателя

14 000
руб / месяц
28 000 руб. за весь курс


* Во все тарифы включена услуга «помощь с трудоустройством выпускников»:
  • Помощь с написанием резюме
  • Тестовое собеседование
  • Помощь в поиске вакансии
Мы помогаем с поиском работы
Организуем стажировки
Делимся лайфхаками по прохождению собеседований

Получи персональную скидку!

Узнай окончательную стоимость с учётом персональных скидок

Запишись на курс заранее

Забронируй место в группе за месяц до начала занятий и получи скидку.

Поделись информацией о курсе в соц.сетях

Сделай пост в ВК или в Instagram о том, что идёшь к нам учиться.

Вместе дешевле! Приходи с друзьями

Приходи учиться с другом или родственником! Каждый получит скидку.

Оплати весь курс целиком

Оплати стоимость курса целиком. Это дешевле.

Забронируй несколько курсов

На каждый последующий курс предоставляется накопительная скидка!
Оставь заявку, чтобы получить персональную скидку.
Узнай окончательную стоимость с учётом персональной скидки

Расписание занятий

Группа
Расписание
Время занятий
Осталось мест
Группа выходного дня
22 июня — 11 августа
Пн
Вт
Ср
Чт
Пт
Сб
Вс
17:00 — 20:00
6 из 8
Интересует другое расписание?
Узнайте о новых группах и индивидуальных занятиях у администратора по телефону 8 (812) 914-88-40.

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

Мы трепетно относимся к нашим преподавателям, приглашаем вести занятия только опытных специалистов-практиков, тренируем и обучаем их, чтобы гарантировать высокое и стабильное качество подачи материала.
Юрий Горин
Юрий Горин
Fullstack Web Developer с 10-летним опытом по профессии, преподаватель с 5-летним стажем, методист

Уже 5 лет мне удаётся совмещать работу программистом с успешной преподавательской деятельностью. За эти годы я обучил и выпустил более 400 человек, многие из которых успешно смогли реализовать себя в IT-индустрии.

В учебном центре «Дверь в АйТи» я занимаюсь разработкой учебных программ, подготовкой преподавателей, а также сам веду занятия, при этом продолжаю работать по специальности.

Основной стек технологий:

  • PHP 7+ / Laravel / MySQL
  • Node.js / express.js
  • JavaScript / ES6+ / Vue.js
  • CSS / SCSS / BEM

На занятиях я всегда стараюсь донести актуальные технологии и знания, но при этом сделать материал простым, понятным и доступным.

https://vk.com/id2005521
Юрий Горин
Роман Ермилов
Team lead front-end developer в компании GrowFood. Опыт разработки коммерческих веб-приложений 10 лет

Разрабатывал ERP систему для завода компании luxottica. Самые известные бренды компании Ray-Ban, Prada, Persol и Oakley. Разрабатывал front-end для международной компании по производству солнечных батарей нового поколения Neosun Energy.

С нуля делал полностью автоматизированные сервисы по аналитике и продаже лайков в Instagram. Очень много закрытых соглашением о неразглашении коммерческих проектов, о которых хочется, но невозможно рассказать (для заказчиков из ОАЭ, России и США)

С 2016 года работаю Team lead front-end developer в компании GrowFood.

Также занимаюсь организацией и проведением мастер-классов по front-end разработке, где мы со студентами погружаемся в профессию и начинаем верстать и разрабатывать приложения с нуля.

Основной стек технологий:

  • JavaScript
  • Vue.js
  • Webpack
  • HTML & CSS
  • SCSS
https://vk.com/ermilov.roman

Спросите преподавателя!

Задайте вопрос преподавателю совершенно бесплатно

Консультация может быть вам полезна, если:

  • Вы уже знаете часть материала и не уверены, подходит ли вам курс
  • Вы не уверены, что у вас хватит базовых знаний для прохождения курса
  • Вы уже изучали что-то самостоятельно, но у вас возникли сложности
Заявка на консультацию
Оставьте заявку на консультацию с преподавателем по телефону или лично в учебном центре

Отзывы наших учеников

Хочу отметить доступность, с которой подается материал
Содержательно, а что самое главное, так это актуальность информации. Также хочу отметить доступность, с которой подается материал — каждый пункт объясняется и резюмируется, поэтому если что-то было не понятно — будет вкратце обговорено еще раз.

Скажу честно, было сложновато учиться из-за работы и тотальной нехватки времени. Много практических заданий, помогающих закрепить и понять материал.
Общение в онлайн-чате и дополнительный материал сильно помогают. В общем — всё отлично!
Клим Бочарников
Хочу поблагодарить за грамотную и последовательную подачу информации
Курс действительно очень полезный, поскольку рассматриваются актуальные и наиболее широко используемые в данный момент приемы верстки, принципы работы с макетами, а также возможные проблемы и способы и решения.

Лично от себя хочу поблагодарить Юрия за грамотную и последовательную подачу информации, умение передать суть того или иного приема или метода, а также за постоянную обратную связь и грамотно подобранные домашние задания, позволяющие на практике самостоятельно отработать и закрепить полученные знания.
Артем Прокопенко
Курс у меня совпал со стажировкой-работой на должности frontend разработчика в своей компании
Впечатления от курса самые прекрасные) Очень важно, когда преподаватель, по-настоящему, хочет научить, всегда готов помочь, делится теоретическими знаниями и практическим опытом, проверенными в собственной работе.

Так как данный курс у меня совпал со стажировкой-работой на должности frontend разработчика в своей компании, кое что сразу смотрела и применяла в работе на практике, кое-что сравнивала, домашние, к сожалению, делать не успевала…((
С нетерпением жду углубленных курсов по JS и PHP, надеюсь будет и по Seo.
Юлия Ичетовкина
Проба реальных проектов создает в голове целостную картину всей разработки
Проходя этот курс я уже работал в этой сфере и могу с уверенностью сказать, конкретно этот курс оказался очень информативным и полезным, он поднимает уровень на новую ступень именно профессиональной верстки. А проба реальных проектов (пусть и учебных, но всё же реальных) создает в голове целостную картину всей разработки. Каждое занятие новый интересный материал, курс пролетел очень быстро!!!
Я обязательно продолжу обучение!
Юрий, огромное спасибо!
Любомир Долгополов

Ответы на частые вопросы

Кто ведёт занятия? Что у вас за преподаватели?

Все наши преподаватели — практикующие специалисты: программисты, веб-разработчики, дизайнеры. Они — профессионалы своего дела, которые готовы поделиться своим опытом и знаниями с начинающими специалистами.

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

Можно ли пройти курс в индивидуальном режиме?

Да, у нас есть индивидуальные занятия. Как правило, при общении один на один с преподавателем можно освоить материал гораздо быстрее и эффективнее, чем в группе.

Узнать подробности об индивидуальных занятиях вы можете у наших администраторов по телефону 8 (812) 914-88-40.

Что делать, если мне не понравилось у вас?

Если вам что-то не понравилось, обязательно сообщите нашему администратору. Мы будем очень расстроены, но постараемся решить возникшие разногласия. В крайнем случае — вернём деньги согласно условиям договора.

Хватит ли заявленного времени в программе для освоения материала?

Да, программы курсов спланированы и отработаны, поэтому вы точно успеете освоить весь заявленный план курса. Главное: слушайте преподавателя, старайтесь выполнять все домашние работы и изучать дополнительный материал.

Ну, а если что-то вдруг пойдёт не так — мы предлагаем бесплатное повторное прохождение курса.

У вас нет нужного мне курса...

Если нужного вам курса сейчас нет в нашем каталоге, это ещё не означает, что мы не можем вам дать нужные навыки и знания.

Свяжитесь с нашим администратором — мы вместе что-нибудь придумаем.

Мне попадалась реклама более дешевых курсов...

Возможно где-то и дешевле, но у нас вы получите гораздо больше:

  • Занятия ведут опытные преподаватели-практики;
  • Программы курсов всё время обновляются, чтобы соответствовать требованиям работодателей;
  • Вы получаете финансовую гарантию трудоустройства, которая прописана в договоре;
  • Мы помогаем с трудоустройством не на словах, а на деле: с поиском вакансий, с написанием резюме, с подготовкой к собеседованиям;
  • У вас есть возможность безлимитно пожизненно пользоваться консультациями преподавателей в рамках help day (на тарифах Максимальный и Оптимальный).
А можно скидку?

Можно, выбирайте из действующих акций и специальных предложений.

Какой график работы в учебном центре?

Мы работаем семь дней в неделю. По будням — с 13:15 до 22:15, а по выходным с 9:30 до 22:30. Приходите! :)

Будет ли сертификат по окончании курса?

Разумеется, каждый ученик, освоивший всю программу курса, получит красивый сертификат, который с гордостью можно приложить к своему резюме :)