Заочне навчання в ШАД Яндекса: 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 », як я міг так помилитися — не розумію! Даний випадок змусив замислитися над тим, що треба якось позбуватися від звички все робити в ніч перед дедлайном.
 
Якщо розділити 769,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. По-друге, з нуля розібрався в машинному навчанні, також підтягнув свої знання за статистикою. По-третє, став краще розбиратися в структурах даних і алгоритмах. Коли я проходив співбесіду на стажування в Яндекс, половину відповідей на поставлені запитання я дізнався саме в ШАД. По-четверте, знання, отримані з курсів «Дискретний аналіз і теорія ймовірностей», «Теорія інформації», «Складність обчислень», дуже допомогли мені при навчанні в аспірантурі. По-п'яте, під час навчання в ШАД і під час стажування в Яндекс я познайомився з кількома чудовими людьми.
 
  — Де отримані в ШАД знання застосовувати?
Якщо займатися тільки, скажімо, розробкою мобільних додатків, то, можливо, знання про те, як аналізувати дані, і не потрібні. Але якщо робота буде пов'язана з аналізом даних або пошуком, то отримані знання будуть активно застосовуватися. Також курси з алгоритмам і структурам даних і з мов програмування будуть корисні в будь-якому випадку.
    
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.