Як я проходжу Online Master of Science in Computer Science, і кому це може не підійти

Закінчила свій перший рік навчання за програмою Online Master of Science in Computer Science (OMSCS) у Georgia Institute of Technology (3 курси з 10). Захотілося поділитись деякими проміжними висновками.

Не варто туди йти, якщо:

1. Хочеться навчитися програмувати

У моєму розумінні, в базі хорошому програмісту треба:

  • Знати структуру конкретної мови, стандартні бібліотеки тощо;
  • Вміти писати код, що перевикористовується і розширюється;
  • Вміти читати код і писати код;
  • Вміти тестувати код та виправляти помилки;
  • Знати базові структури даних та алгоритми.

На цю тему є книги, MOOC курси, нормальна робота у добрій команді. Окремі курси на MSCS можуть допомогти з чимось із перерахованого, але загалом програма не про це. Знання мов - або prerequisite до курсів, або передбачається, що ти можеш швидко їх освоїти в потрібному обсязі. Наприклад, в курсі Graduate Introduction to Operating Systems треба було зробити 4 проекти загальним обсягом на 5000+ рядків C коду, плюс треба було прочитати близько 10 наукових праць. В курсі Artificial Intelligence на додаток до шести непростих проектів треба було скласти два екстремальні іспити — протягом одного тижня вирішити 30 і 60 сторінок не найпростіших завдань.

Вимог до "хорошого" коду в плані читання найчастіше немає. Часто оцінка ставиться автоматично на основі автотестів, нерідко є вимоги до продуктивності, код та тексти перевіряються на плагіат.

2. Основна мотивація – застосувати нові знання на поточному місці

Деякі курси можуть надати інструментарій. Але питання, що ти будеш робити з ще тонкою проектів та матеріалів, на освоєння яких буде йти весь вільний час протягом кількох років. Мені здається досвід MSCS добре лягає на анекдот:

У вченого та популяризатора науки запитали про цілі та результати деякого дослідження:

Популяризатор:
— Результати цього дослідження допомогли перевірити гіпотезу… А також зробили значний внесок у розвиток…

Вчений:
— Та це ж просто охоче!

Я вірю в те, що пройти всю програму без втрат можна, тільки якщо все це цікаво й весело. Але це все не скасовує той факт, що на таку освіту дивляться роботодавці (особливо у Штатах, але думаю, що не лише). Після додавання інформації в LinkedIn про те, що я там навчаюсь, мені почали надходити запити від рекрутерів непоганих компаній з Європи та Штатів. З моїх знайомих у Торонто кілька людей за час навчання просунулися кар'єрою або знайшли нову роботу.

Крім професійних, MSCS відкриває інші можливості. Можна вписуватися в цікаві наукові проекти в Georgia Tech, якщо успішно прослухав потрібні курси. Head teaching assistant (TA) в AI - це російський хлопець, який після року навчання в OMSCS перевівся в кампус і поїхав вчитися і займатися дослідженнями в Атланту. Наскільки мені відомо, планує отримувати PhD.

3. Розраховуєш пройти програму в гордій самоті

Умовно 50% профіту від програми – це можливість спілкуватися. У OMSCS велике та активне ком'юніті. Для кожного класу наймається велика команда TA (часто це студенти тієї ж програми, які успішно пройшли поточний курс). Всі ці люди навіщось хочуть працювати та навчатися разом. Що дає спілкування:

  • Насолода від того, що ти страждаєш не один;
  • Нові знайомі з усього світу та розвиток soft skills;
  • Можливість отримати допомогу та навчитися чогось;
  • Можливість надати допомогу та навчитися чомусь;
  • Професійна мережа.

Основна частина студентів - це люди з досвідом в індустрії, часто керівники відділів, архітектори, аж до CTO. Приблизно 25% немає формальне CS освіту, тобто. люди з досить різноманітним досвідом. У мене на початок програми було 5 років досвіду Java-розробки в Яндекс.Деньгах, а зараз part-time робота ресерчером у медичному стартапі (deep learning у стоматології).

Багато студентів мотивовані та відкриті до спілкування. Програму можна пройти і поодинці, але в результаті ти інвестуєш 2.5-3 роки свого часу (якщо враховувати роботу) і отримуєш лише 50% можливого профіту. Для мене цей пункт це найбільша складність, т.к. є невпевненість у собі та мовний бар'єр, але я намагаюся працювати над цим. Регулярно зустрічаємося з колегами, які мешкають у Торонто. Всі вони досить активні та цікаві хлопці та просунуті професіонали, один з них організував зустріч із Zvi Galil, "батьком" програми OMSCS, деканом факультету Computing Georgia Tech, який цього року залишив позицію.

