Overall Rating (2.9 / 5): ★★★☆☆
Professor Rating (0 / 5): ☆☆☆☆☆
Lecture Rating (0 / 5): ☆☆☆☆☆
Difficulty (2.9 / 5):
Workload: 10 hours/week
Overall, the content is fairly easy, especially with Liu. Some of the terminology used in the Klivans portion can be a bit confusing if you do not have a background steeped in formal math. Biggest complaint is that the students are not informed that the first test is closed book until about a week before the exam. This strongly affected me as I take notes that complement the texts rather than replace them and would have done differently had I known at the beginning of the class. The TA for Klivans was a bit standoffish not owning up to a mistake he made in the notation that caused students to use the incorrect function. The programming homeworks are extremely easy and the theory homeworks start off a somewhat challenging but get easier as the classes progress. One homework is dropped so that somewhat helps.
Overall Rating (2.9 / 5): ★★★☆☆
Professor Rating (2.9 / 5): ★★★☆☆
Lecture Rating (2.9 / 5): ★★★☆☆
Difficulty (3.6 / 5):
Workload: 10 hours/week
Pros:
1. TAs are extremely responsive and helpful
2. Pre midterm course videos are good
3. Gentle ramp up which is helpful if this is your first course in the program
4. Fair exams in terms of difficulty
Cons:
1. Some assignments had tricky test cases buried in a heap of posts on Piazza
2. Professor was non existent, course was entirely run by TAs
3. Post midterm, the lectures got longer, drier, and almost a pain to go through.
Detailed Review:
This was my first course in the program and the only subject I took in the semester. The C ramp up was gentle with Assignments 1 and 2, but can be intimidating if you have 0 C experience. Project 3-5 were the actual OS projects with xv6 and can take considerable amount of time. The patch submission process was efficient but stressful at times. TAs was brilliant with the Piazza support though. The Prof looked more at home in the first half of the course, however the second half was borderline unbearable for me personally due to the length of the videos and almost 0 direct practical applicability and relation to projects. This course won't demand much if you studied OS in your undergrad. The exams were well formed and good enough to test whether you studied the material well or not. Overall, I would recommend this as a first course in the program to get used to the system.
Overall Rating (2.9 / 5): ★★★☆☆
Professor Rating (3.6 / 5): ★★★★☆
Lecture Rating (3.6 / 5): ★★★★☆
Difficulty (3.9 / 5):
Workload: 5 hours/week
Pros:
1. Good class that hits all the main foundations of RL
2. Professors had mostly good content
3.
Cons:
1. Sucks that the class is essentially "read the textbook"
2. Dense final exam.
3. Unbalanced workload
Detailed Review:
I mean, great course to get the foundations of RL but it was quite boring. Read the book every week, write about what you've read. Do an easy HW and a homework that has a lot of painstaking calculations (but with unlimited attempts). I think one of the HWs took me like 15 attempts which seemed about average from what I heard. Was largely an exercise in drinking enough sugar/caffeine to stay awake to do it and keeping track of the little differences in every single algorithm we did. Seriously, by the end everything was just jumbled in my brain.
Programming assignments are okay. Sometimes it just seemed to pass the autograder if you made a small adjustment which didn't make much sense which was frustrating.
Final exam is frustrating. I did well, but no midterm and just a final worth a ton of the grade is annoying to have to study for. Large study timesink. Luckily, I imagine a lot of the class probably had close to a perfect score going into it.
I wish that the course covered deep RL, but that is probably too much to expect.
Overall Rating (2.5 / 5): ★★★☆☆
Professor Rating (2.5 / 5): ★★★☆☆
Lecture Rating (2.5 / 5): ★★★☆☆
Difficulty (1.4 / 5):
Workload: 5 hours/week
Pros:
1. Assignments are straight forward
2. TAs are responsive
3. Lectures are relevant
Cons:
1. Maybe a bit too much hand-holding for a graduate course
2. The more difficult components are covered by other courses (RL) but to a more serious degree.
3. I wish there was a deeper programming dive or maybe a serious final project.
Detailed Review:
If you are needing an easier course to ease into your new degree program, a course to pair to with for a two-class semester, a gpa fix, or have something else that takes up your time (eg an infant and job lol), this is a good course to take.
However, if you are expecting to come out with some deeper understanding of the subject (and you have already taken RL or Bayesian if you are in the DS program), this course might not provide the value you seek. For me, only CSiML had a lower work load, though I intentionally made my CSiML project harder as a portfolio-boaster, but that is a different topic.
Overall Rating (2.5 / 5): ★★★☆☆
Professor Rating (3.6 / 5): ★★★★☆
Lecture Rating (4.3 / 5): ★★★★☆
Difficulty (2.1 / 5):
Workload: 10 hours/week
Pros:
1. Rigorous Math (if you like that sort of thing)
2. Exposure to lots of different topics
3. Predictable schedule
Cons:
1. Multiple choice test format
2. Uneven 1st / 2nd half difficulty
3. Homework uninteresting
Detailed Review:
This course is taught in two sections. The first half covers classic optimization techniques (gradient descent, mirror descent, etc) while the second half covers bandit algorithms for online learning.
I found the first half to be much more in-depth and difficult than the second. You will want to brush up on linear algebra, calculus and mathematical proofs before taking it on. The second half, while more conceptually interesting to me, was a bit of disappointment because then homework was very...basic. They provide a nice framework for the algorithm and you fill in the blanks, but I feel like you could develop it into something much more exploratory and worthwhile.
Overall the course is easy, provided you keep up with the homeworks and do well on them (they are peer graded, and peers are generally very lenient on grading). Its a good 'filler' course...but you won't have a good project or satisfied feeling at the end of it.
Overall Rating (2.5 / 5): ★★★☆☆
Professor Rating (2.1 / 5): ★★☆☆☆
Lecture Rating (2.1 / 5): ★★☆☆☆
Difficulty (0.7 / 5):
Workload: 2.5 hours/week
Pros:
1. Simple, it may take less than 2 hour per week
2. Get concept about ML application in many areas
3.
Cons:
1. Bad design in homework and tests
2. Could not learn anything if you do not study yourself, which is not required by the course
3.
Detailed Review:
Overall Rating (2.3 / 5): ★★☆☆☆
Professor Rating (0 / 5): ☆☆☆☆☆
Lecture Rating (0 / 5): ☆☆☆☆☆
Difficulty (4.5 / 5):
Workload: 13.8 hours/week
I enjoyed the course. I heavily disliked Professor Klivan's teaching style. Him not using a book led to much frustration on my part. I need a prescribed book to read in order to gain further insight. Because he did not provide one, I felt shaky during his half of the course because everything was more or less based off his word only. He could have definitely done a better job providing visualizations and examples when teaching, but he did not for whatever reason. Professor Liu was godsent. He wrote his own book and would frequently let us know when there was a mistake in the book. He was much more reachable via piazza. He was basically the opposite of Klivans. I got around a 70 on Klivan's exam and a mid 90 on Liu's exam.
Expanded Grading:
Difficulty: 5 Klivans, 4 Liu
Workload: 20 Klivans, 5-10 Liu
Rating: 1 Klivans, 5 Liu
Overall Rating (2.3 / 5): ★★☆☆☆
Professor Rating (0 / 5): ☆☆☆☆☆
Lecture Rating (0 / 5): ☆☆☆☆☆
Difficulty (2.9 / 5):
Workload: 10 hours/week
Material itself was interesting, but I have a huge issue with how the programming assignments were implemented. It felt like there was only one real way to do the assignments- as we were coding up algorithms. The the all or nothing grading resulted in lots of frustration if you couldn't figure out a bug at the end even if you had most of the code correct. I really hope they change this in the future, and look into different types of assignments-rather than just coding up alogrithms. Same thing with the final exam- the fact that 30% of our grade is determined by an edx run test with no partial credit on answers is crazy to me.
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. PyTorch is interesting and well documented
2. Subject matter is good to know
3. Prof is pretty good
Cons:
1. You only use a fraction of the lecture material
2. Grappling with the starter code and prompt on the assignments is time consuming
3. The quizzes are a pain
Detailed Review:
I was overall pretty disappointed with this class. I'd read a lot of positive reviews and saw a lot of excitement generally about this class, but I think structurally it has a lot of problems. First, I feel like so much of the time on the assignments was spent interpreting the prompt and then grappling with their starter code. I feel like I spent relatively little time actually building neural nets and digging into PyTorch. In fact, you don't even need to build a model from scratch after assignment 3 - you just reuse the model in assignments 4 and 5. Second, there's a TON of lecture material, but you only end up using like 10% of it for the course. The rest is just dumped on you and you never use it. I figure I'll promptly forget 90% of the material from this course in like a month. Finally, because the material is freely available, many students race ahead on the assignments and are posting questions on Piazza about assignments 4 and 5 after like two weeks. The message board becomes a dumpster fire that you have to sift through to find relevant material, relative to other classes (like ML, for example) where everyone is largely working on the same stuff at the same time and it's easy to find answers to your questions.
The only time I felt stressed during this class was on the Sunday assignment 3 was due. If you start early, then completing all the work shouldn't be difficult. I also got lucky and ended up in a group of geniuses for the final project, so we aced it.
Coming out of the class I feel like I understand reasonably well how neural nets work and can choose a model to solve a given type of problem, but I feel like the time would have been better spent learning how to deploy DL projects, build things from scratch, etc etc rather than just messing with their starter code.
Overall Rating (2.1 / 5): ★★☆☆☆
Professor Rating (2.1 / 5): ★★☆☆☆
Lecture Rating (2.1 / 5): ★★☆☆☆
Difficulty (4.3 / 5):
Workload: 15 hours/week
Pros:
1. The second half was interesting.
2. It's over and I passed
3. Heavy curve if you keep up with all assignment and study for final(s)
Cons:
1. The first half is mostly long videos of proofs.
2. For me, this was dense, in one ear, take the test, and out the other math. I don't work in ML so I'm not sure very much of this is going to stick long term.
3. Alex the TA basically provided all support and teaching outside of the prerecorded lectures and I think he's graduating, so good luck getting help from Prof's or other TA's.
Detailed Review:
The ratings of this review are skewed since this is kind of two courses baked into one. I strongly disliked the first half of the course and thought the second half was fairly interesting. So I would give the optimization part of this course a 1 Star for every metric and the Online Learning portion a 5/6 for most metrics. This was one of my first courses in the program so I guess I'm not totally sure if there is a little expectation vs reality about the program in general or if this course was just pretty bad but if one has to do ten more classes like this to get a degree I will probably wish I hadn't done the program.
The second half of the course was interesting and seemed to present ideas that had a little more take home value for someone not working on deep math proofs professionally.
I can't quite tell if the prof's of this course care at all about the online portion of their job. I assume that they're interesting, good teachers in person. But they came across as kind of aloof for this course. In optimization there was some talk of explanations of the answers to the final that it seemed like everyone bombed - that of course never happened. For the second portion of the class they never even released peoples grades for the final. That being said, I think if you took both finals they gave you a decent grade so I don't want to be too hard on them because I appreciate that part of the course, but in general the course gives the impression that UT doesn't really care about online students and looks at this program as a way to drive massive revenue from around the world at basically zero marginal cost per student.