OMSCS: A working professional’s guide to the $7k CS master’s degree

I’m currently twenty-one credits into a master’s degree in computer science at Georgia Tech, one of the world’s top five graduate schools in computing. I also have a family and work full time in the software industry. How is this possible? Meet GaTech’s OMSCS (“Online Master of Science in Computer Science”), the improbable CS master’s degree you can do in your spare time for a grand total of less than $7,000.

The course lectures are delivered on video via Udacity, a popular MOOC platform. But OMSCS shares as much in common with a standard university distance learning program as with a MOOC: you adhere to a regular college semester schedule, get real grades from real professors and TAs, and at the end you walk away with a sweet Georgia Tech diploma that looks just like the ones they give out on campus.

What are the degree requirements?

Thirty credits (ten classes), no thesis. Five classes come out of your specialization; the rest are free electives. The entrance requirements are pretty forgiving: you don’t have to take the GRE, and if your undergraduate GPA was reasonably high, you stand a good chance of getting accepted. (Whether you will graduate is another question!)

How hard are the classes?

They’re graduate-level computer science classes from a top program. They’re hard. But they’re not insurmountable. And the workload for all classes is not equal. For example, this past semester I took CS 6601 Artificial Intelligence and CS 6035 Intro to Information Security. CS 6601 is among the most difficult courses in the program (and, not coincidentally, among the best). I spent between ten and twenty hours a week on it for sixteen straight weeks. With that kind of time commitment, my other class fought for scraps of attention – which turned out to be okay, because I was able to do well in CS 6035 while averaging only a couple hours of study per week. If you deliberately stagger the difficulty of simultaneous courses like this, you’ll have a much better experience.

I should also say that the difficulty of the degree correlates inversely with your programming skills. If your Java, Python, or C is rusty, you will spend some long nights getting up to speed before you can tackle assignments in many classes.

Can you really do OMSCS and work/have a family at the same time?

Yes, but don’t expect to do much else. I’d say the time commitment for a semester goes about like this (always keeping in mind that individual course workloads vary wildly):

One class – you’ll have a few hours of schoolwork every week, with maybe a couple of long weekends at the computer
Two classes – you’ll be doing schoolwork on most nights and weekends. You won’t be able to keep up with any other hobbies outside of work. You’ll have to fight for family time.
Three classes – I haven’t done this and don’t know how anybody with a job and family does. You wouldn’t sleep much, your job performance would probably suffer, and your family would never see you.

In my opinion, if you can swing it, it’s better to take two classes at a time and get the degree over with as quickly as possible.

How is the degree so cheap?

OMSCS is cheap. Really cheap. You just won’t believe how vastly, hugely, mindbogglingly cheap it is. In spring 2017, I paid Georgia Tech a grand total of $170 per credit hour for six graduate credits, well inside the limit of my employer’s tuition reimbursement policy. To put that in perspective, the University of Southern California’s highly-ranked online CS master’s degree will run you a cool $1,774 per credit hour – more than ten times the cost of OMSCS.

Again, keep in mind, Georgia Tech has one of the top five graduate computer science programs in the world.

The low costs are a feature, not a bug. After all, it’s a lot cheaper to serve up course content via the internet than in a physical classroom, and Georgia Tech will tell you that those other online schools are probably exaggerating their expenses. To further reduce the costs of running the program, OMSCS partners with corporations – AT&T and Udacity in particular. I haven’t noticed any particular untoward effects of these collaborations. If anything, the Udacity partnership has led to some slickly produced lecture videos, which seems like a plus.

Does the OMSCS model really scale?

OMSCS prides itself on having a “massive online” approach to education, and theoretically the costs are so low because the online program requires less overhead while reaching many more students than the on-campus option. This is only somewhat true. OMSCS’s scale is still limited by one critical quantity: the number of available teaching assistants. After all, if OMSCS is going to offer a high-quality alternative to traditional master’s programs – and they do – somebody has to grade the papers, test the code and answer student questions. Finding these people is OMSCS’s biggest current growing pain. The size of any course offering cannot exceed the ratio of TAs that are available to support it.

The OMSCS folks are well aware of this problem, and they’re working on all sorts of solutions, from aggressive TA recruitment efforts to autograded code to – you guessed it – AI teaching assistants. But for the time being, students still struggle to get into popular courses that max out their TA limit soon after class registration begins.

