Overall Rating (1.8 / 5): ★★☆☆☆
Professor Rating (0 / 5): ☆☆☆☆☆
Lecture Rating (0 / 5): ☆☆☆☆☆
Difficulty (5 / 5):
Workload: 22.5 hours/week
No detailed text provided.
Read course reviews and ratings written by other students.
Overall Rating (1.8 / 5): ★★☆☆☆
Professor Rating (0 / 5): ☆☆☆☆☆
Lecture Rating (0 / 5): ☆☆☆☆☆
Difficulty (5 / 5):
Workload: 22.5 hours/week
No detailed text provided.
Overall Rating (1.4 / 5): ★☆☆☆☆
Professor Rating (0.7 / 5): ★☆☆☆☆
Lecture Rating (0.7 / 5): ★☆☆☆☆
Difficulty (3.6 / 5):
Workload: 15 hours/week
Pros: 1. TAs are active 2. 3. Cons: 1. Final exam is so dense 2. Tedious, manual homework / reading response 3. Detailed Review: This course is tedious. It requires a lot of manual calculations and pointless reading summarizations. The lecture is useless for homework or exam. The final exam contains 60 questions, which are calculation-heavy.
Overall Rating (1.4 / 5): ★☆☆☆☆
Professor Rating (3.6 / 5): ★★★★☆
Lecture Rating (3.6 / 5): ★★★★☆
Difficulty (2.1 / 5):
Workload: 6 hours/week
Pros: 1. Math heavy “intro” to proving performance bounds of many algorithms 2. Simple, conceptual intro to the online learning problem 3. Easy! Ish, more on that later Cons: 1. Two totally disjoint classes; this is kind of fine but you don’t get to some neat conclusion at the end like you might hope 2. Assignments, tests and lectures didn’t feel like they were designed to teach the same type of understanding of the material 3. Not sure what I will remember from this class beyond the very basic framework of the problems Detailed Review: Optimization half: gnarly math lectures. Would have taken a lot of effort to really absorb all the math (maybe less so if you had already taken Optimization). But then the homeworks were quite easy; you could basically code up a given algorithm from the Wikipedia description. So I didn’t really focus on understanding the lectures at a deep level. And then the test was extremely hard. Multiple choice, but with tons of options. I felt really good when, after a lot of math, I got to answers that were on the list of choices! But mostly I got those questions wrong anyway. Never found out how/why. Online Learning half: much gentler lectures focusing on the problem in general. Similar homework. Not a terrible class, but I would avoid it unless you feel like you need superficial exposure to both topics. If you have the time/energy you could get a lot more out of it, but you could also just do that on your own. Seems like maybe everyone just gets an A at the end? Unclear, opaque grading. They never released the scores from either test, and it’s super easy to get full credit on the peer graded homework.
Overall Rating (1.4 / 5): ★☆☆☆☆
Professor Rating (1.4 / 5): ★☆☆☆☆
Lecture Rating (1.4 / 5): ★☆☆☆☆
Difficulty (2.1 / 5):
Workload: 5 hours/week
Pros: 1. Some of the programming assignments are interesting and teach you how to apply planning techniques 2. The course isn't terribly difficult or time consuming. 3. TA support was good 4. No proctoring to deal with Cons: 1. Quizzes are miserable. 2. Structure of the course is out of order, you will do tests on concepts before doing projects on them 3. Basically no interaction with the prof (pre recorded lectures, autograded assignments, and discussion only with TAs) 4. Lectures are a slog to get through (you can tell they were all recorded in one take several years ago, prof's handwriting on the tablet sections is impossible to read half the time, the slides by themselves without the recording are missing critical info) 5. The first quarter of the course is focused on PDDL. This is a massive waste of time, no one uses that, and it isn't built upon in the latter half of the course. Detailed Review: This class is a very mixed bag. It isn't crazy difficult but you also won't learn a whole lot of useful info. Overall the scope of the course is too broad and not deep enough. They seemed determined to touch upon nearly every possible planning algorithm at a surface level instead of applying a smaller set of them. This class would have benefitted immensely from having a final project or something similar. The quizzes are painful and I feel like I learned little in doing them. This course also just seems to be a money maker elective for the university. The entire course is automated and the total class size for fall 2025 was over 700.
Overall Rating (1.4 / 5): ★☆☆☆☆
Professor Rating (2.1 / 5): ★★☆☆☆
Lecture Rating (0.7 / 5): ★☆☆☆☆
Difficulty (0.7 / 5):
Workload: 2 hours/week
Pros: 1. No mid/end term exams 2. Easy quizzes 3. Generous deadlines and grade cutoffs Cons: 1. Not a graduate course 2. Videos are too hard to watch 3. Second half of the course was not tested by the programming assignments Detailed Review: I took this course since I had limited options during this semester. I really like the first half of the course which was programming heavy with interesting topics. However, as the semester progressed the content got drier and the videos were full of verbal pauses, filler words like "right" "ok" etc which made it painful to understand certain parts (for eg where left and right actions were possible and the prof says "we move to the left, right"). The only saving grace by the end of the semester were the TAs who were very active on Ed. I wont recommend this course if you have other options.
Overall Rating (1.4 / 5): ★☆☆☆☆
Professor Rating (1.4 / 5): ★☆☆☆☆
Lecture Rating (2.9 / 5): ★★★☆☆
Difficulty (4.3 / 5):
Workload: 18 hours/week
Pros: 1. I feel like I learned some from this course and it might end up being useful. 2. Rigorous homework so you can learn from them. However, exams were much harder. 3. Free points via Edx homework, which are crucial to remember to click through. Cons: 1. Exams were very difficult. 2. Edx support was limited at best. Most of the time, we were given little direction with what was expected, especially on the exams. 3. Professor is only an Edx facilitator, there is no instruction offered. Detailed Review: I have been very disappointed with this course. Going into it, I expected it to be an easier class in the program. However, with the new instructor, things have changed. The average on our first midterm was an F. For a program where a B- average can get you kicked out, I find this unacceptable. The exams also adhere to an "honor system", which is equivalent to an underage drinking law in a small town in the South. It simply doesn't work. That is why the distribution of the second midterm was either bimodal or significantly skewed. I do not have many more things to say, but I will caution with this: If you are new to the program, consider taking either only this class, or do not take this until further in the program. I know it is a good precursor to ML, DL, and RL, but if you do poorly, you could be setting yourself up for an early exit in the program.
Overall Rating (1.4 / 5): ★☆☆☆☆
Professor Rating (3.6 / 5): ★★★★☆
Lecture Rating (2.1 / 5): ★★☆☆☆
Difficulty (4.3 / 5):
Workload: 30 hours/week
Pros: 1. Topics are very interesting and exercises are fun to do 2. Schedule is well organized and clear 3. Cons: 1. Workload is excessive, weekly quizzes require entire days to be solved and first programming assignment is too long 2. Weird policy to not share exercises answers and explanation. You need to ask for every single problem, which is a time waste. 3. Exercises and quizzes are captious and feels almost like the are written in a way to make the student fail for little details. Learning is left in a second plain and the important here is be very nitty picky to not lose points left and right for mere details Detailed Review: This class really needs to be improved. I took it the first semester it was offered and there is a lot of terrible things going on. For starters, the lectures are very surface level, important details are left out of them and the professor assumes you already have a good primer in logic although it is not listed as a prerequisite. The professor throws a lot of terms and concepts that are critical to understand the main topics and she does not even bother to reference or mention anything about it. Most of the concepts are easily to understand if examples are included but these are scarce across all lectures. The exercises expect you to go and study deeply some of the concepts that are not mentioned or barely touched during the lecture. The quizzes are so strict that there little to no room for mistakes. Solving them feels horrible as it is half of the grade and they are written poorly so a lot of things can go wrong. Quizzes are long and you need to read it carefully so start as soon as possible. TAs rejected to include explanation for the right answers in exercises, quizzes and programming assignments so if you struggled to understand why did you fail in a question you need to spend hours writing private posts and waiting for them to be replied. It is evident here that learning is not the priority. They were also absent in most part of the course, a lot of good questions were answered after the deadlines (or very close to) so the answers were not really useful. A handful of other questions were replied by a "I do not get your point, come to the office hour" which is not doable for some of us. There are three programming assignments, the last two were ok but the first one requires a lot of work and research to be done. You are delivered bare bones in the starter code and you need to figure out a lot of stuff. It can be greatly improved to be acceptable, adding a bit more skeleton or adjusting the scope. This summed with the effort required for the exercises+quizzes is just madness. The textbook/resources suggested are helpful just in some of the first parts of the course. The rest of the course you do not seem to have good resources to go to (and there are none listed in the class page). For me, this class is one of the worst in the program and needs a serious restructuration to be acceptable. Do not take me wrong, the teacher is really good and she is an expert on the topic, it is just that the class needs to be adapted.
Overall Rating (1.4 / 5): ★☆☆☆☆
Professor Rating (0.7 / 5): ★☆☆☆☆
Lecture Rating (1.4 / 5): ★☆☆☆☆
Difficulty (0.7 / 5):
Workload: 2 hours/week
Grading was based on 6 10-question mostly multiple choice quizzes and a final paper with a 10-page requirement (including figures etc.) Quizzes were extremely tough to solve normally, but extremely easy to solve with Ctrl+F searching the lecture transcripts. In other words, they were prepared by just grabbing random sentences off the lectures and switching a word. There was some programming with Tensorflow (talk about outdated), but it was very elementary. I have seen more involved programming in introductory MOOCs. Final paper was the most seemingly intimidating assignment, but in reality it was simply "write something around 10 pages long, make it related to ML". Overall very disappointing class. Easy A though.
Overall Rating (1.4 / 5): ★☆☆☆☆
Professor Rating (4.3 / 5): ★★★★☆
Lecture Rating (4.3 / 5): ★★★★☆
Difficulty (5 / 5):
Workload: 24 hours/week
Pros: 1. Very interesting lectures 2. 70% of grade is determined by programming assignments. If you are decent at Python, these are easy go get 90% at. 3. Looks good on CV Cons: 1. Final project is disgustingly difficult, with no guidance (either in project prompt, or TAs). We spent 3 weeks looking at all sorts of network approaches only to code up if /else in the last 2 days 2. Projects are very difficult if you aren't good at coding / or aren't familiar with networks, as some of the lectures don't show how to code up concepts so you have to do a lot of googling 3. I found Piazza to be completely useless. There were too many people asking questions, often repeating (as there are too many posts to read - at least 20 every single day). Detailed Review:
Overall Rating (1.4 / 5): ★☆☆☆☆
Professor Rating (0.7 / 5): ★☆☆☆☆
Lecture Rating (1.4 / 5): ★☆☆☆☆
Difficulty (2.1 / 5):
Workload: 8 hours/week
Pros: 1. Not to difficult. 2. 3. Cons: 1. Class is slow. 2. Projects are not covered very well. 3. Detailed Review: