Wie ich den Online Master of Science in Computer Science mache und für wen das möglicherweise nicht geeignet ist

Ich habe mein erstes Jahr im Online Master of Science in Computer Science (OMSCS) am Georgia Institute of Technology abgeschlossen (3 von 10 Kursen). Ich wollte einige Zwischenfazit teilen.

Es lohnt sich nicht hinzugehen, wenn:

1. Man möchte Programmieren lernen.

Meiner Meinung nach sollte ein guter Programmierer folgendes können:

  • Die Struktur einer bestimmten Programmiersprache, Standardbibliotheken usw. kennen;
  • Wiederverwendbaren und erweiterbaren Code schreiben können;
  • Code lesen und lesbaren Code schreiben können;
  • Code testen und Fehler beheben können;
  • Die grundlegenden Datenstrukturen und Algorithmen kennen.

Zu diesem Thema gibt es Bücher, MOOC-Kurse und gute Arbeit in einem geeigneten Team. Einzelne Kurse im MSCS können bei etwas von dem genannten helfen, aber insgesamt geht das Programm nicht darum. Sprachkenntnisse sind entweder eine Voraussetzung für die Kurse oder es wird angenommen, dass man sie schnell in dem benötigten Umfang erlernen kann. Zum Beispiel mussten wir im Kurs Graduate Introduction to Operating Systems 4 Projekte mit insgesamt über 5000 Zeilen C-Code erstellen und etwa 10 wissenschaftliche Arbeiten lesen. Im Kurs Artificial Intelligence mussten zusätzlich zu sechs anspruchsvollen Projekten zwei extrem schwierige Prüfungen abgelegt werden – innerhalb einer Woche 30 und 60 Seiten der nicht einfachsten Aufgaben lösen.

Es gibt oft keine Anforderungen an "guten" Code hinsichtlich der Lesbarkeit. Häufig erfolgt die Bewertung automatisch anhand von Tests, oft gibt es Anforderungen an die Leistung, und der Code sowie die Texte werden auf Plagiate überprüft.

2. Die Hauptmotivation besteht darin, neues Wissen am aktuellen Arbeitsplatz anzuwenden.

Einige Kurse können nützliche Werkzeuge bieten. Doch die Frage ist, was du mit einer Flut von Projekten und Materialien machen wirst, deren Einarbeitung all deine Freizeit über mehrere Jahre beanspruchen wird. Ich finde, dass die Erfahrung im MSCS gut zu einem Witz passt:

Ein Wissenschaftler und Science Communicator wurden nach den Zielen und Ergebnissen einer bestimmten Studie gefragt:

Science Communicator:
– Die Ergebnisse dieser Studie halfen, die Hypothese zu überprüfen ... Außerdem leisteten sie einen erheblichen Beitrag zur Entwicklung ...

Wissenschaftler:
– Das ist einfach nur fantastisch!

Ich glaube, dass man das gesamte Programm ohne Verluste nur durchlaufen kann, wenn alles irgendwie interessant und lustig ist. Aber das hebt nicht die Tatsache auf, dass Arbeitgeber (insbesondere in den USA, aber ich denke nicht nur dort) auf eine solche Ausbildung schauen. Nachdem ich Informationen über mein Studium auf LinkedIn hinzugefügt habe, erhielt ich Anfragen von Recruitern guter Unternehmen aus Europa und den USA. Von meinen Bekannten in Toronto haben einige während des Studiums in ihrer Karriere Fortschritte gemacht oder neue Jobs gefunden.

Neben den beruflichen Möglichkeiten eröffnet das MSCS auch andere Chancen. Man kann sich an interessanten Forschungsprojekten innerhalb von Georgia Tech beteiligen, wenn man die notwendigen Kurse erfolgreich absolviert hat. Der leitende Lehrassistent (TA) im Bereich AI ist ein russischer Junge, der nach einem Jahr Studium im OMSCS auf den Campus gewechselt ist, um in Atlanta zu lernen und zu forschen. Soweit ich weiß, plant er, einen PhD zu machen.

3. Planst du, das Programm in stolzer Einsamkeit zu durchlaufen?

