техноматика
ЧЕСТНЫЙ ЗНАК ШБЗ
Онлайн-лекция для учителей · Иркутск · 2026

Визуализация алгоритмов:
от сортировок к графам

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

2 часас перерывом на практику
Обозненко Арсений МихайловичЦифровая школа МГПУ
Один HTML-файлвся лекция — одностраничник
Карта лекции

Что будет в эти два часа

0:00 – 0:15

Пайплайн одностраничника

Как из идеи и одного промпта рождается работающий HTML-визуализатор. Чек-лист выбора темы и цикл «промпт → код → браузер → правки».

0:15 – 1:05

Часть 1. Деплой: GitHub и GitVerse

Навык №1 для учителя: публикация одностраничника в интернете. Пошагово, с объяснениями: репозиторий, коммит, GitHub Pages, GitVerse Pages.

1:05 – 2:00

Часть 2. Визуализация алгоритмов

Сортировки, дерево рекурсии (задача 16) и черепашья графика (задача 6 ЕГЭ) с кодом на Python. Сравнение «плохой vs хороший», правила сильного промпта, шаблон для своих тем.

0:00 – 0:15
Введение

Пайплайн создания одностраничников

Одностраничное web-приложение — это визуализатор сложной темы в одном HTML-файле. Его не нужно «уметь программировать»: код генерирует нейросеть, а учитель управляет процессом. Вот конвейер, который мы будем использовать всю лекцию.

01
Тема

выбрать сложную для учеников тему

02
Промпт

сформулировать задачу чат-боту

03
Код

получить HTML/CSS/JS

04
Файл

сохранить как .html

05
Проверка

открыть в браузере

06
Правки

новый промпт → повтор цикла

Чек-лист выбора темы

Прежде чем просить ИИ собрать визуализатор, честно ответьте на пять вопросов:

  1. Я понимаю тему (хотя бы частично — достаточно, чтобы проверить результат).
  2. Я знаю, какие трудности она вызывает у моих учеников.
  3. Я не нашёл хорошего готового решения.
  4. Я абсолютно точно знаю, что хочу получить.
  5. Я попробую сделать это с помощью конкретного ИИ.
Живой пример такого одностраничника — визуализатор IEEE 754 «Под капотом float»: биты, порядок, мантисса, точка на числовой оси. Весь интерфейс — один HTML-файл, собранный нейросетью под контролем автора. На его стиле построены все демо этой лекции.
0:15 – 1:05 · Часть 1
Навык №1

Деплой одностраничников на GitHub и GitVerse

Файл на вашем компьютере видите только вы. Деплой превращает его в ссылку, которую можно отправить ученикам, показать на проекторе или зашить в QR-код. Разберём два бесплатных способа: международный GitHub Pages и российский GitVerse Pages.

0. Что нужно понять перед началом

1. Словарь на пять минут

ТерминЧто этоАналогия для учителя
РепозиторийПапка проекта с историей измененийПапка с работами ученика + журнал правок
КоммитСохранённая версия изменений«Сохранить как» с комментарием, что изменилось
Ветка (main)Основная линия версий проектаЧистовик (черновики — другие ветки)
PagesБесплатный хостинг статики из репозиторияВывесить чистовик на школьную стену

2. GitHub Pages — пошагово

01
Зарегистрируйтесь на github.com

Нужна только почта. Никнейм станет частью адреса сайта: ник.github.io — выбирайте читаемый.

02
Создайте репозиторий

Кнопка New repository → имя, например float-viz → тип PublicCreate repository. Галочку «Add a README» можно не ставить.

03
Загрузите одностраничник

Add file → Upload files → перетащите ваш index.html (и другие .html, если их несколько) → зелёная кнопка Commit changes. Это и есть ваш первый коммит.

04
Включите Pages

Settings → Pages (слева, раздел «Code and automation») → в Build and deployment выберите Source: Deploy from a branch → Branch: main, папка / (root)Save.

05
Подождите 1–5 минут и откройте сайт

Адрес: https://<ник>.github.io/<репозиторий>/. Если 404 — подождите ещё пару минут и обновите страницу сбросом кэша (Ctrl+F5).

06
Обновление сайта

Загрузите новую версию файла тем же способом (Upload files → Commit). Сайт обновится автоматически через 1–2 минуты. Отдельно «передеплоивать» не нужно.

Необязательно, но полезно: всё то же самое можно делать командами git — так файлы синхронизируются с компьютером, а не через браузер:
# один раз: клонировать репозиторий на компьютер
git clone https://github.com/<ник>/float-viz.git
cd float-viz

# каждый раз после правок файла:
git add index.html
git commit -m "обновил визуализатор"
git push

3. GitVerse Pages — пошагово

GitVerse — российский хостинг кода (разработка Сбера). Интерфейс похож на GitHub, регистрация возможна через Сбер ID — для многих учителей это проще.

