Overall Rating (4.3 / 5): ★★★★☆
Professor Rating (5 / 5): ★★★★★
Lecture Rating (5 / 5): ★★★★★
Difficulty (1.4 / 5):
Workload: 3 hours/week
Pros:
1. Newbie-Friendly Intro to R
2. Discusses Basic Data Viz and Data Science Principles Applicable Regardless of Software
3. Easy Assignments (R coding aimed at 2 Questions) and Projects (A bit longer and requires short paragraph explanations but still easy)
Cons:
1. As with some other courses, peer review has its disadvantages..
2. Requirement to participate in Discussion Board or comment on others' Discussion Board posts can result in inorganic discussion forum posts.
3. May not cover some more recent developments in Data Science and not very rigorous for a graduate class.
Detailed Review:
Very good newbie-friendly intro to R (Prof. Wilke's slides contained very clear pseudocodes, or examples you can easily apply to the homeworks, and to your own work as a data scientist or researcher). This class is meant to introduce R as a data visualization tool, while teaching principles at the same time that are applicable regardless of software (e.g. if you switch to Python, Excel, Tableau, etc. for visualization). Aside from basic Data Viz principles, topics in Data Wrangling, Unsupervised ML (PCA, Clustering), Visualizing Geospatial Data, and even Data Ethics are also briefly discussed. No required textbook but you get clear notes and slides from professor's website (plus optionally read the professor's book on the subject matter).
Easy and straightfoward course overall. Although, peer review can get a bit tedious from time to time (but not as much of a hassle compared to harder courses with peer review). Also, when Data Viz was offered, you are required to either participate in the Discussion Boards or post a comment or reply to others' posts, which can make activity in the Class Discussion Forums (Piazza during this course's offering) look inorganic or forced from time to time, rather than genuine or authentic conversations. Lastly, if you're already very experienced in R, you may not get much value from taking this class.
This Data Viz course is unavailable as of Spring 2025 (likely being revamped). For the time being, the course Principles of Data Science (PDS) has similar content in terms of R introduction, Data Wrangling and Visualization, but also goes into more generic Data Science Analytical Questions. Note that the main difference between the two is that Data Viz largely focuses on Visualization, while in PDS, data visualization and wrangling modules are shorter, as more of PDS touches on basic analysis and R tools depending on the type of question (e.g. causal inference, prediction, etc).
Overall Rating (4.3 / 5): ★★★★☆
Professor Rating (5 / 5): ★★★★★
Lecture Rating (4.3 / 5): ★★★★☆
Difficulty (2.9 / 5):
Workload: 10 hours/week
Pros:
1. Well paced course
2. Assignments were fun, each building off of your previous solution
3. Professor held office hours and listened to student suggestions
Cons:
1. If you've taken an undergrad algorithms course, you already know the first half of the course
2. The second half could have used some implementation
3. Wish there was more in terms of readings, or pointers to which parts of the suggested texts
Detailed Review:
tl;dr: If you like RL, game theory, or robotics, this course is worth it. But don't expect to come out of the other end knowing how to apply to a real robot. Maybe something closer to classic video game AI.
The first half of the course is a mix between classic search algorithms and dynamic programming in a deterministic setting. The second half added "uncertainty", with a focus on a robotics use case. This was the part of the course I was most interested in, since I didn't have any experience here. This section ends with Partially Observable MDPs that we didn't get to consider in the RL course. If you took an undergrad algorithms course and RL, you'll easily already know ~50% of the course content.
I really enjoyed the assignments. They allow you to choose from several algorithms to implement, so you can make it as simple or complex as you want. All except the first build on parts of your solution to the previous one, so there is a risk that you'll spend more time later on if your previous solution wasn't the most efficient.
My one gripe is that the second half was mostly a knowledge dump of concepts/theory and not much implementation. We didn't implement anything past Bayesian Inference (Week 7). I would have really liked to get a better understanding of Particle Filtering and SLAM through application in a homework (or bonus assignment).
Overall Rating (4.3 / 5): ★★★★☆
Professor Rating (5 / 5): ★★★★★
Lecture Rating (4.3 / 5): ★★★★☆
Difficulty (5 / 5):
Workload: 15 hours/week
Pros:
1. Lecture goes into depth on ML
2. Work load is balanced
Cons:
1. Very minimal implementation, huge on theory
2. Exams are brutal
Detailed Review:
The lectures were great, the two professors went into detail on the theory and proofs behind ML concepts. The first half of the class was much harder than the second half. The exams were brutal but the curve is very generous, i.e a 73% was like a B- at the end.
Overall Rating (4.3 / 5): ★★★★☆
Professor Rating (3.6 / 5): ★★★★☆
Lecture Rating (2.9 / 5): ★★★☆☆
Difficulty (1.4 / 5):
Workload: 4 hours/week
Pros:
1. Homework 100% prepares you for tests and quizzes.
2. Professors/TAs are very active on Piazza.
3. The coding work in R is straightforward.
Cons:
1. Plenty of typos in the slide deck.
2. A few concepts have no examples in the lectures to work before jumping in on the homework.
3. The textbook is a waste of money.
Detailed Review:
This was my first course and first every graduate level course and I was pleasantly surprised. The early homeworks take plenty of effort and I averaged about 7hrs a week on them. The quizzes and tests are very chill. If you got a 100 on your homeworks and understand the problems you'll finish ur quizzes and test with over half the time to spare. If you don't like the explanation of a certain concept there is an extreme amount of material out there to help you out.
Overall Rating (4.3 / 5): ★★★★☆
Professor Rating (4.3 / 5): ★★★★☆
Lecture Rating (4.3 / 5): ★★★★☆
Difficulty (4.3 / 5):
Workload: 10 hours/week
Pros:
1. Really interesting material
2. Great lectures and textbook
Cons:
1. Difficult homework and exams
2. Some of the homeworks needed some QA/QC before being released
Detailed Review:
This was probably my favorite course on the stats side of this program. The material was really interesting, and I felt it did a really good job covering how to properly view data analysis from a casual lens. The professor lectures were great and the textbook was very approachable and not written at a too academic level.
The homeworks and exams were both pretty tough, definitely the toughest on the stats side of this program. Many of the questions relied on using the course knowledge and applying it to situations that are not very intuitive how one would apply the casual framework. On the exams you are given 24 hours and 48 hours respectively, so fortunately time doesn't play a factor on them.
There were a couple homeworks with some errors in the solution key, which lead to effectively none the answers being truly correct. The course staff went back and corrected them after the due date, but it definitely made these couple of assignments a much more frustrating experience than necessary.
The quizzes were changed to completion grades. They still ended up being useful as study material for the exams though.
Overall Rating (4.3 / 5): ★★★★☆
Professor Rating (3.6 / 5): ★★★★☆
Lecture Rating (3.6 / 5): ★★★★☆
Difficulty (5 / 5):
Workload: 20 hours/week
Pros:
1. Rigorous statistical machine learning course - you will learn a ton
2. well organized class
3. interesting topics
Cons:
1. You need expertise in Probability, Statistics, Calculus, Linear Algebra, and Complexity Theory to be successful.
2. programming hws should be harder
3. compressed 12 week schedule
Detailed Review:
I really enjoyed this class and learned so much about statistical machine learning. The workload is very heavy if you are aiming for an A and don't have a math degree. The first 2 weeks are VERY heavy, so be prepared to come in on full steam. The class is only 12 weeks long even during the spring and fall when the semester is technically 15 weeks. The class would be SO much more manageable if the course were spread out to be over 15 weeks instead of 12 -- it would make the first couple weeks more reasonable.
The first half of the class is taught by professor Klivans. The theory hws are very difficult. It helps to read the textbook before the lectures because the professor just dives in to the trees and assumes you understand the the forest. The exam for Part 1 was very fair. I think the MSCS students usually do best on this exam
The second half of the class is taught by professor Liu. Students in the MSDS program thinks this half of the class is easy because they have taken courses on Probability, Regression, ++, and topics covered are similar. If you are in MSCS or MSAI, this half of the class will be hard! The exam for the second half covers topics not taught in the class, but I believe must have been covered in the probability/regression classes. This is super frustrating if you are not in MSDSO.
So the exam for the first half of the class favors MSCS students. The exam for the second half of the class favors MSDS students. And if you look at the historical grades received by students taking ML in MSDSO, MSCSO, and MSAIO, you will find that MSAI students do noticeably worse than the other students ON AVERAGE, for whatever reason. (See https://reports.utexas.edu/spotlight-data/ut-course-grade-distributions). Your individual strengths and weaknesses will vary.
To do well in the class you really need to be good at so many things. Linear Algebra, Calculus, Probability, Statistics, Algorithms, etc The topics are so varied that it is hard to prepare to take this class. That being said, I felt the class was rewarding, and I am very glad I took it.
My main criticism is that it felt like the lectures started by the professor focusing on a particular detail, and you might be wondering what the topic is. A minute or two of broad description of the topic, would have been helpful instead of just diving in to a little detail. I suggest pausing the videos and looking up stuff, to make sure you are on the same page as the professor.
I also wish the programming assignments would have been more challenging, particularly for the second half of the class.
Overall a very interesting class. It is not an Intro to ML class. It assumes you already have introductory knowledge. If you don't have a super strong and recent math background, be prepared to put in extra hours.
This is a very rigorous theoretical statistical machine learning class. Don't expect a practical programming class. It was interesting and rewarding for me personally. The drop rate for this class is very high because it is absolutely not a walk in the park or a class you can coast by in (unless you have a math phd).
Overall Rating (4.3 / 5): ★★★★☆
Professor Rating (2.1 / 5): ★★☆☆☆
Lecture Rating (2.1 / 5): ★★☆☆☆
Difficulty (3.6 / 5):
Workload: 15 hours/week
Pros:
1. Course content is excellent for anyone who has never taken the OS before
2. Project is simple at first, and nice for beginners.
3. Midterm and final exams are simple
4. Group project, so you can help and work together with your teammates
Cons:
1. Poor lectures; do not waste time listening to them
2.
3.
Detailed Review:
I have never taken OS before, so I really learn a lot in this course. I would suggest that anyone who has not taken OS before take this one.
Poor lectures and poor slides. I have watched all videos, and I feel confused about most of the lectures. The contents are given without clear logic. Later I spend several days watching an undergraduate OS course video from Remzi on Youtube, and his lectures are much much much better and easier to understand, and his slides are also much much much clearer. DO NOT WASTE YOUR TIME IN THE LECTURE VIDEOS if you haven't taken any OS course before. WATCHING LECTURES FROM REMZI ON YOUTUBE instead.
OSTEP (https://pages.cs.wisc.edu/~remzi/OSTEP/) from Remzi is excellent, and I read it more than 3 times (before lecture + after lecture + before exams), and I really lean a lot in this way. Read all the books instead of just the selected chapters required by the teacher. This book is like a novel, you need to read everything from the beginning to the end.
I like the projects, and I am very lucky to have two teammates, who helped me debug my codes, and criticize my work. I wrote almost all the projects myself, and I really enjoy this process.
Overall Rating (4.3 / 5): ★★★★☆
Professor Rating (5 / 5): ★★★★★
Lecture Rating (5 / 5): ★★★★★
Difficulty (2.9 / 5):
Workload: 7 hours/week
Pros:
1. Lectures are excellent. Not 45 minute ramblings like other classes I've taken. 5 to 15 minutes of good content.
2. Assignments were of reasonable difficulty.
3. Updated yearly with new content like ChatGPT, transformers, and more
Cons:
1. Course is spread out over several websites/services and you can forget things (more below)
2. Majority of the work is front loaded to give you time on the final project (can be a pro depending on your schedule)
3. This course will make you wish all other MSDS courses had this level of care and attention.
Detailed Review:
I felt taking DL before this course was helpful but not necessary, DSA probably should be required.
The only problem with this course is organization in terms of where all of the learning materials are stored. In prepping for the midterm, I completely missed one of the study resources that was on edX and not on Prof Durrett's website. I also watched a lot of the lectures on youtube and almost forgot to do the quiz questions on edX. Submitting assignments is on gradescope which you get to from another service called canvas. I understand this is likely out of the control of the MSDS staff but I feel like this is getting out of hand. Also, I just feel for the TAs who have to answer the same question 4-5 times a week on Ed about these systems.
Other than that, I thought this was probably the best course I've taken in the program so far. Definitely consider taking NLP as one of your elective 2 courses. There were ~500 students in this class so clearly others are doing the same.
Overall Rating (4.3 / 5): ★★★★☆
Professor Rating (4.3 / 5): ★★★★☆
Lecture Rating (4.3 / 5): ★★★★☆
Difficulty (3.6 / 5):
Workload: 9 hours/week
Pros:
1. No tests/quizzes
2. Good starter code in the first half
3. Pretty useful if you work with time series or geospatial data
4. Preston the TA was active on Piazza and was pretty open about things
Cons:
1. Kinda crammed into the summer semester, twice during the semester there are two homeworks due within one work week. (monday, friday)
2. Sometimes get docked points for unclear expectations on homework
3. Sometimes R packages/Python Libraries get mixed up and ends up being a waste of time
Detailed Review:
The first half of the course is in R, the second half is in Python. I didn't know much R before taking this course. Some students said that taking data visualization before or during this course would be helpful, but I got the hang of it without viz. Dr. Calder (first half) provides some clear and documented starter code and usually has a lecture devoted to walking you through it. Her topics cover some time series analysis and geospatial which was really interesting to me as my job is pretty much entirely entirely that, so I was able to apply it outside of the class immediately.
Dr. Sarkar's half of the course is more about PCA and matrices, which is just a tad too removed from practicality for me. She doesn't provide any starter code, so knowing some NumPy and Pandas is a big leg up on this section.
The assignments are challenging but pretty interesting and are mostly code-based. I'm pretty confident that almost everyone passed the course.
Getting the right version of the required R packages for each assignment always ended up being a constant annoyance for me. Wish they'd provide a requirements file for all the packages and version numbers needed to do the assignments. Reading the documentation on these packages isn't stated but should be required for understanding all of the parameters that go into particular functions.
Taking this course during the summer was doable but they certainly didn't cut anything out. There are 12 assignments and 10 weeks so, you end up having two weeks where you double up. There's no way to work ahead if you're traveling or really busy during those weeks so it can be hard to plan around. On those weeks, one is due on Monday and the other is due on a Friday, which is pretty awful if you work a demanding schedule. Preston, the TA, allows for a one-time extension if you contact him.
The homeworks are all peer-graded and the rubric is given to you is very detailed. You also get evaluated based on how well you grade homeworks. Doing 5 peer evaluations and following the rubric took at least an hour per assignment. Some open-ended questions wanted really particular answers that were pretty tough to get without reading the minds of the instructors. You do end up getting bonus points for Piazza participation and doing well on evaluations to make up for those, though.
Overall Rating (4.3 / 5): ★★★★☆
Professor Rating (4.3 / 5): ★★★★☆
Lecture Rating (3.6 / 5): ★★★★☆
Difficulty (4.3 / 5):
Workload: 6 hours/week
Pros:
1. TAs are great
2. Practical HWs and final projects
3. Well organized materials
Cons:
1. Time-consuming
2.
3.
Detailed Review: