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.