Note added 2 August 2019

Two years ago I published this rather long post describing my experience in the OMSCS program at Georgia Tech. As I wrote it on my personal blog, which has few regular readers, I did not anticipate that one day this post would show up on the first page of Google searches for OMSCS.

I’m leaving this post up but I want to be clear that it reflects my personal experience in the program more than two years ago.

While I left due to OMSCS not being the right fit for me, I would in general recommend the program to someone looking to further their career and computer science education.

I spent the recent fall and spring semesters enrolled in the Online Master of Science, Computer Science (OMSCS) program at Georgia Tech. I decided near the end of the second semester that the program and I weren’t the right fit for one another.

I made the decision to withdraw.

I hope to provide some helpful information for anyone considering the program and wondering whether it fits their goals. Before I get into discussing that decision and the program in general, I want to share a little more about my background in this area.

I graduated from Villanova University in 2009 with a Bachelor’s degree in Computer Science. I found employment at a few software jobs before and after graduation. For the last several years, I worked as a freelance web developer.

My interest and background in sports pushed me in the direction of research and analysis. Some exposure to the world of data science made me realize I had real interest in studying it.

After teaching myself some of the basics using books and online resources, I felt like a more formal education in the subject could be quite valuable — both as a tool for structured, accelerated learning and for the sake of having the credential.

During my research I came across the OMSCS program, which seemed like a dream come true.

Roughly $7,000 for a genuine Master’s degree.

Learn from the real professors and university resources at one of the top computer science schools in the country.

Get in on the cutting edge of something refreshing and forward-thinking in education.

Sold!

So I applied. And I got in.

(One thing I want to reflect on real quick — when I enrolled in undergrad at Villanova, I was an 18-year-old who was doing what he thought he was supposed to do — go to college, get the piece of paper. The education part of it didn’t linger much in my mind. I reversed my priorities this time around. Learning mattered more to me than the credential.)

Before I talk about my experience as a student, I want to say a couple things about my feelings toward the program in general after having left it:

I really appreciate what they’re trying to do. The partnership with Udacity represents a step forward for education in general. Their effort to make the program affordable also goes a long way to opening up opportunities for people to learn and advance their careers.

The professors are the real deal. I didn’t feel like there was any downgrade in instructor expertise compared to in-person classes.

I feel grateful I enrolled. I performed well academically, “met” interesting people, and had a positive experience overall. More on this near the end.

I also want to make it clear that I can only share my personal experience here. I only enrolled for two semesters. Other courses might be different. Your mileage with the program may vary.

The basic structure works like this.

1) Udacity hosts the standard lecture videos for the class. Lectures often include (ungraded) quiz questions throughout to encourage you to pay attention and understand the material as you watch the lecture. (You can actually watch these lectures without enrolling. Go ahead and sample them yourself to get an idea of what to expect.)

2) Piazza serves as the online discussion board for the class. The students, TAs, and instructor use it as a primary tool for communication regarding questions and assignments.

3) T-Square hosts assignment instructions and other downloadable resources, usually PDFs. It also serves as a portal for submitting your work.

4) Exams are proctored using ProctorTrack. Basically you set up a webcam and microphone in a quiet space. You have a specified amount of time — 90 minutes, two hours, etc. — to complete the exam during what usually amounts to a three-day Friday through Sunday window. Any time during those three days, you can choose to sit down and take your exam. It’s like an in-person exam otherwise — don’t talk, don’t get up, don’t look around like you’re trying to cheat.

5) Most things happen on a weekly basis. Students have lectures to watch, material to read, homework to do each week. The exact days and times during the week they choose to do those things is up to them. Aside from scheduled optional office hours, there’s no need to be anywhere at a specific time. It works pretty well around your schedule.

That structure works fine. While some students occasionally shared problems they had with the software, I never had any issues.

(I’ll concede that experiencing software issues while trying to take an exam must be really stressful. There were some meltdowns and freakouts on the discussion board. I feel grateful to not have encountered any issues myself.)

While the software and basic structure worked pretty well, some challenges came up pretty consistently across the courses I took.

The pre-recorded nature of the lectures gives them the advantage of polish and convenient access for the students. No need to be in classroom at a particular day or time. Go through them at your own pace. Good things.

However, in the classes I took, the lectures were created by someone other than the current instructor. This disconnect brought a couple challenges.

The current instructor had his own perspective about what he wanted to cover in the course — and in what order to present. Instead of going through the lectures in the order in which they appeared in Udacity, students went through them in a different order that fit the current instructor’s plans for the curriculum.