Приклад про мотивацію: є легендарний студент, який поєднав проходження програми та службу в армії. Він підключався до форуму під час польотів, робив проекти та слухав лекції, проходячи польові навчання. Зараз працює у дослідному інституті при Georgia Tech, планує робити PhD.

4. Немає готовності серйозно комітуватися за часом

На перший погляд може здатися, що OMSCS аналогічна до набору MOOC курсів або спеціалізації на Coursera або схожій платформі. Я слухала кілька курсів на Coursera, наприклад, перші частини Cryptography та Algorithms від Stanford. Крім того, я пройшла один платний онлайн Graduate курс у Stanford (його ж слухають MS та PhD студенти) і безкоштовно прослухала лекції стенфордського CS231n (Convolutional Neural Networks for Visual Recognition).

Виходячи з мого досвіду, основні відмінності Online graduate курсів від безкоштовних курсів MOOC:

  • Вже згадана набагато більша залученість та мотивація TA, інструкторів, інших студентів, набагато більший комітмент (ніхто не хоче слухати програму вічно, тим більше, що є ліміт у 6 років);
  • Досить жорсткий timeline: лекції у випадку з Georgia Tech доступні відразу всі (можна слухати їх у зручний час). Можна заздалегідь читати підручник (багато хто робить це у перервах між семестрами). Але є проекти, і вони мають дедлайни, часто проекти зав'язані на конкретні лекції. Є дедлайни на іспити (їх зазвичай два за семестр). Бажано витримувати темп. Скільки треба часу на тиждень залежить від курсів та досвіду. Я б не розраховувала на 10 годин на тиждень на один клас. У мене в середньому йде 20 (іноді зовсім мало, іноді може бути і 30, і 40);
  • Проекти складніші та цікавіші, ніж у MOOC, і на порядок об'ємніші;
  • На такі курси більше дивляться університети та потенційні роботодавці. Зокрема, Georgia Tech при подачі заявки просить: "NOT List non-graded, non-academic-credit MOOC-type coursework".

5. Хочеться, щоб усе було зрозуміло, розжовано та чітко

По-перше, MSCS це не бакалаврат. Лекції є, але вони дають досить загальне уявлення про предмет. Плюс-мінус усі проекти передбачають особистий активний ресерч. Він може включати спілкування з однокурсниками та TA-ми (див. пункт 3), читання книжок, статей тощо.

По-друге, OMSCS - це досить велика і потужна інфраструктура з купою захоплених людей, які створюють та підтримують курси (див. пункт 2). Цим людям подобаються експерименти та челенджі. Вони змінюють проекти, експериментують із питаннями у тестах та іспитах, змінюють тестові оточення тощо. В результаті це виливається в деякі не цілком передбачувані результати. На моєму досвіді:

  • В одному курсі щось накрилося після оновлення серверів і ці сервери перестали під навантаженням видавати якісь стабільні результати тестів. Народ відреагував додаванням смайлу із серверною помилкою в склеці та нічними спробами проскочити з сабмітами;
  • В іншому курсі випустили тести та іспити з місцями неправильними чи спірними відповідями. За підсумками обговорень зі студентами, ці помилки робилися разом із оцінками. Хтось поставився спокійно, хтось обурювався і лаявся. У мене всі зміни були плюс і це було навіть по-своєму приємно (нічого не робиш, а оцінка зростає).

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

OMSCS у Georgia Tech має свої специфіки:

  • Georgia Tech - один із топових технічних вузів США;
  • Одна із найстаріших онлайн MSCS;
  • Мабуть, найбільша онлайн MSCS: ~9 тис. студентів за 6 років;
  • Одна з найдешевших MSCS: близько 8 тис. доларів за навчання;
  • У класах одномоментно навчається по 400-600 чоловік (до кінця зазвичай менше, в середині семестру можна піти з оцінкою W, що не впливає на GPA);
  • Не всі on-campus класи доступні онлайн (але список розширюється і вже зараз є дуже непоганий вибір, поки немає deep learning, але не втрачаємо надії);
  • Не в будь-який клас просто потрапити через пріоритетні черги і велику кількість охочих (Graduate Algorithms парадоксально майже всі проходять ближче до кінця);
  • Не всі класи рівні за якістю матеріалів та активністю TA та професорів, але хороших класів багато. В інтернеті багато інформації про конкретні курси (відгуки, reddit, slack). Завжди можна вибрати щось до смаку.

Враховуючи всі специфіки, за хорошого рівня мотивації, активної позиції та загалом позитивного погляду — це цікавий і реальний шлях. Сподіваюся, що за рік моя думка кардинально не зміниться, а ця інформація виявиться комусь корисною.

Джерело: habr.com

Додати коментар або відгук