У статті не буде ігор-замінників курсів із програмування чи навчання з ментором. Не буває, що сьогодні людина запустила онлайн гру на Python, а через 2-3 місяці геймінгу робить чат-ботів або скрипти для сайтів. Щоб щось вміти, треба знати, як це працює. А ігор для вивчення програмування із повноцінними відеоуроками від викладачів ще не вигадали.
Ігри зі списку допоможуть закріпити теорію на практиці. Знайшли урок з CSS у Google, прочитали — відкрили гру та спробували перенести знання у рядки коду.
Практикуємо CSS: Flexbox Froggy
Онлайн-гра для вивчення CSS – мови розмітки для контенту на сайтах. У грі ви вчитеся розміщувати об'єкти на моніторі. У CSS це називається розміткою FlexBox.
У грі 24 рівня: на перших вчимо рухати жабеня по площині праворуч. А на останньому потрібно розмістити 7 жаб по будинках різного кольору. Будинок відповідає забарвленню тварини.
Якщо ви нічого не розумієте в CSS, але дуже хочете навчитися, у кожному уроці показують опорну команду.
Щоб пересунути жабку вправо, використовується команда justify-content: flex-end; А щоб розмістити до центру ставка, потрібно до justify-content підставити значення center.
Пояснення та приклади команд прикріплені до кожного рівня.
Якщо хочете вчитися без правил і з рандомними рівнями, у налаштуваннях доступні режими Intermediate та Expert.
Досконально CSS ви не навчитесь, але зрозумієте більшість основ розміщення об'єктів: розташування, центрування, пересування в сторони, пробіли між кількома предметами.
Дітям: Code Monkeys
Code Monkeys підходить для дітей віком від 5 до 14 років – познайомити зі світом кодингу, без заглиблення в синтаксис та особливості конкретних мов. Гра використовує мову CoffeeScript, Python та блочне програмування - робота з кодом, як з кубиками або Lego.
Наприклад у грі для Бобра рядки коду замінюють блоки. Бобру потрібно опустити колоду, щоб зібрати греблю. У звичайному коді програміст пише текст, а тут потрібно з'єднати блоки Play (запустити схему) та Drop (кинути колоду).
Сайт пропонує 3 платформи:
-
Для дітей – ігри з рівнями та різними типами програмування: блоки, текст.
-
Батькам — панелі, де можна відстежувати прогрес дитини.
-
Вчителям — дашборди з уроками та результатами всередині класу. Через ігри можна будувати власну програму навчання або взяти готову від Code Monkeys.
У грі для юних програмістів доступні дві версії: пробна та преміум. У першій 11 ігор базового та середнього рівня. Розповідають про блокове, текстове програмування, основи Python. У преміум 23 рівні, ціна передплати — від $6 на місяць.
Для дітей є два додаткові режими: ігровий — можна написати гру з блоків або рядків коду і показати на панелі з іншими роботами; змагальний — завдання з переможцями.
Наприклад, кнопками (рядки коду) пересувати мавпу полем з бананами. Виграє той, хто зібрав найбільше бананів.
Як у школі: CodeCombat
Якщо любите MMORPG і хочете попрактикуватися в кодингу, спробуйте Codecombat. Гра підійде новачкам та кодерам з невеликим досвідом. Якщо ви експерт у програмуванні — теж спробуйте.
Кожен поверх відведений під певний розділ програмування – методи, синтаксис та ін.
Поверх — як настільна гра. Один рівень — одне завдання. Якщо успішно впораєтесь з уроком, рухаєтесь на наступний.
Під описом рівня гравець завжди бачить, що вивчатиме.
Перед рівнем вибираєте героя, як у MMORPG та бажану мову програмування. Для новачків підписано, щоб не заплутатися: що за мова і для чого вона в реальних завданнях. Подивіться на зображення.
На кожному рівні зустрічає навчання. Наприклад, на першому показують можливі рядки коду, щоб пересувати персонажа до скарбу.
За правильний код отримуєте ігрову валюту та доступ до наступних рівнів курсу.
У грі можна змагатися з друзями. А для шкільної програми доступний прогрес за класом: викладач створює групу у грі та призначає код для кожного учня. Той вводить номер і відточує теорію через ігровий процес.
Наступний рівень: CodinGame
Гра підійде для практики, якщо паралельно навчаєтесь програмуванню. Або досвідченим програмістам — для розваг та змагань.
У цій грі нічого робити, якщо не вмієте читати код. Або не знаєте основ програмування: наприклад, ніколи не чули про умови або змінні, типи даних.
У CodinGame ігровий процес побудований на головоломках. Щоб пройти рівень, потрібно створити гру. Наприклад, написати код стрілялки у космосі: перемогти ворогів лазерними гарматами.
Для кожного рівня доступно 28 мов програмування: популярні Javascript та Python не залишилися поза увагою.
На початку гри можна пройти навчання на 2-3 хвилини. Познайомитеся з панеллю управління та отримаєте готові рядки коду, щоб протестувати головоломку.
Для кожної мови програмування відведено лінію прогресу. Чим більше головоломок вирішуєте, тим більше завдань відкривається. Наприклад, після основ Java нам відкрилися три категорії: програмування ботів, штучний інтелект і Clash of Code — режим з іншими гравцями.
Ще одна особливість CodinGame – розвинена спільнота. Гравці проводять стріми або змагаються з іншими у вирішенні головоломок.
Гравцям доступні навчальні матеріали із спільноти. Наприклад: введення Java або вправи на HTML і CSS. Усі уроки та ігри англійською.
CodinGame – це можливість отримати першу роботу. Для досвідчених програмістів відкрито програму сертифікації — можна пройти тест та отримати сертифікат від CodinGame з обраної мови. Ось як виглядає вправа з Java.
За 1 годину потрібно вирішити 5 завдань із програмування. Проходите тест — сертифікат ваш.
На CodinGame Ubisoft, Nasdaq, Alltech та інші компанії шукають таланти усередині гри. Компанії наймають та спілкуються з розробниками всередині спільноти.
Найкращих розробників визначають за тестами: обирають головоломку, запрошують кандидатів та проводять змагання. Переможці переходять на етап співбесіди.
CodinGame –- це гра, спільнота та можливості для роботи. Навчайтеся основ програмування та використовуйте гру як інструмент професійного зростання. Проходьте тести, отримуйте сертифікати та намагайтеся займати перші місця на змаганнях.
Найкращі ігри для програмістів не замінять досвіду викладачів.
Можна довго грати і сподіватися, що після кількох уроків щось вийде. Але реальність свідчить про протилежне.
Конкурувати можуть лише ті, що найбільше знають і вміють. Ті, хто може застосувати знання на практиці: створити гру або написати чат-бота за ніч.
У Комп'ютерній Академії IT STEP розробили великий курс «Розробник програмного забезпечення». Після диплому можна стати розробником, тестувальником чи аналітиком IT-продуктів. А якщо кодинг не викликає захоплення — перейти в нетехнічні спеціальності: керувати проектами, займатися маркетингом чи завести блог та писати про IT.