- Тебе сложно учиться программированию?
- Мы нашли простой и эффективный способ, основанный на практике
- Начнем?
- Преподаете? C нами преподавание эффективнее и проще
- Где попрактиковаться в программировании: 30 ресурсов
- C Puzzles
- Code Abbey
- CodeChef
- CodeCombat
- Codeforces
- Codewars
- Coding Bat
- CodinGame
- Empire of Code
- Exercism
- HackerRank
- InterviewBit
- LeetCode
- MAXimal
- MindCipher
- Programming Praxis
- Programming Skills
- Programmr
- Project Euler
- Prolog Problems
- PythonChallange
- Rosalind
- Ruby Quiz
- SPOJ
- SQL-EX.RU
- Timus Online Judge
- Topcoder
- W3Resource
- Питонтьютор
- Школа программиста
- 10 самых популярных сайтов с задачами по программированию
- 1. TopCoder
- 2. Coderbyte
- 3. Project Euler
- 4. HackerRank
- 5. CodeChef
- 6. Exercism.io
- 7. Codewars
- 8. LeetCode
- 9. SPOJ
- 10. CodinGame
Тебе сложно учиться программированию?
Программировать и вправду непросто, ведь программирование — это, в первую очередь, практика. Иногда новички, прочитав пару книг, думают, что узнали о программировании всё, однако написать свою первую программу так и не могут. Им не хватает опыта.
Но где его взять? Какие программы писать? Какие задачи перед собой ставить?
Мы нашли простой и эффективный способ, основанный на практике
Мы собрали для вас кучу практических заданий! Каждое задание хорошенько описали, добавили примеры и примечания. Отсортировали задания по темам и уровню сложности. Покрыли все задания авто-тестами, чтобы вы могли быстро проверить себя.
Если вы только начинаете изучать программирование, вам подойдет уровень сложности «Легко». А если уже есть опыт, то проверьте себя на уровне сложности «Тяжело».
Начнем?
Осталась самая малость! Выберите язык программирования и уровень сложности заданий.
Преподаете? C нами преподавание эффективнее и проще
Сколько времени преподаватель тратит на проверку домашнего задания и отчетность? Пусть компьютер сам все это сделает!
Кроме огромного количества задач по программированию, которые мы уже собрали для вас. У нас есть иснтрументарий для управления учебным процессом.
Создавайте учебные программы, собирайте домашние задания из имеющихся у нас задач, либо создавайте свои собственные! А также управляйте группами студентов, следите за прогрессом всей группы и каджого ученика!
Автоматическая проверка домашних заданий, автоматический сбор данных и создание отчетов, упрощенная коммуникация с учениками и другое. Мы берем на себя рутину, чтобы вы могли преподавать.
СodeСhick.io — простой и эффективный способ изучения программирования.
2023 © ООО «Алгоритмы и практика»
Где попрактиковаться в программировании: 30 ресурсов
Быть настоящим программистом — это не только смотреть тысячи часов видео, но и писать десятки тысяч строк кода. Подобрали для вас полезные ресурсы, на которых можно размяться в программировании. Расскажем о них в алфавитном порядке.
C Puzzles
Сайт с головоломками на языке С. Может быть полезен и тем, кто не знает C, но изучает С-подобные языки.
Code Abbey
Множество задач по программированию, рейтинг участников и форум.
CodeChef
Ресурс для регулярных соревнований по программированию. Есть раздел для практики с заданиями разных уровней сложности. Можно потренироваться или выиграть денежный приз.
CodeCombat
Ресурс для начинающих, где обучение построено как игра с возрастающей сложностью. Подойдет изучающим Python, JavaScript или HTML&CSS с нуля.
Codeforces
Русскоязычная платформа для марафонов по программированию. Пользователи делятся на два дивизиона — начинающие соревнуются отдельно от опытных. Можно участвовать в состязаниях или просто тренироваться на задачах в режиме дорешивания.
Codewars
Платформа с разными заданиями — от алгоритмов до шаблонов проектирования — ждет разработчиков, программирующих на Java, JavaScript, PHP, Go, Ruby и других языках. Предварительно надо пройти тестирование.
Coding Bat
Ресурс, посвященный Java и Python. Опытным и начинающим программистам доступны упражнения и справочные материалы по языкам.
CodinGame
Увлекательная практика в формате видеоигр. Поддерживаются 25 языков: Java, JavaScript, PHP, Python, Swift, C#, C++, Ruby и другие.
Empire of Code
Русскоязычный ресурс с задачами по Python и JavaScript в формате игры. Участники пишут код для стратегии и тактики персонажей.
Exercism
Сайт предлагает задачи на 48 языках программирования. Пользователь скачивает упражнения, решает их на собственном компьютере, а затем проверяет с наставником. Например, в разделе Python 111 упражнений и 70 менторов, его изучают 29 тысяч пользователей, а в разделе PHP — 64 упражнения, 14 наставников и 4 тысячи студентов.
HackerRank
Платформа для опытных кодеров. Создатели приглашают присоединиться к 5 миллионам пользователей сайта, чтобы тренироваться, готовиться к собеседованиям и искать работу.
InterviewBit
Сайт помогает подготовиться к интервью в Google, Facebook, Microsoft и других корпорациях и получить оффер.
LeetCode
Ресурс с заданиями для подготовки к техническим интервью в крупных компаниях. На сайте почти тысяча вопросов, поддерживаются 14 языков программирования.
MAXimal
Русскоязычный ресурс для освоения алгоритмов. Есть подробные описания и упражнения. Бонус — большая библиотека по программированию. Сайт не обновляется.
MindCipher
Ресурс позиционируется как социальный репозиторий с самыми занимательными головоломками.
Programming Praxis
Блог, в котором еженедельно размещают новые интересные задачи, чтобы программисты тренировали навыки и мозги.
Programming Skills
Сайт с онлайн-тестами и вопросами для технического интервью. Подойдет тем, кто работает с HTML, JavaScript, C#, Java, PHP, C# и другими ЯП.
Programmr
Платформа, на которой собраны задачки по Java, PHP, Python, C# и Ruby. Ресурс давно не обновляется, но потренироваться еще можно.
Project Euler
Сайт с непростыми заданиями для математиков и программистов. Задачи ранжируются по сложности.
Prolog Problems
На сайте программиста Вернера Хетта вы найдете краткий курс по языку Prolog и сборник упражнений для тренировки. Ресурс не обновляется.
PythonChallange
Сайт для тех, кто хочет освоить Python. Чтобы пройти многоуровневую игру Challenge, надо создавать небольшие программы. Сейчас в ней 33 уровня сложности.
Rosalind
Ресурс по изучению биоинформатики. Есть обучающий курс по Python.
Ruby Quiz
Еженедельная викторина по Ruby, которая приходит в рассылке. Автор ресурса отошел от дел, но инициативу продолжают энтузиасты. Можно подписаться на письма или порешать задачки из архивных выпусков.
SPOJ
На платформе Sphere Online Judge зарегистрированы 650 тысяч пользователей и размещено более шести тысяч заданий. Ресурс поддерживает 45 языков программирования, в том числе C, C++, Pascal, Perl, Haskell, Ocaml и другие.
SQL-EX.RU
Кладезь знаний для тех, кто изучает SQL. Множество упражнений для отработки навыков и рейтинг участников.
Timus Online Judge
Ресурс Уральского федерального университета, на котором собран архив задач по программированию с автоматической проверкой.
Topcoder
Платформа, на которой проводятся соревнования по программированию. Можно потренироваться, выиграть денежный приз, а бонусом получить интересный оффер.
W3Resource
Портал предлагает огромное количество обучающих материалов по веб-разработке, базам данных, Linux и даже программам Excel или шаблонам Google Forms. Есть упражнения и квизы по базам данных, PHP, JavaScript, Java, Swift и другим языкам.
Питонтьютор
Русскоязычный ресурс для новичков в Python. Это интерактивный учебник с задачками, которые решаются без установки среды, прямо в браузере.
Школа программиста
Ресурс, который создали во Дворце пионеров в Красноярске. Он предлагает множество задач и разбирает их для начинающих программистов.
А вы где практикуетесь? Поделитесь в комментариях.
UPD. Для прокачки программистов есть не только серьёзные порталы, но и увлекательные игры. Мы подготовили для вас целую подборку!
10 самых популярных сайтов с задачами по программированию
Перевод статьи «The 10 most popular coding challenge websites for 2020».
Одним из самых лучших способов улучшить свои навыки программирования является решение задач. Разбираясь в различных головоломках, вы развиваете свои навыки решения проблем, знакомитесь с темными закоулками избранного вами языка программирования, готовитесь к собеседованиям, изучаете новые алгоритмы и т. д.
Но где найти подборку хороших задач по программированию? Мы составили список самых популярных сайтов с задачами, добавив для каждого пункта описание ресурса и его особенностей.
1. TopCoder
TopCoder это одна из оригинальных онлайн-платформ по спортивному программированию. На этом сайте вы найдете список алгоритмических задач с прошедших соревнований. Вы можете попробовать решить их самостоятельно, используя редактор кода на самой платформе.
Несколько раз в месяц на TopCoder проходят турниры — Single Round Matches, где вы имеете возможность сразиться с другими участниками, решая задачи на скорость. За верные решения начисляются баллы; побеждает участник, набравший больше всего баллов.
Пользователи, возглавляющие турнирную таблицу на TopCoder, являются очень сильными программистами и регулярно принимают участие в состязаниях. Один из них, Петр Митричев, ведет собственный блог «Algorithms weekly by Petr Mitrichev», в котором пишет о соревнованиях по программированию, алгоритмах, математике и т. п.
2. Coderbyte
На Coderbyte содержится больше 200 задач по программированию. Решать их можно онлайн, пользуясь при этом одним из 10 языков программирования на выбор (см. пример). Задачи распределены по группам, от простых (например, найти самое длинное слово в строке) до сложных.
Также на этом сайте вы найдете коллекцию руководств по алгоритмам, вводные видео и курсы по подготовке к собеседованиям. В отличие от HackerRank и подобных ему сайтов, здесь можно смотреть решения других пользователей, а не только официальные решения от Coderbyte.
3. Project Euler
Project Euler предлагает большую коллекцию задач по информатике и математике. Задания обычно связаны с написанием маленькой программы для решения математических задач (например, для нахождения суммы всех чисел в последовательности).
На сайте нет редактора кода для решения задач онлайн, так что вам нужно будет воспользоваться собственным, а затем вставить свое решение в форму на сайте.
4. HackerRank
На HackerRank вы найдете задачи из разных областей знаний (алгоритмы, математика, SQL, функциональное программирование, ИИ и т. д.). Задачи можно решать онлайн (см. пример).
По каждой задаче ведется турнирная таблица и ветка обсуждений. Большинство задач сопровождаются пояснениями самой задачи и подхода к ее решению. Но посмотреть варианты решений других людей нельзя.
Пользователи HackerRank также могут решать задачи, предоставляемые разными компаниями, и отправлять в эти компании заявки на работу.
5. CodeChef
CodeChef это индийский сайт по спортивному программированию. Здесь вы найдете сотни задач, отсортированных по уровню навыков. Код можно писать в онлайн-редакторе.
CodeChef может похвастаться большим сообществом: программисты общаются на форумах, пишут руководства и принимают участие в соревнованиях.
6. Exercism.io
Сайт Exercism предлагает больше 3100 задач на 52 языках программирования. Вы выбираете язык, навыки работы с которым хотите улучшить, а затем решаете соответствующие задачи прямо на своей машине (Exercism имеет собственный интерфейс командной строки, который можно загрузить с GitHub).
Этот сайт имеет одно существенное отличие от остальных в списке: здесь вы после решения каждой очередной задачи работаете с наставником. Он просматривает ваши ответы онлайн и при необходимости помогает улучшить решение. После успешного решения задачи открывается доступ к следующей партии задач.
7. Codewars
Codewars предлагает большую коллекцию задач по программированию, представленных членами сообщества. Решать эти задачи можно онлайн в редакторе на сайте. Для решения вы выбираете один из нескольких предлагаемых языков. По каждой задаче у вас есть доступ как к обсуждению, так и к решениям других пользователей.
8. LeetCode
LeetCode это популярный сайт по спортивному программированию. Здесь вы найдете список из больше чем 190 задач, решать которые можно на 9 разных языках программирования. Эти задачи помогут вам подготовиться к техническим собеседованиям. Работать над ними можно онлайн.
На LeetCode вы не сможете видеть решения других участников, зато сможете отслеживать статистику собственных решений. Например, можно увидеть, насколько быстр ваш код по сравнению с кодом других пользователей.
Также на сайте есть раздел постановочных собеседований, предназначенный для подготовки к реальным интервью, и раздел со статьями для лучшего понимания отдельных проблем.
Кроме того, на LeetCode организовываются соревнования между участниками.
9. SPOJ
Sphere Online Judge (SPOJ) это еще один сайт с уклоном в соревнования. Здесь вы найдете больше 20 тысяч задач по программированию. Свое решение можно писать в онлайн-редакторе. SPOJ проводит собственные соревнования, а также предоставляет площадку для обсуждения задач. В отличие от многих других аналогичных сайтов, здесь нет никаких официальных решений и учебных материалов.
10. CodinGame
CodinGame несколько отличается от остальных сайтов в нашем списке. Здесь вы не просто решаете отдельные задачи в онлайн-редакторе. Здесь вы, собственно, принимаете участие в написании кода для игр, в которые можно играть на сайте. Список доступных в настоящее время игр можно посмотреть здесь, а пример отдельной игры — здесь. К игре прилагаются описание проблемы, test cases и редактор, где можно писать собственное решение на 20 языках программирования.
Несмотря на отличия этого сайта от более стандартных сайтов по спортивному программированию, он довольно популярен среди программистов, любящих решать задачи и принимать участие в соревнованиях.