Разработчик JavaScript

Курс для web-разработчиков, которые хотят вывести свои знания на новый профессиональный уровень
Зачем нужно тестирование?

Длительность

5 месяцев

Начало

22 октября

Общая стоимость

50 000 ₽

В месяц

12 500 ₽

Хочу дешевле
Общая стоимость
50 000 ₽
В месяц: 12 500 ₽
Продолжительность
5 месяцев
4 часа в неделю
Начало занятий
22 октября
Что даст вам этот курс
  • Понимание принципов работы современных JavaScript фреймворков и библиотек

  • Умение применять паттерны проектирования (Event Loop, Flux, Immutable, Virtual DOM, Dependency Injection, Observables)

  • Знание подходов при проектировании, организации, контроля состояния и тестирования серверных и клиентских приложений


В рамках курса будут рассмотрены ключевые особенности JavaScript − замыкания, особенности ООП и SOLID в JS, функционального и реактивного программирования, Promises и другие возможности ES6, Event Loop, а также разберём DOM API, Ajax и события в рамках разработки в браузере, и, конечно, прокачаем навыки в HTML и CSS. Научимся писать код на диалектах JavaScript, таких как TypeScript и JSX.

Помимо разработки клиентской части в браузере мы также будем использовать серверную платформу NodeJS и её окружение. Изучим популярный фреймворк Angular с реактивными возможностями RxJS, а также библиотеки для написания web-приложений − ReactJS, Redux и современные подходы к разработке UI, такие как Polymer и набирающий звёзды Vue.

Мы будем собирать проекты для production с помощью Webpack, хранить данные в MongoDB, использовать TDD подход и писать тесты на различных фреймворках и уровнях.


19 работодателей

Преподаватели — разработчики с более чем 8-летним опытом работы

Множество практических домашних заданий, охватывающих широкий набор тем.

Авторская программа.

Преподаватели
Александр Коржиков
Юрий Дворжецкий
Разработчик JavaScript в международной финансовой корпорации ING, главный офис которой находится в Амстердаме. Занимается проектированием и поддержкой процессов WEB-разработки.

8 лет опыта разработки, в основном в области Front End. Большую часть карьеры программировал на JavaScript, начиная c 2010 года в компании Альпари. После этого работал в стартапе Comindware, в банке Тинькофф, в голландской IT компании Backbase.

Получил степень специалиста в университете по специальности прикладной математики и кибернетики.
Ведущий разработчик в Luxoft, кандидат физико-математических наук.
Программирует с начальных классов.

Разрабатывает на разных платформах: большие и маленькие проекты, высоконагруженные и очень красивые, многим известные и совсем специфические.

Влюблён в элегантность и оригинальность JavaScript, как классического, так и современного, во всех его проявлениях.

Сейчас разрабатывает Web-приложения c UI на React и Angular*.
Преподаватели
Александр Коржиков
Разработчик JavaScript в международной финансовой корпорации ING, главный офис которой находится в Амстердаме. Занимается проектированием и поддержкой процессов WEB-разработки.

8 лет опыта разработки, в основном в области Front End. Большую часть карьеры программировал на JavaScript, начиная c 2010 года в компании Альпари. После этого работал в стартапе Comindware, в банке Тинькофф, в голландской IT компании Backbase.

Получил степень специалиста в университете по специальности прикладной математики и кибернетики.
Юрий Дворжецкий
Ведущий разработчик в Luxoft, кандидат физико-математических наук.
Программирует с начальных классов.

Разрабатывает на разных платформах: большие и маленькие проекты, высоконагруженные и очень красивые, многим известные и совсем специфические.

Влюблён в элегантность и оригинальность JavaScript, как классического, так и современного, во всех его проявлениях.

Сейчас разрабатывает Web-приложения c UI на React и Angular*.
Минимальные знания
Для обучения в группе слушателям понадобятся знания и практический опыт работы с:
  • JavaScript
  • Git
  • HTML & CSS
Процесс обучения
Обучение проходит онлайн, в формате вебинаров. Длительность этого курса составляет 5 месяцев, финальный отводится для выполнения проектной работы и оттачивания полученных навыков.

