Від змагального програмування до ігор: 21 онлайн-платформа, що допоможе розробникам відточити навички

Аби стати вправним бігуном, потрібно багато бігати. Відповідно, щоб стати успішним програмістом, потрібно багато кодити.

DOU підготував добірку сервісів, які пропонують розв’язувати складні й прості завдання онлайн, аби прокачувати hard skills. Частина з них повністю безплатна, частина має платну версію. Деякі оформлені зовсім просто й не пропонують нічого, крім місця для кодингу, а деякі — це повноцінні бізнес-платформи.

Більшість обраних сервісів створили для дорослих кодерів, однак DOU додав у добірку й ті тренажери, що зацікавлять дітей.

Класичні онлайн-сервіси для тренування навичок програмування

HackerRank

Платформа позиціює себе як місце, де «програмісти з усього світу збираються разом, щоб розв’язувати проблеми в галузі інформатики: алгоритми, ML, AI». HackerRank можна використовувати, аби відточувати навички у Python, C, C ++, Java, Ruby, Regex тощо.

Ресурс пропонує обговорення, а також таблицю лідерів для кожного завдання. Чимало завдань супроводжуються редакційною статтею, яка пояснює, як діяти, щоб знайти розв’язок. Крім того, платформу використовують рекрутери, щоб оцінювати навички кандидатів.

LeetCode

Платформа допоможе покращити навички програмування та підготуватися до технічних співбесід. На LeetCode є завдання для тих, кого цікавлять алгоритми, структури баз даних тощо. Сервіс підтримує 20 мов програмування: C, Swift, C++, Ruby, Go, C#, Scala, Kotlin, JavaScript, Oracle, Rust, Python, Bash, PHP, Racket тощо.

Також можна переглядати розв’язки інших користувачів. Сервіс дає статистику: наприклад, дані, про те, як швидко із завданням впоралися ви та інші користувачі.

Codewars

Codewars пропонує колекцію завдань з програмування, які надіслала сама спільнота. Їх можна розв’язувати в режимі онлайн у редакторі, що доступний на сайті. А ще переглянути обговорення кожного завдання й розв’язки інших користувачів. Серед мов програмування: Java, Python, PHP, Scala, Swift, Kotlin та інші.

‌Coderbyte

Сервіс містить понад три мільйони завдань, на яких можна навчитися програмувати. Бази даних, алгоритми, Front-end, Back-end — тут є челенджі для різних фахівців. Доступні майже 30 мов програмування, серед яких Angular, Bash, GraphQL тощо.

Topcoder

Одна з платформ для змагального програмування онлайн. Сервіс дає список алгоритмічних завдань, які слід розв’язати онлайн за допомогою доступного редактора коду. Регулярно розробникам пропонують матчі, в яких треба змагатися з іншими, щоб якнайшвидше знайти розв’язок з найкращим результатом.

Крім того, роботодавці використовують Topcoder, щоб наймати фрилансерів і знаходити команди для проєктів.

Project Euler

Це серія складних математичних/комп’ютерних задач, для розв’язання яких знадобляться не тільки математичні знання. Хоча математика допоможе вам знайти елегантні та ефективні методи, використання комп’ютера та навичок програмування стануть у пригоді при розв’язанні більшості з них, кажуть автори сервісу.

SPOJ (Sphere Online Judge)

SPOJ підтримує понад 45 мов програмування і компіляторів, серед яких: C, C++, Pascal, Java, C#, Perl, Python, Ruby, Haskell, Ocaml та езотеричні мови. Завдання доступні англійською, польською, португальською та іншими мовами. Користувачі можуть розробляти власні конкурси або брати участь в онлайн-курсі на всіх рівнях програмування.

Geeks for Geeks

Як підказує назва платформи, це сервіс, який створили розробники для розробників. Geeks for Geeks виходить за межі звичайного «сервісу-тренажера», оскільки пропонує ще й навчальні посібники, статті, вебінари від експертів галузі тощо. Водночас на сайті доступні змагання з програмування і вправи для тих, хто працює з Python, Java, CPP, Golang, C#, SQL, Kotlin тощо.

freeCodeCamp

Це спільнота людей з усього світу, які разом вчаться програмувати. Користувачі можуть покращувати свої навички, розв’язуючи завдання. Крім того, платформа пропонує сертифікати, які підтвердять скіли. Ще команда працює над власним мобільним застосунком. Однак наразі вони радять завантажувати Grasshopper — він безкоштовний, його розробили учасник freeCodeCamp та команда організації.

DataCamp

DataCamp містить відеоролики й інтерактивні вправи з кількох тем: R Programming, Python Fundamentals, Data Manipulation, Machine Learning Fundamentals тощо. Втім це не просто сервіс для відточення навичок. Згадані програми — цілі курси, в яких об’єднані теорія і практика онлайн.

HackerEarth