Bedingt 50% des Profits des Programms - das ist die Möglichkeit, miteinander zu kommunizieren. Das OMSCS hat eine große und aktive Community. Für jede Klasse wird ein großes Team von TAs engagiert (oft sind das Studenten des gleichen Programms, die den aktuellen Kurs erfolgreich absolviert haben). All diese Leute wollen aus irgendeinem Grund gemeinsam arbeiten und lernen. Was die Kommunikation bringt:

  • Die Freude, dass du nicht alleine leidest;
  • Neue Bekannte aus der ganzen Welt und die Entwicklung von Soft Skills;
  • Die Möglichkeit, Hilfe zu bekommen und etwas zu lernen;
  • Die Möglichkeit, Hilfe zu leisten und etwas zu lernen;
  • Professionelles Networking.

Der Großteil der Studenten sind Menschen mit Erfahrung in der Industrie, oft Abteilungsleiter, Architekten bis hin zu CTOs. Etwa 25% haben keinen formalen Abschluss in Informatik, d. h. Personen mit ausreichend vielfältiger Erfahrung. Zu Beginn des Programms hatte ich 5 Jahre Erfahrung in der Java-Entwicklung bei Yandex.Money und jetzt einen Teilzeitjob als Researcher in einem Medizinstartup (Deep Learning in der Zahnmedizin).

Viele Studierende sind motiviert und offen für Kommunikation. Man kann das Programm auch allein durchlaufen, aber man investiert 2,5 bis 3 Jahre seiner Zeit (wenn man die Arbeit berücksichtigt) und erhält nur 50 % des möglichen Profits. Für mich ist dieser Punkt die größte Schwierigkeit, da ich an mir selbst Zweifel habe und die Sprachbarriere eine Herausforderung darstellt, aber ich versuche, daran zu arbeiten. Wir treffen uns regelmäßig mit Kollegen, die in Toronto leben. Sie sind alle recht aktiv und interessante Leute sowie fortgeschrittene Profis, einer von ihnen hat ein Treffen mit Zvi Galil, dem "Vater" des OMSCS-Programms und Dekan der Fakultät für Computing an der Georgia Tech, organisiert, der in diesem Jahr seine Position aufgegeben hat.

Ein Beispiel für Motivation: Es gibt einen legendären Studierenden, der das Programm mit dem Militärdienst kombiniert hat. Er hat sich während der Flüge ins Forum eingeloggt, Projekte gemacht und Vorlesungen gehört, während er Feldübungen absolviert hat. Jetzt arbeitet er in einem Forschungsinstitut an der Georgia Tech und plant, seinen Doktortitel zu machen.

4. Keine Bereitschaft, sich ernsthaft zeitlich zu engagieren

Auf den ersten Blick könnte man denken, dass das OMSCS-Programm einem Set von MOOC-Kursen oder einer Spezialisierung auf Coursera oder einer ähnlichen Plattform entspricht. Ich habe mehrere Kurse auf Coursera gehört, zum Beispiel die ersten Teile von Cryptography und Algorithms von Stanford. Außerdem habe ich einen kostenpflichtigen Online-Graduiertenkurs bei Stanford absolviert (den auch MS- und PhD-Studierende hören) und kostenlos die Vorlesungen des Stanford CS231n (Convolutional Neural Networks for Visual Recognition) gehört.

Aus meiner Erfahrung sind die Hauptunterschiede zwischen Online-Graduiertenkursen und kostenlosen MOOC-Kursen:

  • Die bereits erwähnte, viel größere Einbindung und Motivation der TAs, Dozenten, anderen Studierenden, ein viel größeres Engagement (niemand möchte das Programm ewig hören, zumal es eine Frist von 6 Jahren gibt);
  • Ein ziemlich straffer Zeitplan: Die Vorlesungen bei der Georgia Tech sind sofort alle verfügbar (man kann sie zu einem passenden Zeitpunkt hören). Man kann im Voraus das Lehrbuch lesen (viele machen dies in den Pausen zwischen den Semestern). Aber es gibt Projekte, und die haben Fristen, oft sind die Projekte an bestimmte Vorlesungen gebunden. Es gibt Fristen für Prüfungen (normalerweise gibt es zwei pro Semester). Es ist wünschenswert, das Tempo einzuhalten. Wie viel Zeit pro Woche nötig ist, hängt von den Kursen und der Erfahrung ab. Ich würde nicht mit <10 Stunden pro Woche für einen Kurs rechnen. Im Durchschnitt benötige ich 20 (manchmal viel weniger, manchmal können es auch 30 oder 40 sein).
  • Die Projekte sind komplexer und interessanter als bei MOOC und erheblich umfangreicher;
  • Solche Kurse werden häufiger von Universitäten und potenziellen Arbeitgebern angeschaut. Insbesondere verlangt Georgia Tech bei der Bewerbung: "NOT List non-graded, non-academic-credit MOOC-type coursework".

