Course Planning for OMSCS

Update 2018/07/06: Some of this information is obsolete, even just a couple months after my original research. In particular, the OMSCS and OMSA DVA classes have been merged into a single course that resembles the OMSA version. Rumor is that it will use Python instead of R, which I am thrilled about.

The best advice I can give you is to search the OMSCS subreddit and Google+ pages to find the latest and greatest information about courses. Dr. David Joyner posted the following the OMSCS subreddit today, so further changes are coming:

Right now, there are 10 new courses under development that are past the stage where we would have announced them in the past, but we’re not sure if they’ll launch in Spring 2019, Summer 2019, Fall 2019, etc., and we don’t want to announce until we know. In general numbers, though, I’d predict a couple new courses per semester the next couple years.

I plan to complete 10 of the 12 courses tabulated below. My ideal course sequence is to finish one group before starting another and to proceed with the groups in the rough order shown. The only exception to this is group D, which consists of two difficult, required courses that are unrelated and can be taken at any time.

The courses have been selected to complete the ML spec, create synergies between the different course subjects, and take into account information gained during yesterday’s research. I have grouped the courses as follows:

Group A - Machine Learning

These are the core courses for the specialization. Reinforcement Learning is an elaboration of the final third of the Machine Learning course, so it makes sense to take it following completion of ML.

The ML specialization requires that ML and GA are taken.

The specialization also requires picking 3 out of the set {ML4T, RL, DVA, and BD4H}. This leaves me with ML4T, RL, and BD4H as required courses. BD4H is included in Group D.

Name Title Number Avg Work Avg Diff
ML4T Machine Learning for Trading CS 7646 10.5 2.7
ML Machine Learning CS 7641 20.7 4.3
RL Reinforcement Learning and Decision Making CS 7642 20.4 3.9

Update 2018-08-04: Since DVA will be taught in Python, and in combination with OMSA (Online Master of Science in Analytics), DVA now appears to be a no-brainer course to take! This is especially the case for someone interested in the business applications of machine learning (like me). Since the course will be taught by a different professor with entirely different content, the course reviews on OMSCentral are not helpful unfortunately.

Name Title Number Avg Work Avg Diff
DVA Data and Visual Analytics CSE 6242 Unknown Unknown

Group B - Artificial Intelligence Electives

Artificial Intelligence coursework is a natural corollary to the ML specialization, so I plan to pursue the following two courses. The other AI course, Artificial Intelligence for Robotics (AI4R), sounds like a very applied course specifically related to autonomous driving. Because of its specificity and possible overlap with the more general AI course, I will forego that one.

Name Title Number Avg Work Avg Diff
KBAI Knowledge-Based AI: Cognitive Systems CSE 7637 13.1 3.2
AI Artificial Intelligence CS 6601 23.0 4.3

Group C - Computer Performance Electives Using C/C++

My computer science minor stopped just short of an actual operating systems course, so I am interested to take IOS to fill out my overall computer science knowledge.

The other two courses relate to modern computer hardware optimization, and best practices to optimize code to run quickly on modern computers, respectively. Those two subjects are synergistic with one another in that they approach the same goal of performance, but from hardware and software perspectives. They also seem synergistic with ML/AI because ML/AI projects tend to be processor and memory-intensive.

IOS should be taken before HPCA, because it seems an architecture class would use at least some of the content of an OS class. IHPC should be taken after HPCA, because my general approach when I have two classes that cover similar material is to take the easier before the more difficult. That way, when I take the more difficult course, I’ll have the advantage of having seen the content before.

Each of these classes requires the use of C or C++, so it makes sense to take them one after the other in a series or simultaneously.

Name Title Number Avg Work Avg Diff
IOS Intro to Operating Systems CS 8803-O02 18.6 3.6
HPCA High-Performance Computer Architecture CS 6290 12.5 3.9
IHPC Intro to High-Performance Computing CSE 6220 20.1 4.6

Group D - Remaining Required Core

Graduate Algorithms has the reputation of being one of the hardest courses in the curriculum, and Big Data for Health has the distinction of having been rated both the most time-intensive and difficult course in the OMSCentral database (as of March, 2018). Both courses are required. These will be taken independently, and not taken lightly. No particular order necessary, and they do not need to be taken in sequence.

Name Title Number Avg Work Avg Diff
GA (CCA) Graduate Algorithms CS 8803-GA 22.6 4.7
BD4H Big Data for Health CSE 6250 35.0 4.8

Group E - Wildcard Elective

Computer Vision is included as a wildcard class, because it is one of the most highly-ranked courses available in OMSCS. In particular, this class could be taken in lieu of IOS, HPCA, or KBAI, if one of those elective courses ends up not being available.

Name Title Number Avg Work Avg Diff
CV Computer Vision CS 6476 19.6 4.1