Полный курс по JavaScript, комплексное обучение JavaScript. Пройдите курс по JavaScript и получите квалификацию JavaScript разработчик! | OTUS
💥 Пока ты ждешь — другие качаются!
Мы создали лучшие условия, чтобы ты начал учиться прямо сейчас. Пиши в чат и получи скидку ➞
Написать в чат

Курсы

Программирование
Web-разработчик на Python
-20%
Разработчик Python
-20%
Разработчик на Spring Framework Разработчик Golang
-20%
iOS Разработчик. Продвинутый курс v 2.0.
-20%
PostgreSQL
-20%
Разработчик игр на Unity React.js разработчик Архитектура и шаблоны проектирования Fullstack разработчик JavaScript Android-разработчик. Продвинутый курс Разработчик Java Разработчик Node.js Scala-разработчик Backend-разработка на Kotlin Symfony Framework Framework Laravel Базы данных ReactJS/React Native-разработчик Cloud Solution Architecture CI/CD Интенсив «Оптимизация в Java»
Специализации Курсы в разработке Подготовительные курсы
+7 499 938-92-02

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

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

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

5 месяцев

Начало

29 июня

Занятия

Чт 20:00, Пн 20:00

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

100 000 ₽

В месяц

22 500 ₽

Хочу дешевле
Общая стоимость
100 000 ₽
В месяц: 22 500 ₽
Продолжительность
5 месяцев, 4 академ. часа в неделю
Чт 20:00, Пн 20:00
Начало занятий
29 июня
Что даст вам этот курс

Этот курс подойдет разработчикам, которые:

- хотят стать JavaScript FullStack разработчиками
- хотят больше веселья и хардкора с технологиями, больше сложных и комплексных задач в работе
- имеют опыт работы с одной технологией или языком программирования и хотят получить практические навыки других технологий или переквалифицироваться
- хотят улучшить свои технические скиллы и перейти на следующий профессиональный уровень

В рамках курса мы рассмотрим:

Ключевые особенности 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 подход и писать тесты на различных фреймворках и уровнях.



Изучим полный ландшафт современных технологий Node / React / Angular / Vue / Web Components

Выполним домашние задания в формате мини-assignment, как на собеседованиях в российские и европейские компании

Углубимся во внутренние алгоритмы и логику работы фреймворков и рассмотрим спецификации

Выпускников этого курса ждут 65 работодателей



По окончании курса студент будет:

- Понимать принципы работы современных JavaScript фреймворков и библиотек
- Уметь применять паттерны проектирования (Event Loop, Flux, Immutable, Virtual DOM, Dependency Injection, Observables)
- Знать подходы при проектировании, организации, контроля состояния и тестирования серверных и клиентских приложений
- Выбирать подходящие инструменты для проекта
- Тестировать проект unit-тестами на разных уровнях
- Создавать веб-приложения с использованием современных технологий

