9 сервисов для обучения программированию

http://open-education.net/wp-content/uploads/2014/03/code.org_.pngВ последнее время я стал часто встречать в зарубежных блогах мнение, что абсолютно все должны уметь программировать. Чем-то даже напомнило знаменитое Ленинское «Каждая кухарка должна научиться управлять государством». Пока кухарки всё так же варят борщ, я решил разобраться в теме.

Прочитав эту заметку, вы вряд ли сразу же перепишите свое резюме на разработчика и кардинально измените свою жизнь. Задача стоит другая: чтобы вы поняли, что нет ничего сложного в том, чтобы написать макрос для Excel, скрипт для Photoshop, обрабатывающий за вас тонну фотографий, или дописать код в CMS.

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

1. Code.org

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

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

Особо рекомендую поиграть в тамошнюю версию FlappyBird.

Снимок экрана 2014-03-06 в 17.56.46.png

2. Codecombat

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

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

Игра будет интересна практически всем. В неё могут играть и новички — очень многое объясняется во внутренних туториалах.

3. Bit’s Quest

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

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

Вам предстоит разобраться, что такое события, как использовать функции, и может понадобиться применить замыкания.

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

4. Hello Processing

По сути, это скринкаст с интерактивом, в котором вам рассказывают, как можно с помощью простых команд в JavaScript начать рисовать геометрические фигуры в браузере и как-то ими даже управлять.

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

5. Codecademy

Прекрасный сайт с хорошим выбором возможностей для того, чтобы научиться программировать для веба. Например, сервис предлагает создать страничку о себе, утверждая, что на это вы потратите всего полчаса. За это время вам постепенно объясняется, как работать с HTML, CSS и JS. Так на простом примере становится ясно, как создается сайт.

Выбор курсов удовлетворительный: есть довольно грамотные курсы по HTML, CSS, JS, jQuery. Если вдруг вы задумываетесь о серверной стороне дела, для вас есть занятия по PHP, Ruby, Python. Всегда было интересно, как работать с API сервисов? В «Кодакадемии» тоже этому учат.

Screen Shot 2014-03-01 at 18.38.04.png

6. Codeschool

Сервис создан программистами для программистов, всё как мы любим — но он вряд ли подойдет тем, кто пока по ту сторону консоли. Наверное, это самый полезный ресурс для тех, кто решит стать профессиональным программистом (но не делайте этого, прошу вас). Тут есть всё, что нужно знать о современном вебе, есть даже курсы по созданию iOS-приложений. Большинство курсов не бесплатные, но оно того стоит.

7. Hexlet

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

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

И, конечно, разработке на Android можно уделить время, если есть далеко идущие планы на эту платформу.

8. Coursera

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

Рекомендую взглянуть на Fundamentals of Computing. По результатам этого курса, как утверждают авторы, вы сможете начать программировать на Python и решать различные технические задачи. Для начала обучения не нужны навыки программирования, но курсы читаются на английском языке, и не ко всем из них есть русские субтитры.

9. Ruby Warrior

Я оставил эту игру на десерт.

Сценарий игры: руби-воин должен убить всех плохишей и спасти принцессу-блондинку (на самом деле нет). Управлять героем нужно с помощью Ruby-кода.

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

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

Эта игра мне показалась самой сложной — и самой интересной. Я не поленился и прошел её всю, все девять уровней. И не пожалел о потраченном времени.

warrior.png

Я далек от мысли, что кто-то после прочтения статьи всё бросит и пойдет чинить велосипед займется программированием, запилит свой проект и сэкономит на зарплате разработчиков. Не бросит и не сэкономит — зато расширит кругозор.

В современных реалиях это тоже, так или иначе, конвертируется в деньги.


Автор: Виктор Бабичев, директор по развитию бизнеса в агентстве «Социальные Сети»

Читайте также: