Overall Rating (2.9 / 5): ★★★☆☆
Professor Rating (0 / 5): ☆☆☆☆☆
Lecture Rating (0 / 5): ☆☆☆☆☆
Difficulty (1.8 / 5):
Workload: 8 hours/week
To echo some important points above--if you have a background with math this class should be not too bad. I honestly found it a little bit dissapointing after taking a harder ML class during my undergrad. The first pset is tricky and then they are almost monotonically easier afterwards. The "hands on" assignments are canned, mostly just import sklearn. More algorithm implementations would be edifying. The homeworks are very light on formal math and mostly easy computations.
Overall Rating (2.9 / 5): ★★★☆☆
Professor Rating (2.9 / 5): ★★★☆☆
Lecture Rating (2.9 / 5): ★★★☆☆
Difficulty (2.1 / 5):
Workload: 5 hours/week
Pros:
1. Builds a good foundation in many aspects of probability and statistics
2. Simple workflow of weekly homeworks, roughly bi-weekly quizzes, and two exams
3. Quizzes and exams easier relative to homeworks (with 2 homeworks and quizzes dropped)
Cons:
1. In the probability section, the lectures are high-level and hard to follow
2. In the statistics section, the materials are highly disorganized
3. Lack of depth and purpose in some of the material
4. From an editing and delivery standpoint, the lectures across the course are lacking
Detailed Review:
The first half of this course focuses on probability and the second half builds on probability through statistics of many forms (simulation-based, theoretical, mathematical).
The professors claim the textbook for the probability section is required, but the problems from the book on homeworks are given in the homework documentations and on EdX. Sometimes the answers to the homework could be found directly in the book. The probability lectures essentially paraphrase the book, so the book can be helpful if you want more detailed explanations.
The lectures in the probability section are pretty lackluster, comprising of concepts being introduced, proved, and then applied on repeat. The professor paraphrases the material of his slides and goes quite fast making lectures hard to follow. Also, there were very few useful examples in the lectures, leaving many concepts to be solidified in the homework. The homeworks in this section are overall much more difficult than the homeworks in the statistics section. The difficulty level of individual problems in these homeworks is all over the place. Questions about proofs tended to be more difficult, of which there were many.
The lectures in the statistics section were better, though it seemed these lectures were done all at once in a single take (also true for the probabiltiy section). The professor would often fumble over words and ramble which was distracting. However, her perspective on simulation-based statistics was very informative and compelling, making this section of the course more engaging. The homeworks in this section are much easier. Once you learn how to use Statkey, the simulations are all just variations of the same process. The theoretical statistics portion is nicely summarized in a doc with all the formulas and methods for every problem and more. The big issue with this section of the course was how unorganized the materials were. Information was spread across up to 10s of PDFs and multiple paragraphs of text across EdX. However, if you do take the time early on to absorb all of that information, the rest of the course will take minimal effort.
Quizzes and exams in this class were easier than the homeworks. The material on the quizzes were well-defined, and reviews for the exams were given so there were no surprises. In general, everything in this class is machine-graded, but on the higher stakes assessments the questions are often multiple parts building on each other so that you can get some form of partial credit. The expectations on how to answer the various types of questions were exceptionally clear, and I had no issues with the machine-grading in this course.
Piazza in this course was not super helpful. The responsiveness of the instruction staff was mixed, though when it comes to logistics you can expect an answer in reasonable time. Several homeworks in the statistics portion of the course encouraged discussion on Piazza. Unfortunately, the quality of this discussion was low and it just crowded the actual questions out on Piazza.
In conclusion, this course felt like several undergrad introductory probability and statistics courses combined together to make an average class that covered a lot of material, but none of it really in-depth. The expectations of the course are well-defined and assignments are structured in a normal way making succeeding in this class very possible.
Overall Rating (2.9 / 5): ★★★☆☆
Professor Rating (2.9 / 5): ★★★☆☆
Lecture Rating (2.9 / 5): ★★★☆☆
Difficulty (2.9 / 5):
Workload: 10 hours/week
Pros:
1. lots of math, and help build the intuition and linkage with various theorem
2. good opportunity to build stats functions like t-stats from scratch
3. homework only, no exams!! grading is also reasonable can drop 2 homework
Cons:
1. no practical examples
2. R code is hard to read with useless coding style xx yy zz
3. the EM Algorithm could go much further but only covered in the last 2 weeks
Detailed Review:
Overall Rating (2.9 / 5): ★★★☆☆
Professor Rating (2.1 / 5): ★★☆☆☆
Lecture Rating (1.4 / 5): ★☆☆☆☆
Difficulty (3.6 / 5):
Workload: 8 hours/week
Pros:
1. Really interesting topic with a lot of buzz both in research and real-world applications right now.
2. Homeworks and Programming Assignments are short, not too difficult
3. The textbook is really good (but see notes below).
Cons:
1. The class is pretty much a read through of a textbook (which is dense but very good, if you're okay with absorbing information this way and take you're time you will learn a lot)
2. The lectures are very hit-or-miss. Some provide good insights into something the book glossed over or just repeat what the book did.
3. No real satisfaction from completing the Programming Assignments. The problems you solve are either toy environments made by the course or, when you do get to use the great AI Gym library, you use the most vanilla problem. Given how many different and exciting applications there are in RL, this was disappointing.
4. Large portion of the final was dedicated to testing your skills as a human calculator rather than deep knowledge of the material learned. Many questions were similar from the homeworks but still tedious, error-prone calculations that were better left covered in the Homeworks and Programming Assignments.
Detailed Review:
Overall Rating (2.9 / 5): ★★★☆☆
Professor Rating (4.3 / 5): ★★★★☆
Lecture Rating (3.6 / 5): ★★★★☆
Difficulty (0.7 / 5):
Workload: 5 hours/week
Pros:
1. Easy and the requirements are clear - if you know programming you'll do well in this class.
2.
3.
Cons:
1.
2.
3.
Detailed Review:
Overall Rating (2.9 / 5): ★★★☆☆
Professor Rating (4.3 / 5): ★★★★☆
Lecture Rating (4.3 / 5): ★★★★☆
Difficulty (3.6 / 5):
Workload: 12 hours/week
Pros:
1. Quality Lectures
2. Made us think deeply
3. Good Professors
Cons:
1. Practical assignments could have been a bit more interesting
2. Bad grading curve - need to study really hard to get a decent grade (this may be a pro for some). In my case, I forget most of the small nitty-gritty details over time. Also, it assumes you have a strong background in Linear Algebra, Stats, and Probability. This may not be the case for everyone. The goal is to learn. Having a decent grading curve would at least iron out the background gap.
Detailed Review:
I enjoyed this course overall. Honestly, learning is good. But if you also want to maintain a decent grade thinking that you would want to apply for higher education, you will have to work harder in this course than in other courses.
Overall Rating (2.9 / 5): ★★★☆☆
Professor Rating (2.9 / 5): ★★★☆☆
Lecture Rating (4.3 / 5): ★★★★☆
Difficulty (2.1 / 5):
Workload: 8 hours/week
Pros:
1. Interesting programming assignments
2. Lecture format works well
3. Curved grading
Cons:
1. Graded test cases are not provided
2. Quiz questions were difficult
3. Awkward difficulty depending on experience
Detailed Review:
Class workload is highly dependent on your previous experience with programming. I saw classmates that were struggling from the very beginning of the course and others that were breezing through the assignments. This made it feel like the difficulty was awkward, and certainly not what I expected from a graduate course. Too easy to be a grad-level data structures class, but too difficult for new programmers. That being said, some of the programming assignments were genuinely interesting and engaging. They were good applications of the lecture material. Some base test cases are provided to you in the starter code, but a big part of the assignment is creating your own test cases. The graded test cases were never provided as far as I know, which meant I didn't really know what went wrong with my code.
The lectures have conversational segments, where a TA answers and asks Prof Lin questions during the lecture like students would in a traditional classroom. This made the lectures are approachable and the TA-conversational format works well with the course material.
There were a few quiz questions in each quiz that were confusing or more difficult than I expected based on the lectures. For the most part though, the quiz questions were extensions of the lecture itself. Definitely one of those classes where you need to watch the lecture so you can do well on the quizzes. I had to skim through the lectures for a few weeks and it really affected my quiz grades.
Workload was also really dependent on the project. The first 3-4 assignments were easy enough, in the range of ~5-10 hours of work each. The last two projects were challenging and took me ~12-15 hours to complete. I have programming experience, although I did not do a CS undergrad.
If you took a data structures class in undergrad, you'll likely find this class to be around the same level. If you have no programming experience, I would recommend you brush up on the basics (using Python) before starting the class or don't take any other classes for this semester.
Overall Rating (2.9 / 5): ★★★☆☆
Professor Rating (0 / 5): ☆☆☆☆☆
Lecture Rating (0 / 5): ☆☆☆☆☆
Difficulty (2.9 / 5):
Workload: 15 hours/week
Good course overall. The first half of the course is intimidating, especially the first couple of homeworks. It gets much easier afterwards. The second half of the course is definitely more structured and easier to cope with. The course is very theoritical and only gives a bit of practice in the programming assignments.
Overall Rating (2.9 / 5): ★★★☆☆
Professor Rating (5 / 5): ★★★★★
Lecture Rating (4.3 / 5): ★★★★☆
Difficulty (5 / 5):
Workload: 18 hours/week
I took this course based on the past reviews in MSCShub and due to the hype on LLMs. While the lectures by Prof Durrett were good, I feel like this course has got far better reviews than it deserves due to the active participation of the professor and TAs on Ed Discussions. Though I ended up with a good grade (A), this was a very challenging course and I was stressed all the time
Pros:
1. Professor is extremely active on the ed discussion and very approachable.
2. Easier final project (the major part of the final project is about training models and analyzing the results , not coding). Average score on final project is low 90s.
3. Lectures were quite engaging and concise.
4. Very hot topic.
Cons:
1. Assignments 2 and 3 were difficult and push you to the limits.
2. Midterm was quite tricky and test your ability to implement algorithms on a paper.
3. Impossible to get full credits on final project as we were told that even great projects that has little or no issues can get lower credits.
4. Need to get GPU or Colab premium
Detailed Review:
This course has a charismatic professor who is quite active on Ed Discussions and even replies to student questions. While his lectures were good and succinct, the assignments were a big step up from the lectures. In particular, Assignments 2 and 3 were super hard, and so was the midterms. Final project in comparison is relatively easy as the critical tasks for the fp was training the model and analysis of the results.
This course is among the difficult courses I have taken in the MSCS and certainly needs far more efforts that the one mentioned in past reviews.
Overall Rating (2.9 / 5): ★★★☆☆
Professor Rating (1.4 / 5): ★☆☆☆☆
Lecture Rating (2.1 / 5): ★★☆☆☆
Difficulty (5 / 5):
Workload: 25 hours/week
Pros:
1. TAs were awesome
2. Professors were ok, but hey, there's a curve
3. Explore theoretical cs : )
Cons:
1. Explore theoretical cs : )
2. Problem Sets were time consuming
3. Exams were...hard
Detailed Review:
Yeah so like the title says, I only took this course because it's the only one I had not completed offered. I am almost done with this program and here we are. The review before mine was pretty spot on. I never really felt like I had a total grasp of the course material or comfortable with the course pace like I did other courses.
If you are not comfortable with proofs and later, probability, stay away, or at least refresh yourself before. The course covers a broad range of topics, but the exams require what seems like extreme depth of these topics. I'm not kidding here either, the professors have zero problem giving PhD level questions in problem sets (from a TA)—this is a good and a bad thing I suppose.
All of the TAs were awesome and gave more than generous help in their office hours, shout out to them for dealing with all the student gripes and complaints about the material. Overall, I thought the course material was interesting, but think it could probably be focused more on fewer topics.