01
Зарегистрируйтесь на gitverse.ru

Подойдёт учётная запись Сбер ID. Имя пользователя станет частью адреса сайта.

02
Создайте репозиторий и загрузите файлы

Новый репозиторий → имя (например, float-viz), публичный → загрузите index.html через веб-интерфейс или git — всё как на GitHub.

03
Включите Pages в настройках

Настройки → Страницы → включите тумблер → в поле Источник выберите Ветка → укажите ветку main → сохраните.

04
Откройте сайт

Адрес проекта: https://<ник>.gitverse.site/<репозиторий>/. Публикация занимает пару минут; при каждом новом коммите сайт обновляется сам.

Нюансы GitVerse Pages: источник «Ветка» прогоняет файлы через встроенный сборщик (Jekyll) — обычный HTML проходит через него без изменений, но все пути к стилям, скриптам и соседним страницам должны быть относительными (через ./). Если захотите публиковать без сборки — переключите источник на Воркфлоу и выберите готовый шаблон Simple HTML Page.

4. GitHub vs GitVerse — что выбрать

GitHub PagesGitVerse Pages
Адрес сайтаник.github.io/репоник.gitverse.site/репо
Регистрацияпочтапочта или Сбер ID
ВключениеSettings → Pages → Deploy from a branchНастройки → Страницы → источник «Ветка»
Ограничениятолько статикатолько статика; относительные пути
Кому удобенвсем, крупнейшее комьюнититем, кто работает в российском контуре

5. Частые ошибки (и как их чинить)

Практика прямо сейчас (10 минут): возьмите любой готовый одностраничник — например, визуализатор IEEE 754 или файл из раздела «Материалы» — переименуйте в index.html и пройдите шаги 1–5 сначала на GitHub, затем на GitVerse. В конце у вас должно быть две работающие ссылки.
1:05 – 2:00 · Часть 2
От сортировок к графам

Как визуализировать алгоритм

Хорошая новость: все визуализаторы устроены одинаково. Если вы поняли сортировку — вы поняли и граф. Разберём анатомию, а затем посмотрим на два живых примера.

1. Анатомия визуализатора

01
Данные

массив чисел, граф, строка — «что» алгоритм обрабатывает

02
Шаги

алгоритм заранее разбивается на последовательность мелких действий

03
Рендер

каждый шаг умеет рисовать себя: подсветить, обменять, окрасить

04
Управление

старт / пауза / шаг / скорость — одинаково для всех тем

2. Ключевой паттерн: «алгоритм как генератор шагов»

Алгоритм не рисует сам себя. Он порождает шаги-инструкции («сравнил», «обменял», «вызвал»), а движок проигрывает их с любой скоростью — вперёд, по одному, с паузой. Именно поэтому один и тот же каркас работает для любой темы. Ученикам же мы показываем привычный код на Python — и подсвечиваем строку, которая выполняется прямо сейчас:

def bubble_sort(a):
    n = len(a)
    for i in range(n):
        for j in range(n - i - 1):
            if a[j] > a[j + 1]:          # ← шаг «compare»
                a[j], a[j + 1] = a[j + 1], a[j]  # ← шаг «swap»

Каждый шаг визуализатора привязан к строке Python-кода: анимация слева, выполняемая строка справа. Когда просите ИИ собрать визуализатор, просите именно это: «алгоритм должен возвращать массив шагов, а не анимировать себя напрямую».

3. Демо: сортировки — пузырьковая и шейкерная

Два алгоритма на одном массиве — можно ввести свой. На что смотреть с учениками: подсветка строки Python-кода синхронно с анимацией, число сравнений и обменов, чем шейкерная экономит проходы (застрявший минимум — «черепаха» — уезжает на место за один обратный проход).

Открыть в отдельной вкладке: sorting_visualizer.html

4. Демо: дерево рекурсии — задача 16 ЕГЭ

Рекурсивная функция раскрывается в дерево вызовов прямо на глазах: жёлтые узлы — в стеке вызовов, фиолетовые — посчитаны, красная обводка — повторный вызов. На Фибоначчи ученики сами видят, почему без мемоизации F(30) считается вечность, и откуда берётся ответ для бланка.

Открыть в отдельной вкладке: recursion_tree_visualizer.html

5. Демо: черепашья графика — задача 6 ЕГЭ

Черепаха выполняет программу в нотации ЕГЭ (Вперёд, Направо, Повтори […]) прямо на координатной сетке, рядом — тот же код на Python (turtle) с подсветкой строки. В финале визуализатор сам подсчитывает точки с целыми координатами внутри фигуры — ровно то, что спрашивают в задаче 6. Программу можно ввести свою.

Открыть в отдельной вкладке: turtle_visualizer.html

6. Плохой vs хороший: сравниваем лоб в лоб

