Лучший способ научиться чему-либо – поиграть в это. Представляем 10 обучающих игр, которые помогут освоить основы программирования.
Прежде чем вникать в тонкости конкретного языка, необходимо понять общие концепции компьютерных наук, освоиться с алгоритмами и поверить в свои возможности. С этим превосходно справляются игры. Мы подобрали 10 замечательных экземпляров, с которыми не страшно погрузиться в загадочный и полный возможностей мир IT.
Изучаем основы программирования
Algotica Iterations (2017)
Приключения робота Лони с теплой атмосферой и приятной стильной графикой – отличный выбор для первого погружения в мир алгоритмов.
Главный герой с товарищами борется с местным тираном, проходя уровни один за другим. Игрок должен вводить в терминал простые команды, которые Лони послушно выполняет, например, forward
или turn-left
. Прежде чем начнется сюжет, проводится понятное обучение.
С каждым уровнем маршруты усложняются, робот обучается новым действиям, а игрок осваивает концепции программирования. Понимание циклов, функций, объектов и оптимизации кода приходит само собой в процессе поиска решения.
CSS – Flexbox Froggy (2016)
Бесплатная браузерная игра, раскрывающая все секреты технологии Flexbox. Очаровательные лягушата заплутали в пруду и потеряли свои лилии. Чтобы помочь им, игрок должен правильно выстроить макет, используя css-свойства.
Подробные подсказки и мини-справочник значений помогут сориентироваться даже новичку, не знакомому с флекс-версткой.
Игра быстрая, приятная и очень полезная.
JavaScript – Grasshopper (2018)
Встречайте новое мобильное приложение от Google, который в последнее время активно занят повышением общей компьютерной грамотности. На этот раз будем учиться основам программирования на языке JavaScript вместе с веселым кузнечиком.
Кстати, название для проекта выбрано не случайно. Слово grasshopper, что переводится как «кузнечик», очень похоже на имя Грейс Хоппер. Удивительная Грейс не только совершила множество открытий и разработок в компьютерных науках, но и сделала карьеру на флоте.
Игровой процесс состоит из коротких уроков, головоломок, забавных тестов и мини-заданий. Их очень удобно проходить в свободное время прямо на телефоне.
Сначала игрок узнает о базовых понятиях программирования, чтобы слова «переменные», «циклы» и «функции» его больше не пугали. Затем идет раздел рисования. С помощью JavaScript-библиотеки D3 игрок может выводить на экран разные фигуры и создавать из них полноценные изображения. Это делает процесс обучения более живым и наглядным.
Каждый раздел игры начинается с инструкций и подсказок. Чтобы перейти к следующему этапу, игрок должен решить задачу, написав JavaScript-код во встроенном редакторе и запустив его. Если в программе нашлись ошибки, система сразу же обратит на них внимание.
Чем дальше продвинулся игрок, тем сложнее задачи, встающие перед ним. Чтобы сохранять мотивацию, в приложении есть система достижений и индикаторы прогресса.
Игра находится в свободном доступе в магазинах Google Play и App Store. С ее помощью можно легко и непринужденно освоить основы программирования на JavaScript в пару кликов.
Swift – Swift Playgrounds (2016)
Удивительно красивое мобильное приложение от Apple, призванное обучать начинающих программистов языку Swift.
В интерактивных 3D-локациях действуют персонажи, которыми можно управлять с помощью команд. Для удобного набора кода есть панель быстрого доступа и специальная клавиатура. Игра дарит потрясающую возможность увидеть, как программа оживает, ползает, крутится и летает по небу. Мир можно вращать движением пальцев!
На Swift написаны тысячи популярных приложений для Apple. Swift Playgrounds позволяет сполна ощутить возможности этого языка. Есть доступ к встроенным инструментам, таким как MultiTouch или гироскоп. Можно экспериментировать с дополненной реальностью или управлять внешними подключенными устройствами, например, роботами и дронами.
В приложении есть несколько типов песочниц, все с бесплатным доступом:
- Learn to Code – самые основы программирования для абсолютных новичков.
- Challenges – полноценные проекты для более опытных разработчиков.
- Accessories – работа с подключаемыми устройствами.
- Starting Points – пустые шаблоны.
Постоянно добавляются новые шаблоны для собственных программ и дополнительные челленджи.
Swift Playgrounds делает процесс обучения невероятно увлекательным и простым. Она доступна в App Store и поддерживает больше 10 языков, но русской локализации, к сожалению, пока нет.
Погружаемся в IT
Машинное обучение – while True: learn() (2018)
Специалист по машинному обучению и его очаровательный кот выживают в суровом мире IT, выполняя задания на фрилансе.
Разработчики сумели упростить сложные концепции и создать отличную систему подсказок, так что удовольствие от игры получит даже полный новичок в программировании. Игроку предстоит создавать сложные системы машинного обучения из готовых элементов разных типов: простых логических и обучаемых блоков, кинетических сетей, чат-ботов.
Каждое выполненное задание приносит немного денег, которые можно потратить в местном магазине. Главные статьи расходов: апгрейд компьютера и смена имиджа кота.
Уровни игры в какой-то мере повторяют реальную историю развития машинного обучения. Пользователь может наблюдать эволюцию науки, появление новых понятий. Иногда в виде газетных заметок приводятся интересные факты.
Есть возможность начать свой стартап и получать прибыль, продавая акции.
While True: learn() отлично нарисована, полна юмора и смешных отсылок. Она способна заинтересовать даже далеких от машинного обучения людей. В процессе игры зарождаются новые идеи и проекты.
На данный момент приложение находится в раннем доступе и активно обновляется. Машинное обучение в реальности не стоит на месте, поэтому появляются новые уровни и технологии. В ближайших планах – беспилотники, свёрточные сети, обучение с подкреплением.
Блокчейн – CryptoZombies (2017)
Креативная браузерная игра, посвященная созданию смарт-контрактов на языке Solidity. Наполовину обучающее пособие, помогающее освоить основы программирования, наполовину многопользовательская стратегия!
Сюжет построен на создании армии зомби и состоит из четырех больших уроков. В первом игрок построит фабрику по производству зомби с уникальным ДНК, а во втором пустит свое войско в дело. Каждый солдат в строю имеет особый внешний вид, сгенерированный с помощью функций шифрования. Третий и четвертый уроки посвящены фундаментальным концепциям языка Solidity и технологий блокчейн и Ethereum.
Игра затягивает с первых же глав, оторваться от нее невозможно. При этом вовсе не обязательно обладать каким-то опытом в блокчейн-разработке. Отличная обучалка начинается с самых базовых концепций и будет понятна даже новичку. Еще в игре есть плюшки в виде коллекционных карточек зомби и различных бонусов.
Хакерство – Hacknet (2015)
Увлекательный симулятор хакера с непередаваемой атмосферой командной строки и отличным саундтреком покорил тысячи человек и собрал множество наград.
Игрок знакомится с неким Битом, крутым хакером, от которого получает необычную операционную систему. Кстати, Бит умер. Кажется, дело тут нечисто, придется разбираться и восстанавливать справедливость.
Каждое принятое решение здесь имеет последствия, поэтому нужно быть очень осторожным. За ошибки можно и в тюрьму попасть. Но отчаянного хакера не остановить: самые защищенные системы не устоят перед его мастерством.
Вся игра разворачивается в терминале с минимумом графических элементов. Именно тут предстоит выполнять различные задания, используя реальные UNIX-команды. Можно управлять и мышью, но все же именно использование терминала делает Hacknet таким особенным.
Ближе к железу
Prime Mover (2017)
Приятная атмосферная игра о проектировании плат. Игрок должен проложить путь от транзистора до процессора, используя различные трансформаторы и выполняя условия задачи. Решений может быть множество, но нужно найти самое эффективное.
Prime Mover – отличный выбор для любителей головоломок. Здесь можно не только напрячь мозг, но и изучить основы программирования на самом низком уровне.
К сожалению, у игры нет русской локализации, но игровой процесс понятен интуитивно.
Shenzhen I/O (2016)
Это игра, в которой придется часто-часто-часто «курить мануалы». Благо, их тут больше 30 страниц, которые на полном серьезе предлагают распечатать!
Эмигрант приезжает в Китай и устраивается на работу в фирму Longteng, производящую электронику. Атмосфера офиса корпорации потрясающая: встрепанный тимлид, иконка солитера на рабочем столе, карты с китайскими подписями. На электронную почту начинают поступать задания, и герой принимается за работу. Его профессия – создавать микросхемы для различных устройств. Сначала заказы простые, например, фальшивая камера наблюдения или неоновая вывеска. Дальше – интереснее.
Игра не для слабаков! По-настоящему мозгодробительные задания по созданию и программированию электронных схем – это настоящий рай для любителей головоломок. Для выживания тут необходимо знать хотя бы основы программирования микроконтроллеров.
Полное погружение
Else Heart.Break() (2015)
Великолепная игра о дружбе, любви и, конечно, программировании.
Себастьян переезжает в большой город, устраивается на новую работу и начинает потихоньку осваиваться. Вступление довольно длинное, но не затянутое, а, скорее, размеренное. Жизнь героя плавно течет до момента встречи с Пикси, которая открывает ему глаза на окружающую действительность.
Оказывается, все в этом мире можно взломать и перекодировать! Например, превратить дверь в портал, а воду в стакане в энергетический напиток. С этого момента все становится очень интересно.
Это, возможно, самая лучшая игра о программировании. Дело даже не в возможности экспериментировать с природой вещей. И не в подпольной борьбе хакерской группировки с правительством. Дело в удивительной атмосфере, которую смогли создать разработчики.
Else Heart.Break() очень умная, яркая, живая и немного психоделичная. Игрок в ней не хакер, а волшебник. В этом и заключается истинная суть программирования.