Изучаем 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.