Сервисы для изучения алгоритмизации и программирования

 

CODE.ORG, ОНЛАЙН

Главный протагонист Часа Кода. Элементарные навыки можно получить, упражняясь на материале самых популярных игр вроде Angry Birds и Plants vs. Zombies. А благодаря сотрудничеству с Disney на сайте появились уроки по «Холодному сердцу». Особенно приятно то, что школьный раздел самого популярного в мире сервиса для изучения программирования полностью переведён на русский.

STEPIC, ОНЛАЙН

На русскоязычной платформе для онлайн-курсов Stepic есть два отличных курса по программированию: Python от института биоинформатики и более сложный C++ от Computer Science Center.

SCRATCHJR, ОНЛАЙН

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

HTML ACADEMY, ОНЛАЙН

Самая популярная российская платформа для изучения кодинга. Одновременно и простые, и сложные занятия по многим языкам программирования. Разработан каждый курс с педагогическими приёмами: здесь задание попроще для мотивации, там посложнее для прогресса. Есть бесплатные курсы, которые можно начать в любое время и с любым уровнем подготовки, а есть платный интенсив, где всё ещё серьёзней.

CODEMONKEY, ОНЛАЙН

Всё как в обычной игре: нужно управлять мартышкой, чтобы собрать все бананы. Только вместо контроллера необходимо использовать команды, подобные кодам программы. От простого к сложному. Первые тридцать заданий можно попробовать выполнить, даже не проходя регистрацию. А уже после этого вам предложат несколько вариантов платной подписки: для школьника, для учителя и для школы.

TREEHOUSE, ОНЛАЙН

Это целый онлайн-университет для изучения самых разных языков программирования. Видеоуроки и задания есть как по классическим языкам, так и по новомодному Swift, на котором сейчас пишут программы для Apple. Месячная подписка стоит 25$, но время акции Час Кода — идеальный момент, чтобы испробовать бесплатный двухнедельный период пользования TreeHouse. У этой платформы есть столь же красивый аналог — CodeStart.

CODE HUNT, ОНЛАЙН

Браузерная игра для начинающих программистов, где для того, чтобы перейти на следующий уровень, нужно внимательно изучить предложенный код и его модифицировать. Проект подготовлен исследовательским подразделением Microsoft Research. В игре можно освоить языки программирования Java и C#. Авторы считают, что их подход может быть эффективней традиционного: вместо того чтобы писать код с нуля, игрок пошагово меняет уже существующий.

TYNKER, IOS

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

MOSCOW CODING SCHOOL, ОНЛАЙН

Это не просто курсы, а среда, где делятся опытом разработчики из успешных стартапов, в том числе, медийных. В роли преподавателей выступают программисты ведущих российских компаний и ресурсов: SoundCloud, Look At Media, Dream Industries, Innova Systems, W-O-S.ru.

Веб-сайты, которые вам стоит использовать, чтоб выучить классические алгоритмы:

  • A Visual Guide to Graph Traversal Algorithms — Интерактивная визуализация показывает, как работает алгоритм поиска в глубину графа.
  • Algomation — Поучительное и анимированное описание алгоритмов.
  • Algorithm Visualizer — Тонны анимированых алгоритмов (с кодом, конечно же), можно также создавать свои алгоритмы.
  • Algorithms Visualization — Коротенькая статья, посвящённая визуализации алгоритмов.
  • Big-O Cheat Sheet — Сложности повседневных алгоритмов, используемых в анализе данных.
  • Data Structure Visualizations — Визуализируйте поведение структур данных и делайте операции с ними.
  • Geeks for Geeks — Много-много хорошо объяснённых и реализованных алгоритмов.
  • Rosetta Code — Хрестоматия по программированию, цель которой — показать использование множества алгоритмов и структур данных в разных языках программирования.
  • Sorting Algorithms — Красивые и простые анимации алгоритмов сортировки, не без коротеньких примеров с кодом и их обсуждений.
  • Stoimen’s web log — Некоторые алгоритмы, которые очень понятно объяснены.
  • VisuAlgo — Визуализация структур данных и алгоритмов посредством анимации.
  • Wikipedia — Algorithms — Ко-неч-но-же!
  • Wikipedia — Data Structures — А почему бы и нет?

Онлайн-курсы

Бесплатные и качественные курсы онлайн:

  • Algorithms: Divide and Conquer, Sorting and Searching, and Randomized Algorithms — Основные темы: асимптотика («Большое О(х)»), сортировка и поиск, разделяй и властвуй, а также другие разные алгоритмы.
  • Algorithms: Graph Search, Shortest Paths, and Data Structures — Основные темы: структуры данных, графы и их применения.
  • Algorithms: Greedy Algorithms, Minimum Spanning Trees, and Dynamic Programming — Основные темы: жадные алгоритмы и динамическое программирование.
  • Algorithms: Shortest Paths Revisited, NP-Complete Problems and What To Do About Them — Основные темы: кратчайший путь, NP-полные задачи и что это все значит для разработчика.
  • Algorithms, Part 1 — Этот курс затрагивает необходимую информацию об алгоритмах и структурах данных, в которой нуждается каждый программист, который серьезно относится к своему делу. Курс рассказывает о структурах данных, сортировке и алгоритмах поиска.
  • Algorithms, Part 2 — Вторая часть курса, которая сфокусирована на жадном алгоритме и динамических парадигмах, а также на NP-полных задачах.
  • Khan Academy Algorithms — курс по алгоритмам, созданный Томасом Корменом и Девином Балккомом.
  • MIT-6-006 — Хорошо описанные алгоритмы.
  • MIT-6-046j — Такой же курс, как и предыдущий, только с другими алгоритмами.
  • MIT-6-00sc — Простое и понятное введение в алгоритмы.
  • Udacity Intro to Algorithms — Курс по алгоритмам на Python.