Overall Rating (4.3 / 5): ★★★★☆
Professor Rating (4.3 / 5): ★★★★☆
Lecture Rating (4.3 / 5): ★★★★☆
Difficulty (2.1 / 5):
Workload: 8 hours/week
Pros:
1. Lectures are well structured and include a lot of practical examples and tips on how to use PyTorch effectively/efficiently.
2. Quizzes are very easy if you watch the lectures.
3.
Cons:
1. Lectures do not go into too much depth into the topics and are mainly the CliffsNotes versions of them.
2. Assignments 1 & 2 are fairly trivial
3. Requires use of either a decent gpu or Colab access.
Detailed Review:
In general, the class is one of the better paced when it comes to this program, with lectures split into several shorter videos regarding one topic (rather than one/two long lectures per week). This includes both lectures with the professor and python notebook walkthroughs with code examples on each of the topics. Both of these are very useful resources in general, but especially for the homework.
Speaking of the homework, the first 2 assignments can be completed in a couple hours at most, especially if you have prior experience with PyTorch. Assignments 3 & 4 ramp up the difficulty, but not by too much. Most of the time you spend on these assignments will be waiting for your models to train anyway.
Overall, if you're looking for an in-depth look at Deep Learning this class probably isn't worth your time (maybe the pt.2 of this class will be that?) but if you're just looking for something to dip your feet in the water then this is the closest this program has to that (for better or worse).
Overall Rating (4.3 / 5): ★★★★☆
Professor Rating (5 / 5): ★★★★★
Lecture Rating (5 / 5): ★★★★★
Difficulty (5 / 5):
Workload: 25 hours/week
Pros:
1. Unique course that tackles the cutting edge of computer science
2. Highly mathematical with interesting subjects ranging from quantum physics to abstract algebra to proofs If you're into that
3. All the course material is available from the beginning so you can go as fast as you want
Cons:
1. Very limited application outside of theoretical subjects at the moment
2. Time consuming homeworks
3. Exams are very tricky and hard to prepare for unless you have had a graph theory/abstract algebra background
Detailed Review:
Overall, a really nice course- the lectures by professor Aaronson are nice too. The entire course material for the spring 2023 was based off of a PDF you can find online. I will say the exams were very tricky and required some insight into the problem and a thorough understanding of the algorithm that would be changed slightly to fit the exam problem. So the advice I would give is to read the book but also try out different variations of the algorithms and ask about them in the discussion forms.
TA support was excellent
Overall Rating (4.3 / 5): ★★★★☆
Professor Rating (5 / 5): ★★★★★
Lecture Rating (4.3 / 5): ★★★★☆
Difficulty (4.3 / 5):
Workload: 13 hours/week
Pros:
1. Course staff was extremely responsive to queries on official channels.
2. All of the resources provided were great and addressed almost anything that could be asked; all content was available from day 1 with the exception of exams that could only be completed within certain windows.
3. During the first run of the course, it seemed like the instructional staff were open to feedback for modifications to future runs of the course.
Cons:
1. Uncertainty of the grading scale was a cause for concern in some students; we found out the grading scale after the course was complete. Do the best you can on everything and hope that it's enough.
2. With the quizzes and homeworks having the same due dates at times, it made it a challenge to adjust my understanding of content to perform well on some quizzes.
3. There was at least one week where the amount of reading numbered in excess of 100 pages. This was on top of lectures and any other life events you might have going at the time.
Detailed Review:
Let me start this detailed review by stating that my average grade on all of the completed assignments as a 72. This resulted in an assigned grade of B-.
My background includes course work that lead to a BS in Mathematics with a minor in Electrical Engineering from a public US university. Prior to this course, I have successfully completed DSC 381 PRB, DSC 382 RGR, and DSC 391L ML. While taking this course, I was also working 40+ hours a week and taking Optimization. I am married but without kids, so family obligations existed but were minimal compared to those with kids.
The course is broken up into seven parts: (1) Intro to Causal Inference; (2) Randomized Studies; (3) Causal Inference in Regression; (4) Observational Studies; (5) Analyzing Observational Studies; (6) Quasi-Experimental Methods; and (7) Next Frontiers in Causal Inference. The first five parts have anywhere from two to three homework assignments and a culminating quiz. The sixth part only have a homework assignment, and the seventh part wasn't assessed.
Part (1) of the course was a bit of a shock to me as it seemed to have a more subjective take on things whereas I had been used to all of my coursework in undergrad and grad being almost 100% objective. Pay careful attention to the wording of things in lecture and on assignments, and you should be fine. Part (2) of the course introduced a lot of new vocabulary and notation that carries on throughout the rest of the course, so take note of it and make sure to grasp the big ideas. This brought me to the first midterm. We were given 24 hours to complete the open note midterm from the time we hit "Begin". Ultimately, if you didn't understand the concepts, infinite time wouldn't have helped.
Part (3) should be simple if you understood the content from DSC 382 RGR or some other experience with regression. That said, I didn't allocate enough time to complete all of the assignments for this part. I should have started immediately after I completed the midterm but gave myself a break since nothing was due for two weeks. Bad choice. Stay on top of the learning and don't set your pacing based solely on due dates.
Parts (4) and (5) contain a lot of information, so be prepared to ask follow-up questions to truly master the content. I didn't make time for this, and it showed on my homework and quizzes. The need to use R (or Python) picked up by quite a bit in these parts, and my lack of experience in R necessitated a bit more time to score what I did. Part (6) rounded out the content that was primarily tested on the final exam. It wasn't necessarily difficult, but again, you need to make time to process all of this great information.
Overall, I'm confident that I could not walk onto a job tomorrow and implement these ideas with a high degree of success; however, I do think that I have a strong foundation to build upon and could successfully implement them within 6 months after having enough time to process everything. I think it would be a good/interesting addition to the course to have Dr. Zigler take a set of new data and allow us to observe him go through the process of analyzing it from start to finish, making connections between what he's doing and what we learned in the course. It's possible that video could be too long for most, but I think the quality of such a video could be above all else.
Overall Rating (4.3 / 5): ★★★★☆
Professor Rating (5 / 5): ★★★★★
Lecture Rating (5 / 5): ★★★★★
Difficulty (2.1 / 5):
Workload: 8 hours/week
Pros:
1. No exams writing-based assignments/projects
2. Interesting midterm and final
3. Engaging lectures provided by Prof. Fleischmann
Cons:
1. Open-ended/unclear instructions for final writing project
2. Weekly readings can be dense
3.
Detailed Review:
This was one of the first courses I took as an MSAI student. This course is required for the degree, but by far provided the most interesting perspective and application. Throughout this course, you gain a solid understanding of the history of ethical principles around the world, as well as different perspectives on how they apply to technological developments. The midterm and final projects allow for a good application of the ethical principles learned. The prompts provided for each project are genuinely thought-provoking. Each week, there are discussion posts/lecture quizzes due. The grading for both is pretty straightforward; however, it's important to do the readings before the lecture quizzes, as you only get one attempt for questions, and each is weighted heavily. Additionally, it's also important to start the final project early because the instructions are vague and open-ended. In the 2024 fall semester, the broad nature of the instructions led to confusion about the expectations of the project. Overall, this course is a solid introduction to the MSAI program and highlights the importance of ethical considerations in our AI learning.
Overall Rating (4.3 / 5): ★★★★☆
Professor Rating (1.4 / 5): ★☆☆☆☆
Lecture Rating (0.7 / 5): ★☆☆☆☆
Difficulty (5 / 5):
Workload: 30 hours/week
Pros:
1. Can gain real-world research experience.
2. One of the most difficult things I've done academically.
3. Learned new skills.
Cons:
1. Having a non-communicative advisor is quite difficult.
2. Morale can suffer if results don't come.
3. Consumed a considerable amount of time.
Detailed Review:
I wanted to put more time into learning quantum computing and since there was only one course offered I saw the thesis option as the way to do that. Finding an advisor is one of the toughest parts about making this option available to you. Getting a good, communicative advisor would appear to be like winning the lottery from my experience. I poured so many hours into my research topic, which I chose myself, that it would be embarrassing to report (when I include all the weekends, too). I also paid to extend by an extra semester and took 3 thesis courses in total (698A once and 698B twice). Overall, I'm glad I did it as it showed me that I can complete hard things and put all of what I have into something.
Overall Rating (4.3 / 5): ★★★★☆
Professor Rating (5 / 5): ★★★★★
Lecture Rating (4.3 / 5): ★★★★☆
Difficulty (1.4 / 5):
Workload: 3.5 hours/week
Pros:
1. Good balance between theory and application
2. Lectures and notes are well-structured and easy to understand
3. Low time commitment
Cons:
1. A "just use this package" approach to some portions
2. Last 4 weeks are a repeat if you've taken Causal Inference
Detailed Review:
This was my last course in the program, and I thought it was on par with data viz as one of the easiest. If you're coming in with a strong stats background, you can probably jump right into this course and do fine, but if not, I would take Probability and (arguably) Regression first. Knowledge from those two courses is assumed and generally not reviewed in depth in this class.
The course is broken up into 4 segments - survival analysis (6 weeks), longitudinal analysis (2 weeks), observational studies & causal inference (2 weeks), and randomized experiments & statistical power (2 weeks). The last two sections in particular are largely review if you have taken Causal Inference.
I thought Dr. Parast was one of the best lecturers in the program for the clarity of her explanations and the way she weaved theory and application together. The TA and LFs were great too and offered lots of helpful explanations. The general formula throughout was for the professor to explain high level concepts, work through a simple example by hand, and then walk through code (R only) showing a more complex example. My one criticism is that she often glosses over some of the more complex math in favor of a "just use the package" approach. While that certainly makes the course easier, you're on your own if you want more depth.
(For those who hate R, there is no graded code in this course. You can use Python or another language if you want, but you shouldn't expect any instructor support if you're not using the tools provided.)
On that same note, homework assignments are generally not very difficult. The theory questions can usually be answered straight from lecture or the course notes, and applications are usually a matter of replacing variables in the professor's sample code. Almost everything is multiple choice too. The midterm and final are similar in structure but include some fill-in-the-blank numerical answers.
This course probably has the lowest time commitment of any in the program. Lectures average about 2.5-3 hours a week if you watch everything, and homework assignments took me about an hour every other week. The only slight timing challenge is that the midterm and final exam windows are strictly 48 hours each - not that the exams take that long, but the open and close times are tighter than for most other courses in the program.
Disclaimer: Spring 24 was the first time this course was offered. The professor treated this course almost like a beta version (in the sense of actively looking for user feedback, not lack of polish), so I would expect some changes/refinement in future semesters.
Overall Rating (4.3 / 5): ★★★★☆
Professor Rating (3.6 / 5): ★★★★☆
Lecture Rating (4.3 / 5): ★★★★☆
Difficulty (4.3 / 5):
Workload: 15 hours/week
Pros:
1. Good breadth of information covered
2. Engaging assignments with a mix of theory and application
3. Piazza was incredibly helpful
Cons:
1. TA office hour schedules felt sporadic
2. A lot of additional studying required if you don't have a strong background in the prerequisite requirements
3. Digital notes are not permitted for open-note exams. Everything must be printed
Detailed Review:
This was my first course in the MCSO program, and it was a great one to start with. This course gives a solid introduction to Machine Learning through thoughtful lectures and well-crafted homework assignments that require you to really understand the lecture content. As mentioned in the syllabus, a background in calculus, linear algebra, and probability and statistics are required. Do not take these requirements lightly. I had some background in all 3 of these areas, but still needed to do a hefty amount of supplemental studying on these topics before I really understood the actual course content.
From what I have gathered, most people find the first part of the course harder than the second part of the course. I personally felt the opposite - the second part of the course was much harder for me than the first part. I guess this will depend on your own comfort with the prerequisite material and interest level in the content.
Overall, this was a great first course to take, and an enjoyable introduction to both the program and to Machine Learning.
Overall Rating (4.3 / 5): ★★★★☆
Professor Rating (3.9 / 5): ★★★★☆
Lecture Rating (4.3 / 5): ★★★★☆
Difficulty (4.3 / 5):
Workload: 20 hours/week
Pros:
1. Lecture content is quite interesting and well-explained.
2. Assignments are a good challenge and are deep enough to get a good understanding of the relevant parallelization techniques without being excessive.
3.
Cons:
1. Assignments (particularly assignment 5) can be a bit ambiguous, and those ambiguities aren't necessarily clarified.
2. Extra credit only applies to the assignment it is gained in, and this was not told to us until quite late into the semester.
3.
Personal Background: Math + CS undergraduate degree. First semester in the program and also did NLP this semester. Got an A in this course.
Detailed Review:
Be warned that Assignment 2 took substantially longer than the rest of the assignments for lots of students. Assignment 3 & 5 were somewhat ambiguous, and 5 was particularly annoying because our different interpretations were 'design choices' (rather than them telling us what interpretation to choose), and yet we were expected to be close to their answer for correctness (but they didn't tell us what interpretation they chose).
The above didn't have much of a negative impact on my course experience. Overall, it was a good course with interesting lectures and assignments.
Overall Rating (4.3 / 5): ★★★★☆
Professor Rating (2.9 / 5): ★★★☆☆
Lecture Rating (2.1 / 5): ★★☆☆☆
Difficulty (2.1 / 5):
Workload: 10 hours/week
Pros:
1. generally not too difficult
2. a reasonable first class to take in the program
3.
Cons:
1. class material is divided and taught by two different teachers, with varying results
2.
3.
Detailed Review:
The first portion of this class isn't BAD, but it is probably what most students struggle with in this course: getting into probability, combinatorics, throwing in some calculus, etc. The first couple of homeworks are some of the hardest of the semester, but assignments get easier (and more interesting) once you're in the second half of the semester and working on simulation rather than probability. I think the general concensus is that the second teacher (who covers simulation) generally does a better job and makes the material more interesting than the first teacher (who covers probability). The first teacher isn't responsive to questions on piazza and his material is pretty dry, but still workable. The second teacher is much more responsive on piazza and was a generally involved teacher who was open to discussion or questions.
If you already have a stats background, a good portion of this class will be review for you. If you're totally new to this material, you'll have to work more, but it's entirely reasonable for any person to get an A in this class with enough effort. Depending on your familiarity with the material, you could probably spend anywhere from 5-15 hours/week on this course to completely cover all the material and do assignments.
Overall Rating (4.3 / 5): ★★★★☆
Professor Rating (5 / 5): ★★★★★
Lecture Rating (5 / 5): ★★★★★
Difficulty (4.3 / 5):
Workload: 15 hours/week
Pros:
1. Both the lecturers did an amazing job of explaining their respective parts along depth and breadth.
2. I am glad I took this course after Deep Learning, gave me a good understanding of how some of the nuts and bolts work.
Cons:
1. Assignments for the second half got a bit repetitive.
Detailed Review:
Overall pretty well run course, TA support was excellent. Personally, I was not prepared for the difficulty level this course offered. Based on the review at the time. It seemed that this would be a pretty casual course. 2 assignments in, the difficulty gradually started to increase for optimization until the second half started. Exam was pretty difficult as well.