Программировать может каждый — кредо веб-школы Codecademy, где языку JavaScript (а в ближайшем будущем — Ruby, Python, HTML и СSS) учат в режиме онлайн. 2,5 миллиона долларов инвестиций, бесплатная регистрация, медали за каждый пройденный уровень и человеческий язык, на котором объясняют функции и переменные, обеспечили школе 500 тысяч пользователей за полгода. T&P узнали, как устроен процесс обучения и можно ли после него написать сайт.

Веселые старты

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

CodeAcademy работает с абсолютными новичками. Задания состоят из маленьких упражнений: посчитать длину своего имени, задать переменную, превратить все буквы из строчных в заглавные. Каждое действие сопровождается автоматическим приободрением и инструкцией о том, что делать дальше. Потусторонний мир людей, которые сутками сидят за компьютерами и могут разделить 579 на 7 за три секунды, вдруг становится простым и приветливым. А главное, через десять упражнений даже гуманитарий женского пола вдруг начинает мечтать о новом Google.

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

Действенный метод

Все началось с момента, когда Зак сам решил стать программистом. Во время обучения он столкнулся с унылыми учебниками, запутанными объяснениями и видеолекциями, от которых было мало толку. Его друг и будущий партнер Райан много лет преподавал программирование в колледже. Там он выяснил, что метод «короткое объяснение, упражнение, повтор» — самый действенный, и в CodeAcademy решили применять именно его.

Курс обучения состоит из двух больших разделов, в каждом по четыре темы. В конце разделов нужно написать игру в блэкджек, финальный тест — код для игры «Глаза змеи». Пока что учиться можно только языку JavaScript. В ближайшем будущем добавят Ruby, Python, HTML и СSS. Первые два появятся быстрее остальных: занятия по ним пользователи уже могут составлять сами с помощью сервиса Course Creator. Это новая и важная часть школы, которая позволяет каждому желающему писать упражнения. Можно сделать свой собственный курс или добавлять задания в уже существующие разделы основной программы. Пользователям предоставили точно такие же инструменты, как у команды CodeAcademy — это значит, что новые упражнения могут получиться даже лучше нынешних.

Интерактивность и короткие задания — не новая концепция: в школе технологий O’Reilly это придумали еще десять лет назад. Главная сила CodeAcademy — в геймификации. Обучение становится наполовину игрой: для этого нужны уровни и разноцветные медали «Ура — вы зарегистрировались» и «Поздравляем, вы выполнили 10 упражнений». Каждым достижением можно тут же поделиться в фейсбуке или отправить старомодный имейл маме. И даже если в памяти не откладывается ни строчки, кажется, что учеба идет полным ходом — это доказывает зеленая шкала прогресса.

Критика

«Я заработала бейджи, я прошла несколько уровней — и ни черта не смыслю в программировании, — пишет блогер Одри Воттерс. — Если посадить меня перед пустым окном и сказать «Напиши игру блэкджек», я в лучшем случае посчитаю буквы в своей фамилии». Эту неудачу можно было списать на персональные особенности, если бы не десятки подобных жалоб. Когда воодушевление первых десяти упражнений остывает, оказывается, что уроки сменяют друг друга, не оставляя в голове четкой картины. «Я думаю, восторженные отзывы о CodeAcademy оставляют в основном те, кто уже умеет программировать», — считает Одри.

Русская аудитория тоже настроена, в основном, скептически. Пользователь Murr на сайте Habrahabr пишет: «CodeAcademy пока что не впечатляет. Надеюсь, инвестиции помогут авторам сделать ресурс лучше». В качестве удачного примера веб-школы он приводит проект Codeschool — с видеолекциями и платным членством. А некто анонимный с форума Linux.org.ru и вовсе считает интерактивное обучение вздором: «Пиши программы, загружай в REPL, запускай. При необходимости, смотри документацию на оффсайте. Все».

Образование будущего

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

«Это первый случай демократизации программирования, — говорит Зак, и с ним согласны даже недовольные пользователи. — Самое важное, что получилось у CodeAcademy — показать, что сложная наука может быть веселой и нестрашной, а чтобы разбираться в последовательностях, необязательно быть гиком. С таким подходом можно научить чему угодно».