silent-spider-7795
Edited
• 3 Credit Hours
Key adjectives used by students — color intensity reflects sentiment
silent-spider-7795
Edited
brave-deer-4093
Edited
pure-turtle-5876
Edited
vivid-wolf-4607
Edited
humble-leopard-6201
Edited
stable-gecko-2878
Edited
mighty-starling-5341
Edited
bright-puma-3412
Edited
smooth-planet-8601
Edited
bright-marten-1541
Edited
Course has many interesting topics, TAs are helpful and this course has one of best TA support but everything else is made as confusing/hard as can be made. Each assignment has different number of gradescope submissions for no reason. Assignment 2 is not hard but you need an element of luck, that assignment works on gradescope for a small range of parameters. With limited attempts available, you have to be lucky to get it right even when your code is right. 6 attempts per 6 hours doesn't means 24 attempts in a day because most OMSCS students have job and need bare minimum sleep to survive. Basically, it translates to 6 attempts per day. Some other assignment instructions are made lengthy just because nothing should be straight forward. Focus in exams is on making them lengthy which leads to too many students seeking clarifications throughout the exam window. All this with MOOC level lectures. Overall, amongst most stressful courses in AI/ML specialization.
This is an exceptionally difficult class. For context: I likely have more experience with Python than the average OMSCS student, but less overall CS experience. I took several related classes to prepare me for this one (KBAI, Game AI, AI4R, etc.), and it was still rough. But how difficult you find each assignment greatly depends on your familiarity with each section, and what your natural aptitudes are. Additionally, part of the difficulty comes from the strict plagiarism policy, which limits the external resources you can consult.
Here's a breakdown of each assignment:
A1 - A*. ~60 hours if you haven't taken a graduate-level class that teaches A* at a high rigor, ~20-30 with. Expect extra time if you want a 90%+. It took me ~40, and I found it to be the easiest assignment both to conceptualize and to program, despite most students saying that it's by far the hardest. The time investment comes from implementation size rather than conceptual difficulty.
A2 - Game playing. ~40h if you're not comfortable with recursion and debugging complex recursive algorithms, ~20h with. I had a terrible time with this assignment due to misinterpreting the provided documentation, but otherwise thought it was conceptually straightforward.
A3 - Bayes nets. If your understanding of graduate-level stats is solid, this assignment can be done in 5-10 hours. Otherwise, you're in for a rough couple weeks. I spent ~30 hours prepping for the assignment, and another ~30 on the assignment itself. This assignment requires a tenth of the coding of assignment 1, but it was far more difficult for me.
A4 - Machine learning. If you're comfortable with numpy and vectorization, ~20 hours, ~40 without. This was the first assignment I felt that the provided material was not enough to understand the concepts, so I had to do a lot of self study.
A5 - Gaussian mixture models. This is a very polarizing assignment. The first half requires what I thought was incomprehensibly obtuse numpy broadcasting and spatial reasoning, and it was easily the worst experience I’ve had in any CS class due to a complete mismatch with my aptitudes. The second half is comparatively trivial and doable in an hour or two. If you have strong linear algebra skills and a good working spatial memory, this will likely be a breeze. Otherwise, expect ~50 hours on the first half alone.
A6 - Hidden Markov models. I didn't do this assignment, but the folks that did said it was on par with the difficulty of assignment #4.
Difficulty: A5 > A3 >> A4 > A2 > A1 Time taken: A5 > A1 > A3 > A2 > A4
The midterms and exams are a great way to review and solidify your understanding of the material. However, you aren't really graded on your understanding of the material, but rather on how well you can solve dozens of problems without any mechanical errors. Being off by one decimal after 2 pages of math is worth 0 points, as is taking the right approach but making a minor mistake along the way. In addition, there are several ambiguously-worded questions and later-corrected solutions, and I found it to be a stressful experience. There's a 24 hour challenge period after the exam ends where you can argue your case for why your incorrect answer should be marked as correct. Expect your grade to jump as much as 1-2 letter grades (yes, 10-20%) after regrading. I asked for clarifications on a couple questions but was denied due to exam policies, so I had to guess between two answers, and later learned I chose the wrong ones. But overall, I found the TAs to be pretty generous and forgiving with points.
Effort expended on exams does not necessarily correlate with a higher grade. Don't beat yourself up if you test poorly, it doesn't correlate with how well you understand the material.
Lecture quality and usefulness varies. Some lectures were too high level, and others were better grounded in examples. I strongly recommend reading the textbook. I fully read or skimmed ~1000 pages throughout the course.
I didn't personally find the discord helpful. Due to the plagiarism policy, most students are hesitant to share any tips, so it's better for morale-checking rather than assignment help. I recommend sticking with EdStem. The TAs are responsive and usually helpful, but they're sometimes hesitant to share concrete tips. Office hours are generally one on one, and I recommend joining those if you have questions or need a code review.
If you're looking to prepare for this class, I strongly recommend these three things: brush up on A*, learn how to debug (setting breakpoints, stepping through the code, etc.), and learn how numpy broadcasting works in 1D, 2D, and 3D. Linear algebra and calculus would help too, but I didn't struggle on those portions.
And lastly: this review comes off as intimidating, because that's how I felt throughout the whole of the course. Conversely, I know many folks in discord who thought everything was review and never struggled at all. If you put in the time, you can get through this course. Due to varying assignment difficulty, I spent 10-50 hours/week on this class.
This class provides a broad overview and introduction to topics in Artificial Intelligence. Because of the broad nature of the class, most topics to not build on what came earlier in the class. The first half of the class covered more traditional applications of artificial intelligence, such as search, game playing, and constraint satisfaction. The second half of the class covered probability, Baysian networks, and deep learning. The last time I took a probability course was many, many years ago and my knowledge was not adequate for the second part of the class and resulted in a frustrating experience. The class was well run and the TAs were active in the forum. While I didn’t enjoy the class, I did learn a lot and developed a better understanding of the AI buzzwords that are popular now.
I took this course in the fall of 2025.
I got a B, intentionally, I know that the average for this course is ~20 hours per week, but I just didn't have that kind of time. So I decided to lose points when I thought I had learned the material sufficiently.
Into assignment: 2% this is a coding assignment where you build a stack, I thought that this would be just like a set up a repository assignment so I didn't give myself much time and couldn't finish it. It actually was pretty hard, so I only got 1%
Plagiarism quiz: 3% free points, this course has super strict plagiarism requirements.
Assignments: 60% total Only your top 5 are counted for 12% each.
A1 - Search I got 77% on this, you write search algortihms from scratch, pretty easy to get the first 75% (took a little over a week), but hard to get the last 25% which is the tri-search part which I decided to skip. I spent the most time on this one.
A2 - Game playing. I spent a week to get 75% on this one, I comfortably did the first 75% in a week then decided to skip the last part again.
A3 - Bayes Nets, this one was a little tricky, but I got 100 fairly comfortably in a little over a week.
A4 - decision trees, I got 95, I can't remember much about this one, but it wasn't too hard.
A5 - skipped
A6 - HMMS/viterbi, this one was tricky conceptually for me, I spent more time trying to figure out the algorithm than actually coding which is a first for me. Still got 100 in about a week.
Midterm - open book and you have the whole week, hard though. This took a long time to get 75%, I think the average was around 85%.
Final - really hard, I only needed 50% to get a B, and ended up with 67% so I'm happy with that. Some info wasn't in the book or lectures.
Overall I liked the course, but I wish it were better. Most of the projects were on things that I had seen before (search algorithms, HMMs, Decision Trees) so they aren't memorable to me.
Overall super doable course. I didn't get as much out of it as I did with deep learning, but that's ok.
The lectures for this class teach a lot, but seem detached from the content on the homework assignments. Although some students seem to excel in this class, I think it is very realistic to expect to invest around 25 hrs/week between lectures and homework assignments. The TAs for this class also act quite passive-aggressively, although I am aware that that is nothing new for Georgia Tech TAs. Assignments and exams word question in the most ambiguous manner solely for the purpose of making them more difficult, regardless of what the professor and TAs may claim.
Probably the best course in the AI/ML tracks, by a long shot.
The projects in this course are fantastic. The project which stuck with me the most was the Decision Tree assignment. The Decision Tree assignment has you building the entire algorithm from the ground up, calculating each piece of the process manually using matrices and mathematical functions. It blew me away, and it really made me think that this is how the ML course should've been structured.
The exams were tough but fair. There were no surprises and the course materials were sufficient preparation.
The lectures were engaging but not 100% necessary for exam prep. You can play most of these a 1.5x-2x speed, but normal speed when they start describing algorithms.
I took ML and dropped it because it sucked. If the ML course were ever to be redone, I'd hope they'd break it out into two separate courses (Supervised ML and Unsupervised ML) and the assignments would go into the level of technical depth that the AI Decision Tree assignment had. Being able to write a convincing paper is a necessary skill, but it shouldn't be the only takeaway from the only ML course in the program. AI goes deep, and it's the reason why it's my favorite of the 4 courses I've taken so far (CN, GIOS, NetSci)
Great course. If you're looking to get enough pre-req info for all other AI/ML courses at GT, this is where to start. It goes moderately in-depth on everything AI/ML but not too in-depth. The projects are genuinely interested, challenging, and enjoyable. Lots of flexibility with the exams and course timeline. Strongly recommend taking this as the first course in the program.
Generally, this is a challenging but doable course. I ended up with a 98.5. Workload is NOT consistent throughout the semester. PLEASE NOTE, for the summer term, you will not get less material covered nor fewer assignments compared to the regular semester.
Each week, you will have some chapters to read, lecture videos to watch, one or two ongoing assignment, and a challenging quiz (for extra credit). I spent more than 30 hr/wk during week 2 - 4 and much less in the second half.
The material for the first half of the semester is way much better than in the second half, with particularly poor-quality material in the deep learning and planning under uncertainty sections. Read the book can really helps
The TAs are fine, most TAs hold office hours and respond to questions on Ed threads. However, there were frequent corrections and clarifications needed for both exams.
Course components:
This review comes from the perspective of someone with a full time job and a wife and child. In essence, school comes third for me, even though it's still extremely important. Additionally, after getting my first degree in Software Engineering, I joined the military for 4 years - so my software engineering skills had 4 years to atrophy. All this to say: I may have less time to devote and fewer skills developed towards this class. The average GA Tech student is likely more well-equipped than I am.
The material itself is really cool. The assignments (weekly or bi-weekly projects, basically) walk you through the things you need to do at a high level. The implementation can be tough, but it's not unreasonable. I was really impressed by most of the projects as far as "I never thought I could do that on my own." I did well enough on the first 5 assignments that I could skip the last one. This gave me breathing room to study for the final.
Besides assignments, most of the rest of your grade will come from the midterm and final. You may notice that the course is curved. Don't do like me and assume that, just because the course is difficult, that the curve will be substantial. In reality, it only shifts the grading buckets by at most a few points. I didn't put nearly enough effort into the midterm and got a correspondingly low grade. Luckily, I was able to do well enough throughout the rest of the course to recover with a B.
Some people complain about the plagiarism warnings and threats of OSI violations. It's not that bad, you just can't use google and ChatGPT. Which is fair. When you use approved libraries, you are authorized to read the documentation, which is more than enough to figure things out (remember, I'm probably less skilled than most of y'all). The inability to look up examples outside of what the book or TAs provide makes things more difficult, but really that's a good thing. Instead of copy/pasting someone's code, you'll write your own and learn it.
The course is tough, but it's not unreasonable. They provide enough resources to figure things out. My biggest advice would be to start things early enough to look through their resources and learn them. It's a huge disadvantage to wait until the weekend before the project is due in order to start the assignments.
Before the midterm, we had about 1 assignment every 2 weeks. After the midterm, assignments overlapped and I ended up doing 1 assignment per week for the rest of the semester. That was rough, as I got myself into the aforementioned and warned situation of working the project the weekend it was due. Despite work and life commitments, though, I was able to figure it out.
The lectures provide high-level intuition, and you'll have to go into the textbook to learn details and specifics. I could not have finished this course without the textbook. Having said that, the lectures will inform you on where to go to look up information in the book - that is, you don't have to read hundreds of pages. You just go to where the information is and read a few paragraphs, maybe a couple pages at most for a single topic.
The course is tough, but it's doable. If you have a lot of personal-life stuff going on, perhaps save this course for another semester.
Oh, for real review Linear Algebra. If the last time you took it was 7 years ago, like me. It'll pay dividends in the later assignments.
I didn't really keep track of my time but I'd say I took 25-30 hours on average. I paired it with Bayesian Statistics my first semester (these two overlap nicely on some topics, each offering a unique perspective. so I'd recommend the pairing). I thought the staff, and Raymond in particular, did a great job directing things. I loved how well structured and formatted the EC quizzes and tests were. The readings are pretty enriching, and I recommend keeping up with them because they'll expose you to interesting topics you won't learn otherwise (I recommended to the staff to make reading guides just because they can enhance the learning experience and they're easy to prepare).
The coding is the main component of the class, and if your coding skills are solid, you'll have a very easy time. I found the coding to be heavier than IHPC, and maybe similar to GIOS, though things in GIOS can be harder to debug. I think the class is doable in less than 20 hrs/week if your coding is OK (say you can consistenly do the first 3 Leetcode problems of a Weekly in Python) and you read fast/study efficiently.