Skończyłam swój pierwszy rok studiów w programie Online Master of Science in Computer Science (OMSCS) na Georgia Institute of Technology (3 z 10 kursów). Chciałam podzielić się kilkoma wstępnymi wnioskami.
Nie warto tam iść, jeśli:
1. Chcesz nauczyć się programować
Moim zdaniem, aby być dobrym programistą, należy:
- Znać składnię konkretnego języka, standardowe biblioteki itd.;
- Potrafić pisać wielokrotnego użytku i rozszerzalny kod;
- Umiem czytać kod i pisać czytelny kod;
- Potrafić testować kod i naprawiać błędy;
- Znać podstawowe struktury danych oraz algorytmy.
Na ten temat są książki, kursy MOOC, dobra praca w fajnym zespole. Niektóre kursy w MSCS mogą pomóc w czymś z wymienionych, ale generalnie program nie jest o tym. Wiedza języków jest albo warunkiem wstępnym, albo zakłada się, że możesz szybko je opanować w niezbędnym zakresie. Dla przykładu, w kursie Graduate Introduction to Operating Systems trzeba było wykonać 4 projekty o łącznej objętości ponad 5000 linii kodu w C, plus trzeba było przeczytać około 10 prac naukowych. W kursie Artificial Intelligence oprócz sześciu trudnych projektów należało zdać dwa ekstremalne egzaminy — w ciągu jednego tygodnia rozwiązać 30 i 60 stron niezbyt prostych zadań.
Wymagań odnośnie 'dobrego' kodu pod kątem czytelności najczęściej nie ma. Często ocena jest przyznawana automatycznie na podstawie testów automatycznych, nierzadko są wymagania dotyczące wydajności, kod i teksty są sprawdzane pod kątem plagiatu.
2. Główna motywacja — zastosować nową wiedzę w aktualnym miejscu pracy
Niektóre kursy mogą dać narzędzia. Ale pytanie, co z robić z tonami projektów i materiałów, na opanowanie których będzie trzeba poświęcić cały wolny czas przez kilka lat. Uważam, że doświadczenie z MSCS dobrze pasuje do anegdoty:
Naukowca i popularyzatora nauki zapytano o cele i wyniki pewnego badania:
Popularyzator:
— Wyniki tego badania pomogły zweryfikować hipotezę… A także wniosły znaczący wkład w rozwój…
Naukowiec:
— Tak to po prostu kur**a świetnie!
Wierzę, że można przejść przez cały program bez strat, tylko wtedy, gdy wszystko to jest jakoś interesujące i przyjemne. Niemniej jednak, to nie zmienia faktu, że pracodawcy (szczególnie w Stanach, ale myślę, że nie tylko) zwracają uwagę na takie wykształcenie. Po dodaniu informacji na LinkedIn o tym, że się tam uczę, zaczęły przychodzić zapytania od rekruterów z dobrych firm w Europie i Stanach. Spośród moich znajomych w Toronto kilka osób w czasie nauki awansowało w karierze lub znalazło nową pracę.
Oprócz umiejętności zawodowych, MSCS otwiera także inne możliwości. Można włączyć się w interesujące projekty badawcze w Georgia Tech, jeśli pomyślnie zaliczyło się odpowiednie kursy. Główny asystent naukowy (TA) w AI to rosyjski chłopak, który po roku nauki w OMSCS przeniósł się na kampus i poszedł uczyć się oraz prowadzić badania w Atlancie. Z tego co wiem, planuje uzyskać doktorat.
3. Planujesz ukończyć program w dumnej samotności.
Z grubsza 50% zysków z programu to możliwość nawiązywania kontaktów. OMSCS ma dużą i aktywną społeczność. Dla każdego kursu zatrudnia się dużą ekipę TA (często są to studenci tego samego programu, którzy pomyślnie przeszli aktualny kurs). Wszyscy ci ludzie chcą jakoś pracować i uczyć się razem. Co daje wspólna komunikacja:
- Przyjemność z tego, że nie cierpisz sam;
- Nowe znajomości z całego świata i rozwój umiejętności miękkich;
- Możliwość uzyskania pomocy i nauczenia się czegoś;
- Możliwość udzielenia pomocy i nauczenia się czegoś;
- Profesjonalny networking.
Główną część studentów stanowią osoby z doświadczeniem w branży, często kierownicy działów, architekci, a nawet CTO. Około 25% nie posiada formalnego wykształcenia w CS, czyli są to osoby z wystarczająco różnorodnym doświadczeniem. Na początku programu miałem 5-letnie doświadczenie w programowaniu w Javie w Yandex.Money, a teraz pracuję w niepełnym wymiarze godzin jako badacz w startupie medycznym (deep learning w stomatologii).
Wielu studentów jest zmotywowanych i otwartych na komunikację. Program można realizować samodzielnie, ale w rezultacie inwestujesz 2,5-3 lata swojego czasu (biorąc pod uwagę pracę) i zdobywasz tylko 50% możliwego zysku. Dla mnie ten punkt stanowi największą trudność, ponieważ towarzyszy mi brak pewności siebie i bariera językowa, ale staram się nad tym pracować. Regularnie spotykam się z kolegami, którzy mieszkają w Toronto. Wszyscy są dość aktywni, interesujący i zaawansowani zawodowo, jeden z nich zorganizował spotkanie z Zvi Galilem, "ojcem" programu OMSCS, dziekanem wydziału informatyki Georgia Tech, który w tym roku zakończył swoje stanowisko.
Przykład dotyczący motywacji: jest legendarny student, który połączył realizację programu ze służbą wojskową. Podłączał się do forum podczas lotów, realizował projekty i słuchał wykładów podczas prowadzenia ćwiczeń polowych. Obecnie pracuje w instytucie badawczym przy Georgia Tech i planuje zrobić doktorat.
4. Brak gotowości do poważnego zobowiązania czasowego.
Na pierwszy rzut oka może się wydawać, że OMSCS jest podobne do zestawu kursów MOOC lub specjalizacji na Coursera czy podobnej platformie. Słuchałam kilku kursów na Coursera, na przykład pierwszych części Cryptography i Algorithms ze Stanford. Ponadto przeszłam jeden płatny kurs online na poziomie magisterskim w Stanford (to samo uczą się studenci MS i PhD) oraz słuchałam za darmo wykładów ze Stanford CS231n (Convolutional Neural Networks for Visual Recognition).
Na podstawie mojego doświadczenia, główne różnice między kursami online na poziomie magisterskim a bezpłatnymi kursami MOOC to:
- Wspomniana wcześniej znacznie większa zaangażowanie i motywacja nauczycieli, instruktorów oraz innych studentów, znacznie większe zobowiązanie (nikt nie chce słuchać programu wiecznie, szczególnie że istnieje limit 6 lat);
- Dość ostry harmonogram: wykłady w przypadku Georgia Tech są dostępne od razu (można je słuchać w dogodnym czasie). Można wcześniej czytać podręcznik (wielu to robi w przerwach między semestrami). Ale są projekty, które mają terminy, często projekty są powiązane z konkretnymi wykładami. Są terminy na egzaminy (zazwyczaj są dwa na semestr). Wskazane jest utrzymanie tempa. Ile czasu potrzeba w tygodniu zależy od kursów i doświadczenia. Nie liczyłabym na <10 godzin w tygodniu na jeden przedmiot. Średnio zajmuje mi to 20 godzin (czasami to mało, czasami 30 lub 40);
- Projekty są bardziej skomplikowane i interesujące niż w MOOC i znacznie bardziej rozbudowane;
- Takie kursy są bardziej zauważane przez uniwersytety i potencjalnych pracodawców. Na przykład Georgia Tech przy aplikacji prosi: „NIE WYMENIAJ kursów MOOC, które nie są oceniane i nie dają kredytów akademickich”.
5. Chciałbym, aby wszystko było zrozumiałe, jasno przedstawione i konkretne
Po pierwsze, MSCS to nie studia licencjackie. Są wykłady, ale dają one dość ogólny obraz przedmiotu. Plus-minus wszystkie projekty wymagają osobistego, aktywnego badania. Może to obejmować komunikację z kolegami z klasy i asystentami (zob. punkt 3), czytanie książek, artykułów itd.
Po drugie, OMSCS to dość duża i potężna infrastruktura z rzeszą zapalonych ludzi, którzy tworzą i wspierają kursy (zob. punkt 2). Ci ludzie lubią eksperymenty i wyzwania. Zmieniają projekty, eksperymentują z pytaniami w testach i egzaminach, zmieniają środowiska testowe itd. W rezultacie prowadzi to do pewnych nie do końca przewidywalnych wyników. Z mojego doświadczenia:
- W jednym kursie coś się zepsuło po aktualizacji serwerów i te serwery przestały wydawać jakiekolwiek stabilne wyniki testów pod obciążeniem. Ludzie zareagowali, dodając uśmiech z błędem serwera w Slacku i nocnymi próbami zdawania;
- W innym kursie wydano testy i egzaminy z błędnymi lub kontrowersyjnymi odpowiedziami. Po dyskusjach ze studentami te błędy były poprawiane razem z ocenami. Ktoś przyjął to spokojnie, ktoś się oburzał i narzekał. U mnie wszystkie zmiany były na plus, co było nawet w pewnym sensie przyjemne (nic nie robisz, a ocena rośnie).
To wszystko oczywiście dodaje trochę stresu do już i tak emocjonującej amerykańskiej kolejki górskiej, ale te wszystkie sytuacje dobrze odzwierciedlają rzeczywistość życia: uczą badania problemu, rozwiązywania zadań w warunkach mniejszej pewności i budowania dialogu z innymi ludźmi.
OMSCS w Georgia Tech ma swoje specyficzne cechy:
- Georgia Tech to jeden z najlepszych technicznych uniwersytetów w USA;
- Jeden z najstarszych programów online MSCS;
- Prawdopodobnie największy program online MSCS: ~9 tys. studentów przez 6 lat;
- Jeden z najtańszych programów MSCS: około 8 tys. dolarów za całe kształcenie;
- W klasach jednocześnie uczy się od 400 do 600 osób (na koniec zazwyczaj mniej, w połowie semestru można odejść z oceną W, która nie wpływa na GPA);
- Nie wszystkie zajęcia stacjonarne są dostępne online (ale lista się wydłuża i już teraz jest całkiem niezły wybór, wciąż brakuje jednak zajęć z deep learning, ale nie tracimy nadziei);
- Nie można po prostu wejść na każdy kurs z powodu priorytetowych kolejek i dużej liczby chętnych (Graduate Algorithms paradoksalnie niemal wszyscy kończą bliżej końca);
- Nie wszystkie kursy są na równym poziomie pod względem jakości materiałów i aktywności TA oraz profesorów, ale jest dużo dobrych zajęć. W internecie jest wiele informacji o konkretnych kursach (opinie, reddit, slack). Zawsze można znaleźć coś dla siebie.
Biorąc pod uwagę wszystkie specyfiki, przy dobrej motywacji, aktywnej postawie i ogólnie pozytywnym spojrzeniu — to interesująca i całkiem realna droga. Mam nadzieję, że za rok moja opinia nie zmieni się diametralnie, a te informacje będą dla kogoś przydatne.
Źródło: habr.com
