Сайты по программированию – Веб-разработчик — обучение web-разработке | GeekBrains — образовательный портал | GeekBrains

10 самых популярных сайтов для соревнований программистов на начало 2018 года

В конце 2016 года была опубликована аналогичная статья. С тех пор список был обновлен на основе наблюдений и анализа нескольких ресурсов (постов в популярных блогах, обсуждений на Quora, поисковых запросов в Google и обсуждений на форумах, таких как reddit/learnprogramming и Hacker News).

Предлагаем вниманию читателей обновленный список на 2018 год, который включает в себя 10 платформ, которые по личному мнению автора являются лучшими соревновательными площадками для программистов и содержат ресурсы, которые могут помочь начинающим и Intermediate-разработчикам совершенствовать свои навыки, подготовиться к собеседованию и продвинуться по своей карьерной лестнице.

На этих сайтах также можно просто посоревноваться с коллегами или развлечься, решая интересные головоломки. Порядок составления списка основан лишь на уровне сложности заданий: от начального до продвинутого.

1. Coderbyte


Beginner  —  Intermediate

Coderbyte предлагает 200+ соревновательных задач, которые вы можете решать в онлайн-редакторе, используя 10 различных языков программирования. Вы сможете ознакомиться с официальными решениями для некоторых задач, а также найти более 800 тысяч пользовательских решений. Coderbyte рекомендован командами многих известных образовательных курсов по программированию благодаря коллекции задач, полезных для подготовки к собеседованию.

2. Codewars


Beginner  — Intermediate

Codewars предоставляет разработчиками большую коллекцию интересных задач, созданных сообществом платформы. Вы можете выполнять задания непосредственно в online-редакторе, используя один из 20 языков программирования. Зарабатывайте очки и поднимайтесь в рейтинге. Вы можете просмотреть обсуждение как для каждой задачи, так и для пользовательский решений.

3. CodeFights


Beginner  — Intermediate

CodeFights — платформа, состоящая из коллекции задач, которые можно решать в онлайн-редакторе, и форума пользователей для обсуждения возникающих проблем. Отличительной особенностью является функция «Company Bots». Это возможность конкурировать с «ботами», которые были запрограммированы инженерами крупных технологических компаний. Вы когда-нибудь задумывались, насколько ваши навыки программирования соответствуют стандартам инженеров из Uber, Dropbox, Quora и других высокотехнологичных компаний? Посоревнуйтесь с этими ботами и узнайте. Не думайте, что это будет легко. Чтобы сделать соревнование более интересным и сложным, каждый из вопросов, с которым вы столкнетесь, настраивается под определенную компанию. Например, в соревновании с Uberbot, ожидайте заданий, связанных с алгоритмами маршрутизации и планирования.

4. CodinGame


Beginner  — Intermediate

Этот сайт отличается от перечисленных выше тем, что вместо обычного решения, на CodinGame вы пишете код непосредственно для того, чтобы сыграть в онлайн-игру. Это увлекательно и некоторые из игр очень забавны (см. пример). Игровая графика хороша, а пользовательский интерфейс редактора/игры очень плавный. В целом, это отличный веб-сайт для новичков, изучающих программирование.

5. TopCoder


Intermediate — Advanced

TopCoder — одна из первых платформ для соревнований по онлайн-программированию. Популярные Single Round Matches происходят несколько раз в месяц в определенное время. Это возможность посоревноваться с другими разработчиками. Вот несколько тем, которые могут быть затронуты.

Помимо решения головоломок для развлечения, предлагаются и соревнования, в которых вы можете выиграть призы от спонсоров (реальных компаний) за лучшее решение.

6. HackerRank


Intermediate — Advanced

HackerRank сосредоточен на вопросах из многих областей информатики, таких как алгоритмы, математика, SQL, функциональное программирование, AI и многое другое (см. пример). Для каждой задачи создается обсуждение и таблица лидеров. Большинство задач начинаются с предисловия, в котором глубже описывается проблема и то, как подойти к ней, чтобы придумать решение.

Крупные работодатели, которые сотрудничают с ресурсом — Cisco, VMware, Red Hat, Dropbox и еще более 1000 других компаний, имеют возможность отфильтровать кандидатов, провести с помощью платформы техническую часть собеседования и увидеть соискателя «в деле».

7. LeetCode


Intermediate — Advanced

В LeetCode собрана одна из лучших коллекций задач на применение алгоритмов. Темы, которые охватывают задания, требуют знания структур данных (binary trees, heaps, linked lists, etc.) Задачи более сложные, чем на других сайтах, но они окажутся очень полезными, если использовать их при подготовке к собеседованию.

