Интерактивные задачи по веб-разработке

В этом курсе вы научитесь повысить свои навыки веб-разработки с помощью наших интерактивных задач на JavaScript. От манипуляций с DOM до продвинутых алгоритмов, выполните более 130 практических лабораторных работ, разработанных для всех уровней. Идеально подходит для начинающих разработчиков в США и Европе, которые хотят приобрести практические навыки программирования в реальных условиях.

Веб-разработка

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Программа

Основы JavaScript
Манипуляции со строками
Массивы и сортировка
Функции и замыкания
Объекты и JSON
Манипуляции с DOM
Обработка событий
Базовые алгоритмы
Структуры данных
Бинарные деревья

Диаметр двоичного дерева

Найти k-й наименьший элемент в BST

Сбалансированное двоичное дерево

Преобразовать бинарное дерево в связный список

Подсчет узлов в полном двоичном дереве

Среднее значение уровней в двоичном дереве

Правый вид двоичного дерева

Поддерево другого дерева

Путь в двоичном дереве

Проверка двоичного дерева поиска

Реализация суммы пути от корня до листа на JavaScript

Сумма левых листьев

Минимальная глубина двоичного дерева

Симметричное бинарное дерево

Проверка равенства бинарных деревьев

Объединение двоичных деревьев

Динамическое программирование
Жадные алгоритмы
Поиск с возвратом (Backtracking)
Метод двух указателей
Скользящее окно
Симуляции и математические задачи

Нахождение Волка-человека

Тайна, которую нельзя рассказать

Завершение приложения с игровым автоматом

Программа для перевода сообщений от пришельцев

Сбор фрагментов竹简

Строительство высоких зданий на плоской земле

Деление и ранжирование

Статистика лет стажа

Годовой проект по звёздам

Универсальный стол синтеза

Проверка имен по отцам в Исландии

Зайчик Карабкается по Лестнице

Метод мышления Чянь Кунь

Оптимальный период для торговли акциями

Максимальная сумма подмассива

Решение задачи сложения больших целых чисел

Обработка строк и регулярные выражения
Обработка данных и статистика
Проектирование и реализация систем
Браузер и окружение
Продвинутые концепции JavaScript
Оптимизация алгоритмов
Решение сложных задач

Введение

Развивайте навыки решения задач на JavaScript с помощью 130 независимых coding challenges, объединённых в 23 тематические группы. Коллекция начинается с преобразования типов, строк, массивов, функций и объектов, затем переходит к взаимодействию с браузером и всё более сложным алгоритмам.

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

Чему вы научитесь

После завершения курса вы сможете:

  • Применять преобразование типов, сравнения, операции с массивами и строковые преобразования к точным требованиям.
  • Создавать функции с замыканиями, debounce, таймерами и поведением call, apply и reduce.
  • Преобразовывать объекты и JSON, разбирать структурированные значения, сравнивать вложенные данные и реализовывать глубокое клонирование.
  • Изменять DOM, обходить деревья элементов, реагировать на события и создавать интерактивное поведение страниц.
  • Решать на JavaScript задачи поиска, сортировки, двух указателей, скользящего окна, симуляции и математики.
  • Реализовывать операции со стеком и бинарными деревьями с помощью обхода, рекурсии и правил бинарного дерева поиска.
  • Выбирать динамическое программирование, жадные алгоритмы и backtracking для многоэтапных задач.
  • Превращать письменные ограничения в общие решения и проверять их готовыми тестами или поведением в браузере.

Для кого этот курс

Курс предназначен для тех, кто понимает основы JavaScript и хочет много практиковаться самостоятельно. Он также подойдёт frontend-разработчикам, укрепляющим знания DOM, и программистам, отрабатывающим распространённые структуры данных и алгоритмические шаблоны. Хотя указан уровень Beginner, поздние разделы требуют заметно больше рассуждений, чем начальные упражнения.

Предварительные требования: Нужно уверенно владеть переменными, условиями, циклами, функциями, массивами и объектами JavaScript. Базовые HTML и DOM помогут с browser challenges; знакомство с рекурсией и распространёнными структурами данных полезно для поздних разделов, но их можно осваивать по ходу.

Учебная среда: Все 130 challenges выполняются в предоставленной Ubuntu 22.04 WebIDE. В зависимости от задачи вы редактируете JavaScript или готовый HTML/CSS project, запускаете проверки в terminal либо открываете local page в browser preview. Внешний account или deployment service не требуются.

Часто задаваемые вопросы

Подходит ли курс как самое первое знакомство с JavaScript?

Скорее нет. Начальные challenges закрепляют базовый syntax, но требуют самостоятельно реализовать решение, а не объясняют каждую тему пошагово. Сначала изучите переменные, control flow, функции, массивы и объекты, затем используйте коллекцию для практики.

Какой объём материала входит в курс?

Ровно 130 challenges в 23 группах. Темы охватывают основы JavaScript, строки, массивы, функции, объекты, DOM и события, а также деревья, динамическое программирование, жадные методы, backtracking, регулярные выражения и сложные задачи.

Нужно ли выполнять challenges по порядку?

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

Создам ли я полноценное web application или изучу frontend framework?

Нет. В некоторых задачах реализуются практические взаимодействия со страницей или функции, похожие на части реальной системы, но это отдельные упражнения, а не единый итоговый project. Структурированной программы по React, Vue или другому framework здесь также нет.

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

labby
Labby
Labby is the LabEx teacher.