Расписание занятий включает 2 вебинара в неделю по 2 академических часа и от 2 до 4 часов на домашнюю работу.



Во время обучения слушатель может задавать преподавателю уточняющие вопросы по материалам лекций, домашних заданий и выпускного проекта.
Программа обучения
Модуль 1
JavaScript
Модуль 2
UI Libraries
Модуль 3
Angular
Модуль 4
Практическая работа
JavaScript
Введение в курс
Участники смогут:
- Познакомиться с преподавателем и с программой курса, понимать как она построена и какие полезные навыки они получат
- Вспомнить основные возможности языка JavaScript
- Применять техники языка, которые помогут при изучении фреймворков
22 октября, 20:00 — 21:30
Домашние задания: 1
1 Написать функцию суммирования значений
Возможности JavaScript
Участники смогут:
- Решать специфичные для браузерной разработки задачи на языке JavaScript
- Освоить и вспомнить теорию, которая будет базисом для последующих уроков
- Попрактиковаться с технологиями Promise & AJAX
25 октября, 20:00 — 21:30
Домашние задания: 1
1 promiseReduce - работа с асинхронными функциями
Введение в Node - NPM, Tests, TDD
Участники смогут:
- Запускать приложения на платформе Node
- Писать и запускать тесты для серверного JavaScript
- Работать с пакетным менеджером NPM
- Управлять зависимостями и автоматизировать задачи с помощью package.json
29 октября, 20:00 — 21:30
Основные концепции Node - Modules, Events, Errors
Участники смогут:
- Использовать require, exports и ES6 Imports для экспорта и импорта зависимостей
- Использовать модуль Events для работы с событиями и понимать, как использовать Errors в Node
1 ноября, 20:00 — 21:30
Домашние задания: 1
1 tree - вывод списка файлов и папок файловой системы
Стандартная библиотека Node - EventLoop, Streams, HTTP
Участники смогут:
- Ориентироваться в понятии EventLoop и особенностях работы Timers
- Использовать классы, объекты и функции модуля Streams
- Работать c HTTP запросами в Node
5 ноября, 20:00 — 21:30
Node Best Practices - Process
- Работать с дочерними процессами в Node
- Различать корректные и ошибочные техники при написании серверного JavaScript кода
8 ноября, 20:00 — 21:30
Домашние задания: 1
1 Работа с потоками в NodeJS
Стэк MEAN - Express, MongoDB
Участники смогут:
- Создавать простые приложения с использованием библиотеки Express, а также базы данных MongoDB
12 ноября, 20:00 — 21:30
Домашние задания: 1
1 Приложение для сохранения RSS
Построение Rest API
Участники смогут:
- Понимать и добавлять общие стандарты создания API
15 ноября, 20:00 — 21:30
Домашние задания: 1
1 Приложение для сохранения RSS
JavaScript - Работа с браузером
- Решать специфичные для браузерной разработки задачи на языке JavaScript
- Работать с Chrome Dev Tools
19 ноября, 20:00 — 21:30
Домашние задания: 1
1 getPath - поиск уникального селектора
UI Libraries
Обзор Polymer
Участники смогут
- Создавать custom elements, используя встроенные браузерные возможности
- Подключать и использовать Polymer для создания приложений
- Ориентироваться в веб спецификациях, на базе которых работает Polymer
22 ноября, 20:00 — 21:30
Все суть компоненты
Участники смогут:
- Подключать и использовать веб-компоненты в приложениях
- Создавать Polymer компоненты, решающие функциональные и композиционные задачи
26 ноября, 20:00 — 21:30
Домашние задания: 1
1 Custom Elements - приложение для показа дерева
Специфика построения приложений на Polymer
Участники смогут:
- Разрабатывать приложения с использованием Polymer
- Понимать и определять структуру кода, использовать инструменты для сборки и оптимизации приложений
29 ноября, 20:00 — 21:30
Особенности работы c Polymer
3 декабря, 20:00 — 21:30
Домашние задания: 1
1 Приложение для показа и добавления RSS
Основы React и JSX
Участники смогут:
- Настроить себе окружение для работы с React и использовать его
- Понимать и применять синтаксис JSX
- Создавать простые приложения на React
6 декабря, 20:00 — 21:30
Компоненты React - Components Lifecycle, State & Props
Участники смогут:
- Разрабатывать полноценные React-компоненты в различных стилях.
- Корректно использовать state и props.
10 декабря, 20:00 — 21:30
Домашние задания: 1
1 Создать структуру приложения погоды
Состояние приложения - Flux и Redux
Участники смогут:
- "Отличать основные понятия однонаправленной архитектуры Flux.
- Ориентироваться и использовать возможности redux - создавать actions, reducers, а также применять redux в связке в React
13 декабря, 20:00 — 21:30
Routing в React - Оптимизация приложения
- Создавать систему routing для React приложений, использовать библиотеку react-router
- Использовать специальные возможности библиотеки для оптимизации отрисовки"
17 декабря, 20:00 — 21:30
Домашние задания: 1
1 Routing для приложения погоды
Специфика построений приложений в React - Best Practices
- Эффективно разрабатывать приложения на React, учитывая последние тенденции в разработке front-end
- Использовать Advanced React
- Применять на практике Best-Practices разработки на React
20 декабря, 20:00 — 21:30
Основы Vue
Участники смогут:
- Настроить себе окружение IDE, зависимости и библиотеки для создания проектов и работы с Vue
- Создавать простейшие приложения используя Vue
24 декабря, 20:00 — 21:30
Компоненты, шаблонизатор и формы
Участники смогут
- Понимать синтаксис шаблонизаторы
- Создавать компоненты, описывать атрибуты элементов
27 декабря, 20:00 — 21:30
Домашние задания: 1
1 Структура приложения "Устный счет"
Routing и модели данных
Участники смогут:
- Описывать routing для Vue приложений
- Создавать формы, связывая шаблоны с моделями
31 декабря, 20:00 — 21:30
Advanced Vue
Участники смогут:
- Применять анимацию в компонентах
- Создавать плагины
- Разбираться в тонкостях Change Detection
3 января, 20:00 — 21:30
Домашние задания: 1
1 Routing для приложения "Устный счет"
Angular
Введение в Angular
Участники смогут:
- Настроить себе окружение IDE, а также скачать зависимости и библиотеки, коммандные утилиты для TypeScript и создания проектов для работы с Angular
- Различать TypeScript и JavaScript
- Писать и понимать код на языке TypeScript
7 января, 20:00 — 21:30
TypeScript
- Различать TypeScript и JavaScript, использовать преимущества статической типизации
- Писать и понимать код на языке TypeScript, разрабатывать приложения в полноценном объектно-ориентированном стиле
10 января, 20:00 — 21:30
Компоненты и директивы
Участники смогут:
- Декомпозировать макет страницы на компоненты
- Различать директивы и компоненты во фреймворке Angular
- Создавать простые директивы и компоненты
14 января, 20:00 — 21:30
Домашние задания: 1
1 Структура приложения для запоминания иностранных слов
Сервисы
Участники смогут создавать сервисы для получения, отправки и хранения данных для приложений Angular
17 января, 20:00 — 21:30
Observables - RxJS
Участники смогут:
- Отличать основные понятия паттерна
- Observable, Observer, Subscriber, Operator
- Применять шаблон проектирования Observables, используя библиотеку RxJS
21 января, 20:00 — 21:30
Домашние задания: 1
1 Создать сервисы для работы с текстом
Состояние приложения
Участники смогут разбираться в особенностях шаблона проектирования Dependency Injection и его имплементации в Angular
24 января, 20:00 — 21:30
Создание и управление формами в Angular
Участники смогут:
- Создавать формы, используя техники Dynamic Forms, Reactive Forms
- Описывать валидацию и другие функции для элементов форм
28 января, 20:00 — 21:30
Домашние задания: 1
1 User Interface для приложения запоминания иностранных слов
Routing
Участники смогут:
- Создавать Routing систему для приложений, используя внутренние подходы Angular - такие как Router, router-outlet и другие
- Понимать и применять хэндлеры навигации Guards
31 января, 20:00 — 21:30
Тестирование в Angular. Сборка приложения для Production
Участники смогут:
- Писать и запускать тесты для приложений Angular
- Настраивать сборку приложений Angular
- Использовать возможность сборки Server-side Rendering
4 февраля, 20:00 — 21:30
Домашние задания: 1
1 Routing для приложения запоминания иностранных слов
Практическая работа
Заключительный месяц курса посвящен проектной работе. Это то, чем интересно заниматься студенту на базе знаний, полученных на курсе.
При этом не обязательно закончить его за месяц. В процессе написания по проекту можно получить консультации преподавателей.

