Курс "JavaScript/Интерфейсы" для новичков

Цели курса

  • Научить писать хороший современный код, понимать JavaScript.
  • Грамотно использовать AI-помощника для написания кода, что даёт высокую продуктивность.
  • Уметь создавать интерфейсы и взаимодействовать с сервером.
  • Подготовить к освоению фреймворка: React, Vue, Angular или другого, если ваша цель - создавать сложные приложения.

На курсе вы научитесь не только разрабатывать самостоятельно, но и правильно пользоваться современным AI-помощником для повышения своей продуктивности.

Как организовано обучение?

Курс идёт примерно 1.5 месяца.

До начала обучения: вводные материалы

За неделю до курса мы попросим вас посмотреть вводные материалы по основам JavaScript. Они довольно простые, чтобы на первом занятии вы уже что-то знали.

Мы также будем использовать систему Git/GitHub для обмена исходным кодом, так делает большинство проектов. Для тех, кому это в новинку - дадим крэш-курс и поможем разобраться.

Мы будем использовать редактор с AI-ассистентом. В процессе курса научим, как делать это правильно и эффективно.

Онлайн-занятия с преподавателем 2 раза в неделю

Занятие проходит в формате вебинара. Запись занятия доступна через 15 минут после окончания. Вы также сохраняете доступ к записям после окончания курса.

Домашние задания, обратная связь по ним

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

Чат

Между занятиями доступен групповой чат для общения и вопросов преподавателю.

Курсовой проект

Делаем курсовой проект: онлайн-ресторан.

Результат

Вы умеете разрабатывать и создавать интерфейсы на JavaScript.

Вы умеете работать с AI-ассистентом для эффективной разработки.

Вы можете разобраться в чужом коде и адаптировать его под свои нужды.

Вы готовы к освоению фреймворков (React, Vue и других), а также Node.js для серверного JavaScript.

Сертификат

По окончанию курсов вы получаете сертификат в электронном виде на русском и английском языках.

Хотя сертификатам в нашей профессии обычно не придают значения. Главное - знания и умения, которые вы получите, если будете полноценно участвовать в курсе.

img

Программа по занятиям

Занятия проходят онлайн два раза в неделю.

Собрание

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

Основы языка, инструменты для разработки и отладки

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

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

Работаем с AI-ассистентом для понимания и написания кода.

Объекты

Объекты являются основной структурой данных в JavaScript, поэтому изучаем их подробно. AI-ассистент: изучаем "вайб-кодинг" и "анти-вайб-кодинг", что можно делать, а что – лучше нет.

  • Основные действия с объектами: запись и чтение свойств, перебор.
  • Особенности объектов в JavaScript: передача по ссылке, копирование объектов.
  • Методы объектов, использование this.
  • Деструктуризация объектов и массивов.

Массивы и Функции

Способы задания функций в JavaScript: Function Expression, Function Declaration, функции-стрелки, их отличия.

Замыкания, функции-колбэки и методы массивов, которые их используют, сортировка, поиск.

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

Используем AI-ассистента для ревью кода и другой помощи.

DOM-модель

Переходим к работе со страницей. Далее мы будем изучать возможности языка JavaScript в процессе построения интерфейсов в браузере.

На этом занятии изучаем DOM-модель документа и методы работы с ней. Они нужны, чтобы отображать кнопки, меню и другие компоненты, а также динамических их менять.

  • Создание, вставка, изменение элементов на странице.
  • Атрибуты, свойства, управление классами.
  • Простые задачи по генерации компонентов интерфейса.
  • DOM и инструменты разработчика в браузере.
  • Динамическая генерация элементов интерфейса.

AI-ассистент - используем для рефакторинга и улучшения кода.

Обработчики событий

Изучаем взаимодействие с посетителем при помощи событий:

Отладка ошибок, используя Chrome DevTools и AI.

  • Установка обработчиков событий.
  • Свойства событий.
  • Погружение и всплытие.
  • Приём проектирования "делегирование" для работы с большим количеством элементов, упрощения сложных интерфейсов.
  • Приём проектирования "поведение" для добавления функционала при помощи HTML-атрибутов.
  • Практика: меню, карусель изображений.

Каникулы

Отдых, повторение, следующее занятие - через неделю.

Компонентная архитектура, ООП

Современный подход к разработке приложений: создание интерфейсных компонентов, использование своих событий (Custom Events) для связи между ними. Архитектура веб-приложения.

Классы, ООП в JavaScript.

Модули в JavaScript.

На дом - компоненты для проекта: карточка товара, карусель с картинками.

Более сложные компоненты

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

  • Drag'n'drop при помощи событий, компонент "слайдер" для проекта.
  • События pointer events (mouse events/touch events).
  • Обработка пользовательского ввода, события клавиатуры.
  • Компоненты "модальное окно", "ленточное меню".
  • Автодополнение при вводе.
  • Оптимизация: throttle/debounce

Взаимодействие с сервером

Начинаем это занятие с обычных HTTP-форм, затем переходим к динамическим сетевым запросам.

  • Создание и отправка форм, динамические формы, их валидация.
  • DOM-свойства и методы для форм. Чтение данных из формы.
  • Метод fetch, основы Promise для сетевых запросов.
  • Обмен данными с сервером в формате JSON.
  • Работа с данными: регулярные выражения.

Promise в деталях, более сложный асинхронный код