ИНДУСТРИАЛЬНЫЙ ПРОЕКТ ОТ компании REVOLUT *

  • Напоминалка о плановом медицинском обследовании

  • Каталогизатор мемов с загрузкой, тегированием и поиском


  • Возможные технологии для проектов — Node + Vue/Angular/React/Polymer.

    *Индустриальный проект является техническим собеседованием в компанию, упрощая трудоустройство. Так же он дает возможность отработать навыки разработки на приближены к реальным кейсах и получить дополнительную консультацию от специалиста компании.
    Всё о курсе «Fullstack разработчик JavaScript», 10 июня в 20:00
    На Дне открытых дверей преподаватель расскажет о программе курса, формате обучения и перспективах для выпускников. Формат проведения — онлайн трансляция. Участие бесплатное.

    Первые 20 участников, зарегистрировавшихся на этот вебинар, получат Сертификат на скидку на электронную почту в течение 1-2 дней после трансляции.

    Еще 10 сертификатов на скидку распределим в прямом эфире между теми, кто записался на вебинар. Запись на участие в акции закрывается в день проведения вебинара в 16:00 (полные правила акции читайте на сайте https://otus.ru/legal/promo/)

    Применить Сертификат можно только после успешного прохождения вступительного тестирования.

    Готовьте вопросы, сдавайте вступительный тест и присоединяйтесь!
    Ведут
    Александр
    Коржиков
    Ведут
    Михаил
    Кузнецов
    Ведут
    Никита
    Овчинников
    Предыдущий день открытых дверей
    WebAssembly: что и как, 19 июня в 20:00
    Знакомимся с WebAssembly (задачи, основные определения и цели проекта). Рассматриваем практические примеры компиляции и использования WebAssembly с JavaScript. Пробуем использовать WebAssembly с Node.js. Также смотрим дизайн, возможности, семантику, JavaScript API, Modules и изучаем примеры использования.
    Александр
    Коржиков
    Предыдущий открытый вебинар
    Любое приложение, которое может быть написано на JavaScript, обязательно будет написано на JavaScript
    Александр Коржиков
    Преподаватель курса
    Преподаватели
    Александр Коржиков
    Dev IT Engineer ING Group (Нидерланды)
    Дмитрий Трухин
    Антон Морев
    Wormsoft, основатель и IT-директор
    Михаил Кузнецов
    ING Group
    Юрий Дворжецкий
    Luxoft Training Center
    Павел Асташкин
    Опытный программист, Senior Web Developer, тимлид, ментор и автор технических статей по JavaScript. Специалист по Front End, программирует на JavaScript, начиная с 2010 года.

    Работал в компаниях Tinkoff Bank (Москва), «Альпари», Comindware, Backbase (Амстердам) и других. С 2017 года — Dev IT Engineer в международной финансовой корпорации ING Group (Нидерланды). Занимается проектированием и поддержкой процессов web-разработки.

    Среди реализованных проектов — JSON Schema Validator Library (самая быстрая JavaScript-библиотека для проверки объектов на соответствие определениям JSON).

    Образование: степень магистра в Московском государственном университете им. М. В. Ломоносова (факультет вычислительной математики и кибернетики, кафедра автоматизации научных исследований).

    Руководитель программы
    10 лет в IT, большую часть в автоматизации тестирования

    Занимался разработкой автотестов, развитием QA и запуском автоматизированного тестирования на проектах совершенного разного уровня, в том числе Five9 и Tinkoff.

    Сейчас специализируется на внедрении QA-процессов и автоматизации с нуля в небольших проектах и стартапах

    Закончил МФТИ в 2017 году и РАНХиГС в 2015. Коммерческой разработкой занимается с 2008 года. Начинал с разработки на C#, постепенно перешел в WEB в 2011 году и сейчас разрабатывает в этой области. В 2016 году основал компанию Wormsoft, которая специализируется на автоматизации бизнес процессов, UX-аналитике, проектировании, дизайне, веб-разработке, а также развитии интернет-проектов.

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

    Преподаватель
    Fullstack developer в международной финансовой корпорации ING с главным офисом в Амстердаме (Нидерланды). Проектирует и поддерживает процессы WEB-разработки. Окончил химфак МГУ.

    Программирует на JavaScript уже более 8 лет. Консультировал по JS-разработке, занимался популяризацией фронтенд-фреймворка Vue.js.

    Кроме JavaScript, имеет опыт разработки на Python и Java. Выступал докладчиком на конференциях Frontend Conf Moscow, UtahJS и др.

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

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

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

    Сейчас разрабатывает web-приложения c UI на React и Angular.

    Преподаватель
    Маркетолог по образованию, программист по призванию.

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

    Плюс ко всему, является выпускником курса "Разработчик JavaScript"!

    Александр
    Коржиков
    Дмитрий
    Трухин
    Антон
    Морев
    Михаил
    Кузнецов
    Юрий
    Дворжецкий
    Павел
    Асташкин
    Преподаватели
    Александр Коржиков
    Dev IT Engineer ING Group (Нидерланды)
    Опытный программист, Senior Web Developer, тимлид, ментор и автор технических статей по JavaScript. Специалист по Front End, программирует на JavaScript, начиная с 2010 года.

    Работал в компаниях Tinkoff Bank (Москва), «Альпари», Comindware, Backbase (Амстердам) и других. С 2017 года — Dev IT Engineer в международной финансовой корпорации ING Group (Нидерланды). Занимается проектированием и поддержкой процессов web-разработки.

    Среди реализованных проектов — JSON Schema Validator Library (самая быстрая JavaScript-библиотека для проверки объектов на соответствие определениям JSON).

    Образование: степень магистра в Московском государственном университете им. М. В. Ломоносова (факультет вычислительной математики и кибернетики, кафедра автоматизации научных исследований).

    Руководитель программы
    Дмитрий Трухин
    10 лет в IT, большую часть в автоматизации тестирования

    Занимался разработкой автотестов, развитием QA и запуском автоматизированного тестирования на проектах совершенного разного уровня, в том числе Five9 и Tinkoff.

    Сейчас специализируется на внедрении QA-процессов и автоматизации с нуля в небольших проектах и стартапах

    Антон Морев
    Wormsoft, основатель и IT-директор
    Закончил МФТИ в 2017 году и РАНХиГС в 2015. Коммерческой разработкой занимается с 2008 года. Начинал с разработки на C#, постепенно перешел в WEB в 2011 году и сейчас разрабатывает в этой области. В 2016 году основал компанию Wormsoft, которая специализируется на автоматизации бизнес процессов, UX-аналитике, проектировании, дизайне, веб-разработке, а также развитии интернет-проектов.

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

    Преподаватель
    Михаил Кузнецов
    ING Group
    Fullstack developer в международной финансовой корпорации ING с главным офисом в Амстердаме (Нидерланды). Проектирует и поддерживает процессы WEB-разработки. Окончил химфак МГУ.

    Программирует на JavaScript уже более 8 лет. Консультировал по JS-разработке, занимался популяризацией фронтенд-фреймворка Vue.js.

    Кроме JavaScript, имеет опыт разработки на Python и Java. Выступал докладчиком на конференциях Frontend Conf Moscow, UtahJS и др.

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

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

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

    Сейчас разрабатывает web-приложения c UI на React и Angular.

    Преподаватель
    Павел Асташкин
    Маркетолог по образованию, программист по призванию.

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

    Плюс ко всему, является выпускником курса "Разработчик JavaScript"!

    Отзывы
    4
    Дацюк
    Денис
    Все понравилось
    Читать целиком
    Виталий
    Нестеренко
    До обучения в Otus я работал (и работаю сейчас) в компании АО Барс Груп.
    Я работаю фронтенд разработчиком. Я выбрал соответствующий курс (фронтенд разработчик), хотел расширить кругозор, поработать с еще незнакомыми технологиями.
    Я почитал программу курса, мне она понравилась и я записался на курс.
    Курс мне в целом понравился, широта охвата довольно большая. Было достаточное количество домашних заданий, хотя сроки их проверки иногда хромали и мне приходилось несколько раз напоминать, чтобы ускорить проверку.
    Впрочем, к моменту сдачи проекта, последнюю работу довольно быстро проверили и приняли.
    Мне кажется, основное обучение происходит тогда, когда человек что-то делает сам, поэтому задания - это ключевой момент в обучении. Вот этих заданий можно было бы добавить еще. Возможно, более сложных.
    Мне обучение дало, ровно то, что я и хотел - расширил кругозор. Я познакомился чуть глубже с фреймворками с которыми, либо был слабо знаком (современный Angular) либо вовсе незнаком (Vue), узнал больше о Node JS, о веб компонентах.
    Новую должность, я, правда, не получил, но этот процесс у нас в компании формализован и тут недостаточно просто пройти обучение.
    Читать целиком
    Константин
    Казачихин
    Вот и закончился наш полугодовой otus-марафон с недосыпными ночами и потерянными выходными. Но оно того стоило! Теперь мы умеем кидаться сюрикенами, рубить головы катаной и летать по крышам домов))
    Поделюсь немного своими впечатлениями.
    Прежде всего, Александр, Михаил, Юрий - вам отдельное большое спасибо, вы молодцы!
    Если говорить в двух словах, то мы (студенты) за это время прошли путь от "О боже, как это работает" до "Как же приятно и удобно писать приложения на этом фреймворке/библиотеке". За этим одним простым предложением скрывается многое. Уверен, коллеги, вы меня понимаете.
    Одна из изюминок курса - широкий охват изучаемых фреймворков, js-технологий, инструментов. Это здорово! Это позволяет лучше понять и представить общую картину в целом и те принципы, идеи, что были заложенные в тот или иной подход/технологию. Я для себя сделал вывод: если ты критикуешь React|Vue|Angular|Node, то скорей всего ты просто неправильно его используешь. Каждый из них по своему хорош и имеет свою область применения (если так можно выразиться). В React мне понравилась его продуманность, логичность. Удивительно, что его такие "простые" принципы позволяют писать разносторонние и сложные приложения. Vue часто недооценивают, но на нем не менее "приятно" писать сайты. Vuetify и Buefy - огонь! Angular - это бог асинхронности и двухсторонних связей)) После занятий по Angular я прям проникся и влюбился в обсервебелы.
    Сейчас у нового потока будет Svetle, завидно.
    Чего мне не хватило.
    1) Прежде всего, конечно, это касается домашек. Тут в OTUS есть над чем поработать. Не знаю как это лучше сделать, но было бы здорово, если бы выполнение домашек не отставало от проходимых тем. Тут сразу несколько факторов сыграли: мы студенты долго делали, преподаватели с задержкой проверяли. Упрощать домашки - не хотелось бы. Возможно здесь помогло бы более конкретное и подробное описание и постановка задач ДЗ. В описании курса было указано, что потребуется 3-5 часов на ДЗ. По факту выходит больше. С учетом чтения документации, изучения других материалов, сам кодинг, плюс доработка и исправление после проверки - в итоге получается порядка 5-15 часов на одно ДЗ.
    Я бы ещё предложил подумать над тем, чтобы (помимо ДЗ) после каждого урока давать студентам 1-2 несложных маленьких задачки для закрепления материала и без оценки, а в начале следующего занятия показывать правильный ответ.
    2) Надо уменьшать порог вхождения в React. На мой взгляд, в этот раз получилось не очень удачно. Все студенты имеют разный уровень/багаж знаний, есть среди нас и новички. И бросать плохо плавающего сразу в воду - это жестоко. Как минимум, не надо учить писать в React на typescript. Либо проводить занятие по typescript перед React-ом. Vue и Angular даются по проще потому, что они идут уже после React. Вообще, то что React поставлен первым - я считаю правильно. Он очень хорошо подходит для знакомства с теми принципами, что заложены в современные фреймворки. Но раз уж он первый, то здесь лучше немного "пережевать" материал, чем "недожевать" - для лучшего усваивания студентами.
    3) Ещё чего мне немного не хватило в занятиях - это по больше информации, касаемой вопросов сборки, компиляции и настройки окружения (webpack, babel и т.п.). Это пусть и второстепенная, но тоже важная и нужная вещь в работе программиста - умение настроить и использовать инструменты разработки. Например, можно взять какой-то заранее подготовленный пример и пройтись по файлам настроек. Типа вот смотрите это файл конфигурации webpack, он включает в себя такие-то разделы опций. И взять десяток наиболее часто используемых параметров и кратко пройтись по ним (для чего нужны, как и когда используются). Потом пройтись аналогично по настройкам babel + 10 пресетов/плагинов для примера. Потом показать как сделать настройки для typescript, для eslint. По ближе к практике. Думаю, это было бы полезно и интересно для студентов. Порой даже опытные программисты подзабывают или не до конца понимают все возможности используемых ими инструментов.
    В целом, я рад, что прошел курс. Нисколько не жалею. Ещё раз спасибо всем. И главное, будьте здоровы! :)
    Читать целиком
    Александр
    Чухванцев
    Отличный курс. Так держать!
    Читать целиком
    Дацюк
    Денис
    Все понравилось
    Читать целиком
    Виталий
    Нестеренко
    До обучения в Otus я работал (и работаю сейчас) в компании АО Барс Груп.
    Я работаю фронтенд разработчиком. Я выбрал соответствующий курс (фронтенд разработчик), хотел расширить кругозор, поработать с еще незнакомыми технологиями.
    Я почитал программу курса, мне она понравилась и я записался на курс.
    Курс мне в целом понравился, широта охвата довольно большая. Было достаточное количество домашних заданий, хотя сроки их проверки иногда хромали и мне приходилось несколько раз напоминать, чтобы ускорить проверку.
    Впрочем, к моменту сдачи проекта, последнюю работу довольно быстро проверили и приняли.
    Мне кажется, основное обучение происходит тогда, когда человек что-то делает сам, поэтому задания - это ключевой момент в обучении. Вот этих заданий можно было бы добавить еще. Возможно, более сложных.
    Мне обучение дало, ровно то, что я и хотел - расширил кругозор. Я познакомился чуть глубже с фреймворками с которыми, либо был слабо знаком (современный Angular) либо вовсе незнаком (Vue), узнал больше о Node JS, о веб компонентах.
    Новую должность, я, правда, не получил, но этот процесс у нас в компании формализован и тут недостаточно просто пройти обучение.
    Читать целиком
    Константин
    Казачихин
    Вот и закончился наш полугодовой otus-марафон с недосыпными ночами и потерянными выходными. Но оно того стоило! Теперь мы умеем кидаться сюрикенами, рубить головы катаной и летать по крышам домов))
    Поделюсь немного своими впечатлениями.
    Прежде всего, Александр, Михаил, Юрий - вам отдельное большое спасибо, вы молодцы!
    Если говорить в двух словах, то мы (студенты) за это время прошли путь от "О боже, как это работает" до "Как же приятно и удобно писать приложения на этом фреймворке/библиотеке". За этим одним простым предложением скрывается многое. Уверен, коллеги, вы меня понимаете.
    Одна из изюминок курса - широкий охват изучаемых фреймворков, js-технологий, инструментов. Это здорово! Это позволяет лучше понять и представить общую картину в целом и те принципы, идеи, что были заложенные в тот или иной подход/технологию. Я для себя сделал вывод: если ты критикуешь React|Vue|Angular|Node, то скорей всего ты просто неправильно его используешь. Каждый из них по своему хорош и имеет свою область применения (если так можно выразиться). В React мне понравилась его продуманность, логичность. Удивительно, что его такие "простые" принципы позволяют писать разносторонние и сложные приложения. Vue часто недооценивают, но на нем не менее "приятно" писать сайты. Vuetify и Buefy - огонь! Angular - это бог асинхронности и двухсторонних связей)) После занятий по Angular я прям проникся и влюбился в обсервебелы.
    Сейчас у нового потока будет Svetle, завидно.
    Чего мне не хватило.
    1) Прежде всего, конечно, это касается домашек. Тут в OTUS есть над чем поработать. Не знаю как это лучше сделать, но было бы здорово, если бы выполнение домашек не отставало от проходимых тем. Тут сразу несколько факторов сыграли: мы студенты долго делали, преподаватели с задержкой проверяли. Упрощать домашки - не хотелось бы. Возможно здесь помогло бы более конкретное и подробное описание и постановка задач ДЗ. В описании курса было указано, что потребуется 3-5 часов на ДЗ. По факту выходит больше. С учетом чтения документации, изучения других материалов, сам кодинг, плюс доработка и исправление после проверки - в итоге получается порядка 5-15 часов на одно ДЗ.
    Я бы ещё предложил подумать над тем, чтобы (помимо ДЗ) после каждого урока давать студентам 1-2 несложных маленьких задачки для закрепления материала и без оценки, а в начале следующего занятия показывать правильный ответ.
    2) Надо уменьшать порог вхождения в React. На мой взгляд, в этот раз получилось не очень удачно. Все студенты имеют разный уровень/багаж знаний, есть среди нас и новички. И бросать плохо плавающего сразу в воду - это жестоко. Как минимум, не надо учить писать в React на typescript. Либо проводить занятие по typescript перед React-ом. Vue и Angular даются по проще потому, что они идут уже после React. Вообще, то что React поставлен первым - я считаю правильно. Он очень хорошо подходит для знакомства с теми принципами, что заложены в современные фреймворки. Но раз уж он первый, то здесь лучше немного "пережевать" материал, чем "недожевать" - для лучшего усваивания студентами.
    3) Ещё чего мне немного не хватило в занятиях - это по больше информации, касаемой вопросов сборки, компиляции и настройки окружения (webpack, babel и т.п.). Это пусть и второстепенная, но тоже важная и нужная вещь в работе программиста - умение настроить и использовать инструменты разработки. Например, можно взять какой-то заранее подготовленный пример и пройтись по файлам настроек. Типа вот смотрите это файл конфигурации webpack, он включает в себя такие-то разделы опций. И взять десяток наиболее часто используемых параметров и кратко пройтись по ним (для чего нужны, как и когда используются). Потом пройтись аналогично по настройкам babel + 10 пресетов/плагинов для примера. Потом показать как сделать настройки для typescript, для eslint. По ближе к практике. Думаю, это было бы полезно и интересно для студентов. Порой даже опытные программисты подзабывают или не до конца понимают все возможности используемых ими инструментов.
    В целом, я рад, что прошел курс. Нисколько не жалею. Ещё раз спасибо всем. И главное, будьте здоровы! :)
    Читать целиком
    Александр
    Чухванцев
    Отличный курс. Так держать!
    Читать целиком
    11 вопросов JS-разработчику
    Необходимые знания

    - Знание основ JavaScript (переменные, циклы, функции, замыкания, создание объектов, scope, this, работа со встроенными классами и API - Date, Math, RegExp, Array - map, forEach, filter, reduce)
    - Основы работы браузера и браузерного API
    - Знание HTML и CSS
    - Базовые навыки работы с Git (понимание VCS, создать ветку, сделать Merge Request на github)

    Плюсом будет:
    - опыт использования JavaScript библиотек / фреймворков
    - понимание или желание разбираться с алгоритмическими, проектировочными и логическими задачами
    - умеет работать с IDE
    Подготовительный курс

    • Все основные возможности Javascript

    • Домашние задания и их разбор

    • Подготовка к курсам "Fullstack разработчик Javascript", "React.js-разработчик" и "Node.js-разработчик"

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

    Вебинары идут дважды в неделю по 2 академических часа (то есть астрономических 1,5 часа). Все вебинары сохраняются и в записи в вашем личном кабинете.

    Домашнее задание выдается в среднем раз в 2 недели, а его выполнение занимает 3-5 часов. Мы горячо призываем заниматься такой самостоятельной работой, так как это поможет вам качественно освоить все изучаемые технологии на практике с поддержкой и обратной связью наших преподавателей.

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

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

    Выполнение проектной работы помогает усвоению практических навыков, а тема проекта отдельно выносится в сертификат. Во время работы над проектом студенты получают консультации и обратную связь от преподавателей в слаке группы и на проектных занятиях.
    Программа обучения
    Модуль 1
    JavaScript
    Модуль 2
    Современный Стэк JavaScript
    Модуль 3
    Node
    Модуль 4
    Vue
    Модуль 5
    React
    Модуль 6
    Angular
    Модуль 7
    Проектная работа
    JavaScript
    Мы рассмотрим основные возможности современного и традиционного JavaScript, стандарт EcmaScript 6+, Templates, асинхронные паттерны Promise, Async Await, переменные, замыкания, функции, наследование и классы. Разберем особенности браузерного API и спецификаций Web Components на примере библиотеки Lit-HTML. Обсудим главные принципы и возможности Node.js, а также NPM для управления зависимостями и автоматизации задач. Мы научимся использовать Test-Driven Development при решении практических задач.
    Тема 1: Введение в курс Modern JavaScript Frameworks
    после занятия вы сможете:
    познакомиться с преподавателем и с программой курса, понимать как она построена и какие полезные навыки они получат;
    объяснить основные возможности языка JavaScript;
    применять техники языка, которые помогут при изучении фреймворков.
    29 июня, 20:00 — 21:30
    Лектор: Александр Коржиков
    Домашние задания: 1
    1 Написать функцию суммирования значений
    Написать функцию sum, которая может быть исполнена любое количество раз с не `undefined` аргументом.
    Если она исполнена без аргументов, то возвращает значение суммы всех переданных до этого значений.

    sum(1)(2)(3)....(n)() === 1 + 2 + 3 + ... + n
    Тема 2: Возможности современного JavaScript
    после занятия вы сможете:
    решать специфичные для браузерной разработки задачи на языке JavaScript;
    освоить и вспомнить теорию, которая будет базисом для последующих уроков;
    попрактиковаться с технологиями AJAX, WebSocket, Promise.
    2 июля, 20:00 — 21:30
    Тема 3: JavaScript - Работа с браузером
    после занятия вы сможете:
    решать специфичные для браузерной разработки задачи на языке JavaScript;
    работать с Chrome Dev Tools.
    6 июля, 20:00 — 21:30
    Тема 4: Введение в Node - Пакетный менеджер NPM и возможности package.json
    после занятия вы сможете:
    запускать приложения на платформе Node;
    писать и запускать тесты для серверного JavaScript;
    работать с пакетным менеджером NPM;
    управлять зависимостями и автоматизировать задачи с помощью package.json.
    9 июля, 20:00 — 21:30
    Тема 5: Test Driven Development с JavaScript
    после занятия вы сможете:
    разбирать примеры.
    13 июля, 20:00 — 21:30
    Лектор: Юрий Дворжецкий
    Домашние задания: 1
    1 getPath - поиск уникального селектора
    Цель: Написать алгоритм и функцию `getPath()`, находяющую уникальный css-селектор для элемента в документе. Уникальный селектор может быть использован `document.querySelector()` и возвращать исходный элемент. Так чтобы `document.querySelectorAll()`, вызванный с этим селектором, не должен находить никаких элементов, кроме исходного. ```javascript $0 // HTMLElement getPath($0) // => "body div.someclass ul li:first-child" ``` Использовать TDD, добавить юнит тесты для функции
    Современный Стэк JavaScript
    В этом блоке мы рассматриваем свежие, но уже зарекомендовавшие себя темы из мира JavaScript. Познакомимся со спецификацией Web Components, и научимся использовать библиотеку Lit-Element, построенную вокруг этой технологии.
    SvelteJS - новая большая вещь в мире фронтенда, и мы обязательно должны ее попробовать. TypeScript - стандарт отрасли, поэтому мы начинаем его изучать и практиковать как можно раньше в курсе в FullStack JavaScript разработчик.
    Тема 1: Web Components
    после занятия вы сможете:
    ориентироваться в веб спецификациях Custom Elements и Shadow DOM;
    создавать custom elements, используя встроенные браузерные возможности;
    использовать HTML Template для шаблонизации компонент.
    16 июля, 20:00 — 21:30
    Тема 2: Использование Lit-HTML и Webpack
    после занятия вы сможете:
    использовать особенности Lit-HTML для создания приложений;
    объяснить принципы Polymer;
    настраивать Webpack;
    различать Parcel и Rollup.
    20 июля, 20:00 — 21:30
    Лектор: Михаил Кузнецов
    Домашние задания: 1
    1 Custom Elements Tree
    С помощью Custom Elements создать приложение для показа дерева с помощью компонентов my-tree и my-leaf. Компоненты должны получать данные о структуре поддерева от родительского элемента. Используйте Shadow DOM при отрисовке компонент. Можно также использовать для реализации Lit-Element, Lit-HTML или Polymer.

    Пример структуры

    {
    "id": 1,
    "items": [{
    "id": 2,
    "items": [{ "id": 3 }]
    }]
    }
    Тема 3: Введение в SvelteJS
    после занятия вы сможете:
    объяснить основные преимущества и цели фреймворка;
    запускать проект на SvelteJS;
    использовать шаблоны и создавать компоненты.
    23 июля, 20:00 — 21:30
    Лектор: Михаил Кузнецов
    Тема 4: Особенности разработки приложений с SvelteJS
    после занятия вы сможете:
    создавать Routing для приложений;
    описавать стили для проекта под SvelteJS;
    тестировать и подготовить проект к production.
    27 июля, 20:00 — 21:30
    Лектор: Михаил Кузнецов
    Тема 5: Введение в TypeScript
    после занятия вы сможете:
    различать TypeScript и JavaScript, использовать преимущества статической типизации;
    писать и понимать код на языке TypeScript, разрабатывать приложения в полноценном объектно-ориентированном стиле.
    30 июля, 20:00 — 21:30
    Лектор: Антон Морев
    Тема 6: Особенности TypeScript
    после занятия вы сможете:
    проанализировать специальные особенности TypeScript;
    разбираться в Namespaces, Generics, Decorators, Type Definitions, Metadata;
    применять типы и декораторы.
    подвести итоги технологий `Node`.
    3 августа, 20:00 — 21:30
    Лектор: Антон Морев
    Node
    Этот модуль о серверной среде JavaScript. Мы разберем ключевые особенности Node.js - EventLoop, модули и потоки. Мы научимся строить API, используя фреймворк Express, подходы REST и GraphQL. Поговорим о WebAssembly и общих практиках при работе с процессами и ошибками. В конце мы подведем резюме стэка технологий Node.js.
    Тема 1: Основные концепции Node - Modules
    после занятия вы сможете:
    использовать require, exports и ES6 Imports для экспорта и импорта зависимостей.
    6 августа, 20:00 — 21:30
    Тема 2: Стандартная библиотека Node - EventLoop - Timers
    после занятия вы сможете:
    ориентироваться в понятии EventLoop и особенностях работы Timers;
    использовать классы, объекты и функции модуля Streams;
    работать c HTTP запросами в Node.
    10 августа, 20:00 — 21:30
    Домашние задания: 1
    1 tree - вывод списка файлов и папок файловой системы
    Напишите `NodeJS` скрипт `tree` для вывода списка файлов и папок файловой системы.
    Результатом работы должен быть объект с массивами `{ files, folders }`.
    Вызовы файловой системы должны быть асинхронными.
    Скрипт принимает входной параметр - путь до папки.
    Добавить возможность выполнять этот скрипт через команду `npm run tree -- path`

    Пример

    ```
    foo/
    ├── bar/
    │├── bar1.txt
    │├── bar2.txt
    │└── baz/
    ├── f1.txt
    └── f2.txt
    ```

    При вызове с путем `foo/` скрипт должен вернуть структуру:

    ```json
    {
    "files": [
    "foo/f1.txt",
    "foo/f2.txt",
    "foo/bar/bar1.txt",
    "foo/bar/bar2.txt"
    ],
    "dirs": [
    "foo",
    "foo/bar",
    "foo/bar/baz"
    ]
    }
    ```
    Тема 3: Node Best Practices - Streams - Errors - Processes
    после занятия вы сможете:
    работать с дочерними процессами в Node;
    различать корректные и ошибочные техники при написании; серверного JavaScript кода.
    13 августа, 20:00 — 21:30
    Домашние задания: 1
    1 Работа с потоками в NodeJS*
    * - задача со звездочкой. Сдается при желании.

    Необходимо отсортировать большой файл со случайными целыми числами, размером 100 МБ, в условиях ограниченной оперативной памяти - 50 МБ. Решение должно быть построено с использованием потоков.

    Для решения задачи можно использовать алгоритм “Сортировка слиянием”.
    Процесс можно разделить на 3 этапа.

    Этап 0
    Любым удобным вам способом создаем исходный файл с числами размером 100 МБ.

    Этап 1
    Исходный файл с числами необходимо разбить на несколько файлов поменьше, предварительно отсортировав их независимо друг от друга.

    Этап 2
    Необходимо создать механизм чтения чисел сразу из нескольких файлов (потоков).
    Читать данные из потоков следует по принципу pause/resume.

    Этап 3
    Необходимо создать цикл, который будет работать с данными сразу из всех потоков.
    Такой цикл будет прерван только тогда, когда будут полностью прочитаны все файлы.
    В цикле следует искать наименьшее значение и записывать его в итоговый файл.
    1 итерация = 1 число

    Для проверки решения, скрипт необходимо запустить командой
    $ node --max-old-space-size=50 script.js
    Тема 4: Web-сервер на JavaScript - Стек MEAN - Express - MongoDB
    после занятия вы сможете:
    создавать простые приложения с использованием библиотеки Express, а также базы данных MongoDB.
    17 августа, 20:00 — 21:30
    Тема 5: Специальные возможности Express
    после занятия вы сможете:
    работать с аутентификацией и авторизацией.
    20 августа, 20:00 — 21:30
    Тема 6: Построение Rest API
    после занятия вы сможете:
    добавлять общие стандарты создания API;
    объяснить REST, принципы построения API;
    проанализировать технологии аутентификации в веб приложениях.
    24 августа, 20:00 — 21:30
    Лектор: Михаил Кузнецов
    Тема 7: GraphQL Server
    работать с GraphQL и основными концепциями.
    27 августа, 20:00 — 21:30
    Лектор: Михаил Кузнецов
    Домашние задания: 1
    1 Домашняя работа для `Занятие "GraphQL Server"`
    На выбор одна из следующих задач:

    ---

    Часть 1.
    Написать схему GraphQL для примера веб-приложения e-commerce shop:
    до 3 балла - какие сущности (минимум 3, можно больше), какие у них поля, какие обязательные какие нет
    до 4 баллов - какие запросы/мутации понадобятся (минимум 4, можно больше)

    Часть 2.
    до 5 баллов - развернуть локально graphQL + nodejs или воспользоваться одним из веб демо (graphqlbin), перенести полностью или частично написанную в Части 1 схему.
    Результатом работы будет ссылка на онлайн демо или репозиторий.

    ---

    // ИЛИ

    Написать `NodeJS Rest API` приложение для сохранения `RSS` рассылок.
    В приложении должно быть следующие точки доступа
    - Создание рассылки по `URL`. При успешном добавлении приложение будет запрашивать `RSS` рассылку, парсить `XML` и сохранять документы в базу данных.
    - Показ списка всех добавленных `URL` рассылок.
    - Показ всех сохраненных из `RSS` документов.

    Приложение должно содержать тесты для всех точек доступа.
    Vue
    В этом модуле мы сосредоточимся на Vue - современном и популярном FrontEnd фреймворке. Мы рассмотрим особенности шаблонизации и создания динамических приложений на Vue. Разберем возможности и жизненный цикл компонент, хранения состояния. Изучим инструменты Vuex и Vue CLI. Будем настраивать и оптимизировать сборку приложений с Server-Side Rendering.
    Тема 1: Основы Vue
    после занятия вы сможете:
    настроить себе окружение IDE, зависимости и библиотеки для создания проектов и работы с Vue;
    создавать простейшие приложения используя Vue.
    31 августа, 20:00 — 21:30
    Лектор: Михаил Кузнецов
    Тема 2: Компоненты, шаблонизатор и формы
    после занятия вы сможете:
    объяснить синтаксис шаблонизаторы;
    создавать компоненты, описывать атрибуты элементов.
    3 сентября, 20:00 — 21:30
    Домашние задания: 1
    1 Структура приложения "Устный счет"
    В разделе Vue одна большая самостоятельная работа - SPA (Single Page Application) игра "Устный счет".
    Игра состоит из двух экранов - на первом экране пользователь выбирает настройки, которые будут использовать в игре - типы вычислений, сложность, время раунда.
    На этой же странице показывается статистика тренировок.
    Вторая страница - сама игра.
    Пользователь должен решить максимальное количество задач на заданное время.
    Мокапы - https://app.moqups.com/korzio@gmail.com/bTYyBLCtpU/edit/page/ad64222d5

    ---

    Подготовить общую структуру приложения - компоненты контейнеры для страниц приложения.
    Сделать первую страницу приложения - форму настроек.
    Тема 3: Routing и модели данных
    после занятия вы сможете:
    описывать routing для Vue приложений;
    создавать формы, связывая шаблоны с моделями.
    7 сентября, 20:00 — 21:30
    Лектор: Михаил Кузнецов
    Тема 4: Advanced Vue - Vuex
    после занятия вы сможете:
    применять анимацию в компонентах;
    создавать плагины;
    разбираться в тонкостях Change Detection.
    10 сентября, 20:00 — 21:30
    Лектор: Михаил Кузнецов
    Домашние задания: 1
    1 Routing для приложения "Устный счет"
    Реализовать второй экран - игру "калькулятор".
    Настроить переходы по страницам приложения.
    Тема 5: Специфика построений приложений c Vue, Best Practices
    после занятия вы сможете:
    работать с анимацией во Vue.
    14 сентября, 20:00 — 21:30
    Лектор: Михаил Кузнецов
    Домашние задания: 1
    1 Добавление фич в open source проект
    На каждый поток мы выбираем репозиторий с каким то проектом или плагином и развиваем его силами студентов курса.
    React
    Мы подробно изучим стэк технологий React. Рассмотрим особенности синтаксической шаблонизации JSX, особенности передачи данных и хранения состояния с помощью state и props. Разберем свойства компонентного подхода для декомпозиции React приложений, жизненный цикл и типы компонент, например, High-Order Components. Изучим шаблон проектирования Flux и его реализацию на примере библиотеки Redux. Будем настраивать и оптимизировать приложения с Server-Side Rendering.
    Тема 1: Основы React и JSX
    после занятия вы сможете:
    настроить себе окружение для работы с React и использовать его;
    применять синтаксис JSX;
    создавать простые приложения на React.
    17 сентября, 20:00 — 21:30
    Лектор: Никита Овчинников
    Тема 2: Компоненты React - Lifecycle React-компонент - state и props
    после занятия вы сможете:
    разрабатывать полноценные React-компоненты в различных стилях;
    корректно использовать state и props.
    21 сентября, 20:00 — 21:30
    Лектор: Никита Овчинников
    Домашние задания: 1
    1 Создать структуру приложения погоды
    Цель: Приложение для самостоятельной работы в блоке React - веб-приложение погоды. На странице приложения должна быть возможность добавлять города в список избранных. По каждому городу показывается информация о температуре, ветре, другие параметры. 1. Развернуть приложение с помощью CRA (по желанию) 2. Настроить кастомный webpack + babel проект (+2 балла) 3. Заставить работать TypeScript через babel (+1 бал) 4. Написать хелло ворлд (todo app или любое другое), сделать базовую верстку вашего приложения, поработать с JSX (+2 бал)
    Тема 3: Паттерны проектирования React (Higher-Order Components)
    24 сентября, 20:00 — 21:30
    Лектор: Никита Овчинников
    Тема 4: Обзор современных возможностей React
    после занятия вы сможете:
    разбираться в техниках и использовать различные hooks.
    28 сентября, 20:00 — 21:30
    Лектор: Никита Овчинников
    Тема 5: Состояние приложения - Flux и Redux
    после занятия вы сможете:
    отличать основные понятия однонаправленной архитектуры Flux;
    ориентироваться и использовать возможности redux - создавать actions, reducers, а также применять redux в связке в React.
    1 октября, 20:00 — 21:30
    Лектор: Никита Овчинников
    Тема 6: Особенности использования Redux
    после занятия вы сможете:
    использовать Redux в React приложениях.
    5 октября, 20:00 — 21:30
    Лектор: Никита Овчинников
    Тема 7: Routing в React - Оптимизация приложения
    после занятия вы сможете:
    создавать систему routing для React приложений, использовать библиотеку react-router;
    использовать специальные возможности библиотеки для оптимизации отрисовки.
    8 октября, 20:00 — 21:30
    Лектор: Никита Овчинников
    Домашние задания: 1
    1 Routing для приложения погоды
    Реализовать компонент фильтра и поиска городов.
    Данные по городам сохранять в браузерном хранилище.
    Добавить страницу погоды по конкретному городу.
    При переходе на нее должен меняться url, показываться информация на несколько дней вперед.
    Тема 8: Подготовка React Приложения к Production, Best Practices
    после занятия вы сможет:
    эффективно разрабатывать приложения на React, учитывая последние тенденции в разработке front-end;
    использовать Advanced React;
    применять на практике Best-Practices разработки на React.
    12 октября, 20:00 — 21:30
    Лектор: Никита Овчинников
    Angular
    Подробно изучим язык TypeScript и преимущества его использования. Разберем паттерн проектирования Observable на базе библиотеки RxJS. Научимся работать с фреймворком Angular - создавать компоненты и формы, управлять Routing, использовать Dependency Injection для сервисов, а также тестировать и собирать приложения с помощью Webpack.
    Тема 1: Введение в Angular
    после занятия вы сможет:
    настроить себе окружение IDE, а также скачать зависимости и библиотеки, коммандные утилиты для TypeScript и создания проектов для работы с Angular;
    различать TypeScript и JavaScript;
    писать и понимать код на языке TypeScript.
    15 октября, 20:00 — 21:30
    Лектор: Юрий Дворжецкий
    Тема 2: Компоненты и директивы
    после занятия вы сможет:
    декомпозировать макет страницы на компоненты;
    различать директивы и компоненты во фреймворке Angular;
    создавать простые директивы и компоненты.
    19 октября, 20:00 — 21:30
    Лектор: Юрий Дворжецкий
    Домашние задания: 1
    1 Структура приложения для запоминания иностранных слов
    Приложение для запоминания иностранных слов.
    В этом приложении пользователь сможет добавлять слова для изучения, проходить тесты для запоминания слов.
    Это Single Page Application состоит из 3 страниц:
    - Последние добавленные слова (Recently Added)
    - Упражнениями (Go)
    - Настройки (Settings)
    На главном экране, на странице Recently Added пользователь видит список последних добавленных слов, может добавить новое слово в словарь.

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

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

    Навигация по страницам происходит с помощью ссылок в верхней части страниц, каждой странице соответствует отдельный url.

    ---

    Декомпозировать приложение для запоминания иностранных слов.
    Создать структуру и компоненты контейнеры приложения.
    Тема 3: Сервисы
    после занятия вы сможет:
    создавать сервисы для получения, отправки и хранения данных для приложений Angular.
    22 октября, 20:00 — 21:30
    Лектор: Юрий Дворжецкий
    Тема 4: Observables - RxJS
    после занятия вы сможет:
    отличать основные понятия паттерна;
    применять шаблон проектирования Observables, используя библиотеку RxJS.
    26 октября, 20:00 — 21:30
    Лектор: Юрий Дворжецкий
    Домашние задания: 1
    1 Создать сервисы для работы с текстом
    Создать сервисы для работы с текстом
    - Сервис перевода слова - должен запрашивать перевод через API (например, https://tech.yandex.com/translate/)
    - Сервис хранения словаря - небольшая обертка для управления словарем с помощью `localStorage`
    - Сервис добавления слов - должен разбивать текст на отдельные слова, запрашивать их перевод и сохранять в словарь для приложения.

    Сервисы должны общаться с помощью библиотеки `RxJS`.
    Тема 5: Состояние приложения
    после занятия вы сможет:
    разбираться в особенностях шаблона проектирования Dependency Injection и его имплементации в Angular.
    29 октября, 20:00 — 21:30
    Лектор: Юрий Дворжецкий
    Тема 6: Создание и управление формами в Angular
    после занятия вы сможет:
    создавать формы, используя техники Dynamic Forms, Reactive Forms;
    описывать валидацию и другие функции для элементов форм.
    2 ноября, 20:00 — 21:30
    Лектор: Юрий Дворжецкий
    Домашние задания: 1
    1 User Interface для приложения запоминания иностранных слов
    Реализовать `UI` приложения
    - Создать компоненты для добавления текста/слов в словарь
    - Разработать компоненты и формы для тренировки запоминания слов
    - Добавить экран настройку приложения, сохранять состояние
    Тема 7: Routing
    после занятия вы сможет:
    создавать Routing систему для приложений, используя внутренние подходы Angular - такие как Router, router-outlet и другие;
    применять хэндлеры навигации Guards.
    5 ноября, 20:00 — 21:30
    Лектор: Юрий Дворжецкий
    Тема 8: Тестирование в Angular. Сборка приложения для Production
    после занятия вы сможет:
    писать и запускать тесты для приложений Angular;
    настраивать сборку приложений Angular;
    использовать возможность сборки Server-side Rendering.
    9 ноября, 20:00 — 21:30
    Лектор: Юрий Дворжецкий
    Домашние задания: 1
    1 Routing для приложения запоминания иностранных слов
    Добавить routing, ссылки на страницы и переходы между компонентами приложения.
    Добавить и актуализировать тесты для компонент приложения, настроить universal рендеринг приложения.
    Проектная работа
    Заключительный месяц курса посвящен проектной работе. Это то, чем интересно заниматься студенту на базе знаний, полученных на курсе.
    При этом не обязательно закончить его за месяц. В процессе написания по проекту можно получить консультации преподавателей.

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

    Возможные технологии для проектов - Node + Vue/Angular/React/Polymer.
    Тема 1: Вводное занятие по проектной работе. Обзор пройденных фреймворков и технологий
    выбрать и обсудить тему проектной работы;
    спланировать работу над проектом;
    ознакомиться с регламентом работы над проектом;
    выделять характеристики проектов и окружения;
    решать задачи выбора и сравнения фреймворков, понимать их преимущества и недостатки.
    12 ноября, 20:00 — 21:30
    Лектор: Александр Коржиков
    Домашние задания: 1
    1 Проектная работа
    Цель: выбрать тему проекта; закрепить тему в чат с преподавателем.
    Тема 2: Консультация по проектам и домашним заданиям
    получить ответы на вопросы по проекту, ДЗ и по курсу.
    16 ноября, 20:00 — 21:30
    Лектор: Александр Коржиков
    Тема 3: Защита проектных работ
    защитить проект и получить рекомендации экспертов.
    19 ноября, 20:00 — 21:30
    Лектор: Александр Коржиков
    Выпускной проект
    Заключительный месяц курса посвящен проектной работе. Его разработка нужна для окончательного закрепления знаний, которые были получены в рамках пройденных занятий. При успешном выполнении он станет образцом кода, который JavaScript разработчик сможет показывать будущим работодателям. В любом случае, проект — это хороший задел на будущее и возможность получить дополнительный опыт для любого, кто хочет стать более профессиональным разработчиком.

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

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

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

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

    • Elements Dashboard — магазин web-компонент. Разработка выполняется с помощью одной из стандартных библиотек JavaScript. В приложении можно видеть рейтинг, демонстрацию и документацию зарегистрированных элементов.
    Прошедшие открытые вебинары по курсу
    Открытый вебинар — это настоящее занятие в режиме он-лайн с преподавателем курса, которое позволяет посмотреть, как проходит процесс обучения. В ходе занятия слушатели имеют возможность задать вопросы и получить знания по реальным практическим кейсам.
    Svelte.js: быстрый старт
    Михаил Кузнецов
    День открытых дверей
    18 марта в 20:00
    Для доступа к прошедшим мероприятиям необходимо пройти входное тестирование
    Возможность пройти вступительное тестирование повторно появится только через 2 недели
    Результаты тестирования будут отправлены вам на e-mail, указанный при регистрации.
    Тест рассчитан на 30 минут, после начала тестирования отложить тестирование не получится!
    Пройти вступительное тестирование
    После обучения вы

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

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

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

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

    Дата выдачи сертификата: 3 января 2021 года
    Ваш сертификат

    онлайн-образование

    Сертификат №0001

    Константин Константинопольский

    Успешно закончил курс «Fullstack разработчик JavaScript»
    Выполнено практических заданий: 16 из 16

    Общество с ограниченной ответственностью “Отус Онлайн-Образование”

    Город:
    Москва

    Генеральный директор ООО “Отус Онлайн-Образование”
    Виталий Чибриков

    Лицензия на осуществление образовательной деятельности
    № 039825 от 28 декабря 2018 года.

    онлайн-образование

    Сертификат №0001

    Константин Константинопольский

    Успешно закончил курс «Fullstack разработчик JavaScript»
    Выполнено практических заданий: 16 из 16

    Общество с ограниченной ответственностью “Отус Онлайн-Образование”

    Город:
    Москва

    Генеральный директор ООО “Отус Онлайн-Образование”
    Виталий Чибриков

    Лицензия на осуществление образовательной деятельности
    № 039825 от 28 декабря 2018 года.
    Общая стоимость
    100 000 ₽
    В месяц: 22 500 ₽
    Продолжительность
    5 месяцев
    Начало занятий
    29 июня
    🎁 Дарим сертификаты на скидку!
    Запишитесь на июньскую трансляцию интересного вам дня открытых дверей и получите скидочный сертификат ➞