Проект должен стать примером кода, который можно показывать потенциальным работодателям.

Примеры тем проекта:
- Task Runner для создания части Continuous Integration цикла.
- Reciept Roulette для управления и рекомендации рецептов.
- Elements Dashboard - магазин Web компонент, созданных на одном из библиотек. В приложении можно видеть рейтинг, демонстрацию и документацию зарегистрированных элементов.

Возможные технологии для проектов - Node + Vue/Angular/React/Polymer.
Участники смогут:
- Выделять характеристики проектов и окружения
- Решать задачи выбора и сравнения фреймворков, понимать их преимущства и недостатки
7 февраля, 20:00 — 21:30
Расписание занятий
Ваша группа
(cтарт 22 октября)
Понедельник и четверг
20:00—21:30
Группа: JavaScript-2018-10
Другие группы
Понедельник и четверг
20:00—21:30
Группа: JavaScript-2018-07
Подглядеть
CSS препроцессоры
Юрий Дворжецкий
Dependency Injection в Angular
Александр Коржиков
Разработчик JavaScript
Видеоматериалы по теме
День открытых дверей
24 января в 20:00
День открытых дверей
26 февраля в 20:00
День открытых дверей
29 января в 20:00
После обучения вы

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

  • получите сертификат о прохождении курса;

  • приобретете опыт работы с актуальными технологиями, фреймворками и инструментарием;

  • получите приглашение пройти собеседование в компаниях-партнерах (в случае успешного обучения на курсе).

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