Для организации последовательных сетевых запросов или других асинхронных вызовов используются специальные объекты Promise. Изучаем, как с ними работать.

  • Событийный цикл браузера.
  • Объектов Promise в деталях, их методы, цепочки Promise.
  • Промисификация функций.
  • Использование async/await.

Основы TypeScript и сборка проекта.

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

  • Сборка проекта при помощи Webpack.
  • Подключение TypeScript и базовая настройка проекта.
  • Основы типизации: типы, интерфейсы и проверка кода на этапе разработки.

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

Ответы на дополнительные вопросы.

Курсовой проект

Ресторан с онлайн-заказом "Bangkok Express".

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

Предварительные требования

  • Знакомство с HTML/CSS: верстать макеты не понадобится, но основные теги, позиционирование, margin/padding надо знать.
  • Интернет 256кб/с или быстрее для видео.

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

Photo

Константин АлександровВедёт курс с 14 января 2020

Увлекаюсь программированием с 13 лет. Коммерческим программированием занимаюсь с 2009г. Работал ведущим разработчиком и арихитектором программного обеспечения в таких компаниях как Сравни.ру, Тензор (CБИС).

Обучаю разработке с 2014 года оффлайн, с 2019 года – на этом сайте.

Photo

Влад ТарасовВедёт курс с 14 декабря 2020

Занимаюсь фронтенд-разработкой с 2017 года. Работал в Mail.ru и Яндекс над проектами Почта, Календарь, Задачи, Кинопоиск.

Также занимаюсь обучением стажеров/команд и проведением собеседований для уровней Senior и Middle-разработчик. Ранее вёл курс «Javascript/DOM/Интерфейсы для новичков», теперь провожу «для программистов».

Что говорят о курсе участники?

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

Все отзывы являются честными. Мы не модерируем их.

  • Курс "JavaScript/Интерфейсы" для новичков

    все отзывы

    Насыщенный и интересный курс. Отлично составлен план обучения, благодаря которому за короткое время впитываешь кучу информации. Домашние задания тоже очень интересные и от урока к уроку становятся все сложнее и увлекательнее. Огромное спасибо Владу Тарасову. Он очень хорошо доносит информацию, всегда отвечает на вопросы как во время лекции, так и после нее. Так же, что очень важно, дает обратную связь по домашнему заданию. В общем курс однозначно буду рекомендовать. Большое спасибо!

  • Курс "JavaScript/Интерфейсы" для новичков

    все отзывы

    На данном курсе мне было достаточно просто воспринимать теоретический материал, так как багаж теории у меня был большой, но главное, что я получил – это практика, которой здесь очень много. Во-первых: с первых же уроков мы начали работать с GitHub. Для каждого задания pull, push, commit и т.д. И, конечно же, проект, который делали на протяжении всего курса. Он интересный и достаточно сложный. Чтобы его сделать, придется, помимо услышанного на лекции, прочитать дополнительные темы, которые даются на домашнее изучение, а если что-то не понятно, то всегда можно задать вопрос преподавателю и получить профессиональный ответ.

    Спасибо Стасу за лекции, за объяснения. Было интересно, очень полезно!

  • Курс "JavaScript/Интерфейсы" для новичков

    все отзывы

    Курс очень насыщенный. Местами сложный. Но сложность в основном из за нехватки времени. За пару дней между лекциями нужно успеть пройти объём теории и решить задачи. На мой взгляд основное преимущество курса в взаимодействии с преподавателем. В моём случае им был Станислав Долгачёв. Который свою работу выполнил на мой взгляд на отлично. Всегда даёт обратную связь. Даже после окончания курса, находил время чтоб дать ответ и помочь с решением задач. При условии, что у него уже новы поток и люди так же засыпают его вопросами. За что ему большое спасибо! С нетерпением жду начала «Продвинутого курса».

  • Курс "JavaScript/Интерфейсы" для новичков

    все отзывы

    Спасибо за ваши труды, спасибо что сделали такой learn.javascript.ru проект! Курс «JavaScript для новичков», помог мне в ускоренном темпе изучить JavaScript! Хочу выразить отдельное спасибо Константину Александрову! Объясняет все доходчиво, без лишней воды очень, грамотно! Всегда помогал в непонятные моменты найти правильный «курс» решения задачи! Не просто преподаватель, а настоящий наставник! Жалко что не будет преподавать на следующем уровне «JavaScript для продвинутых», на который скоро планирую записаться. P.s: Если есть возможность, соберите группу под началом Константина!

  • Курс "JavaScript/Интерфейсы" для новичков

    Оценки от разработчиков, которые участвовали в курсе

    • Отлично117
    • Хорошо3
    • Нормально5
    • Так себе4
    • Плохо0

    средняя оценка

    4.8/5

    95% учеников, оставивших отзывы, рекомендуют этот курс

    все отзывы

Гарантия

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

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

Для компаний

У нас большой опыт работы с самыми разными компаниями: как маленькими, так и IT-гигантами.

  • При записи нужно выбрать способ оплаты "счёт на компанию", и документы будут автоматически сгенерированы: договор, акт и счёт, есть лицензия.
  • Для зарубежных компаний выдаём инвойс на английском языке.

Физическим лицам даём справку об оплате, если нужна компании для компенсации расходов и документы для налогового вычета: детали для РФ.

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

Если остались вопросы – посмотрите в часто задаваемых, напишите на почту help@javascript.ru (ответ обычно в течение дня), а если срочно — задайте по телефону +7-903-5419441.