5. Ich wünsche mir, dass alles verständlich, ausführlich und klar ist.

Erstens, MSCS ist kein Bachelor. Es gibt Vorlesungen, aber sie vermitteln nur einen groben Überblick über das Thema. Plus Minus alle Projekte erfordern persönliche aktive Forschung. Das kann Interaktionen mit Kommilitonen und TAs (siehe Punkt 3), das Lesen von Büchern, Artikeln usw. umfassen.

Zweitens, OMSCS ist eine ziemlich große und leistungsstarke Infrastruktur mit vielen engagierten Menschen, die Kurse erstellen und unterstützen (siehe Punkt 2). Diese Leute lieben Experimente und Herausforderungen. Sie ändern Projekte, experimentieren mit Fragen in Tests und Prüfungen, ändern Testumgebungen usw. Infolgedessen resultiert das in einigen nicht ganz vorhersehbaren Ergebnissen. Aus meiner Erfahrung:

  • In einem Kurs hat etwas nach einem Update nicht mehr funktioniert, Server und diese Server gaben unter Last keine stabilen Testergebnisse mehr aus. Die Leute reagierten mit dem Hinzufügen eines Smiley mit einem Serverfehler im Slack und nächtlichen Versuchen, bei den Einreichungen durchzukommen;
  • In einem anderen Kurs wurden Tests und Prüfungen mit falschen oder umstrittenen Antworten veröffentlicht. Nach Diskussionen mit den Studenten wurden diese Fehler zusammen mit den Noten korrigiert. Manche nahmen es gelassen, andere waren empört und beschwerten sich. Bei mir waren alle Änderungen positiv und das war sogar auf seine Weise angenehm (man tut nichts, und die Note steigt).

Das fügt natürlich ein wenig Stress zu den ohnehin schon aufregenden amerikanischen Achterbahnfahrten hinzu, aber all diese Dinge stehen in gutem Verhältnis zu den Realitäten des Lebens: Sie lehren, Probleme zu erforschen, Aufgaben unter geringer Unsicherheit zu lösen und einen Dialog mit anderen Menschen aufzubauen.

OMSCS an der Georgia Tech hat seine Besonderheiten:

  • Georgia Tech ist eine der besten technischen Hochschulen in den USA;
  • Eine der ältesten Online-MSCS;
  • Wahrscheinlich die größte Online-MSCS: ~9.000 Studenten in 6 Jahren;
  • Eine der günstigsten MSCS: etwa 8.000 Dollar für das gesamte Studium;
  • In den Klassen lernen gleichzeitig 400-600 Schüler (zum Ende hin in der Regel weniger, zur Mitte des Semesters kann man mit einer W-Note, die sich nicht auf den GPA auswirkt, austreten);
  • Nicht alle on-campus Kurse sind online verfügbar (aber die Liste wird erweitert und es gibt bereits eine ganz ansehnliche Auswahl, obwohl es noch kein Deep Learning gibt, aber wir verlieren die Hoffnung nicht);
  • Nicht jeder kann einfach in einen Kurs einsteigen, aufgrund von Prioritätswarteschlangen und der großen Anzahl von Interessierten (bei den Graduate Algorithms paradox, dass fast alle näher am Ende absolviert werden);
  • Nicht alle Kurse haben die gleiche Qualität in Bezug auf Materialien und Aktivitäten von TAs und Professores, aber es gibt viele gute Kurse. Im Internet finden sich viele Informationen über spezifische Kurse (Bewertungen, Reddit, Slack). Man kann immer etwas nach seinem Geschmack wählen.

Angesichts aller Spezifika und bei einem hohen Motivationsniveau, einer aktiven Haltung und insgesamt einer positiven Einstellung – ist das ein interessanter und durchaus realistischer Weg. Ich hoffe, dass sich meine Meinung in einem Jahr nicht grundlegend ändert und diese Informationen für jemandem nützlich sind.

Quelle: habr.com

60GB SSD 8Gb DDR4