Практическую работу можно выполнить за один месяц, хотя в некоторых случаях это требует больше времени. В процессе написания по проекту можно получить консультации преподавателей.



Примеры тем проекта:



  • Task Runner для создания части Continuous Integration цикла.

  • Reciept Roulette для управления и рекомендации рецептов.

  • Elements Dashboard — магазин web-компонент. При написании кода использовалась одна из стандартных библиотек JavaScript. В приложении можно видеть рейтинг, демонстрацию и документацию зарегистрированных элементов.


Возможные технологии для проектов — Node + Vue/Angular/React/Polymer.
Ваш сертификат
otus.ru
Константин Константинопольский
успешно закончил курс
«Разработчик JavaScript»
Успешных заданий:
16 из 16
Проектная работа:
Распределённая система сетевого мониторинга
Виталий Чибриков
Генеральный директор
№ 0001
otus.ru
Константин Константинопольский
успешно закончил курс
«Разработчик JavaScript»
Успешных заданий:
16 из 16
Проектная работа:
Распределённая система сетевого мониторинга
Виталий Чибриков
Генеральный директор
№ 0001
Общая стоимость
50 000 ₽
В месяц: 12 500 ₽
Продолжительность
5 месяцев
Начало занятий
22 октября
Мероприятия
18 июля в 20:00
Разработчик JavaScript
День открытых дверей
Провел: Юрий Дворжецкий
9 июля в 20:00
CSS препроцессоры
Открытый вебинар
Провел: Юрий Дворжецкий
2 июля в 20:00
Dependency Injection в Angular
Открытый вебинар
Провел: Александр Коржиков
26 февраля в 20:00
Разработчик JavaScript
День открытых дверей
21 февраля в 20:00
Разработчик JavaScript
Открытый вебинар
29 января в 20:00
Разработчик JavaScript
День открытых дверей
24 января в 20:00
Разработчик JavaScript
День открытых дверей
19 января в 20:00
Разработчик JavaScript
Открытый вебинар