Average Workload
Average Difficulty
Average Overall
Background: minor in CS in undergrad, working as a dev for a decade. Second OMS class, first AI-related class ever.
The class material and assignments in AI were really good, but time-intensive. The class covered everything from classical search to game AI to ML algorithms. At its core, it's an AI survey class where you implement algorithms. The first half is doable with just good programming skills, but second half ramps up brutally with the math almost like flipping a switch, mainly (Bayesian) probability and some linear algebra. My math background is a work in progress and my last real math class was in the 2010s. I didn't prep much for the math beforehand and just picked up what I needed to on the fly. But the better you are at Bayesian probability and in general with reading and understanding arcane math notation, the easier the class will go. I found the second half of assignments more difficult than the first half, but those with a stronger math background got through them more quickly and easily than I did. Conversely, because of my background, I'm probably a stronger programmer than many of the students who are out of school or Jr devs and found the first couple assignments easier, though still quite time consuming. Start working on assignments the day they are released. I spent between 12 and 19 hours in-editor working on the code for each assignment.
The class is organizationally a mess, run 99% by TAs, and the midterm and final exam both had a week of corrections afterwards with much drama abound (TAs write the tests from scratch for each semester). On one hand, it's very clear the TAs try to make the tests fun, engaging, and relevant educational opportunities, so a round of applause to them for the effort. When the questions worked, they worked and felt like fun puzzles rather than test questions. But on the other hand, the questions and answers are riddled with errors. The staff claims they go through a QA process, but I suspect the process can be improved. Both my midterm and final grades went up by double digit percentage points by the time corrections were over because of errors the TAs made in either the questions or their answer keys. Additionally, the tests throw in questions about concepts that were not covered or expected knowledge, like Q-learning or the details of convolutional networks. Great idea in theory, but stressful and pedagogically questionable to throw on an exam without advance notice. The plagiarism/honor policy is weird and has a chilling effect on collaboration. But despite this, there was a super active Discord with a good sense of community and commiseration.
I skimped on the readings, but at least skimmed through all of them. The textbook is a good resource, but gets dense with math notation, especially in the ML sections. While using outside resources like watching YouTube videos, reading Wikipedia, or chatting with ChatGPT to understand a concept would have been a forboden violation of the class' plagiarism/honor policy and so I did not do any of those things, I certainly thought about doing those things but definitely did not act on those thoughts in order to better understand the material or get a better background for the material.
So overall a mixed bag with with challenging and interesting material where I learned a lot in spite of needless drama, frustration, and difficulty because of the class's implementation. Worthwhile? Ultimately yes, but be prepared to spend a lot of time and be a little frustrated. I spent 175 hours total on the class, peaking at 21 hours one week, but with most weeks being closer to 14 hours of effort on average. I got an A, but definitely didn't get everything I could have out of the material just because of time constraints with work/life.