OMSCS Course Reviews: Halfway Through

In my time enrolled in Georgia Tech’s OMSCS program, I’ve gotten a lot of value from others’ OMSCS course reviews, so I want to give back and share from my own experience.

Motivation

I had a fascinating introduction to Big Data and some basics of Machine Learning (although the course was titled Information Storage and Retrieval) in my undergrad at Texas A&M that really blew my mind at the time. There weren’t really any more related opportunities at the time though, so this interest just stuck around in the back of my mind.

Going back to school for a master’s degree seemed ridiculous to me for a while, but as the industry started to boom and more opportunities popped up (as they continue to now) my brother in law encouraged me to look into some machine learning education. Of course there are plenty of free and cheap online courses and tutorials, but personally I benefit more from more structured learning and like the potential of earning a degree. There are a handful of options (more now than when I started looking) but some are much more expensive than others (looking at you, Northwestern). Georgia Tech’s OMSCS with a specialization in Machine Learning seemed to check all the boxes for me. Also, since the company I work for offer tuition reimbursement, it seemed like a no-brainer for me to apply.

As far as career applications, my aspiration is definitely not to become a full-on data scientist. I love building software too much and although data scientists do write some code, it really isn’t the same as building software that’s used by people. For this sort of applied machine learning or data engineering role, I think it’s very important to understand how machine learning tools and techniques work and why they perform how they perform. There’s no need to be able to build these tools from scratch, but understanding how they were built gives a deeper understanding compared to just a black-box input/output level of knowledge.

Obviously I’m here writing this, so spoiler alert, I was accepted and enrolled starting in January 2019. At this point I’ve completed 5 of the 10 required courses and I’d like to share some course reviews from my experience.

Courses

Software Analysis and Test

OMSCS enrolls a ton of students, so registering for the more interesting and specialized courses is really hard to do early. I opted to take just one course for my first semester as others online have recommended so I could get a feel of how courses work and make sure I could manage my time along with working full time.

This course really was very interesting and a great academic and theoretical overview of software analysis tools and methods. Although it was interesting, most of the content honestly wasn’t that applicable to my work. I was really glad to see a section of this course devoted to discussing Typescript. I thought it showed an effort to keep the course up to date and applicable to a greater breadth of students.

Intro to Cyber Physical Systems Security

I really didn’t love this course, but it got me a credit in a short summer semester. In short, it went over some different aspects of Industrial Control Systems (ICS) in terms of logic programming and network security. I guess it was interesting info to learn, but I really don’t see myself ever putting it into practice. They may have improved things by now, but the assignments were not prepared well. For multiple assignments there were issues that required the TAs to push fixes during the assignment window. I appreciated the other students who noticed these issues and brought them to the attention of the TAs, but this really should not be the case.

Human-Computer Interaction

In my undergrad, I took a Human-Computer Interaction course, but this one was so much better. Even though there was literally no coding in the course, the assignments and lectures were incredibly effective. It really affected how I look at and evaluate interfaces. Even though I’m not a front end engineer or UI/UX designer, I still work on services that people use, and there are concepts to be applied. This course definitely kept me busy, with 8 pages of writing due every week, but they supported the lecture concepts perfectly. It’s no wonder that Dr. Joyner got recently promoted to the Executive Director of the OMSCS program - he’s done a fantastic job.

Machine Learning for Trading

Reviews for this course were mostly positive and multiple people recommended it as an easier intro to Machine Learning concepts compared to the full Machine Learning course. From my experience, although I haven’t yet taken Machine Learning, I really enjoyed the course and would agree with these reviews.

The finance and stock trading information in this course was very enlightening to me. Going into this course I had a really shallow understanding of how the stock market worked. It was great to learn actual technical details about the stock market explained clearly and simply. There’s no way I’m ready to go invest all my money at this point, but I do feel a deeper understanding about how people do make money in the market and gained some valuable insight into applications of machine learning methods into real world problems for specific goals.

This is another course that Dr. Joyner was involved in, so of course it was well-organized. Many of the assignments build on each other, so if you take this course, make sure you stay on top of the assignments. Most of the assignments consisted of both code and reports, which can be a lot of work, but it helps the concepts sink in so much better when you actually have to explain what you did.

Data and Visual Analytics

Honestly, I didn’t watch any lectures for this course. Seeing how quickly the course filled up and how long the waitlist tends to get, I was really surprised at the lack of quality. Assignments didn’t have issues and the TAs graded everything in good time, but the whole course just felt lackluster and in terms of preparing us for real-world projects, this course was nowhere near enough. The main reason that I didn’t watch the lectures was that there were no exams - only assignments and a group project.

The semester that I took this course coincided with the coronavirus pandemic, so the instructors generously awarded us extra points on some assignments in case any of us were affected. I ended up with an 89 average that somehow got rounded up to an A.

Now the good - although some assignments were glorified tutorials, I thought that they really were a nice overview and introduction to a lot of different tools that I was not familiar with at all. I’ve heard about Hadoop for years and about its power in processing huge amounts of data but I had never touched it, so it was nice to have a guided introduction. It was a very small tutorial, but the codeless machine learning tools from Microsoft’s Azure were very cool to see. I’m still very early into data analysis and machine learning, but I do know how important working with clean data is, so I really enjoyed learning about tools for cleaning data like OpenRefine.

Conclusion

For the most part, I’ve really enjoyed my time in OMSCS and definitely plan to complete my degree. I feel like I’ve gotten a really good breadth of knowledge so far, but I’m looking forward to honing in a bit and completing my Machine Learning specialization. I think I have some tough courses coming up, but I’ve seen some really good reviews and I should be fine if I keep managing my time well.

Please get in touch if you have any questions or if you’ve studied in OMSCS or any other online education. I’d love to hear some other people’s experiences.