Is there enough community?

Far from being stifled by the online format, the OMSCS community is one of the program’s strongest attributes. Any time you put four thousand computer nerds under stress, they will form their own information pathways, like neurons in a giant brain. Class forums are lively and usually full of helpful TAs; there is also a busy OMSCS Google+ group, a student-maintained course review site, any number of Slack channels, and who knows what else. I have never felt isolated in the program or had trouble getting a class-related question answered. In fact, sometimes I’ve learned more from other students than from the official course material. There are some freakishly smart people enrolled in OMSCS!

I also have several real life friends who are taking OMSCS courses alongside me. This isn’t necessary to succeed, but it’s definitely nice. You might consider trying to find other OMSCS students in your geographical area if you prefer studying next to people you can see.

Now, finally, the most important question …

Why get a master’s degree in computer science anyway?

For career software developers, a master’s degree in computer science might actually be the least useful of all degrees. A bachelor’s degree is a prerequisite for many (if not most) dev jobs, and some fields like data science attract a lot of Ph.Ds. But a CS master’s degree isn’t like an MBA that maps onto a specific set of jobs. It’s just kind of in the middle.

So with that said, here are some bad reasons to get a CS master’s degree:

  • The piece of paper will look good on your wall
  • You think the degree will magically open up a lot of new job opportunities for you

Number one is a bad reason for getting any certification or degree. Number two might turn out to be true – but the “magic” will happen because you really ran with what you learned in school and probably got involved in other cool stuff outside of class, not because the degree itself will especially wow employers.

In general I would recommend applying for any CS master’s degree only if the following things are true about you:

  • You have a bachelor’s degree in computer science or a related field and did pretty well at it
  • You have specific career areas you want to learn about (in my case AI/ML) that you didn’t get exposed to in your undergraduate years or during your daily work
  • You genuinely like to learn and would be okay with spending a couple more years worth of weekends studying at the kitchen table instead of doing fun things
  • Your spouse/kids/loved ones are okay with the idea
  • You can get somebody else, like your employer, to help you pay for the master’s degree (OMSCS is affordable enough that this point may not matter so much!)

I made a flowchart awhile back that parses this decision in more detail. If you get to the end of that flowchart and feel like a CS master’s degree makes sense for you, I can’t recommend OMSCS highly enough. It’s designed for working professionals, it will genuinely expand your mind and teach you new skills, and it’s so ridiculously cheap that you feel like you should get started right away before somebody has a change of heart.

I hope this was a helpful post! Let me know in the comments if you have any other OMSCS-related questions that a student could answer.

OMSCS: A working professional’s guide to the $7k CS master’s degree

10 thoughts on “OMSCS: A working professional’s guide to the $7k CS master’s degree

  1. Hey Forrest, I’m a fellow student of yours in the program. This was a good read! I wouldn’t call 10-20 hours per week “spare time” though. Also, another aspect you might consider adding to this post is GT’s anti-cheat systems they have in place.

    Like

  2. Good read .
    One follow up question. How good or useful will it be for professionals in Telecom who don’t have to code on a daily basis but still have to deal with concepts of cloud, SDN etc., In other words, how good is it for a networking professional? Thanks.

    Like

    1. forrestbrazeal says:

      I think it could be useful. But if you are not comfortable writing code, you might find the degree to be very difficult.

      Like

      1. CBS says:

        Thanks for the response to my query.

        I am conversant with C and only C (no C++, Java or Python). Can i make do with that for all the courses? Or are there strict requirements on the coding language to be used.

        Like

      2. forrestbrazeal says:

        Many courses require Python. I have also had to write in Java. The more languages you are familiar with, the better off you will be.

        Like

  3. Izialber says:

    Hi, talking about time pov.
    Taking one class per time to be very focuss on each one like 15 hours per week.

    How long should the course take ?

    Like

    1. forrestbrazeal says:

      If you take one class per semester, it would take ten semesters to get through the program. There are three semesters per year (spring, summer, fall), so at that pace you’d be done after 3.3 years.

      Like

  4. seems a bit self serving says:

    Your whole blog seems a bit self serving, full of self promotion… =)

    In any case, the best reason to get a CS master’s degree is you gain new perspective, understanding and appreciation, especially after having worked a bit in the real world.

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s