HackerEarth — сервіс, який працює як для компаній, так і для розробників. Останні можуть практикуватися за його допомогою онлайн — потрібно лише знайти завдання, яке цікавить, у переліку відповідного розділу. На сайті є такі категорії: Basic Programming, Data Structure, Machine Learning, Algorithms тощо.

CodeChef

«Ми — спільнота з 1,6 мільйона програмістів з усього світу, які змагаються, навчаються, обговорюють і створюють культуру змагального програмування на одній платформі», — кажуть засновники сервісу.

Практичні завдання тут класифіковані за рівнем складності, доступний дискусійний форум, а також є опція запустити власний конкурс. На сайті є онлайн-IDE, що підтримує Python, C++, C, Kotlin, Node.js та багато інших мов програмування.

Exercism

Творці Exercism кажуть, що створюють «найефективніше, приємне та дружнє місце для навчання та вивчення програмування», і роблять це безплатно. Користувачам пропонують розвивати володіння 61 мовою програмування за допомогою поєднання навчання, практики та менторства.

CodingBat

Це проєкт Ніка Парланте, викладача інформатики у Стенфордському університеті. Сервіс безплатний для користувачів і дає змогу розв’язувати завдання онлайн, аби розвивати навички тим, хто працює на Java та Python. Завдання CodingBat підходять для самостійного відточування навичок, також їх можуть використовувати викладачі як приклади під час університетських занять. Автор проєкту каже, що спеціально робив завдання короткими та якомога чіткіше сформульованими.

Гейміфіковані сервіси (та навіть повноцінні ігри для програмістів)

CodinGame

«Вивчайте нові концепції, розв’язуючи цікаві завдання понад 25 мовами», — кажуть засновники проєкту.

CodinGame дещо відрізняється від інших сервісів, оскільки тут потрібно не просто розв’язувати завдання, а фактично брати участь у написанні коду для ігор, в які ви граєте безпосередньо онлайн. У гри є опис проблеми, тестові приклади та редактор, у якому можна написати свій код однією з доступних мов.

CheckiO

Ігри з програмування як для початківців, так і для просунутих програмістів, що допомагають вдосконалити навички кодування. Розв’язувати завдання можна за допомогою Python і TypeScript.

До речі, платформу створили й підтримують українці.

CSS Diner

Це гра для вивчення і практики CSS-селекторів. У центрі гри — таблиця зі стравами, представленими у вигляді анімації та HTML. З неї потрібно вибирати різні предмети й продукти, як-от тарілки чи фрукти.

Рівні навчають програмістів усіх селекторів, починаючи з базових, тож запускати CSS Diner моужть і ті, хто тільки починає шлях, і ті, хто вже трохи набив руку.

Robocode

Це гра для програмістів, яка допомагає вивчити Java. Мета гри — розробка бойового танка-робота для боротьби з іншими танками. Битви роботів відбуваються в режимі реального часу та на екрані.

Розробка допоможе розвинути навички не лише новачкам, а й досвідченим кодерам.

CodeMonkey

Це онлайн-платформа, яка навчає CoffeeScript і Python. Діти та підлітки вивчають мови на основі блоків і тексту в ігровому середовищі. «Напишіть код. Ловіть банани. Врятуйте світ» — таким є гасло CodeMonkey. Аби ловити банани, користувач має написати відповідну команду, яка допоможе персонажу це зробити.

Codepip

«Відкрийте для себе ігри, які навчають останнім темам програмування», — закликають автори сервісу.

Codepip — це платформа, де грають в ігри, які навчать HTML, CSS, JavaScript тощо. Зареєструвавши обліковий запис Codepip, користувач отримує доступ до безкоштовних ігор, може зберігати свій прогрес і ділитися досягненнями.

Robot Odyssey

«Мені знадобилося 13 років, щоб закінчити її, і це вирішило мою долю як програміста. Це приголомшливе технічне досягнення й одна з найінноваційніших ігор епохи Apple IIe», — казав Девід Ауербах, письменник і Software Engineer, що працював у Google і Microsoft.

Robot Odyssey — це освітня гра, яку випустили 1984 року. Користувач грає за персонажа, який уві сні потрапляє у таємниче місто Роботрополіс. Йому потрібно розв’язувати головоломки, чого не вийде зробити без навичок програмування, аби вибратися.

У грі є п’ять рівнів, які створювали п’ять різних людей (наприклад, четвертий рівень розробив 16-річний школяр).

Все про українське ІТ в Телеграмі — підписуйтеся на канал редакції DOU

👍ПодобаєтьсяСподобалось31
До обраногоВ обраному47
LinkedIn



4 коментарі

Підписатись на коментаріВідписатись від коментарів Коментарі можуть залишати тільки користувачі з підтвердженими акаунтами.

Дякую за колекцію!

freeversity.github.io — а отут можна безкоштовно підтягнути HTML та CSS.

Ага. Без необхідності платити русні.

Підписатись на коментарі