Посоветуйте задачи для начинающих на C++ / C# / Php / Ruby / Python / Javascript / Java / GoLang
Список сборников простых и сложных задачами по программированию, на разных языках, а также игры для закрепления навыков программирования.
Задачи по программированию для начинающих
- Архив задач Школы программиста — 700 задач, которые можно отсортировать по темам, сложности, наличию подсказок русский
- informatics.mccme.ru — платформа с множеством теоретических материалов и задач по соответствующим темам. Все очень удобно собрано по категориям и темам. Также содержит большую базу задач с прошедших олимпиад школьников. русский
- Timus Online Judge — крупнейший в России архив задач по программированию с автоматической проверяющей системой. В частности, задачи для начинающих русский.
- SPOJ — крупный англоязычный сайт с более чем 20000 задачами на абсолютно разные темы: динамическое программирование, графы, структуры данных и т.д. Иногда проводит соревнования.
- Codeforces — несомненно самая популярная и известная платформа во всем мире для проведения соревнований на алгоритмику. Кроме крупных контестов сайт зачастую проводит свои «раунды» — участникам даются 5 задач на два часа. Есть система рейтинга, на основе которой участники делятся на два дивизиона. Таким образом, профи не соревнуются с новичками напрямую. Все задачи можно сдать и проверить даже после соревнований. Кроме «раундов» доступны и «тренировки» — задачи с прошедших соревнований публикуются в режиме дорешивания.
- TopCoder — ненамного отстающая по популярности от Codeforces американская платформа. Примечательна тем, что кроме алгоритмических контестов, которые описывались ранее, на ней проводятся и соревнования по промышленному программированию и марафоны — соревнования с задачами на исследование, для которых нет единого верного алгоритма, а есть лишь ответ, подходящий больше или меньше. На решение таких задач участникам обычно дается одна или две недели.
- CodeChef — менее крупный аналог Codeforces и TopCoder, тоже с огромным архивом задач и регулярными контестами.
Довольно интересно изучать программирование, самостоятельно разрабатывая игру
- Найди пару с персонажами My Litte Pony — эксперимент моей дочери, когда ей было 10 лет (jQuery)
- Find The Pair | A Memory Game — та же игра с изменяющимся набором изображений (Angular)
- Узнай код — игра, в которую я когда-то играл в детстве и восстановил по памяти (jQuery)
Вот список из 49 несложных игр, которые можно попробовать реализовать самостоятельно английский.
Игры для изучения программирования
Довольно интересно изучать программирование непосредственно во время игры. Специальные игровые проекты наглядно демонстрируют, что обучение программированию — это не так сложно и скучно, как может показаться. Хотя я уже 15 лет программирую, мне со сих пор интересно в них поиграть. Каждый раз я играю с самого начала, но уже с использованием другого языка программирования.
- CodeCombat — проект представлен в виде игры, которая разделена на несколько частей, возрастающих по сложности. В каждой части содержится множество задач на те или иные темы, призванные научить программированию с нуля любого человека. английский + русский и ещё 20 языков
- CodinGame — сайт, на котором программирование и видеоигры сливаются в единое целое. Здесь вы найдете большую коллекцию задач на программирование, оформленных в виде видеоигр английский
- CodeFights — ещё один ресурс, совмещающий программирование и игру английский
- CheckIO — сайт с задачами для программистов всех уровней, оформленный в виде игры английский
- Empire of Code — сайт для программистов, где необходимо писать код, реализующий стратегию и тактику виртуальных бойцов английский
- Colobot — 3d стратегия, разработаная компанией Epsitec в 2001. Игра призвана обучить детей (от 10 лет и старше) навыкам программирования в игровой форме. Геймплей заключается в создании программ для роботов. Цель — подготовить планеты для заселения и добычи полезных ископаемых. Существует локализация на русский
- и другие игры в статьях на хабре и типичном программисте
Задачи для опытных программистов
Для опытных полезны будут проекты, которые проводят конкурсы, ведут рейтинги, выдают подтверждения навыкам.
- HackerRank — тут собрано множество задач на самые разные разделы Computer Science: традиционная алгоритмика, ИИ, машинное обучение и т.д. Если вы решите много задач, то вами могут заинтересоваться работодатели, регуляторно мониторящие эту платформу. Количество поддерживаемых языков очень большое. английский
- Russian AI Cup — ежегодный контест от mail.ru по разработке ИИ. Участвовать могут все — от школьников до профессионалов. Победителям и призерам так же полагаются крутые призы. Обязательно примите участие, если вы заинтересованы этой темой. русский
Задания и задачки специфические для разных языков программирования
- Ruby Quiz — подборка задач для программистов на Ruby, но решения можно писать и на других языках английский
- Prolog Problems — аналогично с Ruby Quiz. Подборка задач для программистов, использующих Prolog английский
- PythonChallange — сайт с загадками, возрастающими по сложности. Для их решения необходимо написать программу на Python английский
- C Puzzles — подборка головоломок, специфичный для языка С, со всеми его причудами. Например, дан код, который, по логике, не должен работать, но, тем не менее, он компилируется и даже правильно выполняет свою задачу. Надо понять, почему так? На этой сайте вы сможете приобрести навык отладки программ и чтения кода других. английский
- Сборник задач для практики от СppStudio. Рекомендуется решать на С++, но можно и на других языках. русский
- Operation Go — практика написания кода на Go в игровой форме английский