Overall Rating (5 / 5): ★★★★★
Professor Rating (0 / 5): ☆☆☆☆☆
Lecture Rating (0 / 5): ☆☆☆☆☆
Difficulty (3.9 / 5):
Workload: 24 hours/week
Excellent class. All of the course materials can be found here: http://www.philkr.net/dl_class/material
Read course reviews and ratings written by other students.
Data sourced from mscshub.com.
Overall Rating (5 / 5): ★★★★★
Professor Rating (0 / 5): ☆☆☆☆☆
Lecture Rating (0 / 5): ☆☆☆☆☆
Difficulty (3.9 / 5):
Workload: 24 hours/week
Excellent class. All of the course materials can be found here: http://www.philkr.net/dl_class/material
Overall Rating (5 / 5): ★★★★★
Professor Rating (5 / 5): ★★★★★
Lecture Rating (5 / 5): ★★★★★
Difficulty (2.1 / 5):
Workload: 6 hours/week
Detailed Review: Pros: 1. High quality lectures, clear example code 2. TA's really responsive on Ed 3. Homework fairly easy, exams are essentially take home Cons: 1. Lighter on theory 2. 3. Detailed Review: Overall, this was a really well-delivered class. Prof. Parast's lectures are well-paced and clear, with accompanying lecture notes and thoroughly documented R code. She gives a good overview of biostatistical concepts, though she occasionally hints at their applications in other disciplines, like economics. Not a con, per se, but compared to other classes in this program, it's lighter on the theory. She doesn't always elaborate on the inner workings of some of the more complex R functions and packages, though she does an excellent job of describing their applications. The TA's were really helpful on Ed, especially the lead TA who provided detailed answers, often with links and citations, to every question, including the more involved ones. The 6 homework assignments were mostly simple (i.e. 15 questions of basic definitions, calculations, and R programming), and the lowest grade gets dropped. I thought the midterm and cumulative final were considerably more difficult. Many of the questions either required additional steps and calculations compared to the homework or weren't covered in the homework at all, but I thought they were overall fair. There's a 48-hour window to complete both exams, and they don't have to be finished in one sitting. Overall, the workload was fairly manageable, at the lighter end for this program, but I still felt like I learned a considerable amount.
Overall Rating (5 / 5): ★★★★★
Professor Rating (4.3 / 5): ★★★★☆
Lecture Rating (4.3 / 5): ★★★★☆
Difficulty (5 / 5):
Workload: 15 hours/week
Pros: 1. Covers a lot of topics and concepts 2. TA office hours almost every day and varying times from 1000 CST to 2000 CST 3. Solid community and support from peers Cons: 1. It honestly required pre-requisite background knowledge, but can be overcome if you do not have it (it just costs time) 2. Guidance for exams was a shot-gun blast. It changed day-to-day on Piazza. 3. I'm not a fan of swapping out instructors halfway through. It makes it feel like 2 semesters smashed into one. Detailed Review: For context, I have a non-CS/non-Math undergrad. If I'm lucky I'll end up with a B- because it has been drinking from a fire-hose trying to catch up on probability and statistics, calculus, and linear algebra (in that order). The first half of the course was painful because I could not follow along with any of the mathematical concepts, but I was able to obtain a conceptual understanding that saved me in the mid-term. I probably spend at least 20 hours/week during the first half of the course. Prepping for the midterm I probably spend 50-60 hours/week. In the second half, the course was immensely easier. I probably spent an honest 10 hours/week or less. In the first half, I was busy digesting tons of background mathematical knowledge that was required so the second half made a bit more sense. The homework was rough. I attended almost every TA session during the first half of the course. In the second half, I attend a TA session maybe 1-3 times per week and was able to complete all the assignments. Again, I do not have the background to do the mathematical proofs and that was where I really struggled. Some of the programming assignments were difficult for me to pick-up, but ultimately fairly trivial. The support of the class is what really made me enjoy it. Having Slack and Discord to talk and discuss the topics helped a ton. We had a study group that really made a difference and started building a little community. I did not do well with solely Piazza because I felt like I could not intelligently convey what I was struggling with through written language. I was stuck in a "You don't know what you don't know" type of loop. Thankfully, discussing the topics with peers really helped a ton. The Piazza was definitely there if you needed it thought. The textbook was only used for the first half. The second half had a draft textbook for free. I used both books extensively along with numerous other resources like 3blue1brown and StatQuest.
Overall Rating (5 / 5): ★★★★★
Professor Rating (0 / 5): ☆☆☆☆☆
Lecture Rating (0 / 5): ☆☆☆☆☆
Difficulty (1.8 / 5):
Workload: 15 hours/week
This class was awesome. It's one of the best taught classes in the program. I loved the enthusiasm put by the teachers and the content is of great quality. I found this course not too easy but it was probably due to my background and my college experiences. I surely learnt a lot about proof by induction! If you put the effort needed is probably easy peasy.
Overall Rating (5 / 5): ★★★★★
Professor Rating (4.3 / 5): ★★★★☆
Lecture Rating (4.3 / 5): ★★★★☆
Difficulty (4.3 / 5):
Workload: 30 hours/week
Pros: 1. Great parallelism experience with several languages and environments 2. Grade is project based so no exams/midterms 3. Projects cover a variety of applications and TAs were very helpful and responsive Cons: 1. Heavy workload 20+hr/week if you are an expert programmer 30+hr/week if you don't code for a living in systems languages 2. Verifying your code can be a challenge - getting support in Ed and especially discord can be a game changer with additional test cases. 3. This is a class where the lectures cover 30% of what you need and you need to figure out the other 70% Detailed Review: In this class you cover various aspects of parallelism... on CPU (pThreads) on GPU (CUDA) and across systems (MPI), on a variety of languages such as C/C++/Go/Rust with pThreads and MPI. As a non-CS major / non software development background, this can be a heavy class, but doable if you stay on top of it. The times I have spent on each project: Lab 1: 42 hours Prefix Sum: C/C++ with pThreads Lab 2: 140 hours Parallel K-means with CUDA and Thrust Lab 3: 52 hours Parallel BST Comparison with Go Lab 4: 78 hours Parallel Two phase commit in Rust Lab 5: 105 hours n-Body simulation with Barnes Hut using C/MPI This is across 15 week period with each project deadline every 3 weeks or so. I don't recommend taking this with anything else other than maybe CSML unless you already have a strong C/C++/Rust background. Some of the projects had starter code you had to go through to understand... some you start from scratch... each with challenges of their own. When it comes to setup, you'll need a system with nVidia GPU to do the CUDA lab or use Codio (online platform they provide). Setting environments can be a pain, but makes for easier debugging. Just using Codio is much simpler to get started, but development and debugging is much harder (at least for me it was). 100% recommend taking this class.
Overall Rating (5 / 5): ★★★★★
Professor Rating (5 / 5): ★★★★★
Lecture Rating (4.3 / 5): ★★★★☆
Difficulty (3.6 / 5):
Workload: 16 hours/week
This was a challenging but ultimately very rewarding course. The professor does a great job of explaining complex topics as well as providing organized lecture notes, and the TAs are very supportive on Piazza. The workload is significant, but not impossible. Be prepared to dedicate a good amount of time each week, but what you learn is directly applicable to real-world problems. Pros: 1) Practical Homework: The homework are the best part of the course. You're not just working on theoretical problems; you're building and training models in a way that feels directly applicable to scenarios you'd encounter in a data science job. This hands-on experience is invaluable. 2) Helpful Structure: The weekly quizzes are fairly straightforward, which helps balance the overall workload. The real challenge comes from the four main homework assignments, which are much more in-depth and where the most significant learning occurs. 3) Excellent Office Hours: Going to office hours is highly recommended, especially for the homework assignments. The TAs are fantastic at walking you through roadblocks. If you make an effort to go, you can often get ahead on the work and finish assignments early. Cons: 1) Heavy Workload: While the work is beneficial, 16 hours a week is a serious commitment. It can be tough to manage alongside other demanding courses, so you need to be diligent with your time management from day one. However, if you already have background as a coder and in ML, then you may not need 16 hours... 2) Theoretical Complexity: While the lectures are very good, some of the underlying mathematical concepts are dense. You may need to do some extra reading or review on your own to fully grasp the theory behind some of the more advanced models. Overall Verdict: Highly recommend this course if you're serious about deep learning. The practical skills you gain are worth the effort. Just be ready for the time commitment and make sure to take advantage of office hours.
Overall Rating (5 / 5): ★★★★★
Professor Rating (5 / 5): ★★★★★
Lecture Rating (5 / 5): ★★★★★
Difficulty (5 / 5):
Workload: 25 hours/week
Pros: 1. Extremely well taught 2. Extremely interesting and valuable subject 3. Surviving it will make you invincible as an AI specialist Cons: 1. We live on a placid island of ignorance in the midst of black seas of infinity, and it was not meant that we should voyage far 2. I have looked upon all the universe has to hold of horror, and even the skies of spring and flowers of summer must ever afterward be poison to me 3. The Thing cannot be described - there is no language for such abysms of shrieking and immemorial lunacy, such eldritch contradictions of all matter, force, and cosmic order. A mountain walked or stumbled. Detailed Review: ALR is a wonderful and frightening course. It is a perfect online course in terms of the attention and effort and love put into it, on a subject that is not very easy to teach. A subject that is basically the dark side of the moon of AI. Or Eldritch horrors infinitely older than the universe itself given how the field had its equivalent of an AlexNet moment over 120 years ago You will be inclined to underestimate it when you start the first week off with first order logic refreshers and the phrase "multiple choice quiz". Make no mistake though, you will need to be very elaborate with these. So grab a pencil and some paper, convert each and every one of the multiple choice answers into logical symbols and then process them just like the formal verification systems you are studying. Without exception Sure, you might have a few years of test taking experience and some corresponding instincts to make educated guesses when facing multiple choice tests. But this professor was trained in test-taking like a Shaolin monk. She was filling Scantrons before she could walk. All puny corner cutting tricks you can possibly come up with are accounted for. Any disrespectful instance of not paying attention is swiftly punished as a wrong answer. Think of that puzzle cube in Hellraiser, that's the quiz format. And Professor Dillig is the Leviathan Do you think I am exaggerating? No, I am downplaying it if anything. She survived the Battle Royale that is the Turkish K-12 system that required her test scores to be in the top 99.9th percentile, that is top 1500 out of 1.5 million 8th graders yes, to get into the high school she attended. As if that is not enough, she then went on to get accepted into Stanford Those quizzes are written by the Zorro of test-taking, and you are a little baby who can barely use a fork Oh and if you have anything resembling dyslexia or some attention deficit disorder or sleep deprivation or undiagnosed hypermetropy, lol. Lmao even.
Overall Rating (5 / 5): ★★★★★
Professor Rating (5 / 5): ★★★★★
Lecture Rating (3.6 / 5): ★★★★☆
Difficulty (5 / 5):
Workload: 40 hours/week
Pros: 1. No quiz, only lab 2. small class 3. System level material, you will have confident working with parallelism using thread and process in the end 4. There are lecture slides? Cons: 1. programming intensive, prepare for your life to work on the assignments while crying 😢 2. crying 😢intensive programming, for your the assignments while prepare work life to on 3. Parallelism is a really difficult subject to tackle. 4. This course is entirely practical, lectures won't help you anywhere. Work ahead if you can. Detailed Review: Average assignment: 30 hours Average crying: 10 hours Average crying second round: 10 hours Recommendation: - Learn C++ - Get a Nvidia machine to learn CUDA - Learn Go - Learn Rust - Learn Physics ( Don't watch interstellar, watch TENET) - Learn MPI
Overall Rating (4.6 / 5): ★★★★★
Professor Rating (4.3 / 5): ★★★★☆
Lecture Rating (4.3 / 5): ★★★★☆
Difficulty (4.3 / 5):
Workload: 15 hours/week
Pros: 1. Homework projects are all game-related and very interesting 2. A huge TA/supporting team of 6-8. TA office hour almost everyday 3. Lectures are well explained Cons: 1. No slides are given for the lectures 2. Sometimes not very clear definitions of inputs/outputs for the coding projects 3. A bit tedious into details, for some of the trees Detailed Review: Overall, I have mixed feelings about this course, but I like it the most out of the four courses I have taken so far in MSDS. There are pros and cons in many aspects of the course. Nevertheless I feel that I learn a great deal out of it. On the positive side, the homework projects are all game-related, which makes them very interesting. Additionally, the course has a large TA/supporting team of 6-8 members who are always available to answer questions and provide assistance. Furthermore, the lectures are well-explained by a knowledgeable professor who uses examples to explain concepts and summarizes key points for each session. However, there are some negative aspects to the course. Firstly, no slides are given for the lectures, and the professor uses chalk and board, which slows down the pace. If you need to look up something later, you have to watch part of the lecture video again. Secondly, some of the coding projects have unclear definitions of inputs/outputs, which can be a distraction from the main purpose of the course. Students sometimes need to ask questions on Piazza but do not receive clear clarifications. Finally, some of the trees can be a bit tedious to work with. The homework projects are a lot of fun because they involve building games with Python. The starter code and test cases provided are really helpful in verifying if my code is on the right track. However, some issues with the homework include the lack of clear definition about input/output, which can be frustrating. Moreover, Python iterators are used in some projects, but they are not taught in the lecture. Fortunately, we have a great TA team of more than 6 members who are always available to help with questions and code issues. Nonetheless, some of the quiz questions can be tricky. I have a background in physics and do not actually do coding at all in my work. I took the U of Michigan "Python for everybody", and part of the Stanford's "Divide and Conquer, Sorting and Searching, and Randomized Algorithms" course, both on Coursera, before taking this course. With those preparation, I feel the level of difficulty of this course is manageable for me. From spring 2022 to fall 2022 (the semester I took this course), they made quite some changes to the course. I hope they can make this course even better for future students. Grades cutoffs for my semester (I would say it was very generous) A > 84% A- > 76% B+ > 72% B > 64% B- > 58% C+ > 47% C > 0%
Overall Rating (4.6 / 5): ★★★★★
Professor Rating (5 / 5): ★★★★★
Lecture Rating (5 / 5): ★★★★★
Difficulty (3.6 / 5):
Workload: 8 hours/week
Pros: 1. Fun homeworks 2. Helpful TAs 3. The textbook is actually fun Cons: 1. Easy to get lost in the C sauce Detailed Review: I really enjoyed the class and the group projects - I think it was very manageable and clear and interesting. I wish that we could have a little more explanation of the basics of XV6 (the sandbox OS for the class) before getting started, since it can be really confusing to have to dig for things all over the file directory.