Программа: Frontend-разработка [ JavaScript + Git + GitHub ]
Подробнее
Что нужно для старта
- Для комфортного обучения на курсе достаточно:
- 🖥️ Базовых навыков работы с компьютером (управление файлами, установка программ, использование браузера).
- ⌨️ Минимального опыта в текстовом вводе (умение печатать и редактировать текст).
Что вы получите
- Применять синтаксис JavaScript для создания интерактивных веб-страниц.
- Разрабатывать сложные скрипты с использованием функций, массивов и объектов.
- Строить современные приложения с помощью ООП, асинхронности и работы с API.
- Сравнивать различные подходы к решению задач и выбирать оптимальные.
- Анализировать и отлаживать код с помощью инструментов разработчика.
- Создавать и настраивать репозитории в Git и GitHub.
- Организовывать эффективный workflow с ветками, пулл-реквестами и код-ревью.
- Управлять зависимостями проектов с помощью npm.
- Взаимодействовать с сервером через HTTP-запросы (Fetch, REST API).
- Публиковать свои проекты в сети и делиться ими с сообществом.
Для кого этот курс
- 🚀 Начинающий frontend-разработчик:
- Идеальный старт для глубокого погружения в JavaScript и современные инструменты разработки.
- 🔄 Верстальщик, который хочет оживить свои страницы:
- Если вы уже знаете HTML/CSS, но не хватает навыков программирования для создания динамических интерфейсов.
- 💼 Специалист из смежной области (дизайн, маркетинг, бэкенд):
- Хотите понимать, как устроена frontend-разработка, чтобы эффективнее работать в команде.
- 👨🎓 Студент компьютерных специальностей:
- Практические знания, которые дополнят университетскую теорию и помогут начать карьеру.
- 🛠️ Тот, кто хочет освоить Git и GitHub на профессиональном уровне:
- Научитесь работать в команде, управлять версиями и участвовать в open-source проектах.
Программа курса
- Про курс
- Что нужно сделать
- Про JavaScript
- Выбор браузера и редактора
- Подготовка к работе в VS Code
- Установка NodeJS
- Первая программа
- Открываем сайт с JavaScript
- Атрибуты async и defer
- Инструкции в коде
- Создание переменных
- Константы (const) и устаревшее var
- Правильные названия переменных
- Строгий режим - use strict
- Стиль кода
- Отладка кода
- Обзор типов данных
- Оператор typeof и его нюансы
- Number - числовой тип данных
- Infinity, NaN и превращение числа в строку
- Превращение строки в число
- Неточность вычислений
- Округление чисел
- Минимальное, максимальное и случайное значения
- String - строки
- Углубление в строки
- BigInt - большие целые числа
- Boolean - булев тип данных
- Symbol - символ
- null и undefined
- Object - объекты
- Autoboxing
- Операторы и операнды
- Математические операторы
- Конкатенация
- Присваивание
- Инкремент, декремент и запятая
- Сравнение
- Сравнение строк
- И, Или, Не (AND, OR, NOT)
- Нюансы ИЛИ
- Нюансы И
- ?? - оператор нулевого слияния
- Приоритет и ассоциативность
- Побитовые операторы
- Логика: if-else
- Тернарный оператор
- Неправильное использование тернарного оператора
- Конструкция switch
- Использование switch (true)
- Задача 1 - Тебе нравится JS?
- Задача 2 - Здороваемся по имени
- Задача 3 - Здороваемся по возрасту
- Задача 4 - Поиск по названию продукта
- Задача 5 - Отгадай число
- Объявление функции
- Выражение функции
- Область видимости
- Блочная область видимости
- Функциональная область видимости
- Создание функции и scope
- Создание переменных с var
- Параметры функции
- Возвращение значений из функции
- "Правильные" функции
- Функция - это объект
- callback-функции
- Стрелочные функции
- Стек вызовов - callstack
- Рекурсия
- Углубление в рекурсию
- Именованное функциональное выражение - NFE
- Документирование с JSDoc
- Задача 1 - Полное имя
- Задача 2 - Функция-компаратор
- Задача 3 - Склонение слова по числу
- Введение в массивы
- Получение значений из массива
- Простые методы массива
- Неверное использование массива
- Многомерные массивы
- Создание через new Array() и изменение длины
- Сравнение массивов
- ... rest - Остаточные параметры
- ... spread синтаксис
- while
- do-while
- for
- break и continue
- Вложенные циклы
- Итерация по массиву
- for..in и for..of
- Итерация по многомерным массивам
- Задача 1 - Разворот массива
- Задача 2 - Заполни массив нулями до длины
- Задача 3 - Составляем массив до нуля
- Задача 4 - Рисуем паттерн
- Задача 5 - Получение ближайших максимальных чисел
- Задача 6 - Сортировка в случайном порядке
- Задача 7 - Проверка на правильность скобок
- Введение в объекты
- Вычисляемые названия и значения свойств
- Свойства прототипа
- Проверка существования свойства
- Что использовать, массив или объект?
- Методы
- Откуда берется контекст в методах
- Контекст в стрелочных функциях
- Названия для приватных свойств
- Вложенные объекты
- Объект в цикле for..in
- Object.keys, Object.values, Object.entries
- Цепочка методов
- Оператор опциональной последовательности
- Задача 1 - Превращаем массив в обычный объект
- Задача 2 - Ищем самый часто повторяющийся символ
- Задача 3 - Рефереры, подсчет вознаграждения
- Приветствие
- Ошибки
- Дата и время
- JSON
- Деструктуризация
- setTimeout() и setInterval()
- Структуры Map и Set
- Каррирование
- Вспоминаем массивы
- Создание и проверка массивов
- Изменение элементов
- Поиск и проверка элементов
- Преобразование массива
- Сортировка, объединение и преобразование
- Агрегация
- Итерация
- Практика
- Свойства в объекте
- Копирование и клонирование объектов
- Тип Symbol
- Функции-генераторы и итераторы
- Сборщик мусора
- Контекст
- Методы call и apply
- Декораторы
- Метод bind
- Дескрипторы свойств
- Геттеры и сеттеры
- Про Object
- Методы для работы с объектами
- Методы для управления свойствами объекта
- Методы для работы с прототипами
- Методы для проверки и управления состоянием объекта
- Методы для работы с группировкой и сравнением
- Введение в ООП в JavaScript
- Про объекты и прототипы
- Проблема литеральных объектов
- Функции-конструкторы
- Использование прототипа
- Разница [[Prototype]], __proto__ и prototype
- Статические свойства
- Наследование свойств в функциях-конструкторах
- Наследование статических свойств
- Наследование методов в прототипах
- Запись в свойства объекта
- Цикл for..in и функции-конструкторы
- Геттеры и сеттеры для функций-конструкторов
- Переопределение методов
- Полифилы, расширение стандартных прототипов и автобоксинг
- Проверка вызова с new
- Нюансы при работе с функциями-конструкторами
- instanceof
- Классы
- Геттеры и сеттеры в классах
- Вычисляемые названия свойств и методов
- Статические свойства и методы
- Порядок свойств и методов в классе
- Наследование классов
- Наследование и порядок создания объекта
- Приватные методы и свойства
- Расширение нативных функций-конструкторов
- Абстрактные классы
- Миксины
- Пользовательские ошибки
- Про модули
- export и import
- export default
- Реэкспорт
- Особенности и нюансы модулей
- Асинхронность в JavaScript
- callback-функции
- Промисы
- Промисы с then, catch и finally
- Промисы и цепочка методов
- Thenable интерфейс
- Создание отработанных промисов
- Обработка ошибок
- Перехват необработанных отклоненных промисов
- Статические методы Promise
- Промисификация
- async/await
- Нюансы async/await
- Асинхронные итераторы, генераторы и for..await
- Array.fromAsync()
- Динамические импорты
- Цикл событий - Event Loop
- Практика
- Начало работы с npm
- Версионирование
- Публикация библиотек
- Что такое HTTP и как он работает
- Структура HTTP-запроса
- Методы HTTP-запросов
- Что такое HTTPS
- Про API
- URL
- XMLHttpRequest
- Fetch
- Практика с fetch
- CORS
- Аутентификация и авторизация
- Аутентификация - практика
- ApiClient - практика
- Знакомство
- О курсе
- Обзор систем контроля версий
- Установка и настройка Git
- Первый репозиторий
- Первый коммит
- Индекс
- Подробнее о коммита
- Откат изменений
- Удаление файлов
- Переименование/перемещение файлов
- Просмотр изменений
- История коммитов
- Машина времени (изменение истории)
- Игнорирование файлов
- Домашнее задание
- Создание удаленного репозитория
- Клонирование репозитория
- SSH аутентификация
- Копирование чужого репозитория (fork)
- GitHub Copilot
- Файл Readme.md и разметка Markdown
- Альтернативы GitHub
- Домашнее задание
- Введение в ветки
- Переключение между ветками
- Создание, просмотр, удаление веток
- Слияние веток
- Конфликты при слиянии
- Экстренное переключение между задачами
- Безопасное обновление репозитория
- Поиск автора кода
- Запросы на слияние (Pull Request)
- Большая шпаргалка
- Подведение итогов
01Твой JS [1] Введение
- Про курс
- Что нужно сделать
- Про JavaScript
- Выбор браузера и редактора
- Подготовка к работе в VS Code
- Установка NodeJS
- Первая программа
- Открываем сайт с JavaScript
- Атрибуты async и defer
- Инструкции в коде
02Твой JS [2] Переменные
- Создание переменных
- Константы (const) и устаревшее var
- Правильные названия переменных
- Строгий режим - use strict
- Стиль кода
- Отладка кода
03Твой JS [3] Типы данных
- Обзор типов данных
- Оператор typeof и его нюансы
- Number - числовой тип данных
- Infinity, NaN и превращение числа в строку
- Превращение строки в число
- Неточность вычислений
- Округление чисел
- Минимальное, максимальное и случайное значения
- String - строки
- Углубление в строки
- BigInt - большие целые числа
- Boolean - булев тип данных
- Symbol - символ
- null и undefined
- Object - объекты
- Autoboxing
04Твой JS [4] Операторы
- Операторы и операнды
- Математические операторы
- Конкатенация
- Присваивание
- Инкремент, декремент и запятая
- Сравнение
- Сравнение строк
- И, Или, Не (AND, OR, NOT)
- Нюансы ИЛИ
- Нюансы И
- ?? - оператор нулевого слияния
- Приоритет и ассоциативность
- Побитовые операторы
05Твой JS [5] Ветвления
- Логика: if-else
- Тернарный оператор
- Неправильное использование тернарного оператора
- Конструкция switch
- Использование switch (true)
- Задача 1 - Тебе нравится JS?
- Задача 2 - Здороваемся по имени
- Задача 3 - Здороваемся по возрасту
- Задача 4 - Поиск по названию продукта
- Задача 5 - Отгадай число
06Твой JS [6] Функции
- Объявление функции
- Выражение функции
- Область видимости
- Блочная область видимости
- Функциональная область видимости
- Создание функции и scope
- Создание переменных с var
- Параметры функции
- Возвращение значений из функции
- "Правильные" функции
- Функция - это объект
- callback-функции
- Стрелочные функции
- Стек вызовов - callstack
- Рекурсия
- Углубление в рекурсию
- Именованное функциональное выражение - NFE
- Документирование с JSDoc
- Задача 1 - Полное имя
- Задача 2 - Функция-компаратор
- Задача 3 - Склонение слова по числу
07Твой JS [7] Массивы
- Введение в массивы
- Получение значений из массива
- Простые методы массива
- Неверное использование массива
- Многомерные массивы
- Создание через new Array() и изменение длины
- Сравнение массивов
- ... rest - Остаточные параметры
- ... spread синтаксис
08Твой JS [8] Циклы
- while
- do-while
- for
- break и continue
- Вложенные циклы
- Итерация по массиву
- for..in и for..of
- Итерация по многомерным массивам
- Задача 1 - Разворот массива
- Задача 2 - Заполни массив нулями до длины
- Задача 3 - Составляем массив до нуля
- Задача 4 - Рисуем паттерн
- Задача 5 - Получение ближайших максимальных чисел
- Задача 6 - Сортировка в случайном порядке
- Задача 7 - Проверка на правильность скобок
09Твой JS [9] Объекты
- Введение в объекты
- Вычисляемые названия и значения свойств
- Свойства прототипа
- Проверка существования свойства
- Что использовать, массив или объект?
- Методы
- Откуда берется контекст в методах
- Контекст в стрелочных функциях
- Названия для приватных свойств
- Вложенные объекты
- Объект в цикле for..in
- Object.keys, Object.values, Object.entries
- Цепочка методов
- Оператор опциональной последовательности
- Задача 1 - Превращаем массив в обычный объект
- Задача 2 - Ищем самый часто повторяющийся символ
- Задача 3 - Рефереры, подсчет вознаграждения
10JS PRO [1] Начало
- Приветствие
- Ошибки
- Дата и время
- JSON
- Деструктуризация
- setTimeout() и setInterval()
- Структуры Map и Set
- Каррирование
11JS PRO [2] Массивы
- Вспоминаем массивы
- Создание и проверка массивов
- Изменение элементов
- Поиск и проверка элементов
- Преобразование массива
- Сортировка, объединение и преобразование
- Агрегация
- Итерация
- Практика
12JS PRO [3] Объекты
- Свойства в объекте
- Копирование и клонирование объектов
- Тип Symbol
- Функции-генераторы и итераторы
- Сборщик мусора
- Контекст
- Методы call и apply
- Декораторы
- Метод bind
- Дескрипторы свойств
- Геттеры и сеттеры
13JS PRO [4] Функция-конструктор Object
- Про Object
- Методы для работы с объектами
- Методы для управления свойствами объекта
- Методы для работы с прототипами
- Методы для проверки и управления состоянием объекта
- Методы для работы с группировкой и сравнением
14JS PRO [5] ООП и функции-конструкторы
- Введение в ООП в JavaScript
- Про объекты и прототипы
- Проблема литеральных объектов
- Функции-конструкторы
- Использование прототипа
- Разница [[Prototype]], __proto__ и prototype
- Статические свойства
- Наследование свойств в функциях-конструкторах
- Наследование статических свойств
- Наследование методов в прототипах
- Запись в свойства объекта
- Цикл for..in и функции-конструкторы
- Геттеры и сеттеры для функций-конструкторов
- Переопределение методов
- Полифилы, расширение стандартных прототипов и автобоксинг
- Проверка вызова с new
- Нюансы при работе с функциями-конструкторами
- instanceof
15JS PRO [6] ООП и классы
- Классы
- Геттеры и сеттеры в классах
- Вычисляемые названия свойств и методов
- Статические свойства и методы
- Порядок свойств и методов в классе
- Наследование классов
- Наследование и порядок создания объекта
- Приватные методы и свойства
- Расширение нативных функций-конструкторов
- Абстрактные классы
- Миксины
- Пользовательские ошибки
16JS PRO [7] Модули
- Про модули
- export и import
- export default
- Реэкспорт
- Особенности и нюансы модулей
17JS PRO [8] Асинхронность
- Асинхронность в JavaScript
- callback-функции
- Промисы
- Промисы с then, catch и finally
- Промисы и цепочка методов
- Thenable интерфейс
- Создание отработанных промисов
- Обработка ошибок
- Перехват необработанных отклоненных промисов
- Статические методы Promise
- Промисификация
- async/await
- Нюансы async/await
- Асинхронные итераторы, генераторы и for..await
- Array.fromAsync()
- Динамические импорты
- Цикл событий - Event Loop
- Практика
18JS PRO [9] npm
- Начало работы с npm
- Версионирование
- Публикация библиотек
19JS PRO [10] Работа с API
- Что такое HTTP и как он работает
- Структура HTTP-запроса
- Методы HTTP-запросов
- Что такое HTTPS
- Про API
- URL
- XMLHttpRequest
- Fetch
- Практика с fetch
- CORS
- Аутентификация и авторизация
- Аутентификация - практика
- ApiClient - практика
20Git [1] Основы Git
- Знакомство
- О курсе
- Обзор систем контроля версий
- Установка и настройка Git
- Первый репозиторий
- Первый коммит
- Индекс
- Подробнее о коммита
- Откат изменений
- Удаление файлов
- Переименование/перемещение файлов
- Просмотр изменений
- История коммитов
- Машина времени (изменение истории)
- Игнорирование файлов
- Домашнее задание
21Git [2] GitHub
- Создание удаленного репозитория
- Клонирование репозитория
- SSH аутентификация
- Копирование чужого репозитория (fork)
- GitHub Copilot
- Файл Readme.md и разметка Markdown
- Альтернативы GitHub
- Домашнее задание
22Git [3] Ветвление и командная работа
- Введение в ветки
- Переключение между ветками
- Создание, просмотр, удаление веток
- Слияние веток
- Конфликты при слиянии
- Экстренное переключение между задачами
- Безопасное обновление репозитория
- Поиск автора кода
- Запросы на слияние (Pull Request)
- Большая шпаргалка
23Завершение учебной программы
- Подведение итогов
Отзывы о курсе
Оставьте отзыв
Расскажите о качестве обучения, поддержке и результате. Это поможет другим выбрать организацию осознанно.
Оставьте заявку
Консультант ответит на вопросы о курсе «Программа: Frontend-разработка [ JavaScript + Git + GitHub ]» и поможет разобраться в деталях обучения.
Нажимая кнопку, вы даете согласие на обработку персональных данных
Информация обновлена 7 сентября 2026 г.

Stepik 
















