Overall Rating (4.3 / 5): ★★★★☆
Professor Rating (5 / 5): ★★★★★
Lecture Rating (5 / 5): ★★★★★
Difficulty (1.4 / 5):
Workload: 4 hours/week
Pros:
1. Best lectures in the program
2. Solid material
3. Low time commitment but high reward
Cons:
1. Lots of questions left about theory
2. Repeat material if you've taken CI
3. Surface-level covering of some topics that could've been expanded on
Detailed Review:
First off, Dr. Parast is the best lecturer the program has had so far. Future courses (and redesigns of courses) need to follow her example. Her lecture notes and code examples were also very well done (in stark contrast to some courses in this program).
The course was split up into 4 parts: Survival Analysis, Longitudinal Data Analysis, Observational Studies, and Randomized Studies.
The first two parts are done very, very well. A complaint I have is that there could be a lot more theory. It felt like some topics were just "run this package" and we didn't need to really understand the theoretical principles behind what we were doing. The course assumed a knowledge of probability theory and regression/hypothesis testing but there wasn't really any linear algebra or calculus needed. Similarly, we could've gone deeper into some topics. For example, missing data was covered but the state-of-the-art technique (MICE) wasn't mentioned at all (although MI in general was). The time commitment was overall quite low, so I think there's room to address these complaints.
The last two parts are a complete repeat (and not in anywhere as much detail) if you've taken CI. However, they are a great refresher to the basic ideas if you have taken it. Similarly, there are a few topics sprinkled in throughout that you might be able to skip if you know some machine learning (cross-validation, ROC, etc).
The 6 homeworks were a breeze. I only missed one point all semester due to a silly mistake and one homework was dropped in the end. Exams were also quite easy: 48 hour take-home. The final exam required more thought but in the end wasn't significantly harder than the midterm. Median was around 93% for both. I wouldn't be surprised if over half of the class got an A (no curve, of course).
There could be more difficulty in the homeworks. On the final exam, there was a question that required some thought on a formula that was used in the class. While doing the final I remember thinking "I wish the homeworks had stuff like this" rather than plug and chug.
The TA/LFs were also very good and active on Ed. Prof wasn't active on Ed but was available to field any questions that the TA/LFs were unable to answer. This is the first semester that it's being offered so I wouldn't be surprised if there are a lot of changes before the fall.
Overall Rating (4.3 / 5): ★★★★☆
Professor Rating (5 / 5): ★★★★★
Lecture Rating (5 / 5): ★★★★★
Difficulty (2.1 / 5):
Workload: 4 hours/week
Pros:
1. Pretty straightforward assignments/tests
2. Great & organized lectures and course notes
3. Responsive TAs/LFs
Cons:
1. Some repetitive plug and chug in R
2.
3.
Detailed Review:
Overall, I really enjoyed this class. I have been dreading taking the more stats-heavy classes in the curriculum but this was a nice surprise as it was a new class added this semester.
The lectures and accompanying notes are really well done and organized. There's quite a bit of lecture content to watch, but I don't think it was super necessary watch them all if you just want to read the notes. Well documented starter code and R-code walkthrough lecture videos as well.
The homework assignments were designed to take you 60-90 minutes and that was pretty much on-point or an overestimate for most of them, and you get one drop on top of that. The 1 midterm and 1 comprehensive final were untimed and open notes but you had a 48 hour window to complete them. I wish more courses in MSDSO had untimed exams as they were significantly less stressful and you could actually check your work.
I think this course would probably pair well with any of the other courses that don't have tests like DL, regression, APM, and data viz even if you are working full-time.
Taking this course over CI for elective group 1 is probably a no-brainer as this course also contains a whole section on CI and is likely way easier (just based on the reviews, I haven't taken it).
The TAs/LFs on Ed were really on top of things responding to questions most of the time within minutes of being posted.
I thought the reliance on various R packages for most of the later segments got repetitive. The first few segments had some hand calculation examples which I thought were really great at making sure I understood what was going on under the hood of these packages. I just wish some of that was carried forward to the later half of the course.
Also, I think it would be great to show more examples outside of the healthcare space as I'm sure most students are not in that industry. I like being able to attempt to apply what I learn during each course at work but I didn't really feel like anything applied for me (I don't work in healthcare/medicine). Maybe adding a lecture section showing some applications outside of healthcare would be cool.
Overall Rating (4.3 / 5): ★★★★☆
Professor Rating (5 / 5): ★★★★★
Lecture Rating (5 / 5): ★★★★★
Difficulty (2.9 / 5):
Workload: 8 hours/week
Pros:
1. Really engaging lectures by Professor Lin
2. Professor Lin and his TAs are on Piazza often to answer our questions
3. Office hours are very frequent, usually as often as once per day (on Zoom). This is better than what is offered for on-campus courses; indeed it is a gold standard of how online Masters's courses should be run
Cons:
1. The quizzes could be vaguely worded at times
2. The learning curve at the beginning of the course could be tough for those without prior Python experience (at the very least, some experience with OOP and recursive functions)
Detailed Review:
As someone who has prior experience in Python I really enjoyed the course. The lectures are engaging and the homework is suitably challenging. That said, I think people who have no prior experience in Python would find the beginning of the course rather difficult.
As I understand it, the course will not be offered for 2022 Summer and Fall for revamping. Honestly, I think the course is fine as-is and is of a suitable level of difficulty for an MS in DS. Nonetheless, the MSDS program should perhaps offer another (more introductory) programming course for those who are less experienced in programming; I sense there is a large divide in the class between people who have coding experience vs those who don't. Perhaps something could be done to close this gap (say a non-credit programming basics course)?
Overall Rating (4.3 / 5): ★★★★☆
Professor Rating (3.6 / 5): ★★★★☆
Lecture Rating (2.9 / 5): ★★★☆☆
Difficulty (0.7 / 5):
Workload: 3 hours/week
Pros:
1. You choose to put in as much (or little) effort as you want
2. Low time commitment
3. Final project is open ended and you can do whatever you want
4. Best TA staff in MSCSO
Cons:
1. Quizzes were too easy
2. Lectures are too text heavy at times
3. Prof's accent is tough to understand at times
Detailed Review:
I thoroughly enjoyed this course, as it gave me the time to explore various applications of ML techniques and finally decide to work on a case I thought was interesting. The head TA, Jun, puts in a lot of work and is easily the most honest and responsive TA in the entire MSCSO program. Kudos to him. His catchphrase "don't forget to practice" was my favorite part of the lectures ;)
This program helped me balance an otherwise tough period in life due to its low workload and lack of deadlines. I am surprised by the negative reviews for this course, given that it has been said multiple times on the hub that this is a low workload class and the course staff never advertised it to be a very deep course.
Summary - take this to knock off an easy credit, or if you want to pair this with a tough subject, or are having a rough time in life. Don't take this if you expect the course to teach you novel techniques.
Overall Rating (3.9 / 5): ★★★★☆
Professor Rating (0 / 5): ☆☆☆☆☆
Lecture Rating (0 / 5): ☆☆☆☆☆
Difficulty (2.9 / 5):
Workload: 15 hours/week
I took this course during the summer since it was supposed to be the lightest workload course, but the result was still pretty stressful. Pros: The content is very interesting, and not super challenging. Cons: Fast summer pace, very reading-focused course, and a lack of good support for the neural network components of the programming assignments. This last one wasn't actually an issue for me (I used the Keras API, which I STRONGLY recommend assuming it's still allowed in future iterations), but a lot of people using pytorch or tensorflow's lower-level API really struggled. Final exam was really hard, mostly because of the format (input boxes, no partial credit, submit once and pray you rounded right). Still got an A, but wished I had not taken it during the summer. Difficulty definitely ramps up in the last 4 chapters (function approximation, neural nets, etc.).
Overall Rating (3.9 / 5): ★★★★☆
Professor Rating (0 / 5): ☆☆☆☆☆
Lecture Rating (0 / 5): ☆☆☆☆☆
Difficulty (2.9 / 5):
Workload: 10 hours/week
The course was well organised and the instructurs and TAs were very active on supporting our learning. I like the fact that they emphasize learning more than anything else.
Since I did not have a strong math background and am new to linear algebra, the materials were quite challenging, especially toward the end. I wish I studied more to get the most out of the class, but it was very hard to catch up with the pace of the class due to my full-time work and taking another course at the same time. This was my very first semester for MSCSO for me, so if anyone new to MSCSO and is willing to maximise the learning other than finishing the program asap, I recommend starting with 1 course in your first semester to see how it goes.
Overall Rating (3.9 / 5): ★★★★☆
Professor Rating (0 / 5): ☆☆☆☆☆
Lecture Rating (0 / 5): ☆☆☆☆☆
Difficulty (0.7 / 5):
Workload: 5 hours/week
The textbook is awesome and the projects were great and I learned a lot. The lectures were kinda rambly and just summarize the same content in the textbook. Honestly, just skip the lectures and read the textbook. The professor is very responsive and helpful on Piazza which also helped clarify a lot of things. I found this course easier because I already knew C and Assembly, I recommend brushing up on your computer architecture before taking this course.
Overall Rating (3.9 / 5): ★★★★☆
Professor Rating (0 / 5): ☆☆☆☆☆
Lecture Rating (0 / 5): ☆☆☆☆☆
Difficulty (1.8 / 5):
Workload: 12.5 hours/week
I really enjoyed this class. I thought the material was rather straightforward, the book is great, one of the TA's was awesome....The only complaint I would lodge is that the video lectures from professors are pretty useless, in my opinion. Just read the book, start the programming early enough to debug, and pay attention when you're doing the homework and you'll be fine. The final was long, but there wasn't really anything on it that I felt was unfair.
Overall Rating (3.9 / 5): ★★★★☆
Professor Rating (0 / 5): ☆☆☆☆☆
Lecture Rating (0 / 5): ☆☆☆☆☆
Difficulty (1.8 / 5):
Workload: 15 hours/week
Class is well organized and well taught. Instructors are engaged and active in discussion with students. They genuinely care about helping students learn and the focus is entirely on that.
However, on a subjective note, I actually did not enjoy this class. There's nothing wrong with it, but the material that is covered was not very valuable to me given my personal and professional goals. This is first and foremost a class in NUMERICAL computation. The focus is on algorithms that implement floating point linear algebra computation. If you're taking this class early in the program then it's a great soft introduction to or refresher on proof techniques that are important in other courses. If you're near the end of the program though, it's not super valuable unless you care about the details of implementing numerical LA algorithms for its own sake.
If you're going to take this class, I recommend taking it early in the program and not later since you'll likely get the most benefit out of it then.
Overall Rating (3.9 / 5): ★★★★☆
Professor Rating (0 / 5): ☆☆☆☆☆
Lecture Rating (0 / 5): ☆☆☆☆☆
Difficulty (2.3 / 5):
Workload: 8 hours/week
Thoroughly enjoyed this class. Time consuming in the beginning as you are getting used to kotlin and how to make android apps. First few assignments were time consuming for me because of this. No exams, only programming projects and weekly homework’s. Final project is open ended and you learn a lot from it. Highly recommend this course.