Раздел "Mock Interview" (Пробное интервью) специально предназначен для подготовки к собеседованию. Также проводятся соревнования по программированию, и есть раздел статей, который поможет вам лучше понять определенные задания.

8. CodeChef


Intermediate — Advanced

CodeChef — это некоммерческая образовательная инициатива индийской софтверной компании. Это глобальное сообщество программистов, объединенное целью обучения и дружеской конкуренции в рамках платформы для соревновательного программирования.

Каждый месяц CodeChef проводит три конкурса и раздает призы победителям в качестве поощрения. Кроме того, платформа открыта для всего сообщества разработчиков, которые могут проводить свои собственные конкурсы. Организации по всему миру в среднем проводят 30+ внешних турниров и конкурсов на CodeChef.

9. GeeksforGeeks


Intermediate — Advanced

GeeksforGeeks имеет лучшую коллекцию статей, объяснений и решений по теме алгоритмов и структурам данных. По ссылке вы можете увидеть пример того, как сложный вопрос разбивается на более простые части, объяснение и код решения.

Если вы готовитесь к собеседованию, советуем вам использовать этот сайт, чтобы подготовиться и освежить сложные темы в изучении алгоритмов.

10. Codeforces


Advanced

Codeforces — российская платформа для соревнований по программированию, на которой регулярно проводятся турниры, в которых участвуют одни из лучших программистов в мире. Если вы начинающий кодер, задания, скорее всего, будут слишком сложны для вас — вот пример из недавнего соревнования. Для решения этих задач обычно требуются передовые знания в области математики и алгоритмов.

Цель Codeforces — предложить разработчикам удобную платформу для создания, проведения и обсуждения соревнований по программированию. В платформе есть элементы социальной сети, это больше чем новостной портал и больше чем online judge. Вы сможете самостоятельно подготовить и провести соревнование. Вы сами решите, будет оно открыто для всего мира или будет локальным соревнованием вашего университета.

27 сайтов с задачками для оттачивания навыков программирования

Решение задач — хороший способ развить навыки разработки.

Также вы можете пускорить освоение нового для вас языка программирования, решая головоломки на этом языке.

В этой статье 27 самых популярных сайтов с задачками по программированию.

Codewars — отличный сервис для закрепления навыков разработки на Ruby, JavaScript, Java, Python, Clojure, CoffeeScript, C# , Haskell. Представлены как алгоритмические задачи, так и практические задачи, связанные с шаблонами проектирования. После каждой решенной задачи вы можете посмотреть на другие решения, рассортированные по рейтингу в зависимости от их красоты и практичности.

Leetcode — сайт с алгоритмическими задачками для подготовки к техническим собеседованиям в такие крупные фирмы, как Google и Facebook. Возле каждой задачи есть обсуждение, в котором так или иначе может фигурировать решение к этой задаче. Можно использовать различные языки программирования: C, C++, Java, Python, C# , JavaScript, Ruby, Bash.

Programming Praxis — блог, включающий целый ряд интересных задач, решения которых можно проверить на нескольких языках программирования.

TopCoder — активное сообщество программистов, которые любят решать головоломки. Много активных соревнований, некоторые из них включают денежные призы.

Python Challenge — сайт, где загадки требуют написания небольших программ на Python. При этом сложность увеличивается в геометрической прогрессии с каждой новой загадкой.

C Puzzles предоставляет вам головоломки по программированию, характерные для языка Си (со всеми его причудами). Поскольку многие языки являются Си-подобными или напрямую выведенными из него, даже если вы не знаете язык Си как свой родной, велика вероятность, что вы поймете эти головоломки.

В описании сайта сказано, что это «арена, где сумасшедшие программисты сражаются ради славы и клёвых призов». Участие в соревнованиях, проводимых каждые пол года — замечательный способ проявить себя в сообществе программистов.

Цитата с главной страницы: «Project Euler — ряд бросающих вызов математических/программистских задач, которые предполагают наличие математической интуиции для их решения». Ресурс включает в себя как относительно простенькие, так и по-настоящему сложные задачки.

Ruby Quiz — собрание соревнований по программированию среди рубистов, обновляемое каждую неделю. Подточенные под Ruby, эти соревнования могут быть решены и на других языках программирования.

Prolog Problems заточен под язык программирования Prolog. Но в сообществе есть решения и на других языках программирования, таких как Python, Ruby, Haskell, Scala. Решение задач на этом ресурсе — отличный способ познакомиться с новым языком программирования.

Полноценный русскоязычный аналог уже упомянутого Topcoder.

Задачки в основном на проверку знаний С++, однако реализуемы и на других языках программирования.

Оттачиваем навыки программирования, решая задачки и проходя занимательный квест.

Timus Online Judge — это крупнейший в России архив задач по программированию с автоматической проверяющей системой. Основной источник задач для архива — соревнования Уральского федерального университета, Чемпионаты Урала, Уральские четвертьфиналы ACM ICPC, Петрозаводские сборы по программированию.

Одна из самых популярных браузерных стратегий для программистов. Увлекательная и захватывающая, с возможностью выбора предпочтительного языка — JavaScript и Python.

Изучение и практика языка программирования Python. Возможность создавать свои уровни путем программирования условий.

Данный проект создан для повышения у школьников Красноярского края уровня знаний в программировании и способностей, направленных на решение олимпиадных задач.

Сайт содержит архив задач по олимпиадному программированию со встроенной проверяющей системой. Для участия в системе достаточно зарегистрироваться и перейти в раздел “Архив задач”, где на текущий момент Вам будет предложено решить 700 задач различной сложности.

Интернет-портал организационно-методического обеспечения дистанционных олимпиад по программированию для одаренной молодежи учебных заведений Украины.

Космическая стратегия, в которой программирование является необязательным, но дающим большое преимущество навыком. После вводного курса предлагают выбрать одну из сторон — Python или JavaScript.

CodeChef — платформа для программистских соревнований, поддерживаемая индийским разработчиком ПО “Directi”.

Что такого выдающегося в этой платформе?

Во-первых, перед соревнованиями можно хорошенько потренироваться, выбрав один из шести уровней сложности.

Во-вторых, платформа предлагает выбор из почти 30 языков программирования, которыми можно пользоваться при решении задачек. В месяц проводится около 2-3 соревнований с ограничением по времени. Некоторые из них — командные, и перед регистрацией нужно присоединиться к одной из команд или создать свою, что не так уж и сложно, ведь в CodeChef 125 тысяч участников.

Здесь вы можете поучаствовать в соревнованиях. В свой профиль можете поместить резюме, и вся информация будет доступна таким работодателям, как Facebook, Quora, Yahoo и многим другим.

Динамичная площадка для соревнований, количество участников в которой превысило 350 тысяч человек. Ресурс публикует новости об открытых соревнованиях программистов, краудсорсинговых программах. Количество задач приближается к шести тысячам, возле каждой их которых есть соответствующее обсуждение.

Практика на языке программирования Go в игровой форме.

Сайт позволяет скачать практические задачи и решить их на более чем 30 языках программирования, при этом есть задачи как для начинающих, так и для опытных программистов. Обратная связь, получаемая после отправки решений, позволит сориентировать вас в изучении тех или иных тем, что позволит значительно облегчить написание кода.

Площадка для программистских соревнований и хакатонов: позволяет писать код приложений прямо в браузере, конкурировать с другими программистами и выигрывать офферы и денежные призы!

Сайт позволяет подготовиться к собеседованию в лучшие IT-компании Кремниевой долины, такие как Google, Facebook и Amazon. На нем вы можете практиковаться в решении задач с собеседований в этих компаниях, получать помощь от менторов, а также получать рекомендации от сотрудников этих компаний.

Rosalind – платформа для изучения биоинформатики и программирования через решение задач. Есть отдельный раздел для абсолютных новичков в программировании. Сайт предлагает задачи, дающее некоторое представление в молекулярной биологии и вычислительной сложности, решение задач производится с использованием языка программирования Python. Проверка задач выполняется автоматически.

Библиотека программиста

Все Python Обучение JavaScript Web C++ Data science Linux Базы данных C# Android Общее Java Kotlin iOS Go PHP GameDev Математика Алгоритмы DevOps Тестирование Блокчейн Хакинг Архитектура и ОС Трудоустройство Frontend Backend Scala Бизнес Программирование для детей Инструменты Истории Контейнеры Проектирование Сети Тренды Устройства и IoT Git Open source Головоломки Облако Проекты Менеджмент Книги Видео Курсы Ruby Разное Мой Proglib

27+ ресурсов для онлайн-обучения / Habr


В настоящее время активно развивается система дистанционного обучения, теперь уже не является проблемой получение полноценного образования практически по любому предмету дистанционно. Онлайн-обучение имеет ряд преимуществ – обучение в индивидуальном темпе, свобода и гибкость, доступность, социальное равноправие. В сети появляется все больше сервисов, помогающих получать новые знания.

Статья содержит перечень ресурсов для онлайн-обучения, представляющих интерес преимущественно для программистов.


