Course Planning for OMSCS
Best of luck to you all!
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.
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 8/4/18: 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 |