Как научиться азам программирования. Предлагаем вам пять удобных сервисов.
1. Codecademy
Самый популярный сервис в области обучения программированию с нуля, получивший несколько значительных раундов финансирования. Известен тем, что абсолютно бесплатен и создан специально для тех, кто ничего в программировании не понимает. Учит базовым принципам работы с JavaScript, HTML and CSS, Python и Ruby. Обучение проходит в форме коротких упражнений с простыми заданиями и инструкциями. Пользователь пишет код и сразу видит результат своих действий.
Для дополнительной мотивации в Codecademy придумали систему поощрительных бейджей за выполненное задание, прохождение раздела или сдачу тестов. Сервис внимательно следит за успеваемостью и последовательно выстраивает курс обучения, подсказывая, какие темы нужно дальше изучить. Также любой желающий может сделать собственный курс или написать несколько упражнений для остальных пользователей. Самый популярный курс называется Code Year — пройдя его, можно научиться делать сайты или игры.
2. Code School
Если Codecademy исповедует минималистичный подход к обучению, то в Code School любят фантазировать и экспериментировать. Самое интересное у них — не базовые уроки по Ruby, JavaScript, HTML/CSS и iOS, а курсы-продолжения, такие как Rails for Zombies. Кредо компании — Learn by Doing («Обучайся, действуя»). Вместо скучных абстрактных заданий они предлагают пользователям программировать то, что им интересно, например игры про зомби.
Все базовые курсы состоят из пяти уровней, каждый из которых начинается с 15-минутных обучающих видео. Затем следуют упражнения, в процессе выполнения которых сразу можно получить фидбэк и увидеть свои результаты. Так, например, в курсе для создания приложений для iPhone есть эмулятор, показывающий, как код будет выглядеть на экране гаджета. Здесь тоже не обошлось без геймификации: нужно зарабатывать очки и получать бейджи.
3. Treehouse
Treehouse делают акцент на обучающем видео. Даже если вы не готовы к полноценному курсу по созданию сайта, приложения для iPhone или Android, а просто хотите получить базовые знания о том, что такое интернет и как он работает, стоит подписаться на их канал на YouTube. Тех, кто решит начать изучать Ruby on Rails, PHP и другие языки программирования, на сайте ждёт более 1 000 видеоуроков. Они собраны в курсы, посвящённые веб-дизайну, программированию, технологическому предпринимательству и многому другому.
Видео постоянно обновляются, так что курсы морально не устаревают. После каждого видео даются практические задания, интерактивные квизы. В конце каждого курса у вас будет готов небольшой проект. После этого сервис подскажет, что стоит изучить дальше. На сайте есть хороший пользовательский форум, можно получить фидбэк от экспертов, поучаствовать в мастер-классах. Единственный недостаток — обучение стоит денег, от $250 до $490 в год. У Treehouse есть отличный бесплатный дочерний проект для тех, кто уже чему-то научился, — Code Racer. Там нужно кодить на скорость, соревнуясь с противником. В процессе ему можно всячески мешать: например, забрасывать его экран фотографиями кошек.
4. Udacity
Если обучение в одиночку вам не подходит, можно пройти онлайн-курсы с другими начинающими на Coursera, Udacity и других профильных сайтах. Плюс таких курсов в том, что у вас есть хоть и удалённый, но учитель, и определённый темп обучения, который не позволяет расслабляться. Курс Introduction to Computer Science (на видео) очень популярен среди новичков. Udacity, созданный на базе Стэнфордского университа, хорош тем, что совершенно бесплатно предоставляет университетские курсы в адаптированной под удалённое обучение форме. Рядом с каждым курсом есть шкала сложности. Предполагается, что, пройдя курс с нулевой сложностью, вы будете готовы к прохождению остальных, где изучаются конкретные языки. На Coursera тоже немало курсов для начинающих программистов, например, посвящённый Python и про создание креативных мобильных приложений.
5. Sparki
Если подавить гордость и признать, что все вышеуказанные курсы всё равно слишком сложны, можно начать с тех, что созданы специально для детей. Например, приложение для iPad и iPhone Move the Turtle. Это игра, которая обучает программированию через небольшие задания, каждое из которых заставляет двигаться черепашку. Сервис Alice, созданный в Carnegie Mellon University, учит созданию движущихся 3D-героев, параллельно давая основы C++ и Java. Hackety Hack — приложение, обучающее азам Ruby. В отличие от предыдущих оно делает это не через картинки, а уже через конкретные языковые команды. Но, конечно, самое лучшее для детей — это роботы, запрограммированные выполнять простые команды, которые сначала нужно прописать в виде компьютерного кода. Один из таких — робот Sparki, собравший деньги на Kickstarter. Сделать предзаказ можно здесь, и стоить он будет всего $100.