JavaScript

Язык браузера: от первой кнопки до сложных интерфейсов.

Основы JavaScript

Типы, ввод-вывод в Node.js, циклы и строки — шесть заданий разных типов.

Открыть
  1. Типы и сравнение
  2. Сумма двух чисел
  3. FizzBuzz
  4. Мини-игра: странности typeof
  5. Слова наоборот
  6. Массивы и методы

Ступень 2 · Условия и циклы

Ветвления, циклы и остаток от деления — базовые кирпичики любого алгоритма.

Открыть
  1. Условия и циклы
  2. Сумма цифр
  3. Простое число
  4. Мини-игра: задача Гаусса

Ступень 3 · Строки и массивы

Обходим последовательности, ищем экстремумы и шифруем строки.

Открыть
  1. Массивы и строки
  2. Минимум и максимум
  3. Шифр Цезаря
  4. Мини-игра: код символа

Ступень 4 · Функции и рекурсия

Выносим логику в функции и учимся думать рекурсивно.

Открыть
  1. Функции и рекурсия
  2. Наибольший общий делитель
  3. Числа Фибоначчи
  4. Мини-игра: факториал

Ступень 5 · Структуры данных

Стек, очередь и словарь — инструменты, на которых держатся алгоритмы.

Открыть
  1. Стек, очередь, словарь
  2. Правильные скобки
  3. Самое частое слово
  4. Мини-игра: LIFO

Ступень 6 · Сортировка и поиск

Сложность алгоритмов, бинарный поиск и префиксные суммы.

Открыть
  1. Сложность и поиск
  2. Сколько не больше x
  3. Сумма на отрезке
  4. Мини-игра: сложность

Ступень 7 · Динамика и графы

Уровень олимпиад и собеседований: динамическое программирование и поиск в ширину.

Открыть
  1. Динамика и BFS
  2. Лестница
  3. Кратчайший путь в лабиринте
  4. Мини-игра: лестница

Профи · Event loop и асинхронность

Замыкания, промисы, микрозадачи и порядок выполнения.

Открыть
  1. Event loop и асинхронность
  2. Мини-игра: порядок вывода