Заочное обучение в ШАД Яндекса: 570 замечательных часов моей жизни

    Два года назад на меня сильное впечатление произвела хабрастатья «Стивен Вольфрам проанализировал свою жизнь». К тому времени я уже года два записывал в Google-календаре, что и когда я делал, но к тому моменту я не задумывался, о том, что можно сделать с этой информацией. После прочтения той статьи, я понял: эту информацию можно анализировать! Сейчас я могу посчитать сколько раз мы с друзьями собирались играть в баскетбол за эти годы, сколько часов я провёл в больнице и т. п.

    На этой неделе я сделал последнюю домашнюю работу в ШАД и решил посчитать сколько времени у меня ушло на обучение, сколько я в среднем тратил в неделю, сколько строчек кода я написал и т. д. Построил несколько графиков и гистограмм, показал их друзьям и понял, что, возможно, такая информация будет интересна кому-либо ещё. Так что если вы хотите узнать сколько страниц отчётов было написано, насколько верна оценка нагрузки в ШАД в 15–20 часов в неделю, а также моё субъективное мнение о курсах в ШАД, то добро пожаловать под хабракат.

    Итак, скачиваем календарь с интересующей нас информацией, пишем небольшой скрипт и получаем следующую картинку.


    Каждый блок соответствует семестру, каждая вертикальная полоска из 24 клеток в блоке — суткам, каждая клетка — часу в сутках. Цветами отмечено время, затраченное на какой-либо шадовский курс.

    Первое, что бросается всем в глаза — в третьем и четвёртом семестрах я ленился. Это правда, можно всё перевести в числа и получить следующую таблицу.

    Название курса Количество затраченных часов Замечание
    Дискретный анализ и теория вероятностей 63.5
    Алгоритмы и структуры данных поиска 73
    Обучение языку C++ 38
    Лингвистика 27
    1-й семестр 201.5
    Алгоритмы и структуры данных поиска 43.5
    Обучение программированию 21
    Машинное обучение 45
    Сложность вычислений 30.5
    Параллельные и распределённые вычисления 2 Не сдавал
    2-й семестр 142
    Машинное обучение 43.5
    Автоматическая обработка текстов 34.5
    Теория информации 39
    3-й семестр 117
    Язык Python 21
    Информационный поиск 21
    Основы статистики в машинном обучении 9 Не сдавал
    Байесовские методы в машинном обучении 58
    4-й семестр 109
    Всего 569.5


    Тут сразу же стоит сказать о том, что в данных есть некоторая погрешность, так как я записывал часы с некоторым округлением, а также чтение какой-нибудь книги, скажем по Python, здесь может быть не учтено. Как бы то ни было, получилось примерно 570 часов. Не так много на самом деле, например в приложении к университетскому диплому у меня написано 8020 часов, но, как мне кажется, часы в ШАДе были использованы эффективнее.

    Могу также сказать, что сложность курса с количеством затраченного времени коррелирует: непростыми мне показались «Алгоритмы и структуры данных поиска» и «Дискретный анализ и теория вероятностей», самым же сложным курсом мне показался курс «Байесовские методы в машинном обучении», над предпоследней домашней работой по этому курсу я просто «рыдал», в последний раз у меня было такое же чувство, когда я пытался на первом курсе университета в книге Н. Бурбаки «Группы и алгебры Ли» разобрать определение свободного группоида. Тем не менее, что важно, по большинству предметов был хороший фидбек от преподавателей, указывали на ошибки, говорили что можно сделать лучше или переделать, что существенно улучшало понимание предмета.

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


    По горизонтальной оси отложены дни недели, по вертикали — число часов в этот день недели, затраченных на обучение в ШАД.

    В первом семестре, когда я работал по обычной пятидневной рабочей неделе, заметно, что многое приходилось делать на выходных. Во втором и третьем семестрах, когда я писал диссертацию, — всё более-менее равномерное, провал жёлтой линии связан с четырьмя парами в этот день в универе. Распределение времени же в четвёртом семестре я тоже могу объяснить, но это объяснение не для хабрастатьи.

    Также удалённое обучение интересно тем, что учиться можно где угодно, например одну из домашних работ по алгоритмам я сдавал, когда ехал в поезде Новосибирск–Омск, другую — когда ехал в троллейбусе в университет, или, например, программу по питону писал в аэропорту JFK, правда к дедлайну так и не успел. Лекции же тоже можно смотреть где угодно, зачастую я записывал лекции на телефон и слушал их по дороге на учёбу или работу. Забавно, что даже трёхэтажные формулы из лекций, которые пишутся маркером на доске, я воспринимал на слух, а вот при просмотре лекций, где весь материал в презентациях, приходилось часто смотреть на экран.


    На горизонтальной оси отложен номер недели в семестре (вернее номер семидневного отрезка), по вертикальной — число затраченных часов в этой неделе.

    Видно, что в первом и втором семестре число затраченных часов перед концом семестра и перед промежуточным дедлайном увеличиваются. В третьем семестре промежуточного дедлайна нет, но в конце семестра затраченное время возрастает. Про четвёртый семестр я уже писал выше. Хотя более правильным было бы делать всё заранее, а то как-то раз делал одну домашнюю работу по теории информации, чтобы сдать вовремя, в ночь после защиты диссертации и сопутствующих мероприятий, сделал, сдал, но получил ответ он преподавателя: «на самом деле 0 делится на 3», как я мог так ошибиться — не понимаю! Данный случай заставил задуматься над тем, что надо как-то избавляться от привычки всё делать в ночь перед дедлайном.

    Если разделить 569,5 часов на 64 недели, то получится примерно 9 часов в неделю, но это число мало о чём говорит, гораздо информативнее следующая гистограмма.


    По горизонтальной оси — интервалы затрачиваемого времени в часах, по вертикальной — сколько недель попадает в данный интервал.

    Видно, что было 19 недель, в которые я тратил от 5 до 10 часов, 16 недель, в которые я тратил от 10 до 15 часов, 7 недель, в которые я потратил от 15 до 20 часов, также было 4 недели, когда было затрачено 20 и более часов. В оставшееся время я что-то делал менее 5 часов, но половина этого времени приходится на начало и конец семестров.

    Наконец, посмотрим, как распределится затраченное время по часам в сутках.


    По горизонтальной оси отложены часы в сутках, по вертикальной — сколько в этот час я тратил времени на обучение в ШАД.

    Ямы в утренние часы вполне согласуются с тем фактом, что я в это время сплю. Также небольшой локальный максимум на красной линии в районе 7 часов утра объясняется тем, что я в это время ехал к первой паре в университет и смотрел лекции в троллейбусе. Также тот факт, что максимумы приходятся на ночь, указывает на то, что я сова.

    Посчитаем, сколько было написано строчек кода и страниц отчёта.
    PDF 252 страницы
    C++ 3139 строк
    Python 2187 строк
    Java 60 строк
    R 186 строк
    Bash 90 строк

    Конечно кода было написано не очень много, но мне и на работе хватало программирования, поэтому некоторые задания я не выполнял. А вот 252 страницы отчётов и домашних работ — это серьёзно, не уверен, что я столько домашних в универе сделал!

    Теперь приведу ответы на несколько вопросов о ШАД, которые мне часто задают.

    — Сложно ли поступить в ШАД?
    На мой взгляд, поступить просто. Подготовка к поступлению у меня заняла 2 дня, пока я ехал в поезде Омск–Москва, у меня был с собой конспект по терверу, который я полистал.

    — Сложно ли учиться в ШАД?
    Как мне показалось, сложно, но дело не в том, что приходится решать достаточно серьёзные задачи, а в том, что нужно уметь распределять своё время, чтобы времени хватило на всё: на учёбу, на работу, на ШАД, на спорт, на жизнь. В полной мере мне научиться распределять правильно время так и не удалось. Поэтому лучше обучаться на старших курсах университета или в первые 2 года аспирантуры, когда свободного времени больше. Если же отвечать на вопрос именно об учёбе в ШАД, то здесь ответ такой: сложность вполне сопоставима со сложностью учёбы в университете, никаких суперспособностей не требуется.

    — Сколько же времени для учёбы в ШАД потребуется?
    Как сказано выше, у меня для этого потребовалось примерно 570 часов. Но если делать все домашние работы и смотреть все лекции и семинары, то на 1000 часов вполне можно ориентироваться.

    — Что тебе дало обучение в ШАД?
    Во-первых, я стал гораздо лучше программировать на C++ и научился программировать на Python. Во-вторых, с нуля разобрался в машинном обучении, также подтянул свои знания по статистике. В-третьих, стал лучше разбираться в структурах данных и алгоритмах. Когда я проходил собеседование на стажировку в Яндекс, половину ответов на задаваемые вопросы я узнал именно в ШАД. В-четвёртых, знания, полученные из курсов «Дискретный анализ и теория вероятностей», «Теория информации», «Сложность вычислений», очень помогли мне при обучении в аспирантуре. В-пятых, во время учёбы в ШАД и во время стажировки в Яндекс я познакомился с несколькими замечательными людьми.

    — Где полученные в ШАД знания применять?
    Если заниматься только, скажем, разработкой мобильных приложений, то, возможно, знания о том, как анализировать данные, и не нужны. Но если работа будет связана с анализом данных или поиском, то полученные знания будут активно применяться. Также курсы по алгоритмам и структурам данных и по языкам программирования будут полезны в любом случае.
    Share post

    Comments 21

      +1
      По R курса не было, но его разрешалось применять вместо C++ и python?
        +1
        На многих курсах выбор языка вообще не ограничен (например, контест по анализу картинок или задания по автоматической обработке текстов — надо написать что угодно и как угодно, лишь бы разметить выборку). В тоже время, на некоторых курсах (в основном, по статистике) только R.
          +2
          На машинном обучении нам разрешалось R использовать.
            0
            Я учился в ШАДе 2010-2012 гг. По R пытались дать несколько домашек по машинному обучению, но с ним все очень плохо в плане «разобраться с нуля». Я был очень рад, что домашки перешли на python. Впрочем немалая часть домашек по машинному обучению требовала получения результата, неважно чем.
              0
              Я учился на биоинформатике — у нас был краткий курс R. Правда, я к тому моменту его уже более менее знал.
              Зря его не читают, к этим задачам он лучше, чем python, подходит.
                0
                У python есть мощные библиотеки алгоритмов машинного обучения. Не такие, как в R, конечно, но зато не требуют выноса мозга.
                  0
                  В чем «вынос мозга» в R?
                  Если не заниматься разработкой библиотек, то, IMHO, он проще, чем python. И более интуитивен.
                  А в оформлении отчета, с помощью Swave, по удобству его можно разве что с Wolfram Mathematica сравнить.
                    0
                    В его функциональности. У меня лично вечно были проблемы с банальными вещами, типа оперирования таблицами с данными.
            +1
            Два вопроса — сильно ли это отличается от онлай курсов Edx или Coursera?
            Второй — куда дальше, яндекс?
              +2
              Очень сильно.
              Если с точки зрения контента: материал гораздо более продвинутый.
              Если с точки зрения организации: для студента из Москвы это вообще очные курсы (со всеми бенефитами). Для заочников преимуществом перед MOOC'ами является оперативный и более адресный фидбек от преподавателей. С другой стороны, некоторые «техники» онлайн курсов, определённо, не помешали бы.

              куда дальше, яндекс?
              Разумеется, Яндекс организовал школу не потому что денег много, а для того, чтобы получать квалифицированные кадры. С другой стороны, никто не обязывает отработать на Я в принудительном порядке n лет «в расплату», можно и стартапы делать, и в гугл пойти.
                +1
                Курсы ШАДа не заточные под онлайн обучение, поэтому лучше их посещать в живую. В яндекс впрочем попадает что-то около трети выпускников, остальные неплохо находят свое применение на рынке.
                +2
                Тоже заканчиваю в этом году ШАД.
                По моим прикидкам я тратил по 20-30 часов в неделю(просмотр лекций и выполнение домашних заданий).
                Только обычно под конец семестра это время уменьшалось часов до 5 в неделю, т.к. поток домашних заданий иссякал.
                Да, строк кода на C++ у меня получилось куда больше — около 15 тыс.
                  0
                  Я тоже хотел тратить часов 20, но не получалось.
                  В статье не написал, но я думаю, что верхней границы по времени нет, если есть желание и возможность, то вполне можно проходить в семестр и 5 курсов, и 6, ведь в ШАД их достаточно много, и все интересные.
                  +2
                  Сегодня буду проходить собеседование в Computer Science Center на направление Data Mining :)
                    0
                    До встречи!
                      0
                      Дада, увидимся :)
                    0
                    Экзамены даже на заочную форму проходят очно, в Москве? Разницы между экзаменами и критериями зачисления на очную/заочную формы нет?
                      +2
                      В других городах мы тоже организовываем очные экзамены. Не во всех есть возможность, но стараемся.
                      +1
                      Здорово, что у кого-то получилось учиться онлайн. Когда я смотрел на результаты вольнослушателей и заочников, то они не особо поражали, в отличии от посещающих вживую.
                        0
                        Подскажите как поступить на заочное? Что, где и когда? (сам из Киева).
                          0
                          Вся информация есть на сайте shad.yandex.ru/admission/. Но первый этап отбора (онлайн-тест) уже законился.

                        Only users with full accounts can post comments. Log in, please.