майнкрафт программирование для детей на python
Стив пишет заклинания на Python. Обучение детей программированию в Minecraft
Я не имею в виду создание и использование модов, это слишком высокий уровень входа. Первые попытки были после знакомства с первым изданием книги Minecraft. Программируй свой мир и удачной настройки сервера Bukkit на домашней машине. На данный момент (начало 2021 г.) есть второе издание, ссылка как раз на него а также несколько похожих книг других авторов. Второе издание хорошо тем, что в нем исправлены ошибки в коде, которые были в первом, а также используется Python3 и более новая версия сервера. Вот тут на Хабре обзор первого издания от издательства Питер.
На странице издательства Wiley есть несколько видео для упрощения, самое первое как раз об установке и настройке сервера Bukkit, отдельно установка Python (не Anaconda, из простого дистрибутива), тьюториал подключения к запущенному серверу и запуска в нем HelloWorld из питоновского IDLE.
Библиотека mcpi была изначально написана для запуска python-скриптов в Майнрафте на Raspberry Pi. Версия Minecraft для Raspberry Pi распространяется бесплатно. Сейчас mcpi работает под Windows. Качать отдельно ее не надо, все входит в состав Bukkit-сервера.
Вертикальные и наклонные столбы
Книга «Minecraft. Программируй свой мир на Python. 2-е международное издание»
У нас вышло переиздание книги, адресованной мальчикам и девочкам, которые любят играть в Minecraft в возрасте 11–15 лет.
Кому адресована эта книга
Книга адресована мальчикам и девочкам, которые любят играть в Minecraft и хотят научиться программированию, чтобы с помощью новых знаний добиться большего. В целом книги серии «Minecraft. » адресованы читателям в возрасте 11–15 лет, но некоторые приключения в финале могут быть интересны и читателям более старшего возраста. Кроме того, первые главы книги испытали совсем юные любители Minecraft в возрасте от восьми лет.
Возможно, вы уже накопили серьезный игровой опыт, но испытываете досаду от того, сколько времени приходится тратить на создание новых сооружений. Или ищете способы расширить возможности игры дополнительными логическими функциями и функциями автоматизации. Какими бы ни были ваши цели, эта книга станет путеводителем в путешествии по программированию для Minecraft, а каждый искатель приключений знает, что путеводитель — самый ценный груз в рюкзаке. Свой поход вы начнете с простого, например с отправки сообщений в чат Minecraft, затем познакомитесь с основами программирования для Minecraft на языке Python и, наконец, узнаете, как использовать новые навыки для создания собственных игр внутри Minecraft. К концу путешествия вы получите знания и навыки, достаточные, чтобы стать первопроходцем в программировании для Minecraft!
Что вы узнаете
Вы познакомитесь с множеством сторон игры Minecraft и способами влияния на ее поведение с помощью программ на языке Python. Откроете тайну адресации блоков в трехмерном мире с использованием координат. Узнаете, как определять местоположение персонажа, создавать и удалять блоки в Minecraft и как определить, какой блок выбран игроком.
Вы узнаете, как писать программы на языке Python: от самых простых, таких как «Привет, мир Minecraft!», до сложных, взаимодействующих с огромными трехмерными объектами, которые, благодаря новым навыкам программирования на Python, легко штамповать. Вы также узнаете, как настроить и запустить собственный локальный сервер Minecraft на ПК.
Используя бесплатный модуль MinecraftStuff, входящий в состав библиотеки на языке Python, вы сможете создавать двух- и трехмерные объекты из блоков, рисовать линии и многоугольники, а также выводить текст.
Примечание для родителей и учителей
Мы разделили книгу на несколько отдельных приключений, которые можно считать самостоятельными проектами. Каждый из них посвящен одной особенности программирования для Minecraft. Знакомство с языком Python будет протекать постепенно, от простого к сложному. Первые приключения ориентированы исключительно на новичков, а последние охватывают более сложные разделы языка Python и заставляют читателя напрягать свои способности.
В каждом Приключении представлен отдельный практический проект с пошаговыми инструкциями (в которых читатели смогут отмечать выполненные пункты галочками), составленными в стиле, напоминающем стиль комментариев в листингах программ. Подробные описания даны во врезках «Углубляемся в код», которые ученики смогут прочесть позднее, чтобы не отвлекаться от ввода и опробования программ.
Каждое Приключение может потребовать больше чем одного урока, но все они поделены на разделы, которые можно использовать в качестве тем для отдельных уроков или занятий.
Синтаксис языка Python предусматривает оформление листингов программ с отступами слева, для выделения структуры кода — он чувствителен к регистру символов. Юным читателям могут пригодиться советы взрослых по правильному оформлению отступов и регистров символов, которые помогут им избежать ошибок при наборе текстов программ. Все программы можно загрузить со вспомогательного веб-сайта. Поэтому если вдруг в программе всплывут какие-то проблемы, сравните свою версию с нашей и посмотрите, где допустили ошибку.
Изменения, внесенные во второе издание
Во втором издании мы сохранили содержание и тот же легкий стиль повествования и внесли некоторые незначительные улучшения и исправления:
О структуре книги
Каждая глава в книге — отдельное приключение, обучающее новым навыкам и понятиям в процессе программирования и тестирования проектов. Книга организована так, что каждому приключению соответствует самостоятельный проект. Хотя, возможно, кому-то будет проще осваивать их по порядку и знакомиться с новыми понятиями программирования постепенно.
Очень важно, чтобы вы прочли Приключение 1, прежде чем делать что-то еще. Там описано, как загрузить и установить всё, что вам понадобится, и убедиться, что всё работает должным образом. В этом приключении мы перечислим главные шаги, которые придется выполнять в следующих приключениях, и будем напоминать о них на протяжении первых приключений.
Первые три приключения написаны для тех, кто мало знает или вообще ничего не знает о программировании. Мы объясним все термины и понятия по мере встречи с ними. В Приключениях 2, 3 и 4 рассмотрены ключевые элементы любой хорошей игры Minecraft. В их числе: определение событий, происходящих в мире Minecraft; выполнение простых вычислений и создание программ, реагирующих по-разному, например отправляющих сообщения в чат или автоматически создающих блоки. Эти три ключевых понятия — определение, вычисление и реагирование — мы будем использовать на протяжении всей книги для создания больших и захватывающих программ Minecraft.
Приключения 5 и 6 основываются на том, что вы узнали в предыдущих приключениях, и содержат более крупные программы, которые разрабатываются и тестируются поэтапно. В Приключении 5 рассматриваются способы, которые позволяют вносить большие объемы данных из файлов данных, чтобы сохранять и дублировать большие структуры с помощью трехмерной «копировальной машины».
Приключения 6 и 7 знакомят с модулем MinecraftStuff, позволяющим с помощью блоков создавать линии, окружности и другие двумерные фигуры, а также некоторые фантастические трехмерные сферы и пирамиды. Они могут стать основой для строительства гигантских сооружений, создать которые вручную очень сложно. В Приключении 7 показано, как наделить движущиеся объекты индивидуальными особенностями, чтобы сделать их движения более-менее разумными. Освоив эти приемы, вы сможете писать захватывающие «игры внутри игры», которые наверняка поразят ваших друзей.
Отрывок. Вторжение инопланетян
Инопланетяне планируют вторгнуться в мир Minecraft. Космический корабль пикирует сверху прямо на персонажа, который находится в смертельной опасности: инопланетяне настроены враждебно и не успокоятся, пока не добьются своего.
В следующей программе вы будете использовать MinecraftShape и приемы программирования, уже использовавшиеся при создании блокфренда, для строительства инопланетного космического корабля (рис. 7.5), который будет парить в воздухе, преследуя персонажа и пытаясь оказаться над ним. Когда это произойдет, он телепортирует персонажа внутрь.
Космический корабль создается с помощью MinecraftShape, как деревянный конь в предыдущей программе; каждый его блок будет иметь свои относительные координаты и тип. На рис. 7.6 показаны координаты блоков (если смотреть сбоку и сверху).
Minecraft:
программирование
на языке Python
Программируйте на Python в любимой игре:
создавайте 3D-вселенные,
управляйте искусственным интеллектом
и весело проводите время.
Почему мы?
3 причины пройти курс
по Minecraft
Карьерные перспективы
Python входит в топ-3 рейтинга языков программирования: его используют Facebook и Google в сфере машинного обучения и искусственного интеллекта. Python-разработчики зарабатывают больше 100 000 ₽ в месяц.
Интеллектуальное развитие
Minecraft — это игра с элементами физики, математики и даже дизайна. Пока ребята создают игровую вселенную, они развивают логическое и творческое мышление, учатся ставить цели и добиваться результата.
Весёлый досуг
Вместо сухой теории — интерактивные занятия и практические задания. Всё обучение проходит в игровой форме.
Занятия в удобном режиме
Идвидуальный подход
Занятия проходят индивидуально, в режиме онлайн по удобному для ребенка графику. Длительность урока — 55 минут
Практика и постоянная поддержка
Домашние задания для закрепления материала. Если ребенку что-то непонятно, он в любой момент может связаться с преподавателем и задать вопросы.
Эффективные занятия
Один урок — один шаг вперед в изучении программирования и один результат — собственный работающий код
Преподаватели
Занятия ведут опытные IT-специалисты
Варвара Игнатенко
• Методист курса •
Окончила ЮУрГУ по специальности: “Фундаментальная
информатика и информационные технологии”
Опыт преподавания: 7 лет
Владеет языками: C++, C#, HTML, CSS, Python
Семён Новиков
• Преподаватель курса •
Разработчик с 11-летним опытом работы, ведет свой
кружок робототехники для детей в оффлайне
Прошел путь от системного администратора
до team-lead крупной IT компании
Владеет языками: Java Script, С++, PHP, HTML, CSS, Python
Анатолий Воронцов
• Преподаватель курса •
Большой опыт работы с детьми в возрасте от 5 до 16
лет и преподавания основ программирования, математики,
создания алгоритмов.
Работает с программными инструментами:
Scratch, Unity 3D, Python, Web (HTML, CSS, JS).
Видеоролик с презетацией курса
За время обучения ребенок освоит базовые принципы программирования, научатся создавать объекты, которые смогут двигаться и преодолевать препятствия. После обучения — защита проекта, сертификат и готовая работа в портфолио.
Программа
Переменные — наши друзья
Практика: починим неработающий телепорт и научимся перемещаться по
игровому миру.
Математика, моментальное строительство и суперпрыжки
Практика: строим башенку из блоков, меняем размер под ногами игрока и
возводим потрясающие шпили. После строительства — суперпрыжок в неизвестность.
Строки
Практика: «Привет, мир Minecraft!» Отправляем в чат сообщение, позволяем игроку
выбирать тип блока и готовим отчёт о перемещениях.
Булевы значения: истина и ложь
Практика: «Привет, мир Minecraft!» Отправляем в чат сообщение, позволяем игроку
выбирать тип блока и готовим отчёт о перемещениях.
Констуркция if: душ и потайная дверь
Практика: «Привет, мир Minecraft!» Отправляем в чат сообщение, позволяем
игроку выбирать тип блока и готовим отчёт о перемещениях.
Цикл while: дискотека и цветочный дождь
Практика: строим танцпол, снимаем водяное проклятие и проводим состязание ныряльщиков.
Функции — источник больших возможностей
Практика: посадим лес, создадим самодвижущийся блок, настроим напоминалку
для блоков.
Списки, словари и кортежи в Python
Практика: возводим столбик-секундомер, создаем меч ночного видения и бьём
по блокам. Создаём таблицу результатов.
Цикл for: волшебство в Minecraft
Практика: находим волшебную палочку и лестницу, сносим обветшалые стены,
ищем алмазы, возводим колонны и пирамиды. Осваиваем пиксель-арт.
Копируем конструкции с помощью файлов и модулей
Практика: создаём перечень дел: сохраняем записи и выводим их на экран.
Сохраняем и загружаем наборы конструкции и создаём модули для
управления объектами из блоков.
Многопоточность: игра в игре
Практика: делаем вторую игру — небольшого чат-бота.
Основы объектно-ориентированного программирования
Практика: создаём различные объекты: дом, замок, посёлок, гостиницу и дерево-призрак.
Создание своего сервера
Практика: создание своего полноценного защищённого сервера
Разработка полноценной мини-игры
Практика: создание своей полноценной мини-игры.
Запишитесь
на индвидуальное
занятие
Стоимость урока:
Менеджер свяжется в ближайшие время, после отправки заявки
Оставьте
заявку:
Спасибо!
Ваша заявка принята.
В ближайшее время с вами свяжется наш менеджер.
Отправляя заявку, вы принимаете условия договора-оферты и даёте согласие на обработку своих персональных данных в соответствии с политикой конфиденциальности.
Отзывы
Анастасия Розенбах
Мой сын посещал курс по программированию. Ребенок очень доволен и планирует продолжить обучение в этой школе. Спасибо большое преподавательскому составу! Отдельное спасибо Анатолию Варанцову!
Алина Крылова
Спасибо огромное Илье Лагунову, за увлекательные и полезные занятия! Очень рада что однажды ваша реклама попалась мне на глаза! Хорошо когда ребенок не просто играет в компьютерные игры, а видит как это работает. Круто ощущать, что твой ребенок в чем-то уже умнее тебя. Спасибо всем, создателям, педагогам и вдохновителям!! Успехов, развития, новых идей!
Виталий Домажаков
Наталья Заболоцкая
С этим сайтом меня познакомил моя дочка. Я была очень рада, что ребенок сам потянулся к знаниям, да и еще в такой перспективной сфере, как программирование. Я очень люблю свою дочь, поэтому просто никак не могла отказать в её замечательной инициативе. Поэтому сейчас дочка успешно учится уже 2-ой месяц по курсу Minecraft-программирование 🙂 Ребенку все нравится. Здесь отличные педагоги! Советую!
Часто задаваемые вопросы
Кто преподает?
Семён Новиков — разработчик с 11-летним опытом работы и 4-летним опытом преподавания. Сейчас преподаёт в Южно-Уральский государственный университете(ЮУрГУ), ведёт офлайн-курсы по программированию для детей. В прошлом — учитель информатики в школе. Прошел путь от системного администратора до team-lead в крупной IT компании;
Какая продолжительность у курсов?
Чему научится?
Прежде всего основам программирования на Python — эти знания помогут освоить IT-профессию в будущем. Ещё ребенок станет лучше понимать математику и геометрию: научится представлять в уме высоту, ширину и глубину будущих объектов. Курс учит мыслить последовательно: логически рассуждать, ставить цели, составлять алгоритмы решения задач и достигать результата.
Где пригодятся навыки программирование на Python?
В большом количестве сфер: от машинного обучения и искусственного интеллекта до банкинга и ритейла. Python активно используют Google, Facebook и другие крупные компании.
А если нет опыта в программировании?
Ничего страшного: курс для ребят, которые только делают первые шаги в программировании. Достаточно немного понимать английский и обладать базовым уровнем математики: уметь складывать, вычитать, делить и умножать. Остальное объяснит преподаватель.
Стоимость занятий
У нас индивидуальные уроки, поэтому конечная стоимость может отличаться в зависимости от уровня ребенка, целей родителей и учебной программы. Стоимость урока в среднем от 900 рублей.
Что получит выпускник?
Электронный сертификат, подтверждающий полученные знания и навыки, и готовую работу в портфолио.
Попытки начать обучение ребенка программированию с Minecraft pocket edition
На дворе осень и сын все чаще остается дома, уткнувшись в телефон или планшет, слабо реагируя на внешние раздражители. Меня это огорчает. Сам я начал программировать, как мне кажется, с того, что к моему первому компьютеру БК 0010-01 игры то на кассетах в комплекте шли, а вот магнитофон не шел. Пока добывали магнитофон с подходящим линейным выходом, я успел попробовать Бейсик, спасибо отцу за первые уроки. Так что, когда смог со скрипом загрузить первую графическую игру, то смотрел на нее уже не как на то, во что наконец буду играть, а очарованно думал, как бы сделать свою не хуже. Сына же, в его 8 лет, давно поглотил мир видеоигр и ютуба, так что начинать программирование с трели на встроенном динамике, похоже, впечатления не произведет.
Мне давно попадались статьи о программировании с Minecraft на питоне и тут я понял, что пора. Minecraft — одна из самых любимых его игр и я подумал, что лучше будет начать именно с этой, хорошо освоенной территории.
Однако, пробежав по имеющейся в свободном доступе информации, я понял, что все очень не просто. Найденные книги «Программируем с Minecraft. Создай свой мир с помощью Python» 2017 года и «Minecraft. Программируй свой мир на Python» 2018 года начинают с установки серверов Spigot и Bukkit соответственно. Оказалось, что мобильные клиенты, которые на android/iphone, они же pocket edition, они же bedrock edition, с этими серверами не работают. Надо покупать клиент под Windows/Mac, что портит всю затею. Во-первых это будет уже не «родная» среда, привычная сыну. Во-вторых, пересаживаться ради программирования в другую среду продемонстрирует слабость, что ли, подхода, мол игры отдельно, программы отдельно. В-третьих, сыну наверное захочется показать свои эксперименты друзьям, а у друзей популярны именно мобильные версии. Так нельзя, решил я, раз эти мобильные игрушки умеют подключаться к серверам, не все потеряно. И я начал искать.
В первый день мой хром был до отказа забит вкладками, а в голове воцарился хаос.
Первым нашелся сервер Nukkit с открытым исходным кодом, к которому игра на моем андроиде подключилась вполне успешно. Единственный момент тут, что нужна актуальная версия игры (1.12 на сегодня), так что понадобилось обновить ее сначала. У сервера много плагинов, но плагина, пригодного для программирования, вроде, описанных в книгах, не нашлось.
Нашелся, правда, PyPlugins, который вроде запускает Jython — версию питона на java. Но, как я понял, jython остановился на версии языка python 2.7. Отложил этот вариант, как неспортивный.
Пойдем с другой стороны, а как авторы книг подразумевали подключение питона к серверам? Пристально изучив дополнительные материалы к книгам, благо они в свободном доступе, нашел плагин RaspberryJuice, заботливо спрятанный в директории plugins (в книге о нем ни слова), он то и открывает сетевой сокет в ожидании команд. А команды отправляет питоновская библиотека mcpi. Спасибо авторам, все с открытым кодом. Немного напрягало, что последний коммит 2-4 года назад.
Итак, инструкция, как быстро запустить эту пирамиду из Nukkit-Pokkit-RaspberryJuice-mcpi:
Можно попробовать и без питона (шага 6), подключившись к плагину обычным netcat-ом: nc localhost 19132 и вводить команды вручную:
Мои эксперименты можно видеть на начальной картинке этого поста.
Вот и все. Здорово, что есть open source и теперь можно вот так просто, поискав в открытом доступе, за несколько вечеров соорудить такую пирамиду работающих программ. Особенно хочется отметить дружелюбность и почти мгновенные ответы в чатах многих проектов.
Еще нашел это замечательное видео о визуализации docker контейнеров сервера в мире Minecraft:
Контейнеры сына заинтересуют навряд-ли, а вот помигать светодиодами в ответ на переключение мультяшных рубильников — самое оно. Буду рад советам, что бы такого необычного еще придумать для обучения программированию.
Изучаем Python с помощью Minecraft: новый курс в GeekSchool
Minecraft уже много лет остаётся одной из самых популярных компьютерных игр. Ей посвящено множество ресурсов в интернете, а летсплеи на YouTube легко набирают сотни миллионов просмотров. А ещё игра — отличный инструмент для обучения программированию, и недавно в GeekSchool мы открыли курс по Python в Minecraft.
В этом посте мы поговорим о курсе с его разработчиком и идейным вдохновителем Ильёй Акчуриным. Узнаем, что необычного в новой программе, только ли на детей рассчитан курс и при чём здесь программирование.
— Илья, давай начнём с краткого ликбеза для тех, кто не знает, что такое Minecraft и почему он так популярен.
Minecraft — это, пожалуй, самая популярная в мире игра-песочница. Во всяком случае, из тех, что существуют в компьютерном 3D-пространстве. Действие происходит в открытом случайно сгенерированном мире, состоящем из блоков, в котором игроку выдаётся роль одновременно творца и участника. В этом отношении игру часто сравнивают с конструктором LEGO, и они вполне сопоставимы по популярности — сейчас Minecraft используется для обучения в 120 странах мира, а хотя бы раз её запускали свыше 125 миллионов человек.
— А при чём здесь программирование?
Логично, что у игры с такой направленностью появилось множество поклонников, в том числе среди программистов. Они-то и добавили в неё возможность исполнения кода. Есть версии на разных языках, но мы в курсе остановимся на самом популярном — Python.
— Недавно у тебя был курс для детей младшего возраста, посвящённый «черепашьей графике» на Python. Здесь будет что-то подобное?
Здесь язык и его возможности будут изучаться на более взрослом уровне. В «черепашьей графике» речь шла скорее об общем знакомстве с программированием и кодом. Здесь же можно говорить о полноценном базовом курсе на Python.
— Расскажи, как будет проходить обучение.
Так как игра «из коробки» не воспринимает программные надстройки, нам потребуется сервер с возможностью интерпретации кода. Пользователь со своей стороны запускает на компьютере специальный модуль для интеграции Python в Minecraft. Дальше создать нужный нам код — дело техники.
Первое занятие будет посвящено именно созданию локального сервера и описанию всех взаимодействий. Далее мы сосредоточимся непосредственно на игре.
— Согласно программе курса, ученикам предстоит пройти более 70 «миссий». Означает ли это, что теоретические лекции исключены?
Я постарался разработать курс таким образом, чтобы сделать его максимально практическим. Мы ведь говорим про обучение детей программированию через игру. Так что все занятия будут предельно лаконичными: пишем код, изучаем его, смотрим на результат, закрепляем и двигаемся дальше. Домашних заданий на зубрёжку не будет, книги и методички — только для тех, кто сам хочет погрузиться в теорию или повторить то, что было на уроке.
— Насколько оправдан такой подход с детьми?
По моему опыту, это самый действенный способ увлечь ребёнка предметом. Само по себе обучение программированию через Minecraft — это не новая идея, но я потратил массу сил и времени, чтобы сделать этот курс по-настоящему интересным.
— Есть ли в программе курса создание скриптов или вещей, которые могут упростить игру в Minecraft?
Да, безусловно. Например, мы создадим алгоритм автоматического поиска редких ресурсов под землёй. Но важно помнить, что во избежание читерства на многих серверах Minecraft запустить код невозможно.
— Курс проходит в формате GeekSchool. Это значит, что сложных тем не будет?
Так как курс основан на игре в жанре песочницы, мы не сможем углубляться в долгое объяснение теории. Но на последних занятиях мы успеем коснуться и ООП (объектно-ориентированного программирования) с созданием классов, и потокового асинхронного программирования, и даже чуть-чуть затронем искусственный интеллект. Понятно, что в тонкости происходящего дети вникать не будут, но какое-то представление появится.
Кроме того, я бы не сказал, что курс рассчитан только на детей. Я знаю случаи, когда родители учеников смотрели с ними вебинары, участвовали в разработке, и в итоге это превращалось в большое семейное увлечение. Так что, если взрослый захочет пройти этот курс, поиграть и понять базовые принципы программирования, он может записаться сам или участвовать вместе с ребёнком, будет интересно и весело.
— Есть ли входной порог знаний?
Необходимо знать основы математики: умножение, сложение, вычитание, деление. Также рекомендую иметь начальные знания английского языка — понимать всё же лучше, чем зубрить. И базовая компьютерная грамотность — хотя вряд ли кто-то без неё пойдёт на курс по Minecraft.
— Расскажи, чем хорош этот курс и кого ты ждёшь на занятиях?
Самое главное в курсе — он весёлый и интересный. Учить программирование, создавая код на одном электронном листке бумаги и ожидая его исполнения на другом, довольно скучно. Здесь у нас популярнейшая игра, графика с визуализацией каждого шага, интересные задачи, минимум теории, максимум практики — будет действительно круто.
Жду всех желающих от 9 до 99 лет, тех, кто хочет сделать первые шаги в программировании на Python. Мы весело проведём время и играя освоим основы Python.
Minecraft уже много лет остаётся одной из самых популярных компьютерных игр. Ей посвящено множество ресурсов в интернете, а летсплеи на YouTube легко набирают сотни миллионов просмотров. А ещё игра — отличный инструмент для обучения программированию, и недавно в GeekSchool мы открыли курс по Python в Minecraft.
В этом посте мы поговорим о курсе с его разработчиком и идейным вдохновителем Ильёй Акчуриным. Узнаем, что необычного в новой программе, только ли на детей рассчитан курс и при чём здесь программирование.
— Илья, давай начнём с краткого ликбеза для тех, кто не знает, что такое Minecraft и почему он так популярен.
Minecraft — это, пожалуй, самая популярная в мире игра-песочница. Во всяком случае, из тех, что существуют в компьютерном 3D-пространстве. Действие происходит в открытом случайно сгенерированном мире, состоящем из блоков, в котором игроку выдаётся роль одновременно творца и участника. В этом отношении игру часто сравнивают с конструктором LEGO, и они вполне сопоставимы по популярности — сейчас Minecraft используется для обучения в 120 странах мира, а хотя бы раз её запускали свыше 125 миллионов человек.
— А при чём здесь программирование?
Логично, что у игры с такой направленностью появилось множество поклонников, в том числе среди программистов. Они-то и добавили в неё возможность исполнения кода. Есть версии на разных языках, но мы в курсе остановимся на самом популярном — Python.
— Недавно у тебя был курс для детей младшего возраста, посвящённый «черепашьей графике» на Python. Здесь будет что-то подобное?
Здесь язык и его возможности будут изучаться на более взрослом уровне. В «черепашьей графике» речь шла скорее об общем знакомстве с программированием и кодом. Здесь же можно говорить о полноценном базовом курсе на Python.
— Расскажи, как будет проходить обучение.
Так как игра «из коробки» не воспринимает программные надстройки, нам потребуется сервер с возможностью интерпретации кода. Пользователь со своей стороны запускает на компьютере специальный модуль для интеграции Python в Minecraft. Дальше создать нужный нам код — дело техники.
Первое занятие будет посвящено именно созданию локального сервера и описанию всех взаимодействий. Далее мы сосредоточимся непосредственно на игре.
— Согласно программе курса, ученикам предстоит пройти более 70 «миссий». Означает ли это, что теоретические лекции исключены?
Я постарался разработать курс таким образом, чтобы сделать его максимально практическим. Мы ведь говорим про обучение детей программированию через игру. Так что все занятия будут предельно лаконичными: пишем код, изучаем его, смотрим на результат, закрепляем и двигаемся дальше. Домашних заданий на зубрёжку не будет, книги и методички — только для тех, кто сам хочет погрузиться в теорию или повторить то, что было на уроке.
— Насколько оправдан такой подход с детьми?
По моему опыту, это самый действенный способ увлечь ребёнка предметом. Само по себе обучение программированию через Minecraft — это не новая идея, но я потратил массу сил и времени, чтобы сделать этот курс по-настоящему интересным.
— Есть ли в программе курса создание скриптов или вещей, которые могут упростить игру в Minecraft?
Да, безусловно. Например, мы создадим алгоритм автоматического поиска редких ресурсов под землёй. Но важно помнить, что во избежание читерства на многих серверах Minecraft запустить код невозможно.
— Курс проходит в формате GeekSchool. Это значит, что сложных тем не будет?
Так как курс основан на игре в жанре песочницы, мы не сможем углубляться в долгое объяснение теории. Но на последних занятиях мы успеем коснуться и ООП (объектно-ориентированного программирования) с созданием классов, и потокового асинхронного программирования, и даже чуть-чуть затронем искусственный интеллект. Понятно, что в тонкости происходящего дети вникать не будут, но какое-то представление появится.
Кроме того, я бы не сказал, что курс рассчитан только на детей. Я знаю случаи, когда родители учеников смотрели с ними вебинары, участвовали в разработке, и в итоге это превращалось в большое семейное увлечение. Так что, если взрослый захочет пройти этот курс, поиграть и понять базовые принципы программирования, он может записаться сам или участвовать вместе с ребёнком, будет интересно и весело.
— Есть ли входной порог знаний?
Необходимо знать основы математики: умножение, сложение, вычитание, деление. Также рекомендую иметь начальные знания английского языка — понимать всё же лучше, чем зубрить. И базовая компьютерная грамотность — хотя вряд ли кто-то без неё пойдёт на курс по Minecraft.
— Расскажи, чем хорош этот курс и кого ты ждёшь на занятиях?
Самое главное в курсе — он весёлый и интересный. Учить программирование, создавая код на одном электронном листке бумаги и ожидая его исполнения на другом, довольно скучно. Здесь у нас популярнейшая игра, графика с визуализацией каждого шага, интересные задачи, минимум теории, максимум практики — будет действительно круто.
Жду всех желающих от 9 до 99 лет, тех, кто хочет сделать первые шаги в программировании на Python. Мы весело проведём время и играя освоим основы Python.