10 интерактивов и игр для обучения программированию

JavaScript в лабиринте, SQL для поиска убийцы и интерактивный Python

С помощью игр для программистов можно научиться основам JavaScript и SQL, а интерактивные графики и симуляторы помогут разобраться в нейросетях и математике. Рассказываем о 10 интерактивах для начинающих, которые помогут понять работу алгоритмов и начать программировать.

Обучение JavaScript в игре-лабиринте

Bit’s Quest — игра, в которой нужно провести робота через лабиринт с помощью строчек кода на JavaScript. У робота есть четыре двигателя: запуская каждый из них с помощью функций JavaScript, вы сможете довести робота до выхода. В игре есть все инструкции для написания кода, по мере обучения вы сможете стрелять во врагов (использовать знания о событиях и замыканиях в JavaScript).

JavaScript — язык, на котором программируют интерактивные элементы на сайтах и в приложениях. Если на сайтах HTML отвечает за общую разметку страницы, CSS — за оформление и дизайн, то JavaScript — за реакцию на действия пользователя. Один из главных инструментов frontend-разработчика, освоить который мы поможем на практике

Изучение CSS-селекторов на обеденном столе

CSS-селектор — правило на web-страницах, которое помогает браузеру определять, к какому элементу применять стиль. Например, в интерактиве CSS Diner можно шаг за шагом обучиться селекторам, описывая предметы на обеденном столе строчками несложного кода. Обучение идет от простейшего к сложному: после всех 32 уровней уже можно верстать собственные страницы со сложными стилями.

CSS — это язык для описания внешнего вида сайтов. Создать простую веб-страницу можно и с помощью HTML, но возможностей для дизайна там не много. С помощью CSS можно задать стили для разных элементов HTML-страницы: шрифты, цвета, расположение блоков. Если видите красивый сайт — это все благодаря дизайнеру и программисту, который работал с CSS. А если хотите научиться всему на практике, сделать это можно, например, на нашем курсе по веб-разработке.

Основы алгоритма A* для гейм-девелоперов

А* — алгоритм поиска кратчайшего пути из точки А в точку Б. Например, разработчики игр используют его для перемещения персонажей. В этом интерактиве можно научиться его основам на примере игры-лабиринта: читайте инструкции и выполняйте несложные задания. Бонус: русский перевод интерактива есть на Хабре.

В разработке игр много математики: векторы, интегралы и алгоритмы заставляют героев выполнять команды игрока и двигаться. А* или «Поиск А*» — это алгоритм для решения задач из теории графов (объектов, связанных между собой линиями). Кстати, он полезен не только в гейм-девелопменте, но и при разработке нейросетей: связи между нейронами тоже можно описать графами.

Тригонометрия для программистов

Этот мини-курс поможет вспомнить школьный курс тригонометрии: минимум теории, максимум интерактивных графиков. Здесь можно покрутить графики синусов, косинусов и тангенсов и понять поведение функций в обычных и радиальных координатах. В курсе рассказывают о программировании тригонометрических функций на C# для гейм-девелоперов, но эти знания пригодятся и в других языках.

C# («си шарп») — это язык для программирования игр, похожий на C++ и JavaScript. На нем программируют в популярной у гейм-девелоперов среде Unity — например, так сделаны игры Hearthstone, Fallout и Pokemon Go. Все эти игры нельзя было создать без знаний тригонометрии: синусами и косинусами описываются движения карт в Hearthstone и монстров в Pokemon Go. Если хотите разрабатывать игры на Unity, научиться всему можно здесь.

Предсказание «случайных» нажатий клавиш

Этот алгоритм способен с высокой точностью предсказать, какую из клавиш «вправо» или «влево» вы нажмете в следующий раз. Он просто запоминает последовательности четырех последних нажатий и показывает на диаграмме закономерности внутри ваших случайных нажатий. Хороший тренажер для понимания феномена случайных чисел и простого эффективного кода для предсказания поведения пользователей.

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

Решение моральных дилемм для ИИ

Тест «Машина морали» от MIT поможет разобраться с моральными дилеммами, с которыми сталкиваются разработчики искусственного интеллекта. В тесте нужно выбрать решения для 13 вариантов «дилеммы вагонетки»: кого должен сбить на дороге ИИ внутри беспилотного автомобиля. Результаты теста помогут понять, как бы вы запрограммировали ИИ, а исследователи используют ваши ответы для развития беспилотных машин.

В разработке искусственного интеллекта много проблем и задач, но не все они технические и программные. Например, придется заняться философией: программные алгоритмы ИИ должны принимать сложные человеческие решения. Это условия придется учитывать при обучении нейросетей, чтобы беспилотные автомобили и дроны действовали с точки зрения привычной нам морали.

Игра-квест SQL Murder Mystery поможет выучить SQL-запросы к базам данных. Все что вам известно: 15 января 2018 года в городе SQL-сити произошло убийство. Все остальное нужно выяснить, отправляя несложные запросы к базе данных о подозреваемых. Если сначала ничего не получится, можно решить задачу вместе с пошаговым прохождением.

SQL — это язык для создания баз данных и «общения» с ними. С помощью SQL-запросов можно сохранять, изменять и получать данные. Например, на SQL программируют связь интернет-магазина с данными о наличии товаров и продажах. С помощью SQL-запросов простой интернет-магазин можно связать с таблицами в Excel. Особенно SQL нужен аналитикам данных, и на нашем курсе вы найдете специальные обучающие тренажеры по SQL-запросам.   

Симулятор нейросети

В этом интерактиве можно «покрутить» свою нейросеть и ничего не сломать. Выберите датасет для обучения слева (наборы оранжевых и синих точек) и изменяйте основные параметры нейросети: свойства, слои и скорость обучения. Справа получите результат обучения: нейросеть научится определять точки и отмечать их фоном соответствующего цвета.

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

Запоминайте hex-коды, убивая пришельцев

Игра Hex Invaders поможет разобраться с hex-кодами, которыми программируют цвета. Убивайте цветных пришельцев: отмечайте тех, чьи цвета соответствуют заданному hex-коду сверху. Помните, что каждые две цифры в коде соответствуют RGB: так освоить их в игре будет проще.

В программировании есть несколько способов закодировать цвета. Самый известный — RGB, где три числа сообщают компьютеру о наличии красного, зеленого и синего компонента, на которые можно разложить любой цвет. Hex-коды похожи на RGB, но используют шестнадцатеричные числа: после знака # пишут по две цифры на каждый компонент. Например, hex-код черного цвета — #000000, а белого — #FFFFFF.

6 полезных математических функций для Python

В этой интерактивной статье можно научиться шести полезным приемам программирования на Python и других языках. Например, можно выбирать случайные цвета по выборке из золотого сечения, смешивать их, а также перемещать предметы с помощью математических функций. Попробуйте работу каждой функции в интерактивных окнах: меняйте значения аргументов и следите за изменениями на экране. Если собрать все приемы вместе, можно написать программу заполнения пространства подвижными цветными шарами на Python — всего за 75 строчек кода.

Python — один из самых популярных языков программирования. Его используют в веб-разработке, дата-сайенсе и даже в разработке игр. Например, на Python писали код для World of Tanks, Civilization IV и Battlefield 2. Python хорошо подходит для новичков: кода для программ на нем нужно писать меньше, чем в других популярных языках. Подробнее о том, кому и зачем он нужен, читайте в нашем разборе

Блог SkillFactory
Добавить комментарий