Решение задач по информатике — FREEWRITERS
|
|
|
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 языках программирования.
Несмотря на отличия этого сайта от более стандартных сайтов по спортивному программированию, он довольно популярен среди программистов, любящих решать задачи и принимать участие в соревнованиях.
Вычислительное мышление для решения задач
Об этом курсе
112 377 недавних просмотров
Вычислительное мышление — это процесс систематического подхода к проблеме и создания и выражения решения, которое может быть выполнено с помощью компьютера. Но вам не нужно быть специалистом по информатике, чтобы думать как специалист по информатике! На самом деле, мы призываем студентов из любой области обучения пройти этот курс. Многие количественные и ориентированные на данные задачи могут быть решены с помощью вычислительного мышления, а понимание вычислительного мышления даст вам основу для решения проблем, имеющих реальное социальное значение.
Гибкие сроки
Сброс сроков в соответствии с вашим графиком.
Общий сертификат
Получите сертификат по завершении
100% онлайн100% онлайн
Начните сразу и учитесь по собственному графику.
Начальный уровеньНачальный уровень
Часов для прохожденияПрибл. 18 часов
Доступные языкиАнглийский
Субтитры: арабский, французский, португальский (европейский), итальянский, вьетнамский, немецкий, русский, английский, испанский
Навыки, которые вы приобретете
- Простой алгоритм
- Программирование на Python
- Решение проблем
- Вычисления
Гибкие сроки
Сброс сроков в соответствии с вашим графиком.
Общий сертификатОбщий сертификат
Получите сертификат по завершении
100% онлайн100% онлайн
Начните сразу и учитесь по собственному графику.
Начальный уровеньНачальный уровень
Часов на выполнениеПрибл. 18 часов
Доступные языкиАнглийский
Субтитры: арабский, французский, португальский (европейский), итальянский, вьетнамский, немецкий, русский, английский, испанский
Instructor
Susan Davidson
Weiss Professor & Computer
5 90 Информатика
86 860 Учащиеся
4 Курсы
Предлагает
Пенсильванский университет
Пенсильванский университет (обычно называемый Пенсильванским университетом) — частный университет, расположенный в Филадельфии, штат Пенсильвания, США. Член Лиги плюща, Пенн является четвертым старейшим высшим учебным заведением в Соединенных Штатах и считает себя первым университетом в Соединенных Штатах, где есть как бакалавриат, так и аспирантура.
Начните работать над получением степени магистра
Этот курс связан со 100% онлайн-программой магистра компьютерных и информационных технологий Пенсильванского университета. Он предоставит вам предварительный просмотр тем, материалов и преподавателей, чтобы вы могли решить, подходит ли вам полная онлайн-программа получения степени.
Learn More
Reviews
4.7
Filled StarFilled StarFilled StarFilled StarHalf Filled Star414 reviews
5 stars
80.59%
4 stars
12.71%
3 stars
3.22 %
2 звезды
1,23 %
1 звезда
2,22 %0067 Filled StarFilled StarFilled StarFilled StarStar
by QTM 4 марта 2019 г.
Курс в целом хороший. Однако содержание задания и лекция на самом деле не ладят, особенно часть Python. Предлагаю больше «связующих» материалов.
Заполнено StarFilled StarFilled StarFilled StarStarот ENA, 19 августа 2019 г.
Автогрейдер может быть несколько болезненным, и некоторые решения в разделах рецензирования не самые эффективные. В противном случае это помогло научить строительным блокам кодирования.
Заполнено StarFilled StarFilled StarFilled StarFilled Starот JLF 9 февраля 2020 г.
Отличный курс — не связанные с программированием части (составление блок-схем и т. д.) были на самом деле сложнее, чем программирование (простое программирование на Python — мой первый опыт программирования на Python)
Заполнено StarFilled StarFilled StarFilled StarFilled Starby AWFeb 4, 2019
Курс очень хорошо разработан, и он помог мне понять, как применять вычислительное мышление для решения различных типов задач, а также приобрести базовые навыки программирования на Python.
Посмотреть все отзывы
Часто задаваемые вопросы
Когда я получу доступ к лекциям и заданиям?
Что я получу, купив сертификат?
Доступна ли финансовая помощь?
Нужно ли мне уметь программировать или изучать информатику, чтобы пройти этот курс?
Насколько хорошо мне нужно знать математику, чтобы пройти этот курс?
Подготовит ли этот курс меня к получению степени магистра компьютерных и информационных технологий (MCIT) в Пенсильванском университете?
Где я могу найти дополнительную информацию о программе получения степени магистра компьютерных и информационных технологий (MCIT) в Пенсильванском университете?
Есть вопросы? Посетите Справочный центр для учащихся.
Изучение компьютерного программирования с помощью онлайн-курсов, занятий и уроков
Похожие темы-.
NET|Алгоритмы|AWS|Разработка под Android|Angular|Apache Spark|Разработка приложений|Azure|Блокчейн|Bootstrap|Программирование на C|C#|Чат-боты|Облако Вычисления|Cloud Foundry|Кодирование|Учебные курсы по кодированию|Командная строка|Компиляторы|Компьютерная криминалистика|Информатика|Компьютерная безопасность|Компьютерное зрение|CSS|Кибербезопасность|Структуры данных|DevOps|Django|Docker|Динамическое программирование|Flask|Внешняя веб-разработка| Полная разработка стека|Разработка игр|Git|Взлом|Hadoop|HTML|HTML5|Hyperledger|Информационная безопасность|Информационные технологии|Приложение iOS|Разработка iOS|ИТ-поддержка|Java|JavaScript|jQuery|Детский язык программирования|Kubernetes|Linux|Разработка для мобильных устройств |Сетевая безопасность|Node.js|Объектно-ориентированное программирование|Операционные системы|Тестирование на проникновение|PowerShell|Python|Raspberry Pi|React Native|ReactJS|Rest API |Ruby on Rails|Scala|Программирование на нулях|Scrum|Разработка ПО|Тестирование ПО| Swift|Типскрипт|Unity 3D|Web D разработка|Безопасность Windows 10
Обзор
Что такое компьютерное программирование?
Компьютерное программирование — это процесс написания инструкций, которые выполняются компьютерами.
Инструкции, также известные как код, написаны на языке программирования, который компьютер может понять и использовать для выполнения задачи или решения проблемы.
Основы компьютерного программирования включают анализ проблемы и разработку логической последовательности инструкций для ее решения. Может быть множество путей к решению, и программист стремится спроектировать и запрограммировать наиболее эффективный. Среди задач программиста — понимание требований, определение правильного языка программирования для использования, разработка или разработка решения, кодирование, тестирование, отладка и написание документации, чтобы решение было легко понятно другим программистам.
Компьютерное программирование лежит в основе информатики. Это часть реализации разработки программного обеспечения, разработки приложений и разработки программного обеспечения, преобразующая идеи и теории в реальные рабочие решения.
Изучение компьютерного программирования онлайн с онлайн-курсами и классами
edX предлагает множество классов, предназначенных для новых и начинающих кодеров.
Эти вводные занятия содержат пошаговое руководство по написанию кода на вашем любимом языке. Гарвардский курс CS50 «Введение в компьютерные науки» научит вас мыслить алгоритмически и эффективно решать задачи. Темы включают основные концепции абстракции, алгоритмы, операционные системы, структуры данных, инкапсуляцию, управление ресурсами, безопасность, разработку программного обеспечения и веб-разработку с использованием таких языков, как C, Python, SQL и JavaScript, а также CSS и HTML. Наборы задач вдохновлены реальными областями биологии, криптографии, финансов, криминалистики и игр.
Научитесь кодировать с помощью онлайн-курсов компьютерного программирования
Информатика — самый популярный предмет на edX, и есть отличные курсы программирования от лучших университетов и институтов, включая Гарвард, Массачусетский технологический институт, Microsoft и W3C, которые помогут вам начать работу. Начните с вводного курса по компьютерным наукам, такого как популярный гарвардский курс CS50 или курс Массачусетского технологического института «Введение в компьютерные науки и программирование с использованием Python», чтобы изучить ключевые концепции и основы.
IITBombay также предлагает курсы программирования для начинающих с самостоятельным обучением, включая основы программирования и объектно-ориентированное программирование, которые сосредоточены на логическом мышлении и передовых методах программирования. Онлайн-сертификаты доступны для всех курсов, а некоторые, такие как «Программирование для всех» Университета штата Аризона: введение в программирование, предлагают возможность подать заявку на кредит колледжа.
Затем погрузитесь в изучение различных языков программирования. Доступны учебные пособия и курсы по программированию, которые познакомят вас с программированием на Java, JavaScript, Python, HTML, R, C++ и многих других. Откройте для себя сходство между разными языками и поймите, какой язык подходит для конкретной задачи.
Хотите пойти дальше? edX предлагает онлайн степень бакалавра в области компьютерных наук. Кроме того, вы можете записаться на предварительную программу MicroMasters, чтобы развить свои знания и опыт, или даже получить степень магистра в области данных или информатики.
Доступны компьютерные онлайн-курсы по разработке и тестированию программного обеспечения и обеспечивают углубленное обучение, предназначенное для быстрого получения степени компьютерного программирования или степени магистра в этой области.
Вакансии в области компьютерного программирования
Квалифицированный и опытный программист может, по сути, написать свой собственный билет. Есть тысячи открытых вакансий в области программирования и смежных областях. Например, поиск доступных вакансий для Java-программистов на сайте Indeed.com на момент написания этой статьи дал более десяти тысяч результатов. И это только в США. Люди, желающие войти в мир компьютерного программирования, могут специализироваться на любом количестве популярных языков программирования и найти множество возможностей начального уровня. Начните работать младшим программистом на выбранном вами языке и приобретите опыт и навыки, чтобы подняться по карьерной лестнице до инженера-программиста или даже до главного технолога.