Overall Rating (2.9 / 5): ★★★☆☆
Professor Rating (3.6 / 5): ★★★★☆
Lecture Rating (2.9 / 5): ★★★☆☆
Difficulty (1.4 / 5):
Workload: 6 hours/week
Pros:
1. Great professor/TA engagement on Piazza
2. Very generous grading policy
3. Long windows to complete assignments
Cons:
1. Lots of rambling in stats lectures
2. Better (free) textbooks out there
3. Statkey (and the approach to statistics problems more generally)
Detailed Review:
Overall, I did not find this course to be very difficult, but it's not a cakewalk either. As others have mentioned, the probability sections are notably harder than statistics, but both will be mostly review if you've taken the respective undergrad courses. The grading policy is quite generous - they drop your lowest two quizzes (out of six) and lowest two homeworks (out of 13). It's also pretty flexible time-wise - though the quizzes (30 minutes) and two midterm exams (2 hours) are timed, you have a week-long window to complete them. Homework assignments are usually out at least two weeks before their due date as well. Dr. Parker and the TAs were very engaged on Piazza - pretty much every post got an instructor answer within a few hours.
Lectures are ok, though the professors have very different styles. Dr. Mueller (probability lessons) tends to be very straightforward, almost to a fault, and had me pausing and rewinding quite a bit. Dr. Parker (statistics), on the other hand, often over-explains things, and I found myself just going to read the slides instead (the stats slides are good reference material, to be clear). The probability textbook was somewhat useful, but it's dense and can take a couple read-throughs to make sense. I found myself referring to Blitzstein and Hwang's Introduction to Probability (free online) when I needed a clear explanation of something. I barely used the recommended stats textbook at all, but to be fair, it's listed as optional.
My biggest frustration with this course comes with how the statistics problems (homeworks, quizzes, and exams) are structured. I think Statkey is a good tool for demonstrating concepts, but not so great to be graded on. At a certain point, you're being graded on whether you can repeatedly click buttons in the right order, not on how well you interpret the concepts. The delicate balance of machine grading vs. statistical variability is also problematic - I found myself running 20+ iterations of a simple trial on more than one occasion because I didn't get a clear alignment with one choice over the other. That's not because of anything I did, it's just that the answer choices aren't always well calibrated for the data in the problem. Bottom line, the only thing Statkey really made me an expert in was clicking "generate 1000 samples" and force closing my browser when it ran out of memory.
The thing that makes even less sense to me is why a statistical programming language like R isn't used instead. The course actually introduces some problems in R in the first couple of weeks...but then you never hear about it again. That's not to say there aren't challenges to be overcome with using R as well, but at least your parameters don't get reset every single run. R doesn't go offline in the middle of timed assignments either. But in this class, you MUST use Statkey - there are problems that you will get wrong if you use any other method.
As an aside, I took this together with Data Viz while working full time. I found that to be a very manageable combo - about an hour each weeknight and 3-6 hours total on the weekend.
Overall Rating (2.9 / 5): ★★★☆☆
Professor Rating (3.6 / 5): ★★★★☆
Lecture Rating (2.9 / 5): ★★★☆☆
Difficulty (0.7 / 5):
Workload: 4 hours/week
Pros:
1. Very light workload and an easy A if you keep up
2. Programming assignments are straightforward and well supported by the TAs
3. Lots of extra credit and generous grading policies
Cons:
1. Overall feels more like an undergrad survey than a graduate course
2. Later topics (navigation, SLAM, MDPs/POMDPs) are only treated on paper, not in code
3. Quizzes are a big chunk of the grade and the first one comes a bit out of left field
Detailed Review:
Overall, this was an easy course, probably too easy. There are four programming assignments: one in PDDL and three in Python. The PDDL assignment’s main challenge is just learning the syntax. Once you get past that, it’s very mechanical. The Python assignments cover BFS/A* search, minimax, and simple Bayesian belief updates. They’re all quite doable if you have any prior Python experience. TA support was solid and the discussion board was very active for such a large class.
Assignments appears maybe ~6 weeks before they're due, with some overlap so you can work a little ahead but not much. That, combined with generous deadlines and lots of extra credit, keeps the time commitment low. It’s really not hard to get full credit on the assignments without putting in extraordinary effort. By the end of the semester I only needed about 50% on the last quiz to lock in an A.
Content-wise, the course feels more like a gentle introduction than a true grad-level dive. The core programming work stops after things like search and belief updates; the more interesting later topics (robot navigation, SLAM, MDPs, POMDPs) are only handled in lecture and on quizzes, no chance to implement or experiment with those ideas, which is a missed opportunity if you’re hoping for something more applied.
The quiz structure is a bit awkward: five quizzes that make up a large fraction of your grade. The first quiz is rough because it arrives with no real practice questions and feels a bit out of left field. On the upside, you can drop the lowest of the first three quiz grades, which effectively functions like a built-in makeup if you stumble early. Quiz 4 is very straightforward in style but covers twice as many topics as the other quizzes because of how the schedule is set up, so you’re tested on a lot of material at once. A practical tip: pay attention to the breadth vs. depth tags on the syllabus. They’re a good signal for how much detail you’re expected to know on each topic.
Bottom line: this is a very easy, low-stress course with good TA support and simple assignments. It’s great if you need an easy A, a light pairing with a harder class, or a less time-consuming semester. But if you’re looking for a rigorous, project-heavy, graduate-level treatment of planning, search, and uncertainty (especially the later topics), you may want to skip this one and look for something more demanding like Reinforcement Learning.
Overall Rating (2.9 / 5): ★★★☆☆
Professor Rating (5 / 5): ★★★★★
Lecture Rating (5 / 5): ★★★★★
Difficulty (5 / 5):
Workload: 20 hours/week
Pros:
1. Two lowest quiz scores are dropped
2. Practice problem sets are provided
3. Lecture videos are helpful
Cons:
1. Quiz average makes up 100% of the overall grade
2. TAs grade the quizzes at a very slow pace
3. Zero programming assignments
4. Quizzes have very restrictive time limits
Detailed Review:
The only assignments in this course are 12 timed quizzes. You take one quiz each week and must complete each of them within 70 minutes of starting them. All of the quiz questions require the answers to be written proofs. I personally thought that the 70 minute time limit was not enough to take the quizzes given the depth of the questions that were asked and also the depth that the answers were expected to have. The TAs also took forever to grade the quizzes, which made it where we had no clue where we stood in the class for a long period of time. It was also frustrating that the quizzes could only be taken on the weekends.
To keep your head above water in this course, you will definitely need to have some mathematical maturity. I would say that it is essential to have a background in discrete math, probability, and algorithms beforehand. I thought that the quizzes were very inconsistent in difficulty. One week they would be manageable and then the other week they would suddenly have what felt like PhD-level questions. The good news is that the two lowest quiz scores are dropped at the end of the semester.
I was disappointed that there were zero programming assignments since I think that they would have helped better reinforce the material. I think that having CS students do nothing but write proofs for an entire course is an ineffective way to emphasize the importance of the material being taught. I understand that this is supposed to be a theoretical course, but ALA and ML are also theoretical courses, and even they have programming assignments. If you are into CS theory, you will probably enjoy this course. However, if you are hoping to become a better programmer, you will almost certainly be underwhelmed by this course.
Overall Rating (2.9 / 5): ★★★☆☆
Professor Rating (2.9 / 5): ★★★☆☆
Lecture Rating (2.9 / 5): ★★★☆☆
Difficulty (3.6 / 5):
Workload: 15 hours/week
Pros:
1. interesting topics
2.
3.
Cons:
1. lectures of Optimization part is very repetitive and slow. Professor is not appreciating that students are watching it online and he should come with half prepared slides and only need to fill in details. Second part was better.
2. Exams do not correlate with suggested importance of topics
3. Peer reviewers - some of them are real j3rks, who deducted point without much explanation. TAs don't care
Detailed Review:
Taking Optimization first is helpful
Overall Rating (2.9 / 5): ★★★☆☆
Professor Rating (4.3 / 5): ★★★★☆
Lecture Rating (3.6 / 5): ★★★★☆
Difficulty (5 / 5):
Workload: 17 hours/week
Cons:
1. Both exams are hard
2. Theory materials and homeworks from Adam are hard
3. They gave a lot of textbooks and supplemental readings but didn't tell us which part were recommended to read
4. Grading policy is extremely harsh
Detailed Review:
This course is very math heavy, if you don't have decent knowledge in math, I suggest you learn all the prerequisite requirements mentioned before taking this course. Before exams, both lecturer gave us exam practice which I still able to solve because it is not that hard. But the exams is on different level, it is different from what you learn on lecture, homework, or exam practice (although there are small amounts of content we learn from lecture shows up at exam). The TAs are sometimes miss/forget/late for the zoom session. This is an application course, but the content of this course seems doesn't represent it, more theory than code. With the high level difficulty of this course, the grading was really harsh even after curved, I scored 87 but only get a B+.
Overall Rating (2.9 / 5): ★★★☆☆
Professor Rating (0 / 5): ☆☆☆☆☆
Lecture Rating (0 / 5): ☆☆☆☆☆
Difficulty (1.8 / 5):
Workload: 10 hours/week
This course can certainly be improved. When comparing with other graduate ML courses you will find this course does not cover traditional ML algorithms including Naive Bayes, LDA, QDA, SVM, KNN, etc (the list is long). See CMU 10-601 for reference. This of course has something to do with the teaching style. If both professors could use slides instead of hand-written scripts then I expect more contents to be covered (and more visual aid to facilitate teaching). The first part gives you a taste of machine learning theory (through PAC learning) but does not go deep. Therefore the course seems to me neither application-oriented nor too theoretical. I would say the workload should increase by 50% to match the graduate-level ML course in the school I am attending full-time.
Expanded Grading:
Workload: 10-15 Klivans, 5-10 Liu
Overall Rating (2.9 / 5): ★★★☆☆
Professor Rating (3.6 / 5): ★★★★☆
Lecture Rating (3.6 / 5): ★★★★☆
Difficulty (3.6 / 5):
Workload: 17 hours/week
Pros:
1. The importance of linear algebra is just not negligible.
2. 2 take home exams including coding.
3.
Cons:
1. Piazza was a nightmare. People ask the same questions over and over again. Other than one, all tutors were basically absent.
2. If you have no solid math background, you will be very likely to struggle to keep up.
3. The course took more students than they could handle.
Detailed Review:
I took this course and somehow expected it to be challenging, and it turned out to be true. It was quite difficult. You need to do a lot of work to keep up with the assignments and exams. Of course, if you have a solid math background, you should be okay. If not like me, be prepared to spend extra time to keep up. I think the professor was helpful a lot of times, but Piazza was just a nightmare. The tutors were basically absent and cancelled/changed office hours too frequently.
There were three exams. One was proof-heavy. The other two were coding + theory. Some of the exam topics were not from the course, so some extra research was necessary. Overall, I do believe that CS students should take this course, despite its apparent difficulty.
Overall Rating (2.9 / 5): ★★★☆☆
Professor Rating (2.9 / 5): ★★★☆☆
Lecture Rating (2.1 / 5): ★★☆☆☆
Difficulty (2.9 / 5):
Workload: 10 hours/week
Pros:
1. Professor Parker’s section on statistics was insightful
2. 2 lowest homeworks and quizzes dropped
3. Fairly broad overview of probability and statistics
Cons:
1. Autograding on short assignments gave very little room for error
2. Low staff engagement
3. Organization - way too many documents, announcements, and other materials distributed via PDF’s and individual posts on EdX
Detailed Review:
My background: It’s been a decade since my last undergraduate math course, though one of my previous jobs involved a lot of statistical analysis in a research setting. It took some effort to get used to mathematical notation again, and I didn’t feel like I always had the strongest grasp on it but still ended up doing well in the course. However, there are plenty of opportunities in later courses to reinforce the material.
Overall, I felt the class was good for easing back into school, and I learned a lot, in probability by sheer volume of content and in statistics because of how it built on previous knowledge.
Mueller breezed through the probability lectures, often skipping steps in the proofs and calculations, and making in infrequent "goofs" on his slides (though he was self-aware of it). His section covered a lot of topics, some of which he overcomplicated. We were quizzed and tested on very few of them, making it hard to know what to study or care about for the first exam.
It didn’t help that the homework assignments were heavy on the proofs (which were easier because they were multiple choice), while the quizzes and exams had none whatsoever. The quizzes were fairly easy. The exams were tough and a bit of a time crunch, but mostly fair with the exception of a question or two. Rounding correctly is really important for the assessments, though the drop policy made up for the draconian autograding.
Parker went more in-depth in her lectures, focusing on the motivation behind and interpretation of statistical analyses and not just rote calculations and definitions, which I appreciated. This section was easier, and she was very intentional about what she tested us on. She did hold office hours, but the staff in general weren't very present on the Ed discussion board. Thankfully, many students in the class were active and helpful.
The only thing that really bothered me about her section was that she provided a lot of miscellaneous materials and reminders scattered in the form of PDF files, EdX “assignments”, and announcements that I felt could have been organized more neatly and concisely. For example, there was a formula sheet we’re supposed to use towards the end of the course, and for some reason, the 6th page is a separate PDF.
Overall Rating (2.9 / 5): ★★★☆☆
Professor Rating (2.1 / 5): ★★☆☆☆
Lecture Rating (2.9 / 5): ★★★☆☆
Difficulty (3.6 / 5):
Workload: 5 hours/week
Pros:
1. Teaching staff active and responsive on piazza
2. Reasonable workload
Cons:
1. Some of the homework felt completely pointless
2. Lectures were a cure for insomnia
3. Did not follow any textbook, so anything that I didn't understand in class did not have a clear alternative and required looking through multiple sources to understand.
4. No context was provided for how these types of problems fit in real scenarios and how to apply these techniques.
Overall Rating (2.9 / 5): ★★★☆☆
Professor Rating (4.3 / 5): ★★★★☆
Lecture Rating (3.6 / 5): ★★★★☆
Difficulty (5 / 5):
Workload: 25 hours/week
Pros:
1. Topics and lectures are very interesting
2. Combines theory and coding
3. TA's responded to student concerns
Cons:
1. First Programming assignment was insane
2. Weekly quizzes seem more like midterms, and only 1 attempt to get question right
3. TA's had to keep tweaking misworded questions and moving deadlines
Detailed Review:
I really enjoyed the topics covered in the class, and if you took discrete mathematics and enjoyed it, this class would be a great fit for you. You will learn about how the topics you learnt in that class are used in practice and learn about the latest discoveries in that field. The main issue is the assignments, hw and time commitments for this class. This class ran into the issue many new classes have seemed to run into in my experience. The time given for the hw and the programming assignments were way too intense. There are reading assignments after every lecture, and the questions never seem to be from the lectures, and initially only 1 attempt, however, due to student complaints it became 2 attempts. The weekly quizzes are worth half the grade, and each one is extremely intense, as you are afforded only 1 try, and half the time the problem is understanding what the question is asking. You can ask ta's on piazza, however, it is inconvenient having to wait for a response each time. Also the fact that there is no explanation for why the answer to the question is what it is also made it hard to learn sometimes, as I didn't know why that answer was what it was. The PA's (programming assingments) are worth 30% of the grade. While assignments 2 and 3 were challenging but doable, assignment 1 was a nightmare, I spent >75 hours and wasn't able to complete it. Due to student complaints they gave partial credit for pa's for putting an honest attempt. The deadline for said assignment was pushed back many times. I am hoping that in the future they add more balance to the class as it is a genuinely interesting subject, however, the classwork associated it was a bit ridiculous.