Первый результат от ИИ почти всегда выглядит как антипримеры ниже: print-лог вместо картинки и мгновенный прогон без управления. Покажите ученикам обе пары — разница говорит сама за себя.

✗ Плохо: лог вместо визуализации
✓ Хорошо: шаги, код, управление
✗ Плохо: каша отступов
✓ Хорошо: дерево и стек вызовов

Антипаттерны, которые выдают «плохой» визуализатор

7. Как собрать свой визуализатор по шаблону

01
Возьмите шаблон

Файл visualizer_template.html — каркас в фирменном стиле: панель ввода, сцена, показатели, движок Старт/Пауза/Шаг/Скорость.

02
Опишите ИИ свою тему и контракт шаблона

Приложите шаблон к сообщению и попросите заменить только «логику»: buildSteps(), applyStep(), resetData().

03
Проверьте, доработайте, задеплойте

Откройте файл в браузере, покликайте «Шаг →» — это самый честный тест. Затем опубликуйте по инструкции из первой части.

8. Правила хорошего промпта — как заставить ИИ делать хорошо

Разница между антипримером и рабочим визуализатором — почти всегда разница между «сделай мне визуализацию» и точным заданием. Шесть правил:

  1. Дайте образец, а не описание. Приложите готовый файл (visualizer_template.html или прошлый визуализатор) и попросите сохранить стиль и структуру. Один файл-образец заменяет страницу описаний.
  2. Зафиксируйте контракт. Назовите функции и формат шагов: buildSteps() возвращает массив, applyStep() рисует один шаг. Тогда результат управляемый, а не «простыня, которая что-то делает».
  3. Запретите анимировать напрямую. Фраза «алгоритм не должен анимировать себя сам, только возвращать шаги» отсекает 90% плохих решений.
  4. Попросите код на Python с подсветкой строки. Ученики сдают ЕГЭ на Python — пусть визуализатор показывает именно тот код, который они пишут в бланке.
  5. Ограничьте масштаб. Один файл, без внешних библиотек, без сборщиков — иначе одностраничник не откроется с флешки и не задеплоится за 5 минут.
  6. Правьте итерациями, а не заново. «Оставь всё, но сделай шаг по кнопке вдвое медленнее» работает лучше, чем новый промпт с нуля.
Плохой промпт: «Сделай визуализацию пузырьковой сортировки» — получите стену лога, как в антипримере выше.
Хороший промпт: образец + контракт + запрет самоанимации + Python-код + один файл. Например, так — копируйте целиком:
Приложен файл visualizer_template.html — это шаблон интерактивного
визуализатора алгоритмов (белый фон, фиолетовый акцент #8736f5,
тонкая типографика). Сохрани стиль и структуру файла.

Сделай из него визуализатор темы «[ваша тема: напр. бинарный поиск]»:
1. Замени панель ввода на входные данные моей темы.
2. Алгоритм оформи как функцию buildSteps(), возвращающую массив
   шагов-инструкций (compare / swap / visit / done — или свои типы).
   Алгоритм НЕ должен анимировать себя сам — только шаги.
3. applyStep(i, step) отрисовывает один шаг на сцене.
4. resetData() рисует исходное состояние.
5. Рядом со сценой покажи код алгоритма на Python (как в школьной
   программе) и подсвечивай строку, которая выполняется на этом шаге.
6. Добавь счётчики: сравнения, обмены / вызовы, текущий шаг.
7. Управление (Старт/Пауза/Шаг/Сброс/Скорость) не трогай —
   оно уже работает через VizCore.
Верни один готовый HTML-файл без внешних зависимостей.
Домашняя практика
Задание для учителей

Соберите и опубликуйте свой одностраничник

  1. Выберите тему по чек-листу из начала лекции (свой предмет — не обязательно информатика: физика, математика, география подходят так же).
  2. Соберите визуализатор: промпт → код → .html → браузер → 2–3 итерации правок. Можно стартовать от visualizer_template.html.
  3. Переименуйте главный файл в index.html, проверьте относительные пути.
  4. Задеплойте на GitHub Pages и на GitVerse Pages — двумя способами, как в первой части.
  5. Сделайте QR-код на ссылку (любой генератор QR) — и повесьте в классе.
Критерий хорошего результата: ученик открывает ссылку с телефона, нажимает «Старт» и без ваших пояснений видит, как алгоритм работает по шагам.
Материалы лекции

Файлы и ссылки

QR-код на сайт лекции
Лекция уже задеплоена по этой же схеме:
neonco.github.io/algo-viz-lecture
QR ведёт на эту страницу — покажите на первом слайде, и слушатели откроют материалы с телефона.

Полезные ссылки: github.com · gitverse.ru · документация GitHub Pages · документация GitVerse Pages

Спасибо за внимание!

Визуализация алгоритмов:
от сортировок к графам

Обозненко Арсений Михайлович · Цифровая школа МГПУ