How do I get the Online Master of Science in Computer Science, and who might not like it

She completed her first year of the Online Master of Science in Computer Science (OMSCS) program at the Georgia Institute of Technology (3 courses out of 10). I would like to share some intermediate conclusions.

Don't go there if:

1. I want to learn how to program

In my understanding, in the database a good programmer needs:

  • Know the structure of a particular language, standard libraries, etc.;
  • Be able to write reusable and extensible code;
  • Be able to read code and write readable code;
  • Ability to test code and fix bugs
  • Know basic data structures and algorithms.

There are books on this topic, MOOC courses, normal work in a good team. Individual MSCS courses can help with some of the above, but in general, the program is not about that. Knowledge of languages ​​is either a prerequisite for courses, or it is assumed that you can quickly master them to the required extent. For example, in the Graduate Introduction to Operating Systems course, you had to make 4 projects with a total volume of 5000+ lines of C code, plus you had to read about 10 scientific papers. In the Artificial Intelligence course, in addition to six difficult projects, it was necessary to pass two extreme exams - within one week to solve 30 and 60 pages of not the easiest problems.

Most often there are no requirements for "good" code in terms of readability. Often the score is set automatically based on autotests, often there are performance requirements, code and texts are checked for plagiarism.

2. The main motivation is to apply new knowledge in the current place

Some courses may provide tools. But the question is what will you do with a ton of projects and materials that will take all your free time to master for several years. It seems to me that the MSCS experience fits well with the anecdote:

A scientist and popularizer of science was asked about the goals and results of some research:

Popularizer:
- The results of this study helped to test the hypothesis ... And also made a significant contribution to the development ...

Scientist:
- Yes, it's just f**k!

I believe that it is possible to go through the entire program without loss only if all this is interesting and fun for some reason. But all this does not negate the fact that employers are looking at such education (especially in the States, but I think not only). After adding information on LinkedIn that I was studying there, I began to receive requests from recruiters of good companies from Europe and the States. Of my acquaintances in Toronto, several people have advanced in their careers or found new jobs during their studies.

In addition to professional, MSCS opens up other opportunities. You can fit into interesting scientific projects within Georgia Tech if you have successfully completed the required courses. The head teaching assistant (TA) in AI is a Russian guy who, after a year of study at OMSCS, transferred to the campus and left to study and do research in Atlanta. As far as I know, he plans to get a PhD.

3. You expect to pass the program in splendid isolation

Conventionally, 50% of the profit from the program is the ability to communicate. OMSCS has a large and active community. A large TA team is hired for each class (often students from the same program who have successfully completed the current course). All these people for some reason want to work and study together. What communication gives:

  • The pleasure of not being alone in suffering;
  • New acquaintances from all over the world and development of soft skills;
  • Opportunity to get help and learn something;
  • Opportunity to help and learn;
  • professional networking.

The bulk of students are people with experience in the industry, often department heads, architects, up to CTO. Approximately 25% do not have a formal CS education, i.e. people with just enough variety of experience. At the beginning of the program, I had 5 years of Java development experience at Yandex.Money, and now I work part-time as a researcher in a medical startup (deep learning in dentistry).

Many students are motivated and open to communication. You can go through the program alone, but as a result, you invest 2.5-3 years of your time (including work) and receive only 50% of the possible profit. For me, this point is the biggest difficulty, because. there is self-doubt and a language barrier, but I try to work on it. We regularly meet with colleagues living in Toronto. All of them are quite active and interesting guys and advanced professionals, one of them organized a meeting with Zvi Galil, the "father" of the OMSCS program, the dean of the Faculty of Computing Georgia Tech, who left the position this year.

An example about motivation: there is a legendary student who combined the passage of the program and military service. He connected to the forum during flights, and did projects and listened to lectures while undergoing field exercises. Now he works at a research institute at Georgia Tech, plans to do PhD.

4. No willingness to seriously commit on time

At first glance, it may seem that OMSCS is similar to a set of MOOC courses or specializations on Coursera or a similar platform. I have taken several courses on Coursera, such as the first parts of Cryptography and Algorithms from Stanford. In addition, I took one paid online Graduate course at Stanford (it is also attended by MS and PhD students) and listened to lectures by Stanford CS231n (Convolutional Neural Networks for Visual Recognition) for free.

Based on my experience, the main differences between Online graduate courses and free MOOC courses are:

  • The already mentioned much greater involvement and motivation of TA, instructors, other students, a much greater commitment (no one wants to listen to the program forever, especially since there is a limit of 6 years);
  • A rather rigid timeline: in the case of Georgia Tech, lectures are available to everyone at once (you can listen to them at a convenient time). You can read the textbook in advance (many do this in between semesters). But there are projects, and they have deadlines, often projects are tied to specific lectures. There are deadlines for exams (there are usually two of them per semester). It is advisable to maintain the pace. How much time you need per week depends on courses and experience. I wouldn't expect <10 hours per week per class. It takes me an average of 20 (sometimes very little, sometimes it can be 30 or 40);
  • Projects are more complex and interesting than in MOOCs, and much more voluminous;
  • Universities and potential employers look more at such courses. Specifically, Georgia Tech is asking for: β€œNOT List non-graded, non-academic-credit MOOC-type coursework” when applying.

5. I want everything to be clear, chewed and clear

First, MSCS is not a bachelor's degree. There are lectures, but they give a fairly general idea of ​​the subject. Plus or minus all projects involve personal active research. It may include interacting with fellow students and TAs (see point 3), reading books, articles, etc.

Secondly, OMSCS is a fairly large and powerful infrastructure with a bunch of passionate people creating and maintaining courses (see point 2). These people like experiments and challenges. They change projects, experiment with questions in tests and exams, change test environments, and so on. As a result, this results in some not entirely predictable results. In my experience:

  • In one course, something went wrong after updating the servers, and these servers stopped producing any stable test results under load. The people reacted by adding a smiley with a server error in the slek and nightly attempts to slip through with submissions;
  • In another course, they released tests and exams with incorrect or controversial answers in places. As a result of discussions with students, these errors were corrected along with the grades. Someone reacted calmly, someone was indignant and cursed. For me, all the changes were a plus and it was even pleasant in its own way (you do nothing, but the rating grows).

All this, of course, adds a little stress to the already steep rollercoaster, but all these things are well correlated with the realities of life: they teach you to explore a problem, solve problems in conditions of less certainty, and build a dialogue with other people.

OMSCS at Georgia Tech has its own specifics:

  • Georgia Tech is one of the top technical universities in the USA;
  • One of the oldest online MSCS;
  • Probably the largest online MSCS: ~9k students in 6 years;
  • One of the most inexpensive MSCS: about 8 thousand dollars for all training;
  • In classes, 400-600 people study at a time (usually less by the end, in the middle of the semester you can leave with a W grade that does not affect the GPA);
  • Not all on-campus classes are available online (but the list is expanding and already now there is a very good choice, while there is no deep learning, but we do not lose hope);
  • It's not easy to get into any class because of priority queues and a large number of applicants (Graduate Algorithms, paradoxically, almost all pass towards the end);
  • Not all classes are equal in terms of the quality of materials and the activity of TAs and professors, but there are many good classes. There is a lot of information on the Internet about specific courses (reviews, reddit, slack). You can always choose something to your liking.

Given all the specifics, with a good level of motivation, an active position and a generally positive outlook, this is an interesting and quite real path. I hope that in a year my opinion will not change dramatically, and this information will be useful to someone.

Source: habr.com

Add a comment