Sometimes it caused confusion. It became more difficult to track our weekly schedule. Covering pre-recorded material in a different order than its creator intended left gaps in understanding.

One instructor created additional supplemental content which he posted on YouTube to cover things not in the original lectures. While this content provided extra value, it also obscured what we were expected to be watching and learning each week.

The situation also meant the current instructor lacked the level of intimate familiarity with the lectures (and included quizzes) that the original creator surely had.

It sometimes meant the instructor expected us to use a specific method or go about solving a problem in a particular way that differed from what the lecture creator presented. This disconnect caused confusion and miscommunications and created extra work for everyone involved.

Miscommmunication and confusion.

I felt like those two characteristics appeared among the most consistent themes of the program for me.

It felt like students frequently lost important information in translation on the online discussion board compared to what could have been more easily communicated and clarified in-person. The highly technical nature of the computer science material surely contributed.

Teaching assistants and instructors frequently answered student questions on the discussion board in ways that failed to provide the necessary amount of clarity.

Sometimes their responses even caused more confusion than previously existed.

I could share several stories, but one incident sticks with me most.

A student asked a question about a challenging homework problem we faced.

She wanted to know what level of detail the instructor expected us to go into in solving a problem. Did we have to do the entire thing by hand in great detail, or was using a shorter, known method we learned in the lecture sufficient?

This question represented a big deal because solving the problem by hand involved using fairly advanced calculus many students had not taken in years (or at all). Furthermore, this class did not list such calculus as a prerequisite.

(I’ll note at this point that this type of situation became very common in this class. Vaguely worded assignments left students guessing. The instructor, for reasons I did not understand, did not engage with students in addressing these concerns, instead opting to let students figure it out for themselves, docking points after the fact if students didn’t read the instructor’s mind.)

A TA responded that no, students could not use the shorter method and must use the calculus.

Meanwhile, the instructor himself remained silent.

Cue a panic as students started desperately trying to learn the necessary calculus while figuring out how to do the rest of the assignment.

The instructor then appeared in an office hours session three days later to say that no, in fact the rigorous method involving the calculus was not necessary, and the shorter version would be perfectly sufficient.

Relief!

But then … oh no.

A few days later, in his weekly update on the discussion board, the instructor acknowledged the confusion and asserted that — yes — in fact the rigorous version involving the calculus would be necessary.

This 360-degree circle of confusion spread over an entire week spent trying to simply understand in what way to answer the first question, on whose solution the other five questions depended.

This story offers one of the more extreme but representative examples of the type of miscommunication that plagued the classes I took.

I often felt like I spent vastly more time trying to resolve these gaps in communication than actually learning the material. I found this balance to be incredibly frustrating at times.

Because I never had an experience like this one in my in-person undergraduate and graduate studies at Villanova, I can’t help but wonder if the frequency and magnitude of these challenges uniquely exists in an online program

Now I’ll repeat what I said earlier about my intention in joining OMSCS:

“I felt like a more formal education in the subject could be quite valuable, both as a tool for structured, accelerated learning and for the sake of having the credential.”

It seemed to me that I spent a fairly small portion of my weekly education time and energy on learning the content through the provided materials.

Instead, I spent the bulk of my time trying to:

1) Do extra learning on my own, hunting down other resources, to resolve gaps and incongruencies between the original created lecture material and the current instructor’s expectations. At times I watched several hours of video on YouTube and non-OMSCS MOOCs to clarify outstanding questions about four minutes of an OMSCS lecture I watched.

2) Resolve communication difficulties so I could make sure I learned the right things and completed assignments properly.

I felt like too much of a disappointing gap existed between the progress I made in learning the material and the speed at which I hoped to learn.

So I decided to leave the program because we weren’t the right fit for one another.

I’ve been continuing to do a lot of independent learning on my own. I feel like I’m learning more efficiently and effectively in this way.

As someone who’s already been working as a freelancer for several years, the credential doesn’t mean as much to me as it might to someone else.

The program probably is a good fit for someone who:

1) Feels more comfortable learning in an environment that provides a structured curriculum with an instructor.

2) Craves an introduction to interesting ideas and material in computer science to which they might not otherwise have an encounter.

3) Recognizes that earning the degree would bring a lot of extra value to their career.

I hope this post provides some value and guidance to someone exploring the program and wondering whether it is the right fit for him or her.

If you have any questions, please feel free to email me.