Overall Rating (3.9 / 5): ★★★★☆
Professor Rating (0 / 5): ☆☆☆☆☆
Lecture Rating (0 / 5): ☆☆☆☆☆
Difficulty (1.8 / 5):
Workload: 7.5 hours/week
Liu's lectures were far more straightforward than Klivan's lectures. I found Klivan's teaching style confusing with the lack of concrete examples. Liu's half of the course was much better because the assignments correlated more directly to the lectures, and it was easier to grasp the concepts this way.
Expanded Grading:
Rating: 2 Klivans, 4 Liu
Overall Rating (3.9 / 5): ★★★★☆
Professor Rating (0 / 5): ☆☆☆☆☆
Lecture Rating (0 / 5): ☆☆☆☆☆
Difficulty (2.9 / 5):
Workload: 5 hours/week
The course is largely based on the textbook, which is a good thing since the book is very well written, dense in information, and self-explanatory. In terms of assignements, we have weekly reading responses and homework questions. The lecture videos are mostly complementary to the text but I still find them helpful offer important contexts, overviews, and sometimes examples. The class is well-paced (roughly one chapter per week) and does not require too much of effort other than reading and understanding the book. One can argue that the latter is not as important if you know where to find the relevant points, which brings up the lowlight - personally I feel that the homework questions are not challenging enough and most programming assignements concern more about implementation rather than understanding that you can get full credits by implementing psudo code from the book without actually understaning it. Still rating 4/5 since I personally learned a lot and find the subject interesting.
Overall Rating (3.9 / 5): ★★★★☆
Professor Rating (0 / 5): ☆☆☆☆☆
Lecture Rating (0 / 5): ☆☆☆☆☆
Difficulty (2.9 / 5):
Workload: 10 hours/week
Learned a lot in this class, class is theory heavy but thats expected in any ML course. I liked that homeworks had both theory and programming components. The class pushes you to think, read, search for answers and still get help on piazza to get that aha moment. You can feel the difference in teaching style between Klivans and Liu, both are great profs, with Klivans assuming you know a lot of basics where Liu takes the time to explain things really to the detail. Liu's notes are also great. Expect the class to get easier in the second half. This class would be a 5 if it had a project or more challenging programming homeworks.
Expanded Grading:
Workload: 5-20 Klivans, 5-10 Liu
Overall Rating (3.9 / 5): ★★★★☆
Professor Rating (0 / 5): ☆☆☆☆☆
Lecture Rating (0 / 5): ☆☆☆☆☆
Difficulty (2.9 / 5):
Workload: 20 hours/week
Great class. Lots of work, but worth it. Definetly a good mix of hands-on and theory work, with a fun final project.
Overall Rating (3.9 / 5): ★★★★☆
Professor Rating (5 / 5): ★★★★★
Lecture Rating (4.3 / 5): ★★★★☆
Difficulty (2.1 / 5):
Workload: 9 hours/week
Pros:
1. Great lecture quality and TA support
2. Improves your numpy and python coding skills
3. Great topics especially in OL portion
Cons:
1. Assignments could be more interesting than implementing algorithms
2. Some overlap with RL course
Detailed Review:
This course is 2 classes in 1. The first portion is more challenging if you haven't taken Optimization but still the prof takes the time to review key concepts. The second portion is very easy if you have taken RL class. Overall great lecture quality and a very interesting topic.
Overall Rating (3.9 / 5): ★★★★☆
Professor Rating (0 / 5): ☆☆☆☆☆
Lecture Rating (0 / 5): ☆☆☆☆☆
Difficulty (2.9 / 5):
Workload: 9 hours/week
Dr Caramanis is a very patient and detailed professor, and I really enjoyed his lectures. He does a great job at tying each lecture together, by reviewing the previous section before moving on to new material. I've had no exposure to Optimization at all, and so I greatly appreciated that aspect. Despite the "hand holding", his lectures are great. Most topics are covered surprisingly clearly, often with great visualization and examples. He was very responsive on Piazza as well. The part I didn't like was the homework. It could have been my lack of exposure to the subject material, but I felt like I completely understood what he was teaching in class, but the homework problem statements would make no sense to me. It would take me 10-ish hours to do the homework, half of which was just understanding what the question was asking. The homework was usually a python Jupiter Notebook hosted on collab that we needed to fill out and then share with the TA for grading. The final was a bit of a curveball. There were theory quesions, which I expected, and application questions that required some computation by hand, but it required an approach we had never done before and I hadn't prepared for.
The Online Learning portion was also pretty great. The lectures were *very* high level, but the professor provided all his notes that the nitty gritty details he'd skipped in lectures. If you were more interested in the details he encouraged you to go through his notes and the book yourself, but largly doing so wasn't required. The homeowork was pretty straightforward, though it could be frustrating when you didn't see the results you expected because the TA didn't offer much help if you were stuck. I'd often get the algorithm implemented relatively quickly, but then have to spend several hours tuning it until I'd get the results to look they way they needed to. Additionally, the homework was usually small "toy" problems that were fine to begin with, but I think it would have been cool to have been given a larger, real-world dataset for the last assignments and try applying what you'd learned to that.
Overall it was a good class that I'd recommend
Expanded Grading
Difficulty: 4 Optimization, 2 OL
Workload: 10 Optimization, 8 OL
Overall Rating (3.9 / 5): ★★★★☆
Professor Rating (0 / 5): ☆☆☆☆☆
Lecture Rating (0 / 5): ☆☆☆☆☆
Difficulty (2.9 / 5):
Workload: 16 hours/week
This class has the most programming of any master's class currently offered by UT Austin (according to the professor). It is a TON of work. Be prepared to have time in your schedule to work on this class. As time goes on, the assignments get harder and require even more time to complete--be ready for that. Give yourself an entire weekend plus a few hours during the week for HW1 and HW2. HW3 will be a little more. HW4 is a beast--give yourself two entire weekends to do it. The FC's also vary in difficulty--the easy ones take less than 4 hours but the hard ones can take up to 8 hours.
Overall Rating (3.9 / 5): ★★★★☆
Professor Rating (0 / 5): ☆☆☆☆☆
Lecture Rating (0 / 5): ☆☆☆☆☆
Difficulty (2.9 / 5):
Workload: 20 hours/week
Good course. However, if you haven't learned about Java, it would be stressful.
Overall Rating (3.9 / 5): ★★★★☆
Professor Rating (0 / 5): ☆☆☆☆☆
Lecture Rating (0 / 5): ☆☆☆☆☆
Difficulty (1.8 / 5):
Workload: 5 hours/week
Course driven by the textbook for the most part. Fairly easy class, although workload will spike a little when you have a programming assignment due. Otherwise, it was weekly readings, a short response, watching videos, and a few homework assignments. Piazza was active and TA was great at answering questions quickly. Final was significantly more challenging, primarily due to the time constraint of 2 hours.
Overall Rating (3.9 / 5): ★★★★☆
Professor Rating (0 / 5): ☆☆☆☆☆
Lecture Rating (0 / 5): ☆☆☆☆☆
Difficulty (2.9 / 5):
Workload: 10 hours/week
The name of the game is copy the algorithm. Each homework requires useing pseudocoded algorithms from the textbook that need to be followed to the letter. The nuances are tricky at first, but you'll understand the notation with enough practice. Really interesting course content. Teacher are okay, exam is a bit rough. It gets curved though, don't worry. Definitely take Deep Learning first.