MIT’s Open Courseware предлагает 2100 курсов разнообразной тематики, в том числе Electrical Engineering и Computer Science. Бесплатные ресурсы включают онлайн-учебники, экзамены, мультимедийный контент, задания, проекты и примеры — все из фактических курсов MIT последнего десятилетия или около того.


Coursera запущена в апреле и уже преодолела отметку в 1 миллион студентов. Сейчас включает более 200 курсов из 33 университетов. Если вы еще не слышали о Coursera – это стартап в сфере онлайн-образования, основанный профессорами Стенфордского университета, который позволяет пройти полный интерактивный курс университета, который преподается настоящим профессором в одной из лучших школ мира. Бесплатно.

Udacity – бесплатный сервис, в настоящее включает 14 классов, где «Вы обучаетесь, решая сложные проблемы… со всемирно известными преподавателями университетов». Курсы охватывают темы, которые не только учат вас писать код, но и дают хорошие познания в математике, физике и даже в том «Как построить стартап».


Это Google и это код – достаточно солидный бесплатный ресурс и, очевидно, хороший вариант, если вы заинтересованы в разработке под Андроид. Также специализируется на некоторых продвинутых темах, например, распределенных системах и веб-безопасности.


Mozilla собрала большую коллекцию ресурсов для обучения веб-технологиям.


Ресурс включает много бесплатной информации о HTML5, включая статьи и руководства.

The Code Player – ресурс с пошаговыми видео-руководствами, которые показывают как крутые вещи создаются с нуля. Это возможность смотреть из-за плеча программиста когда он работает. Проект обучает HTML5, CSS3, Javascript и др. Находится в состоянии альфа.


Codecademy – популярный бесплатный сайт, который вносит игровую составляющую в процесс обучения, если вы обучаетесь вместе с друзьями. Ориентирован на веб-технологии. Codecademy также запустил проект CodeYear.
Говорят, что ресурс приобрел большую популярность после твита мэра Нью-Йорка в начале это года, где он сообщил, что собирается использовать это сайт для обучения программированию в 2012 году.


Khan Academy предлагает множество курсов, которые охватывают не только программирование, но и другие темы. Например, математику (много курсов разных направлений), науку, финансы и экономику, и др.


General Assembly использует другой подход, предлагая платные livestream-сессии на темы вроде «Быстрое прототипирование: от Каркаса до HTML» – вы покупаете электронный билет, получаете пароль и подключаетесь livestream-у, когда он проходит.


PeepCode охватывает множество языков программирования, предоставляя загружаемые (платные) скринкасты уроков.


Eloquent JavaScript, на самом деле, – книга, которая предоставляет введение в JavaScript и программирование в целом. Книга существует в 2 форматах. Она опубликована в электронном виде, который включает интерактивные примеры и механизм для взаимодействия с примерами кода (можно запустить код или открыть его в консоли разработчика). Также книгу можно купить в бумажном виде на Амазоне. Есть перевод на французский (бумажная версия) и немецкий (электронная).
The Koans проведет вас по долгому пути к просвещению в изучении Ruby (не Ruby-on-Rails). Целью является изучить язык Ruby, синтаксис, структуры и некоторые распространенные функции и библиотеки.
Learn Code The Hard Way стартовал как проект для обучения Python в виде онлайн книги-учебника, но вскоре были добавлены материалы для изучения Ruby, C, SQL, Regex.
Хоть он технически и не содержит «туториалов», но имеет тонны (легко искомой) информации, которая может здорово помочь. Также, если вы на чем-то застряли (и на ресурсе еще нету ответа), сообщество очень хорошо отвечает на вопросы.
Coder Dojos – площадки, где молодые люди собираются вместе учиться программировать. Dojos организовываются добровольцами. Если вы преподаватель или просто хотите поделиться знаниями, вам стоит присмотреться к этому ресурсу.
Кроме множества-множества книг, публикуемых O’Reilly, компания также предлагает (платные) онлайн-курсы для разных языков программирования.
Опять же, если вы хотите помочь кому-то в обучении, Scratch – бесплатное ПО, разработанное MIT Media Lab, которое поможет вам в этом.
Ресурс для заинтересованных в разработке ПО для продуктов Apple.
Сайт Google для андроид-разработчиков продолжает улучшаться и содержит множество разделов с рекомендациями для разработчиков и дизайнеров. Также доступно видео с Google I/O.

