Overall Rating (3.6 / 5): ★★★★☆
Professor Rating (4.3 / 5): ★★★★☆
Lecture Rating (4.3 / 5): ★★★★☆
Difficulty (2.9 / 5):
Workload: 10 hours/week
Pros:
1. The material is interesting.
2. Lenient grading.
3. Open note tests.
Cons:
1. Tests are difficult.
2. Supplemental material may be required.
3. Proctored tests.
Detailed Review:
I took this class in my first semester along with Advanced Linear Algebra. I would have preferred to take this course after Linear Algebra since some of the material uses concepts from that course. It was also some time since I last took a probability course, so I had to brush up on some of those concepts as well.
The first half of the course covered a variety of machine learning algorithms like perceptron learning and regressions. I felt like the courses did a good job of describing these algorithms, but there were some parts that needed additional explanations for me to fully grasp them. I ended up using StatQuest on YouTube to supplement some of the material during this half of the course.
The second half of the course went into statistical learning, which was a lot more based on probability theory than the first half. Some concepts like K-Means and Neural Networks were also covered in this half. I felt like this half of the course was a lot easier to grasp than the first half, since there were more concrete examples.
The homework wasn't too bad, there was a mix of theoretical and programming problems. The programming problems were more toy examples than actual applications, but they did help with understanding the material. I felt like the first homework was the most difficult. The homework is peer-graded and most people were fairly lenient. In addition, the lowest scoring homework was also dropped.
The tests were open note, but closed book and closed internet. A recording of you taking the test using Panopto Video was required. I didn't have an issue with the proctoring personally, but I know that this was controversial for some of the other students.
Both tests were difficult for me though. I felt like both had at least one question that was way harder than was necessary.
Even though I struggled on the exams, I did do well in the course. The final grading scale was set up so that most of the class would get at least a B-.
I did feel like I did get a lot out of this course, which is all I can really ask for.
Overall Rating (3.6 / 5): ★★★★☆
Professor Rating (3.6 / 5): ★★★★☆
Lecture Rating (3.6 / 5): ★★★★☆
Difficulty (2.9 / 5):
Workload: 8 hours/week
Pros:
1. Regular weekly homeworks and no exams
2. Assignments focus heavily on application of the concepts in lecture
3. Covers a broad area of topics
Cons:
1. Difficult to work ahead due to material release schedule and office hours
2. Expectations on homework are sometimes unclear, no rubric is provided for staff graded homework
3. Shift in teaching styles between first and second half of the course can be jarring
Detailed Review:
This course has a pretty simple structure of lectures released weekly accompanied by graded practice problems, peer graded, and staff graded homework assignments. 10% of the grade is for participation and peer grading properly. Honestly they should just remove the participation element, as its presence tended to decrease the quality of discussion on Piazza (the TA explicitly called out people making minor edits for "participation"). It appears that based on feedback from previous semesters, weeks 6 and 12 of the material were made optional so that the 10 weeks of the summer semester had 10 weeks of content which was greatly appreciated.
The first half of the course spends half the time on time series data and the other half on spatial data. The professor's lectures are easy to understand and supplemental materials are provided if needed (I found them to often be beyond the scope of the lectures). There are also separate lectures for coding demos, which make starting the homeworks much easier as they introduce you to working with the often niche packages necessary to complete the assignment. As a result, previous R knowledge is not necessarily required but recommended. The second half of the course focuses on modeling with matrices. The lectures overall were a pretty gentle introduction to the linear algebra concepts necessary for later on, but incomplete code snippets in the lectures or visuals with no code as context at all made starting the assignments more difficult. The second half of the course requires Python. It is expected that you have a grasp on the concepts of numpy such as indexing and vectorization, as these are necessary for the assignments to run in a timely manner (or at all), but not explicitly taught or even really mentioned anywhere in the course. Unlike the first half of the course, there are less supplemental materials provided. A pain point I personally encountered on the spectral clustering portion of the class is from differences in the implementation of this algorithm. The lectures are based on a specific paper, and if you don't use that implementation specifically, the hoemwork will not come out properly I found. There were code snippets at least provided for most of spectral clustering, so just know that using those for all the assignments regarding spectral clustering is best practice if you want your answers to come out matching the expected answers as best as possible.
Almost every week there is a peer-graded homework and a staff-graded homework. The rubric for peer grading is always the same on a 4 point scale with relatively subjective criteria determining the grade. What constitutes as "minor errors" is poorly defined, but luckily that means in most cases this rubric will work in your favor as people generally lean towards giving higher grades with this rubric (the average grades on all peer graded assignments were around 3.5 or higher). The staff-graded homework is always on a 20 point scale, but no rubric or answer key is provided and feedback from the grader tends to be vague, so attention to detail on these assignments is important to not lose a significant number of points.
This course is pretty well structured all around and covers a broad area of topics to the extent that those who wish to dive into them deeper will have the right toolset to get started. The lectures, practice, and other provided materials will set you up for success in this course.
Overall Rating (3.6 / 5): ★★★★☆
Professor Rating (2.9 / 5): ★★★☆☆
Lecture Rating (2.1 / 5): ★★☆☆☆
Difficulty (3.6 / 5):
Workload: 10 hours/week
Pros:
1. Material is interesting (for the most part)
2. Exams are fair
3.
Cons:
1. Dry lectures
2. Ed discussion board is mostly student-driven
3.
Detailed Review:
For context, I don't have any prob/statistics background. I never took an undergrad class and the little that I do know were pieces I picked up from work or math classes.
I thought the material was really interesting. A lot of the results in the probability portion was counter-intuitive and learning about statistical methods was satisfying. That being said, I started having difficulty in the later portions of the probability section when the math started getting more involved. Definitely took me some time, re-watching the lecture or reading supplemental material to get a grasp on the more math-heavy sections.
The lecture itself is conceptually interesting, but very dry during the maths/proofs. I agree with the other reviews here that say skip through the proofs sections in Prof Muller's lectures. The proofs are there for your understanding (or confusion) and do not show up on the homework for the most part. The examples in the lectures are the most helpful portion, and the homework problems are generally an extension of the lecture examples. The statistics portion with Prof. Parker was more practical. Once you figure out the pattern for what to do for each type of problem, it becomes plug and play.
The ed discussion board was helpful, but mostly thanks to the students that stepped up. The TAs and Profs were not helpful.
The exams are pretty much homework problems. I reviewed the homework covered in each exam and I did just fine. I took this class with DSA, and I ended up spending more time in this class on average, unlike the general consensus. Other swe-type folks might agree.
Overall Rating (3.6 / 5): ★★★★☆
Professor Rating (5 / 5): ★★★★★
Lecture Rating (5 / 5): ★★★★★
Difficulty (0.7 / 5):
Workload: 2 hours/week
Pros:
1. Professor Wilke is very knowledgeable in the subject. He's quite active in the R scene and maintains a few open-source libraries
2. Professor Wilke is active on Piazza to answer our questions
3. The course material is excellent
Cons:
1. Content easy for those with prior experience in data manipulation and data visualization
2. All work is peer-graded. The course could use more rigor and better feedback
Detailed Review:
The professor is very knowledgeable and the course material he created is excellent. I highly recommend this course as the 1st course to take for those new to MSDSO.
That said, the course content is a bit on the easy-side for those who have experience in both data manipulation tool/library (say SQL or Pandas) and graph plotting library (say MATLAB, Matplotlib, or Plotly). You're basically applying the same concepts you already know into a R tidyverse + ggplot2 workflow. If you're good with reading code examples and library documentation, you could probably do all the coursework without watching any of the lecture videos (you should though, as the lectures give you plenty of insights).
Nonetheless, I think the level of difficulty is suitable for those who are new to such concepts. Professor Wilkes explained the concepts really well and this is how I would like to be taught if I could go back in time and learn again.
The mandatory participation turned Piazza into quite a bit of a mess full of useless comments. We have 300+ students enrolled in the course, we should not need mandatory participation for a lively Piazza. I think forced participation is doing more bad than good. Perhaps this could be taken into account in the next iteration of the course.
All the coursework is peer-graded so the comments are hit-or-miss. I get this is a 1000USD course so I don't expect all my homework to be marked by TAs, but surely we could for just one or two homeworks? The feedback as of now is a bit lacking.
So overall for me it was an easy A (I ended with like 99+%) but if I had known and had a choice (the MSDSO program is still "pick 10 from 10" as of Spring 2022, 1.5 years into the program I find this very disappointing), I probably would not have paid 1000USD to learn concepts I already know only in a different language/library.
Overall Rating (3.6 / 5): ★★★★☆
Professor Rating (3.6 / 5): ★★★★☆
Lecture Rating (2.9 / 5): ★★★☆☆
Difficulty (5 / 5):
Workload: 18 hours/week
Pros:
1. The lecture describe the course usefulness in daily life
2. Many techniques exposed to student
Cons:
1. Programming is hard
Detailed Review:
Basically this course is count as math heavy because we implement complex mathematical formulation into python code. As a software engineer who has decent knowledge in Django, I find this course is hard. Maybe because I don't take ALA and ML class first before taking this course. I suggest if you want to take this course, you must strengthen your mathematical knowledge. The code mostly implement the complex math equation from lecture. There is a reason why this course is count as "Intermediate" and not "Introductory" by edX MCSO Central.
Overall Rating (3.6 / 5): ★★★★☆
Professor Rating (3.6 / 5): ★★★★☆
Lecture Rating (3.6 / 5): ★★★★☆
Difficulty (2.9 / 5):
Workload: 20 hours/week
Pros:
1. Good explanations for image processing
2. Get to learn PyTorch
3. Fundamentals of Deep Learning (computer vision) taught well
Cons:
1. Little support for technical difficulties
2. Final project wasn't much fun nor very helpful in learning
3.
Detailed Review:
I enjoyed this class a lot. Only the final project was annoying, stressful and not a good learning experience, in my opinion.
Overall Rating (3.6 / 5): ★★★★☆
Professor Rating (2.9 / 5): ★★★☆☆
Lecture Rating (2.9 / 5): ★★★☆☆
Difficulty (2.1 / 5):
Workload: 10 hours/week
Pros:
1. The probability part is well structured and explained
2.
3.
Cons:
1. The statistics part is somewhat not well-organized
2. The TAs have been absent from Piazza for the majority of the semester.
3.
Detailed Review:
While most homework problems are straightforward, some probability problems can be a bit tricky.
Quizzes are generally easier than homework, but mid-term and final exams can pose a time management challenge, although they are not particularly difficult.
Although the professor carefully explains all the details, the lecture slides and handouts for the statistics section could benefit from better organization. Having information spread out over 5 or 6 different PDFs each week can be overwhelming.
class grade for my semester
A,A- 47%
B+,B,B- 33%
C+,C,C- 6%
D+,D,D- 2%
F 12%
Overall Rating (3.6 / 5): ★★★★☆
Professor Rating (4.3 / 5): ★★★★☆
Lecture Rating (0.7 / 5): ★☆☆☆☆
Difficulty (0.7 / 5):
Workload: 3 hours/week
If you've shipped applications to production before, then this course is very easy and is just like writing code for projects at work. If you've never worked professionally as a software developer before, then this course will be tough because you are not given much support in learning how to program, and you're expected to figure everything out for yourself, know how to do debugging, etc., the instructors' answer to most questions is "figure it out" (which is usually what your boss will say to you too). I never really watched the lectures, I just implemented the projects directly from the spec, which is like what you do at work.
Overall Rating (3.6 / 5): ★★★★☆
Professor Rating (2.9 / 5): ★★★☆☆
Lecture Rating (2.9 / 5): ★★★☆☆
Difficulty (3.6 / 5):
Workload: 6 hours/week
Pros:
1. Very broad coverage of RL fundamentals
2. Programming assignment/homework are generally not too crazy
3. Piazza support is decent
Cons:
1. More recent RL techniques (like policy gradient, deep RL) are less/not covered
2. Hands-on component is not that challenging, hard to utilise learned things in a practical manner
3. Final exam grading can be brutal
Detailed Review:
This course covers almost all the chapters in the 2nd Edition of Reinforcement Learning textbook. For anyone new to RL, I think the topics are fairly easy to pick up without requiring very advanced math/stats, and also can be interesting to learn. The textbook itself is very well-written, in fact one could take this course without even attending the lectures. However, modern RL in recent years have seen many interesting topics like deep RL and methods from policy gradient. If you're looking to learn more into these topics, unfortunately they're not really there in the course. Overall I do think packing all the chapters in the book into one semester already means there's little time for anything else, especially when there are also homework and programming assignments along the way.
The homework are mostly multiple choice questions, usually with very few attempts, or sometimes even single attempt, so be careful if you want to score well for this course. My advice is to score PERFECT score for the homework and assignments, since most people do very well in these and only don't do well in the final. Perhaps even 1 mark can put you in a different grade. The programming assignments are OK in my opinion. Compared to the Coursera course on RL, it's definitely harder, but IMO not that challenging. Most of the time you're really just asked to implement the pseudocode mentioned in the textbook. Also, at least in this semester, the deadline for programming assignments and homework pushed back so as to allow people to juggle their own time. There were actually students who frowned upon this, blaming upon the lack of time enforcement.
There's also a graded component called "reading response". This is fairly easy to score - just make sure you read up a new chapter every week and submit your summary in EDX in time. The grading is pretty lenient for this.
The final exam receives quite a bit of negative feedback in Piazza, and while to me it's not that bad, I can understand where the complaints come from. For one, the instructors rely on EDX to carry out the final exam, and somehow it's a binary thing in terms of correctness (you either get full or zero mark for a question). This can be frustrating (even for me) because it means the system does not differentiate people who have put in effort to understand a concept but got the answer slightly wrong (and thus get zero mark) vs people who don't understand the concept at all.
Overall support in Pizza is pretty good IMO. The TAs have the most presence (both Sai and Tyler were very active), and to my best memory the professor was not active. But if you need help generally there's enough support from Piazza (whether from students or TAs).
Similar to other previous feedbacks, I really do hope there could be more meaningful projects in the course. Perhaps the intention of the course was to give a solid theoretical foundation, but I do question if all the chapters are necessary to achieve so. Or perhaps, it could have been possible to compress some chapters into one, and leave some time to do a mini-project to exercise what we have learned.
Also note that Professor Scott Niekum is no longer with UT Austin, so he's not teaching this course anymore although the lecture videos were probably recorded when he was still around.
edit: in case anyone wonders the size of class, for Fall 2022 it was about 160 students. So considering this, I've to say the TAs did a pretty solid job keeping Piazza alive. The final grading was quite generous due to the issues mentioned above - if you get full marks in the non-exams but get only 70 out of 100 in the final exam I think that still results in an A.
I also want to comment that there will be a lot of negative feedback coming in soon for this semester, since in Piazza you can see quite a bunch of people very mad about certain handling of final exam by the TA. The overall story is that yes, the TA probably can do better, but the TA team is really small and I think some of the students really vented too much. Still a highly recommended course unlike some of the incoming bad reviews that come from a small group of students who are probably still mad while writing the review. Note that I’m writing this as unbiased as I can be, even if I disagree with some of the ways that TA handled it, I think they did their best and let’s be more forgiving. Quite disappointed with how some students set out to destroy the course in the review despite so much that we have gained from the course.
Overall Rating (3.6 / 5): ★★★★☆
Professor Rating (4.3 / 5): ★★★★☆
Lecture Rating (4.3 / 5): ★★★★☆
Difficulty (3.6 / 5):
Workload: 25 hours/week
Pros:
1. Interesting topics
2. Good lectures
Cons:
1. Not enough examples covered in the lectures
2. first programming assignment takes > 70 hours
3. Not enough support on piazza
Detailed Review: