Overall Rating (2.1 / 5): ★★☆☆☆
Professor Rating (2.9 / 5): ★★★☆☆
Lecture Rating (2.1 / 5): ★★☆☆☆
Difficulty (2.9 / 5):
Workload: 10 hours/week
Pros:
1. Workload is okey.
Cons:
1. Homework was lacking purpose.
2. Provided code is bad.
3. Lectures had a lot of typos.
Detailed Review:
Generally, I felt like the assignments were lacking purpose. Mostly, I learnt things that I'm unsure of how to apply. "Monkey see, monkey do". 50%-75% of homeworks are derivations and integrations to get the same equations presented in the lectures.
Homework didn't have interesting purposes nor datasets. Datasets were very obscure, only consisting of "y" and "x" (usually one x column), I found this very boring and hard to translate to real world applications.
The provided code is completely useless. All of the variables' names were non self explanatory. You had to guess what the variables were refering to as they all had obscure notations such as "x", "xx", "xxx", "xhh", "yhh". Long story short, you had to make your own code because the provided one was very hard to understand.
Lecture slides had a lot of typos, specially on equations (missing square term, missing variable, inconsistent notations, etc). A lot of things were not explained in lectures and where described as "straightforward" when they weren't trivial. Lectures were also missing "real world" examples and some lectures didn't even include an example.
This course needs a lot of improvement. I was expecting for an applicated class, with lot of real world examples or interesting free datasets available online.
Overall Rating (2.1 / 5): ★★☆☆☆
Professor Rating (2.9 / 5): ★★★☆☆
Lecture Rating (2.9 / 5): ★★★☆☆
Difficulty (2.9 / 5):
Workload: 12 hours/week
Pros:
1. Statistical coverage was interesting and not difficult to grasp
2. Exam was open notes, open book
3.
Cons:
1. What application I can pull from this to future courses feels thin
2. Any application from this course to projects or future work is also thin
3. It's a math class.
Detailed Review:
I felt the first half focused on mathematical proofs with no application so it was difficult for me to try and piece together how I'd actually use the info later on. I've taken a graduate-level probability course before for my last master's and it was for engineers so much more application-based. I feel like this course would benefit if it were taught by someone with a different background. I ended up getting a good grade for the course but didn't leave feeling like I learned much- there was a lot of struggle to stay interested in the first half. I'm not a math proofs for the sake of proofs person. An application-based course would have been more useful. Sometimes I found myself solving a problem by following the steps but without much comprehension. I end up with the "right" answer but wouldn't have been able to explain it to anyone- which tells me I wasn't learning.
Overall Rating (2.1 / 5): ★★☆☆☆
Professor Rating (3.6 / 5): ★★★★☆
Lecture Rating (4.3 / 5): ★★★★☆
Difficulty (3.6 / 5):
Workload: 15 hours/week
Pros:
1. Good intro to ML topics
2. Solid video lectures
3. TAs were very responsive on Piazza
Cons:
1. Some of the homework and exam questions were vague and did not reflect understanding of lecture content.
2. Literally Zero interaction with professors.
3. Very little practical learning.
Detailed Review:
I found the course stressful. Not because the subject matter was that hard, but because the tests had questions that were out of left field and not covered in lecture or notes, and at times it was incredibly difficult to understand what was being asked on the homeworks.
I did learn a lot, but not as much as I could have if the class was structured differently. This class assumes you are solid in linear algebra, prob and stats, and multivariate calculus. Not just familiar with the concepts, but you need to be able to perform in these subjects on the homeworks and in exams without hand holding.
Overall Rating (2.1 / 5): ★★☆☆☆
Professor Rating (2.9 / 5): ★★★☆☆
Lecture Rating (2.9 / 5): ★★★☆☆
Difficulty (2.9 / 5):
Workload: 15 hours/week
Pros:
1. Interesting topics
2. Grading curve
3. Lenient peer grading of HW
Cons:
1. Unforgiving exams
2. Some lectures hard to follow
3.
Detailed Review:
This class covers some very interesting and important topics. I think that anyone doing machine learning would benefit from understanding this material. Frankly even just linear programming optimization is a really good tool to have in your pocket. I enjoyed Prof Caramanis' lectures because they provided thorough explanation in proofs and examples.
The other lectures in the class were okay, but I often found myself using the textbook or youtube videos to understand some of the concepts better. The homework is good also, though I think there should have been a bit more of it, and it would be helpful if there were questions similar to the exams. In this course I received the worst score I have ever had on an exam and I'm not sure how I could have prepared better. If you had some error, there is no partial credit because they were timed and multiple choice, which was stressful. There was a hefty curve at the end, though.
Overall if they improved the exams and maybe updated some of the lectures, this could be a great class. Our TA was pretty great. Even though it wasn't perfect I did like getting some exposure to these topics.
Overall Rating (2.1 / 5): ★★☆☆☆
Professor Rating (2.9 / 5): ★★★☆☆
Lecture Rating (2.9 / 5): ★★★☆☆
Difficulty (0.7 / 5):
Workload: 2 hours/week
1. Extremely easy class with very little time commitment. 6 quizzes with 10 questions each that are all multiple choice, and then a 3000-5000 word paper at the end on whatever ML related topic you want.
2. Covers a wide breadth of material, so very helpful to see what's happening across a number of different areas of ML research
3. You'll get out of this what you put in. Very easy to coast along, but there's also some interesting material to learn if you're interested
4. TAs are very helpful if you get stuck
5. Paper isn't particularly well defined, so you're somewhat left to your own thoughts on how to pursue.
If you need an easy, low commitment class to fill out your 10 required courses, definitely take this one. If you're looking to get a broad understanding of ML, this is a good course. If you're looking to be challenged and go in depth on particular topics, pick another class.
Overall Rating (2.1 / 5): ★★☆☆☆
Professor Rating (2.9 / 5): ★★★☆☆
Lecture Rating (2.1 / 5): ★★☆☆☆
Difficulty (1.4 / 5):
Workload: 4 hours/week
Pros:
1. Easy to get a good grade
2. Not time consuming
3. Professor engagement on Piazza
Cons:
1. Little to no real world application
2. Uses a web-based software that is used nowhere in industry
3. Grading requires ridiculous accuracy (up to 5 decimal places at times)
Detailed Review:
Especially if you have a probability/stats background, you shouldn't expect to take anything away from this class. The probability portion of the course is highly theoretical, with no software usage whatsoever. You'll be doing plenty of calculations by hand. The grading also frequently requires a numerical answer to several decimal places, so a simple typo can land you a 0 on a problem.
The stats portion of this course is ridiculously easy. It uses a web-based software, which I consider a con because it is useless in the real world. But, this portion of the class is unbelievably easy. You can spend <2 hours per week on this portion of the class on most weeks.
Overall Rating (2.1 / 5): ★★☆☆☆
Professor Rating (0.7 / 5): ★☆☆☆☆
Lecture Rating (1.4 / 5): ★☆☆☆☆
Difficulty (2.9 / 5):
Workload: 10 hours/week
General Thoughts:
This is not really a theory course. Contrary to what others might say and how UT allows this course to satisfy a theory requirement, this course doesn't require that much mathematical maturity. Elementary familiarity with proofs is sufficient. If you don't have that, spending an hour reading primers on writing proofs should be more than enough. TAs were not harsh if proofs or reasoning were not so rigorous. The text is frankly also not that rigorous.
The vast majority of the course is implementing algorithms and routines sketched out in the text.
Pro: You can complete many of the assignments without in-depth knowledge and understanding of the majority of the subjects in the later weeks (week 5 onward).
Con: I was able to complete most assignments and exams without learning much of anything.
Instruction:
There is almost no interaction between the professor and students. All of the lectures, notes, and assignments came from the ALAFF text. We had one hero TA (Youngran) who answered 99% of the questions on Ed.
I was not personally a fan of the lecture videos nor the text. I found them to be lacking in clarity with lots of hand-waving. This was especially true of later weeks where topics discussed the mechanics of specific algorithms but without good and clear explanation of why any of it was important or the motivation.
One major gripe i have about this course has to do with organization. Instructor and TAs had key information related to assignments/exams/course generally spread out on Canvas (either buried in the assignment description or in announcements) or in the Ed Discussion forum. While there was ample support from one TA in Ed, instructors/TAs should figure out how to allow students to tag questions with Assignment # and/or Exam, making it easier to filter threads to find information. This would also reduce question repetition.
Also, if something is a requirement for a specific problem or assignment, it should not be buried in an answer to a question in Ed. It should be explicitly written in an assignment PDF and/or the instructor should be emailing the course to make it clear.
Overall Rating (2.1 / 5): ★★☆☆☆
Professor Rating (2.1 / 5): ★★☆☆☆
Lecture Rating (2.1 / 5): ★★☆☆☆
Difficulty (2.9 / 5):
Workload: 25 hours/week
Pros:
1. Learned about transformers.
2. Assignments were overall okay.
3. Read some cool papers in nlp.
Cons:
1. New material had some issues.
2. Very strict grading from staff / peer reviews were not great.
3. Final project was very limited in scope.
Detailed Review:
I think overall this course was okay. The only issue was it was revamped because of the hype with chatgpt. This translated to some hiccups with the new assignments. For example, there were some bugs and issues within the new assignments.
The professor, Greg, was very responsive. My only issue with him is he does not really wiggle with grading. There were several questions on the midterm that could have been improved and instead of correcting/acknowledging this, student complaints were pretty much ignored. Regrade requests were also pretty strict, or ignored completely.
Peer reviews were as expected, everywhere. The TA grading for the final project (or any written part for an assignment) also seemed a bit random. I think this is due to the enormous class size, so you can imagine a TA takes like 5 minutes to "grade". This results in suboptimal grading for students.
Another note about the final project is that it is very limited in scope. You basically have to analyze datasets and your strategies to improve existing model performance. I think this was done to minimize staff burden in grading (you just see slight variations of student work based off the same scope). Unfortunately, as mentioned above, this resulted in less than ideal grading. What I would have preferred was the ability to work on any NLP-related final project I wanted to, but oh well.
Overall Rating (2.1 / 5): ★★☆☆☆
Professor Rating (0.7 / 5): ★☆☆☆☆
Lecture Rating (1.4 / 5): ★☆☆☆☆
Difficulty (4.3 / 5):
Workload: 20 hours/week
Pros:
1. Helped me learn C and quickly
2. Learned some OS basics I didn't know before
3.
Cons:
1. Projects are in "required" groups of 3-4 and you're on your own picking a solid group. If you care about your grade, you will probably end up doing everything yourself.
2. Projects were not spaced out well in comparison to difficulty. The easiest project had 3 weeks and the harder last projects (while you're trying to study for the Midterm and Final) only have 2 weeks.
3. Very little Prof or TA support
Detailed Review:
Not a great first impression of the program. This class was not designed with working professionals in mind. Projects were due on Fridays, instead of Sundays, so you didn't get the final weekend to work on the projects. Having two exams while doing these Pintos projects were awful. I hope the professor and TAs take the feedback from our cohort and make improvements for the next.
Overall Rating (2.1 / 5): ★★☆☆☆
Professor Rating (2.9 / 5): ★★★☆☆
Lecture Rating (2.9 / 5): ★★★☆☆
Difficulty (2.1 / 5):
Workload: 10 hours/week
Pros:
1. Covers two different and interesting concepts
2. HWs are all Python-based implementations of algorithms discussed in lectures
3. HWs are most of the grade (70%)
Cons:
1. Really should just be two separate courses
2. Didn't feel well prepared for the exams based on the lectures and HWs
Detailed Review:
This really is two separate half-courses merged into one, which I thought was a shame as both topics are interesting and deserve their own class.
The homeworks in the first half (Optimization) are much more involved than the second half (Online Learning), probably allocating an average of 8-10 hours vs 1-2 hours. I think this is mostly a function of the half-and-half split that is this course. Both topics would be better served to be developed further and with more meaningful homeworks/examples than can be done in the half-course given for each subject.