Опыт получения Data Science specialization на Coursera за 6 месяцев

В этом посте я бы хотел зафиксировать свои уже гаснущие воспоминания о получении «Data Science, a 9-course specialization by Johns Hopkins University on Coursera. Specialization Certificate», фокусируясь на организационной стороне вопроса. Т.е. я не буду рассуждать о том, насколько это престижный сертификат, какой преподаватель скучнее и достаточно ли знаний дается. На мой взгляд — это вопросы субъективные. Вместо «зачем», я расскажу о том «как»: в каком порядке и как проходить курсы, на что обращать внимание при сдаче тестов и курсовых, и что получается в результате

Это платно

Данная специализация (везде по разному) состоит из 9 онлайн курсов + capstone project (дипломный проект). За каждый курс вы получаете сертификат, и он должен быть verified. Вы можете прослушать курс бесплатно и получить обычный сертификат, но такой не пойдет вам в зачет для специализации (signature track). Скорее всего, к signature track (список соответствия курсов специализации) удастся подцепить уже пройденный ранее платно курс, входящий в выбранную вами специализацию. Не слушать же его еще раз, правда? Но у меня таких не было.

Итого, стоимость специализации Data Science будет складываться из цены 9 verified курсов + capstone project. Причем цены в вашей валюте. Можно платить за каждый курс по мере необходимости (цена будет немного выше), но я застал момент, когда курс рубля уже упал, а цены еще не скорректировали — поэтому заплатил сразу за все 10800р. Да и меня оплата вперед больше мотивирует. Сейчас полный комплект курсов стоит 18600р (или 28200р, если оплачивать по одному). Советую брать пучком.

Докупать какие либо книги или сервисы (платный Azure и т.п.) в процессе получения этой специализации не предлагалось.

Из приятного: после оплаты к прохождению курса можно приступить в течение 2х лет. Если провалите — последующие попытки его пересдать бесплатны. А это значит, что если вы заплатили за курс, то не получить сертификат по нему вы сможете только если прекратите пытаться это сделать. А значит получение специализации становится вопросом скорее времени и желания.

В чем заключается верификация

1. Вас попросят набрать длинную фразу и сфотографироваться на web-камеру. Честно говоря, точно не помню, но возможно один раз потребуется отправить фото документа, удостоверяющего личность, с вашей фотокарточкой. Это делается также через web-cam. Для съемки используется flash плагин с рамочками. Никаких распознаваний образов на предмет попадания в рамку не происходит.
2. Отправляя результаты тестов или ссылки на отчеты вы будете каждый раз вводить эту фразу (видимо сверяется стиль печати) и фотографироваться на web-cam. Это часть submission process. Фотографии, видимо, потом бегло просматривают специально обученные обезьяны. И проделать вам это придется раз 50 минимум.

Вывод: вы можете смотреть видео где угодно, но результаты отправлять нужно на машине с hardware keyboard и web-cam. О чем вам будут напоминать все пол года. Если с фото не заладится, можно один раз за курс сделать submission без него (в деталях могу ошибаться).

Linux

Несмотря на то, что курсы специализации оттестированы авторами на Win и Mac, я проходил его на ноутбуке с Kubuntu 14-15 + Firefox. Все используемое в курсе ПО есть и для этой системы. Никакой необходимости запуска Windows для выполнения какой-либо операции у меня не возникло. Но это, конечно, не доказывает, что любой курс на coursera можно успешно пройти с linux машины.

Порядок прохождения курсов

В Data Science specialization есть 2 правила:

1. приступить к курсам с 2 по 9 можно только сдав 1й.
2. к capstone project можно приступить, только сдав предыдущие 9 курсов.

Каждый курс длится месяц (а точнее — 4 недели), capstone project — 2 месяца. После окончания курсы перезапускаются. Обычно курс начинается с 1 по 5 число — в понедельник/вторник.

Отсюда вывод: если вы оплатите специализацию числа 10-го, то все равно будете ждать до конца месяца, чтобы приступить к обучению. Кроме того, заканчивая текущие курсы обязательно следите за тем, когда откроется регистрация на следующие, и регистрируйтесь на них. Иначе рискуете получить 4 недели каникул.

Что касается порядка прохождения, оговорюсь, что я experienced developer, прочитал к тому моменту книжку по R и имел возможность учиться full time. Поэтому я брал несколько курсов за раз. Тем не менее (о чем ниже), считаю, что такую схему потянет и студент, занимающийся после работы/на выходных.

1. Как можно раньше берете курс №1 и проходите его часа за 4е. Ну максимум за 2 дня. Да, он такой простой + там одни тесты. Он не стоит месяца.
2. Тут же, чтобы не терять месяц вы успеете взять курсы №2 и №3. (т. е. 3 курса за 1й месяц).
3. Далее берите по два курса параллельно и, в итоге, наберете 9 пройденных курсов. (еще 3 месяца).
4. Делаете capstone (+2 месяца).

Как устроен курс

В течение курса вам может потребоваться сдать 1-4 теста и 1-2 курсовых работы. Сразу смотрите Syllabus (учебный план) — там написано, что от вас потребуется и главное — deadlines. Обычно, курс выглядит так:

1 неделя: видеоуроки + тест с дедлайном в конце недели
2 неделя: видеоуроки + тест и/или курсовой с дедлайном в конце недели
3 неделя: видеоуроки + тест и/или курсовой с дедлайном в конце недели
4 неделя: видеоуроки + тест

Обратите внимание, что на последней недели курсового быть не может (почему — ниже). А на первой он мне никогда не попадался.

Видео — гипотетически можно вообще не смотреть. Чтобы студент не все забыл, плеер иногда может вставать на паузу и давать вопрос на повторение. Эти ответы, с точки зрения сертификации, абсолютно ни на что не влияют. Если скачаете видео на ПК, то этого удовольствия, понятное дело, там не окажется.

Тесты в этой специализации не имеют таймера. (Часть вопросов потребует поработать в RStudio, так что сдача теста может затянуться надолго.) Обычно они состоят из 6-10 вопросов с 3-5 вариантами ответов. Дается 3, реже 2 (в capstone) попытки его сдать. В зачет идет максимальный набранный за попытку балл. Не бойтесь закрыть страницу с вопросами — попытка не будет засчитана, пока не пройдете submission process. Вопросы не меняются, список ответов может разбавляться свежими неправильными вариантами и тасоваться.

Обычно, тест проходится с первого раза. Если сложный — вы должны сразу попасть в 7-8 вопросов из 10, остальные сможете докрутить.

Мне не встречались некорректно поставленные вопросы или вопросы явно не имеющие правильного ответа среди предложенных. Если вы так считаете — скорее всего вы что-то недопоняли.

Тесты дадут 30-40% от course credit score. (Для получения сертификата нужно >70%)

Курсовой

Это может быть отчет или презентация на 5 страниц в RPubs/Github, ссылку на которую вы отправляете. Или проект на Github. Или web приложение на shinyapps.io. Редко вместо ссылки от вас будут просить приаттачить R файл.

Обычно курсовой один. Но однажды, если не ошибаюсь, было 2 маленьких.

У курсового есть 2 дедлайна — второй через неделю после первого. Поэтому курсового не бывает на 4 неделе. К первому дедлайну вы сдаете проект. Ко второму — проверяете 4 чужих, ставя им баллы в небольшой анкете. Иногда ставите оценку и себе. Оценкой за ваш курсовой будет среднее из выставленных вам оценок ваших однокурсников. Я подозреваю, что супервайзеры курса не смотрят на эти результаты, пока они не выбиваются из тренда. Т.е. в 99% случаев вас оценивают ваши сокурсники.

Отсюда вытекает жуткая головная боль. Задание (кстати, внимательно прочтите все требования к заданию) обычно поставлено туманно, и может быть выполнено различными способами с разной степенью усердия. И у вас всегда будет дилемма — сколько reasonable efforts приложить к его выполнению. Проблема в том, что вас будут судить «по себе». И если вы сделали меньше или не так, как ваш собрат, он вам оценку скорее сбавит. Помимо этого, требования могут быть вроде «презентация для вашего босса/не технического специалиста». Сколько в такой презентации должно быть воды, а сколько техники — всегда субъективное мнение.

Поэтому, важны 2 вещи — внимательно прочитайте пункты в анкете, по которым вывас будут оценивать. Я лично, не снижал оценку в случаях, если у меня нет для этого повода. Т.е. программа может работать криво, но если в анкете перечислены {запуск/наличие пользовательского ввода/ успешное предсказание хотя бы одного результата из 5} и конкретно вот это в программе есть, то у меня нет формального повода сбавить оценку в любом из этих пунктов. Свое общее фи вы сможете высказать в поле для развернутого комментария, а также впоследствии почитать комментарии о своей работе. Но они на оценку не влияют. В общем, не знаешь как — делай так, чтобы было невозможно придраться по оценочной анкете. В целом, я считаю, сокурсники имеют склонность завышать оценки.

Вторая вещь — есть места, которые трактуются двояко/трояко и пр. И это может привести к диаметрально противоположным результатам. Если у вас есть сомнения в чем-то — загляните на форум курса. Уверен, там уже будет холивар. Если нет — смело пишите свой результат и спрашивайте у супервайзера: «а так можно?». Вам скорее всего ответят, что можно и так, и сяк, и вообще — сколько людей, столько и мнений. Ссылку на это обсуждение с пометкой «мне так разрешили» прикладывайте к вашей работе. Таким образом вы избежите проблем, если ваше мнение разделяет меньшинство, а не большинство, и избавите проверяющего от сомнений.

Курсовой даст 60-70% финальной оценки. В общем, процент подобран так, что сдать курс без него невозможно.

Отдельно отмечу, что после каждого курса в сети остается куча репортов, проектов на github и пр. результатов жизнедеятельности студентов. Все это публично, и может быть нагуглено следующим потоком. Поэтому, такие материалы нужно за собой подтирать. Хотя, случаев плагиата мне не попадалось. Советую делать это слегка после получения сертификата, а не сразу после окончания курса — мало ли.

Штрафы (penalty)

За просрочку теста или курсового полагается штраф в % от набранной за них оценки. Не забывайте по окончанию дедлайна на сдачу курсового вернуться и проверить 4 чужие работы. Иначе получите за это штраф. И я на это попал, т.к. сдал курсовой за 2 недели до первого дедлайна и забыл о нем напрочь.
По тестам есть exception’ы — забудьте о них, уважаете дедлайн.

Certificate with distinction

Если наберете больше 90% от максимального course credit score, на выданном за курс сертификате будет пометка «with distinction».
А вот для capstone такого нет. Т.е. у вас будет 9 with distinction, а у кого-то все без отличия — вы получите одинаковый финальный сертификат за всю специализацию. По кр. мере визуально одинаковый. Если пройти по ссылке на такой сертификат, то там будут видны и 9 включенных в его программу.

Кстати, сертификаты появляются дня через 2-3 после окончания курса. Хотя, один раз задержка составила 1.5 недели, и публика начала безумствовать.

Swirl

Для некоторых курсов авторы позволяют выполнить дополнительные задания и получить за них баллы. Все задания заключаются в прохождении небольшого интерактивного обучения непосредственно в RStudio через пакет Swirl. Механику объяснять не буду — ничего сложного там нет. Уроки в Swirl доступны далеко не для каждого курса специализации. Обычно таких уроков с десяток, но практический смысл имеет прохождение любых 5 из них. Это потому, что за каждый дается +1 балл, и больше дополнительных 5 баллов за курс собрать таким образом не дают. Если вы не получили максимальный балл за тест, или не уверены, что ревьюверы по достоинству оценят ваш проект — сделайте себе гандикап — пройдите хотя бы 5 первых уроков. От провала оно вас вряд ли спасет, а вот склонить чашу весов в сторону сертификата с distinction может. Я, например, таким образом частично закрывал полученный по забывчивости штраф.

И еще раз о порядке прохождения курсов

После того, как я перемолол первый курс за 4 часа, и еще за неделю всё сдал по 2-м следующим (конечно, нужно было еще вернуться к ним и оценить чужие работы, но на это требуется не больше пол часа на 1 чужой проект, в зависимости от вашей сознательности) у меня осталось 2 свободных недели до начала следующих. (Не профукайте открытие регистрации на них). Эти 2 недели я потратил, соревнуясь на kaggle и немножко контрибутя код в VW. После чего возник вопрос: продолжить в таком темпе (2 курса за 1.5-3 недели + самообразование/kaggle) или взять 3 курса параллельно. Так вот я вам советую первое. А у тех, кто учится в свободное от работы время, наверное и вопроса такого не возникнет.

Проблема в том, что все курсы, которые вы берете разом, начинаются на одной и той же первой неделе месяца. И с большой вероятностью дедлайны по всем курсовым придутся на одну и ту же дату (2-3 неделя). Ну а с продвижением по signature track, курсы становятся тяжелее, а курсовые — более творческими. Плюс каждый последующий курс может немного опираться на знания, полученные из предыдущего курса. В общем, в какой-то момент вы не сможете эффективно между ними переключаться, и сдача курсовых начнет прижиматься к дедлайнам (а дедлайны все в один день). В общем — не смотря на то, что при обучении сразу на двух проектах у full time студента остается (по кр мере в начале пути) достаточно времени, брать три и более курсов за раз — не вариант, т.к. пиковая нагрузка на 2й-3й неделе вас вышибет. Вот если бы начало курсов можно было смещать на неделю-две, тогда да…

Capstone project

Минимум видео — информацию нужно собирать самому. Два курсовых — репорт с exploratory analysis и собственно web app на shinyaps.io.

Визг, писк, истерика

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

Неизвестно, как часто меняются задания capstone project. Скорее всего, оно не менялось никогда — в гугле попадаются репорты на эту же тему оставшиеся от студентов предыдущих запусков capstone project. Кстати, не забывайте удалять свои.

Результат

Результатом обучения является запись в БД сертификатов coursera и URL, чтобы на эту запись полюбоваться. И кнопочка, автоматически прописывающая ее вам в linkedin профиль.

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