// портфолио · Minecraft Education

Всё построено кодом, а не мышкой

На этом курсе Minecraft — не игра, а среда разработки. Каждое здание на скриншотах создано алгоритмом, который ребёнок написал сам: от первых команд роботу до программ на Python.

32 занятия8 модулейPython в конце года
// чему_научились_за_год

Что стоит за этими постройками

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

[01]

Алгоритмическое мышление

  • последовательность команд
  • циклы и повторения
  • переменные
  • система координат
  • отладка алгоритма
[02]

Структура программы

  • условия и ветвления
  • функции и подзадачи
  • массивы и селекторы
  • повторное использование кода
  • разбиение сложной задачи
[03]

Настоящий код

  • синтаксис Python
  • переход от блоков к тексту
  • поиск и исправление ошибок
  • самостоятельные программы
  • чтение чужого кода
// работы_курса

Как растут постройки за год

От первой стены, которую выкладывает робот-агент, до города, сгенерированного функциями. Рядом с каждой работой — код, который её создаёт.

Первые постройки
// модули_01–02 · робот-агент

Первые постройки

блочное программирование · алгоритмы и циклы

Курс начинается с робота-агента: ребёнок отдаёт ему команды и сразу видит результат в мире игры. Сначала это простые стены и башни, дальше — постройки, которые агент возводит по циклу, не повторяя одну и ту же команду сотню раз.

// алгоритм: башня из блоков
повторить 10 раз
    агент поставить блок вниз
    агент переместиться вверх 1
// что в этих работах
  • управление роботом-агентом
  • первые алгоритмы строительства
  • циклические алгоритмы
  • переменные для размеров построек
  • оптимизация: меньше команд — тот же результат
// что написано руками ребят

Каждый алгоритм ребёнок пишет сам. Готовых решений не даём: если стена получилась кривой, разбираемся, на каком шаге агент свернул не туда.

Блочный кодЦиклыПеременные
Крупные сооружения
// модули_03–04 · координаты и конструктор

Крупные сооружения

строительство по координатам · сложные формы

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

// заполнение области
заполнить от (0, 64, 0)
         до (20, 84, 20)
         блоком камень
// что в этих работах
  • система координат в трёх измерениях
  • заполнение областей одной командой
  • условные конструкции в постройках
  • работа с конструктором
  • сложные геометрические формы
// что написано руками ребят

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

КоординатыУсловияКонструктор
Город программистов
// сквозной_проект · каждое 4-е занятие

Город программистов

главный проект года · растёт весь курс

Общий проект, к которому мы возвращаемся каждое четвёртое занятие. В этом городе нет ничего, построенного вручную: каждое здание, дорога и элемент инфраструктуры созданы алгоритмом, который написали сами ребята.

// функция строит дом заданного размера
функция построить_дом(ширина, высота)
    повторить высота раз
        заполнить_периметр(ширина)
        подняться(1)
// что в этих работах
  • жилые кварталы, построенные циклами
  • дороги и мосты по координатам
  • парки и освещение через функции
  • генерация однотипных зданий
  • инфраструктура города
// что написано руками ребят

Город растёт вместе с навыками: в начале года это несколько простых домов, к концу — кварталы, которые генерируются функциями с параметрами. Прогресс виден буквально на карте.

ФункцииМассивыКоординатыЦиклы
Постройки на Python
// модули_07–08 · настоящий язык

Постройки на Python

финал года · текстовый код вместо блоков

Последние два модуля блоки заканчиваются — начинается настоящий текстовый код. Ребёнок пишет на Python те же алгоритмы, что раньше собирал мышкой, и понимает: это тот самый язык, на котором работают взрослые разработчики.

# python в minecraft education
for i in range(10):
    blocks.place(STONE, pos(i, 0, 0))
// что в этих работах
  • синтаксис Python
  • переменные и функции в текстовом коде
  • циклы и массивы
  • генерация построек программой
  • поиск и исправление ошибок
// что написано руками ребят

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

PythonФункцииМассивыЦиклы
// все_проекты
// github_академии

Здесь лежит весь код

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

  • ✓Карта «Города программистов» — скачайте и посмотрите изнутри, что построили ребята за год
  • ✓Все скрипты на Python с последних модулей курса
  • ✓Алгоритмы построек — от первых команд агенту до генерации кварталов
Открыть GitHub академии →
> git clone codegap
✓ карта города программистов
✓ скрипты на Python
✓ алгоритмы построек
// открыто для всех

Хотите, чтобы ребёнок так строил?

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