В январе-апреле этого года я попробовал себя на курсе CS50x Гарвардского университета на edx.org. Сказать, что мне понравилось — это не сказать ничего. Это было нереально круто. На мой взгляд, сферическое обучение Computer Science в вакууме должно быть именно таким. By the way, сертификат я так и не получил — я изначально поздно стартанул и не уложился в дедлайн — не хватило буквально недели. Sad but true.
Но это был хороший опыт, и я решил узнать, что же еще предлагает Гарвард в сфере онлайн-обучения, и вот что я нашел:
Гарвард, по сути, представляет собой набор школ (Schools) — это эквивалент факультетов. Самой, наверное, известной из школ в «обычном» мире является Harvard Business School, ну а в среде Computer Science, конечно, более известна School of Engineering and Applied Sciences, в которой в свое время учились Денис Ритчи, Стив Балмер, Билл Гейтс, Марк Цукерберг, «человеко-месяц» Брукс и много кто еще. Преподавание всех компьютерных наук ведется именно в этой школе, и упомянутый выше CS50x тоже, естественно, оттуда.
Американцы не были бы американцами, если бы не предоставили возможность (за деньги) учиться в Гарварде тем, кто очень-очень-очень этого хочет, но никак не может просто так взять и уехать в Массачуссетс на пару-тройку лет. Для этой цели была создана Harvard Extension School — это отдельная школа, в которой собраны самые популярные направления обучения из других гарвардских школ — там и менеджмент, и финансы, и литература, и Computer Science (подробнее тут). Правда, как ни крути, в случае если вы решаете получить степень магистра или бакалавра в Extension School, вам всё равно придется летом съездить в Бостон и взять там несколько курсов в кампусе, с живыми лекторами и в живых аудиториях. Бабла надо немеряно, да.
Но, к радости нищебродов, в Extension School есть еще такая вещь, как degree-сертификаты — и в том числе, интересующий меня сертификат в Software Engineering. Сертификат дается за успешное окончание пяти graduate-курсов (то есть, курсов, которые впоследствии могут быть зачтены при получении степени магистра/бакалавра в Гарварде), по формуле 2 + 1 + 2, т.е. 2 обязательных + 1 из 2 на выбор + 2 из 6 на выбор (один из обязательных курсов — тот самый CS50, полностью доступный на Edx). По всем этим курсам свободно предоставляются первые вводные лекции. Я посмотрел их все, и мне правда понравилось — по крайней мере, они отличаются в лучшую сторону от всего того, что мне читали в моих альма-матерях. Например, второй обязательный курс — это CS51 «Abstraction and Design in Computation», посвященный функциональному программированию и языку Ocaml — это область знания, обошедшая меня стороной, и судя по вводной лекции, эта тема объясняется очень интересно и доступно (хорошее ораторское мастерство лекторов- это отдельная тема для разговора).
В-общем, посмотрев все вводные лекции по всем предлагаемым курсам, которые предлагаются на выбор, я понял — «надо брать!». Нет, ну правда, меня в моих вузах учили отвратительно (и не говорите мне, что я не в тех местах учился), а здесь именно то, что мне нравится — достаточно теории и много hands-on-практики.
Есть только пара достойных обсуждения «но»:
Что думаешь, Хабр?