Mobiletuts+ – ресурс со статьями и руководствами для разработчиков мобильных приложений. Охватывает разработку нативных приложений c использованием iOS SDK, Android SDK/NDK и Windows Phone 7 SDK, кросс-платформенную разработку при помощи таких инструментов как Titanium Mobile и PhoneGap, техники для построения веб-сайтов, доступных с мобильных устройств, и веб-приложений на HTML 5, CSS, JavaScript.
Имеет площадку для онлайн-обучения разработчиков и дизайнеров (платно).


Udemy предлагает курсы (некоторые бесплатные, некоторые платные) по самым разнообразным темам. Среди инструкторов – Марк Цукерберг и Марисса Майер.


Code School предлагает курсы по веб-технологиям с видео-уроками, заданиями запрограммировать решение какой-то задачи и скринкастами. Большинство курсов платные, есть несколько бесплатных.


Bloc обещает сделать из вас «веб-разработчика за 12 недель». За солидное вознаграждение Bloc назначит ментора, который будет обучать вас на протяжении отведенного времени. (Стоимость – $5000 за 12 недель).


Treehouse насчитывает свыше 600 видео-уроков (по веб-дизайну, веб-разработке и разработке под IOS), которые можно просматривать за ежемесячную плату. Также есть премиум подписки, которые предлагают больше возможностей.
Programr имеет иной подход к обучению программировать, суть которого сводится, непосредственно, к программированию. Все внимание уделено усовершенствованию практических навыков. На каждом шаге нужно решать поставленные задачи, разрабатывать приложения, принимать участие в соревнованиях.
Processing – язык программирования с открытым исходным кодом и среда разработки, созданные, чтобы научить (людей, которые никогда не программировали) базовым навыкам программирования, используя визуальный фидбек.

Язык основан на Java, но использует упрощенный синтаксис и графическую программную модель.

Используется для программирования графики. Очень быстро превратился в инструмент для создания профессиональных работ. Тут можно посмотреть видео работ, которые были созданы с помощью Processing.



Pluralsight имеет богатую библиотеку онлайн курсов для .NET разработчиков. Также есть курсы для множества других языков и технологий (всего около 360 курсов). Доступ осуществляется за платной ежемесячной подпиской. Имеется бесплатный триал на 10 дней (правда, до 200 минут видео и с другими ограничениями).

LearnStret – ресурс для изучения Javascript, Python, Ruby. Курсы интерактивные – изучение проходит в виде написания кода и немедленного получения результата. Имеются теория, упражнения, подсказки и видео.

Первоисточник. Это не перевод. Описания, по большей части, изменены, заменены или дополнены. Добавляются другие ресурсы.

180 сайтов за 180 дней / Habr

Чуть больше четырёх месяцев назад Дженнифер Девальт (Jennifer Dewalt) приняла важное решение — научиться программировать. Хотя у неё не было опыта в этом деле, она никогда не посещала технических спецкурсов в школе, а наоборот — увлекалась только искусствами, но девушка сразу же решительно взялась за дело.

Дженнифер установила правило, что каждый день будет делать по одному веб-сайту, без выходных. При этом каждый веб-сайт должен сопровождаться новой записью в блоге, а весь код выкладываться на Github. Сегодня наступил 115-й день её марафона.

Девушка принципиально не участвует ни в каких образовательных курсах и не пользуется учебниками. Она решила, что учиться программировать — это как учиться ездить на роликовых коньках: нужно пробовать и практиковаться как можно больше.

Итак, она просто каждый день ставит перед собой новую задачу в максимально логичном порядке, а ответы на все вопросы смотрит на Stack Overflow. Для работы использует 13" Macbook Pro с двумя внешними мониторами (в коворкинг-центре).

Первые сайты были очень простыми: чуть HTML и CSS, пару строчек Javascript. Но со временем они становились всё сложнее: появились игры, калькуляторы, часы и котята. К настоящему времени Дженнифер уже перешла на Rails для динамических веб-сайтов, посетители которых могут общаться друг с другом.

Для сравнения, вот её первые и последние работы.

День 1. Homepage
День 2. Make a Deal!
День 3. Get a Random Color Background
День 4. Paint a Mondrian
День 5. Secret Message
День 6. Day Tracker
День 7. Technicolor Boxes
День 8. More Drop Shadow!
День 9. Bouncing Ball
День 10. Sushi Jiggler

День 103. Word Clock
День 104. Emergency Off
День 105. Infinite Descent
День 106. Wish
День 107. Serious Question
День 108. Algae Tank
День 109. ColorWorks
День 110. Effects
День 111. Down the Weight
День 112. Check Sketch
День 113. Window Master
День 114. Image Palette

Отправить ответ

avatar
  Подписаться  
Уведомление о