Artificial Intelligence

4.05 / 5 rating4.07 / 5 difficulty22.66 hrs / week

Quick Facts and Resources

Something missing or incorrect? Tell us more.

Name
Artificial Intelligence
Listed As
CS-6601
Credit Hours
3
Available to
CS students
Description
Basic concepts and methods of artificial intelligence including both symbolic/conceptual and numerical/probabilistic techniques.
Syllabus
Syllabus
  • yGpjEVtTd+pOyjGew3vUEw==2024-12-10T18:21:41Zfall 2024

    Background: 6 classes in. BD4H, ML4T, KBAI, CogSci, AI, HCI. 8 years in data engineering. Working at big tech as senior. Lot of python and lots of other languages but overall I'm an OKAY developer.

    I mention that I'm OKAY because this course will bring out your weaknesses and it definitely did for me. My code development organization is/was lacking and for a few assignments that got me really turned around and stuck way down rabbit holes.

    With all of that being said I loved this class. The lectures are fantastic and the TAs are responsive (there were one or two slow downs on Ed).

    Read the book and watch the lectures; do this well ahead of time, before you start the assignments and you'll be able to get moving faster when you do start them.

    Work: Assignment 1 - Search (70 hours) 65%: Someone said it best as "downright hazing." lol It's so true. This assignment is BRUTAL. Search algorithms A*, BFS, bi-directional, etc. likely you've done before none of the helpful packages that you've also likely used before and no neighbor caching. Essentially it's implementing these by hand and feels very manual/brute forcing. Furthermore, there's some fundamental pieces of this assignment that if you don't understand deeply and implement correctly, you're going to be in for a bad time the rest of the way. The edge cases are many and I found myself not sleeping for about 3 days straight. I started early and still struggled to get a 70.

    Assignment 2 - Game Playing (60 hours) 95%: This one is not easy either, although my favorite assignment. It's really going to test your organizational skills. I would suggest taking your time to have a thorough understanding of the game structure and the fundamentals of scoring / utility, unit tests, and be comfortable writing your own tests, before starting this one. Also do your best to know class inheritance in python as you'll likely use it extensively on this assignment. Essentially you're going to be implementing a game and using some search and state space scoring techniques here to win the game against increasingly difficult bots. Finally, you're going to need to start beating your own bots! All of this culminating in a bot-fight competition that has bonus points as the reward (against your classmates). I spent a lot of time trying to get the last 5 points of this assignment, and found myself getting the textbook out and reading a lot to do so. I spent even more time optimizing my bot to try and do well in the competition. Unfortunately for me, your classmates are highly talented and just as smart as your are, so getting in the top five is no small feat.

    One small critique of this assignment is this is where the implementation with jupyter notebooks gets kind of messy and confusing. Although it is helpful for visualization, it's not how you're used to submitting assignments / passing tests. I found it to be a bit cumbersome.

    Assignment 3 - Bayes Nets (30-40 hours) 80%: This assignment has a fantastic tutorial to teach you how the directed graphs are going to work and you'll get a good understanding of casting bayes nets before the workload gets too difficult. But also there's a TON of reading to do before this assignment starts and it's best to have a solid grasp of how to calculate the probabilities and understand some of the useful industry standards (sampling rates, variable elimination techniques). This is another assignment that I found myself spending most of the time getting the last few points on near the deadline even though I started early. Once you get to Gibbs Sampling and MH, you'll struggle if you haven't done the foundational readings first.

    Assignment 4 - Decision Trees and Classifications (20-30 hours) 100%: VECTORIZE EVERYTHING. there were a lot of students facing timeout errors because instead of using numpy data structures they were allowing their code to revert back to pythonic implementations. I've been using numpy for a long time so a lot of the early part of this assignment was decently straightforward. Also at this point in the class this is where you're really encouraged to "think outside the box" with your own testing and strategizing how you're going to set up things like train / test splits. Once again having done the readings you're going to have a better time knowing that there are some optimal ratios / splits/ filtering that are going to make life easier for you. More than once I had to go back to the book only to find a simple floating point was likely optimal because that's what everyone else uses and my current implementation was way off. This was my first 100 although I felt like I didn't get much learning from this one other than maybe gini and entropy further understanding.

    Assignment 5 - Gaussian Mixture Models and K-Means (25-30 hours) 100% : A decent assignment that requires a lot of the workload up front. Unlike other assignments when it's most difficult at the final test cases. It's laid out very well as you get an understanding how models are segmented and for me, it was a good learning experience of getting stuck in an overfit. The K-means is a bit misleading as it seems the assignment will be simple, then comes the GMM and that's where the blockers were for me. It's a big hurdle but once you're past that I found the rest of the assignment to go smoothly.

    Assignment 6 - I didn't do this one but it looked like fun. I was massively burnt out and needed a couple weeks to take a breather. I would highly recommend doing all of the first five assignments so you can have this option at the end of the class. It provided me the opportunity to be far more rested and clear headed going into the final.

    Midterm - So hard (~20 hours) - 70%. I thought it was a good score but I believe was below the median. Again, your classmates are top caliber so don't expect much of a curve, if any .

    Final ( < 30 hours): I saw a number of students post that the final took them much longer but I attribute this to my diligence on the readings and the lectures throughout the class. There was nothing on this final that I hadn't seen before because of it.

    Not as difficult (by a small margin) but it's legitimately a full array of the entire class and takes a long time. Also you have to STAY SHARP. I missed a few questions by 0.001 or less. Once again I found myself spending hours on a single point question and then in the end resigning myself to being okay with not knowing how to do it and moving on. Grades haven't been posted but it looks like I did pretty well based on the solutions.

    I'm okay with a B in this class as I chose to pass on the final assignment instead of going for the extra 2-3% and I'll probably be just below the cutoff. In the end it was a quality of life decision and I appreciated the ability to have that choice.

    Read all of the readings (minus the research ... but do that if you have time). Do all of the lectures more than once. And the challenge questions are your friend (even if you don't need the extra credit).

    Either way , take the class . It's awesome

    Rating: 5 / 5Difficulty: 5 / 5Workload: 30 hours / week

  • C3Idv8ylYpFDQqlwsq904A==2024-12-10T09:02:00Zfall 2024

    Background: full-time student with professional experience in ML + data science as well as having completed all formal pre-requisites: data structures, algorithms, probability/statistics, linear algebra, multivariable calculus (discrete mathematics came in handy as well)

    The course workload was fairly manageable. I can see why students might struggle if they don't have the pre-requisites or have a demanding full-time job so set your expectations accordingly.

    This is a survey course which introduces students to a range of classical and modern AI methods. The exams and programming assignments cover a few of the most pertinent algorithms and ideas from assigned textbook readings but will not go over every nitty gritty detail. If you're the type of person that wants to go deep on every topic covered, you might be a bit disappointed. But I suppose that is an unrealistic expectation for a 16-week course.

    Except assignment 1 (Search), all other programming assignments were reasonable and auto-graded. Some were even on the easier side. Open-book, closed-internet, non-collaborative midterm and final exam took a while to complete but I would say also reasonable.

    My 2 issues with this course:

    1. ML assignment should be swapped out in favor of something on logical programming or planning under uncertainty. I know ML is an important part of modern AI and many students prefer an ML assignment, but there's a whole other course on ML. Why not practice something else?
    2. More "debugging" needed on exam questions. I understand that's easier said than done and the TA team should be commended for creating new exam questions every semester (instead of just lazily recycling questions like most other courses). But some of these "bugs" were so obvious, I wonder if they were even reviewed by the professor or even a couple other TAs before being used to actually test students on the midterm/final.

    Rating: 3 / 5Difficulty: 3 / 5Workload: 18 hours / week

  • YbUb0CA/M+HpkPU9LF0O0w==2024-12-09T17:56:15Zfall 2024

    Overall great class. Very well structured with some dedicated and knowledgable TA's, transparent and quick grading, fair exams, and ultimately doing it's job as a survey of AI, covering a lot of areas from classical AI to ML in one semester.

    I will say to take the pre-reqs seriously. If you're not comfortable with data structures and algorithms and Python, it's going to be your fault if you ignored the suggested prereqs and struggle in the course. If you're good at Python and competent at data structures and algorithms, it's not a very difficult course.

    I took this as my first course in OMSCS. I have experience working as a SWE and do have a CS undergrad degree but I was definitely not fluent writing Python when I started the course.

    Ended up with 100% on all assignments except 1 I used as my dropped assignment, 91% on the midterm, and 75% on the final exam (literally skipped a whole section because I only needed 55% to get an A in the class) and ended up with a 93-94% in the course which is an A.

    ================== Assignments:

    All the assignments are 100% coding and you get your grade when you submit on Gradescope and there are no extra test cases or anything beyond what's in Gradescope so what you get in Gradescope will be your final grade. Some assignments have limited number of submissions but it's a fair amount and other assignments have unlimited (and you'll need it). There's no reason to not get 100% on the assignments because GS gives you your grades.

    Overall the assignments are straightforward and they provide you structured READMEs, a skeleton, test cases (not always comprehensive but a good start), a walkthrough video, etc so you're never confused about what the assignments are asking for.

    The first assignment (search) was by far the hardest, the first 80% of the assignment is quick and the next 10% and final 10% get harder and harder but are doable if you start early and use the resources they give you.

    The rest of the assignments were much easier than the first, I'd sort them as:

    • A0 (PriorityQueue): Basically a readiness check to see if you know algorithms and data structures and Python well enough to succeed in the course, if this is hard for you the rest of the class is going to suck
    • A1 (Search): Really well structured with useful resources such as additional reading, visualizers and test cases. Pretty easy to do the first 2/3 of it (I think 80% grade) but the last 1/3 of it took days to figure out. Definitely the hardest and most time consuming project
    • A2 (Game Playing): Pretty easy to get the first 90% of points, the last portion can take hours and hours of iterating and improving since you don't exactly know what the enemy bot is doing so you have to optimize your algorithm in a lot of ways. Pretty fun though
    • A3 (Bayes Nets): Easy and interesting, took me less than a day
    • A4 (Decision Trees): Also pretty easy and interesting, did it in a day or two
    • A5 (EM): Difficult conceptually/mathematically, probably hardest assignment after A1
    • A6 (Hidden Markov Models): Was a bit annoying to debug and format some of the input for this one but not too bad.

    Overall in difficulty I'd say: A1 >> A2/A5 >> A6 > A4 >> A3

    You get one dropped assignment and I'd recommend saving that for A5 or A6 because you'll be more burnt out by that point.

    Definitely use the resources they give you and do the additional readings they provide you in the assignment repos. They're all very relevant and, while some are dense, they are telling you how to do the assignments

    ================== Challenge Questions:

    Throughout the semester they gave COMPLETELY OPTIONAL challenge questions on each section which you had a week to complete. They can give you 2% extra credit in the course overall. While they're optional, many of the midterm and final questions are very similar to the questions in the challenge questions so they are a great way to prep for exams.

    ================== Lectures:

    The lectures are decent and mostly really relevant to the assignments. They can be a bit shallow in some sections so you should supplement with the textbook reading but I found them as a good high level overview of the chapter and introduction to the assignments. The lectures alone will not be sufficient for the exam and assignments though, you will need to look at the additional resources they provide for the assignments and the textbook for the exams and assignment.

    Textbook:

    Great textbook, does get a bit dense later on in sections like Bayes Nets and especially ML. You probably don't need to read it all super close to be successful but you'll get a lot more out of the course if you read it.

    ================== Exams:

    You get a week to do the midterm and a week for the final. They are both extremely long but they are open book, open lecture, open notes, closed internet. They felt very fair and reasonable and nothing felt like trick questions. There will be somethings that weren't in the lecture and were only in the books but overall it seems like they improved these a lot from the past semesters. They are also pretty lenient with allowing people to challenge answers for a few days after the exam is done and giving back points for poorly worded questions. The downside is that they do catch a lot of mistakes and clarifications during the exam week so you constantly have to check EdStem to keep up with clarifications and corrections until a couple days before the exam is due.

    ================== TAs:

    With a course this size the TAs are always a bit hit or miss. The TAs that are running the course and writing the assignments (Raymond, Hrudhai, etc) are absolutely fantastic, extremely knowledgable, great at answering questions, and very supportive of students. Some other TAs in office hours are maybe less knowledgable and sometimes give incorrect info out. Overall the TAs are all very responsive on Ed and very respectful of students.

    ================== tl;dr:

    Overall I learned a lot from this course and had a lot of fun working on the assignments. The course felt very well structured and, even though some of the assignments were very time consuming and there's no break between assignments, it felt like they always provided you the resources you needed to succeed as long as they use them. They course will definitely push you at times instead of just handing you everything but it all feels intentional. I feel much more competent in Python and algorithms now and feel like I have a good foundation for the rest of the ML courses.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • VSw/NOukueXbBMzhRq7wLw==2024-12-06T07:51:11Zfall 2024

    This is my first course I've taken so far and will have an A in the course. I got a 99, 95, 95, 100, 100, 100 in the projects, 80 on the midterm, and have not gotten the final exam grade yet but I am very confident that I did well.

    For starters I think that the first 2 projects are the most code you will have to actually type out but not the hardest. A lot of it can be taken from the book as it gives you pseudo-code. The rest of the homework is not too difficult. I highly recommend skimming chapters of the book but watching the actual lectures. The lectures will give you maybe 80-90% of what you need for the homework. I highly recommend that you at least read through the homework when it opens, even if you do not have time to start it yet because it helps you think about how to approach problems as well as what to look for in the book and lectures. I believe I finished all but one project in the first week they were released (2 weeks to finish each assignment). The hardest part for homework 1 and 2 (the hardest by most people) is optimization. If you have some exposure to coding interviews/prep for them they should not be too difficult to solve. If you do not understand how to optimize the time complexity of your code I would recommend going over some leetcode problems.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 11 hours / week

  • 9YsRFGtC0IgtidFrG1xvDQ==2024-08-24T19:38:22Zspring 2024

    This was my first course in the program. I did ML in the Summer. Both courses I got an A. My background was an undergrad in Stats and working in the field of Data Analyticsfor 3 years.

    Overall, with my background, this was a great first course to get back into school mode. The assignments are auto-graded, so you get immediate feedback, and the exams are very difficult, but week-long so they allow for some leeway in the schedule. A background in Stats paired really well with a lot of the material, such that I could focus on improving my programming/implementation skills. This probably contributes to my reported workload being lower than the average.

    Assignments: I found the first assignment extremely challenging, but then something clicked and the others went more smoothly. It is the only assignment I didn't get a perfect score on. Coming from a more theoretical background, it was really neat to implement the different algorithms from scratch, and even led to a few clarity moments on stuff like E-M algorithms, Naive Bayes Classifiers, HMMs which I thought of as black boxes before. A2 was my favorite though, building AIs to perform games is just... fun!

    I think I should mention, you cannot leverage anything prebuild except approved libraries - the goal is to build these algorithms from scratch and really understand how to implement them. That said, the course focuses less on using the algorithms to solve problems, and more on implementing them, so its usefulness might vary depending on what you're looking for.

    I strongly suggest reading the book, pretty much a requisite to do well imo. The supplemental material was pretty interesting as well, and a lot of the times helped, but I would prioritize the book for sure. As well the community of students and instructors on Ed and Discord was amazing.

    On workload: Until week 5, I was averaging 19 hours per week on the course, but this number is skewed higher by working 30 hours on the 2nd week of A1. After that, I didn't keep track, but I would be surprised if I worked more than 15 hours on any given week outside the midterm week.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • S4qbEenZksl0HwqhSf0WrQ==2024-08-06T21:22:10Zsummer 2024

    Good and fun class, but when people say its hard, they are not lying. The class is 6 projects, a midterm, and a final, with optional homework assignments along the way. I ended up getting an A in the class but I spent a lot of time on it. I took the class in the summer - I DO NOT RECCOMEND THIS. The accelerated schedule meant that the TAs had to cram things together so much that we had two projects due on the same weekend!

    A lot of people are scared of this class because they think it will require a lot of math. You will probably need to have taken both a Calc 2 and Linear Algebra class to understand some of the concepts here, but that doesnt mean you'll actually need to be DOING any calculus or linear algebra. Most of the actual calculations will be done by python code that you write, but you just need to understand the concepts so that you know what code to write.

    Each project will take approx 20-30 hours of work, and the lectures are not sufficient to teach you the concepts you need to complete the project. You are expected to do additional research as you work through each project to learn the material. The projects themselves are fun, and if you're new to things like ML, Data Science, Neural Networks, etc., then these projects will do a great job de-mystifying them for you.

    The midterm and the final are both fully open notes, open book, no time limit. But they are HARD. They give you one week to complete the midterm and final and you can expect that they will take you at least 3 days each. In many cases, there is material on the exams that is not really covered in the lecture material, and you'll need to do some new research to find the answers. In some cases, they will link you to the material you're expected to use, but in other cases they won't. (This is DESPITE the warning that you're not allowed to use outside materials to help you on the exams!)

    For example: the lectures for Module 5 teach you the basics of Bayesian probability, and show that you'll need to do some basic multiplication. Then, for module 5 on the midterm, you're expected to calculate the probability density of the normal distribution (aka the gaussian integral). That wasnt covered at all in the material!

    There are also optional homework assignments along the way. These are small 1-page assignments with a few sample questions on them for you to answer. They were only worth 1% of the grade so I skipped them completely, but the teaching staff mentioned that they were considering increasing their weight for future classes.

    The TAs were generally responsive to questions and problems as you had them, and they were gracious enough to give the students the opportunity to argue with the TAs about the correct answers on the exams, in case the question was misleading or could be interpreted differently. Many classes would simply tell you "no, you got it wrong and thats final", so I appreciate this from them.

    Overall, it was a really fun class that I learned a lot, but I definitely had to work for it and I'm really glad its over.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • qATGWtZ1g4E/4np6V1uifg==2024-08-05T12:28:14Zsummer 2024

    Other reviews have covered the mechanics of the course so I’ll skip that, except to say that this semester, despite being summer, nothing was cut out. All 6 assignments, midterm, final, challenge questions. I spent around 12 hours a week on average and got an A. Some weeks were 30 hours and some were 0.

    Overall, this was a fun class and a good intro to AI. The projects are fantastic, especially the ML project where you implement decision trees and RFs from scratch. You need to be pretty good at Python and at algorithms to succeed in this course, but if you’re good at those this is a fun class with a lot of learnings.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 12 hours / week

  • H8UW4Q96wlD9inQqa+Oe+w==2024-08-03T14:42:59Zsummer 2024

    Overall there was quality content covered in this course. There is more content than you could reasonably make it through with 15 hours a week in a regular term, Summer term compressed the whole schedule so you either need more time per week or you will miss some depth of the content.

    The lectures are very surface level and the staff expects you to read the textbook. While the textbook is interesting in spots it's VERY verbose and describes topics with mathematics frequently. I didn't find it realistic to read the prescribed sections in the time provided.

    The assignments were great learning tools and provided good hands-on experience for most topics. With time and effort, these are relatively easy to get 100 on, and you'll pick up knowledge that will help you on the midterm and final.

    The midterm and final were relatively approachable - both were week-long open notes (not open Internet). These were a relatively good and fair test of course knowledge.

    I've rated this course a 3 for the following reasons:

    1. The staff really struggled to meet deadlines. Each assignment had an issue with the autograder, and most of the time these issues went uncorrected for several days. Solutions and midterm/final issues often had discrepancies and the TAs for some sections appeared to put in a minimal effort.
    2. The course content is locked behind a fixed timeline. I strongly prefer to work ahead in courses, but assignments are released in either a 2-week window or a 1-week window. This meant some weeks were 10 hours on average, and others were 30. There was one portion of the course where 2 assignments and a midterm opened or closed within 2 weeks, which meant all spare time was dedicated to the course.
    3. A massive focus on using only content from the course. There are stringent guidelines about cheating - referencing any material outside the suggested course material without citation is considered a violation. There are topics in the course that we were tested on which had only one sentence of explanation in the textbook. This made learning about some niche subtopics unnecessarily difficult and roundabout.

    Overall, the course is worth doing if the topics interest you. Be prepared to self-study and dedicate a fair amount of time if you want to learn the material reasonably well.

    Rating: 3 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • n/WMWEewMW0+Ra4bHulOlQ==2024-08-03T04:45:17Zsummer 2024

    Overall the course provided a good introduction to AI concepts, and the assignments did a good job at reinforcing these concepts. The lecture material is very surface level so you'll need to read the textbook in order to do well in the course.

    If you're taking this course in the summer be very aware that around the midterm period you get two assignments that are due in two weeks, along with a midterm that is due in a week. You typically get 2 weeks for 1 assignment so this jump in workload can be very surprising, and imo unfair.

    IMO assignment difficulty from hardest to easiest is A5>A3>A1>A4>A2>A6. Start assignments early to succeed.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • 7QFJi1I149N3ZArn+64www==2024-08-01T14:21:44Zsummer 2024

    Just completed the course during the summer term and got an A grade.

    Course grading structure: 6 assignments (average of the highest 5 will be used) + Midterm/Final Exams (exams are take-home; you have 1 week to complete them) + Weekly quizzes (only 1% and unlimited tries).

    If you have a strong python background and don’t prefer group projects, this class may be for you. I’m not saying this is an easy class; it requires a lot of hands-on programming (and they are not easy or short scripts), but it is totally manageable. I didn’t watch the course videos, so I cannot comment on them. However, the TAs seemed a little unorganized.

    Overall, if you trust your programming and problem solving skills, grade A is doable with some effort and B grade is almost guaranteed.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 15 hours / week

  • b4y+CT0q7MA318vw0U8flg==2024-06-23T21:32:49Zspring 2024

    Relatively straightforward course. For every other week, probably need to spend a day on the assignment, the lecture is pretty short take you about 1 hour to complete each week. An additional 2 - 3 hours of reading is probably nessesary for the project and with the knowledge completing the assignment is about another 3-4 hours.

    Rating: 5 / 5Difficulty: 1 / 5Workload: 10 hours / week

  • I7Cv8k6jSIob8kYcl/jz0Q==2024-06-19T23:18:57Zspring 2024

    The AI introduction class was very interesting and covered a lot of material in a short time. However, I found the video lecture very frustrating because it made a lot of assumptions and jumped to conclusions without thoroughly explaining the material. The exception was the video by Davis (not sure about the name, he covers probability and bayes network), which followed a more pedagogical approach.

    I don't want to repeat other comments, but I do want to note that the assignments are tough. They are all challenging but doable if you start early and work on them consistently each day. Work with generative AI to understand the concepts. Don't give up—you can definitely finish with an A.

    Rating: 4 / 5Difficulty: 5 / 5Workload: 25 hours / week

  • Wvmy9ei54aRRyu30nAa/lw==2024-06-19T16:20:24Zspring 2024

    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 fresh 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 threw 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.

    Rating: 4 / 5Difficulty: 5 / 5Workload: 15 hours / week

  • lOi6ls5f1KeUa4MqmLkodA==2024-06-17T02:48:46Zspring 2024

    This class was pretty intense and time consuming, but I felt that I learned a lot at the end if it. I would say this course starts out harder and gets a little easier, I found that projects 1 and 2 were the hardest and took the longest for me. The lectures were all pretty good with pretty good explanations. The textbook readings started out pretty good but later on in the course they were pretty dry and had a ton of math that was hard to follow, so I didn't get much out of the textbook in the second half of the course.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 17 hours / week

  • MMyDOX/FoRz2T05LfXDiAQ==2024-06-04T19:49:56Zspring 2024

    I had high hopes for this class after taking AI4R. I was excited to dive deeper into the AI world and gain more experience. But here's how the class went:

    TLDR. It sucked. Too little depth in lectures, and super disorganized.

    Week 1 we received a notice that the teacher would be unavailable due to a cruise in antarctica(super jealous!). then we received notice that the Head Ta would also be on a cruise... in antartica. Both cruises were unrelated. This lead to a chaotic start to class where the regular TAs were unable to determine if a homework assignment was due or not due by the first Friday. This chaos did not settle when the teacher and TA arrived back, all we received was a short email stating they were back and the homework in question now was an extra credit. Yay! that was probably the best part of the course, a 1% extra credit for a homework that had nothing to do with the lectures or book. This class has the most asinine honor code. You may not learn ANYTHING outside of class or its cheating. Want to watch an outside lecture to learn the subject better? Cheating. Want to read more about it outside the book? Cheating. The entire class was walking on eggshells the entire semester. There were constant reminders every week on how many students they catch cheating every semester. over 50% of the communications in this class were about cheating. Seriously, we get it. most of us will not cheat. We came here to learn. The lectures were a high level overview with nearly no depth. there was some comedic parts which was nice. But there was no substance. Occassionally they would add in a video from another professor without any introduction. Horrible quality and I had to turn my headset on mono mode because the audio was coming through only one ear. The book is written for statisticians and gives one example(if you are lucky) of each lesson you are learning. This class was dubbed "ARTIFICIALLY DIFFICULT" by the students and I agree. I wish I could get my time back from this class as I learned nothing from it.

    Rating: 1 / 5Difficulty: 5 / 5Workload: 30 hours / week

  • q7tj15IlE1+lZXeZBbeXiw==2024-05-31T17:29:57Zspring 2024

    Chose this over ML based on my experience with RL being difficult and shaking things up was the right choice I think. RL was a harder class then this. In a nutshell the first half of the class is AI and the second half is ML. It's a tough class, and assignment 1 is downright hazing it's so absurdly difficult. The rest of the class is reasonable, but hard. Exams are easy because you get all the time you need to think, but I recommend taking vacation days to make use of the time you get so you're not distracted or worn out. I took days off for both exams and I'm glad I did. Each assignment has a 2 week window to complete it in and the exams are week long to week and a half long take homes exams.

    Utilize the resources provided in the assignments themselves - the instructor attaches pdfs that should be the first thing you look at for guidance before looking at other course content. The lectures have a tiny shred of homework relevance not the usual zero relevance, so watch them. The course is disorganized and what you're expected to do on assignments will never be written in one single place. Many times assignment rules only exist in an obscure Ed Post so have fun figuring out what you're supposed to do. Often times you have to check 5 ed posts, the git page, the jupyter page, and then you'll have all of the rules to follow from the assignment that exist fragmented in all those random place. This professor is the antithesis of organization.

    Assignment 1: 85 hours in 2 weeks, 85/10 Description: A* but way more complicated than the other 10 times you've learned it. REMEMBER: No neighbor caching!!!

    Assignment 2: 20 hours in 2 weeks 100/100 Description: Gaussian Mixtures: Submit infinitely until you randomly get 100.

    Assignment 3: 22 hours in 2 weeks 100/100 Description: Bayes Net: Just remember your last stats class.

    Midterm: 16.5 hours in 1 week 81/100 Description: This is how exams should be made period. Having only 2 hours or less is a meaningless measurement of learning. Here you have a whole week.

    Assignment 4: 16 hours in 2 weeks 100/100 Description: Decision Trees - Getting feedback from gradescope can take long on this one. Get ready to wait.

    Assignment 5: 9.5 hours in 2 weeks 100/100 Gaussian Mixtures - Know how Numpy works.

    Assignment 6: Skipped Description: Not worth my time since I did all the other assignments. Really glad I did assignment 1 because I was extra busy during this assignment.

    Final: 17.5 hours in 1.5 weeks 84/100 Description: Just like the midterm. This one is comprehensive. The exams in this course are the best part. Having time makes it so easy for slow thinkers like me.

    Rating: 3 / 5Difficulty: 5 / 5Workload: 15 hours / week

  • zlrObJ++dL34B24/H04caA==2024-05-24T14:21:44Zspring 2024

    This was my second class in the course, with RAIT being the first. I have no formal background in CS, ML, or AI but I do professionally and work with very experienced professionals in the fields.

    This is a very good class, but some things hold it back from being an excellent class.

    The Good

    • This course is very informative in what it teaches
    • Most topics I have now applied in my work, or have listened to talks of other people applying them at my work and I was able to follow along in a way I could not before
    • The textbook is one of my favorites I have read with great information I look up for work
    • Projects are pretty well defined and give you a good grasp on the important things
    • Some of the TAs are very very good (Shoutout to Raymond)

    The Bad:

    • Tests.... There is no way around this one. For this semester there were so many questions on the final where the answer key was just incorrect or easily could be multiple answers they initially did not accept, but ended up accepting after a lot of posts on Ed. If an answer was accepted they never gave a rationale/explanation for the new or old answers which ended up making what I had previously thought I learned correctly more fuzzy than before, diminishing the overall learning experience. Also, exam corrections were coming out during the testing period all the way until the day before it was due... Causing people to resubmit new tests with the new information given (which caused another issue I will get to later)
    • TA/Prof Communication... This is directly related to the above bullet as most communication came about with the confusion of the exams. Initially for the midterm they claimed that partial credit may be awarded for submitted answers via pdf. Once the test concluded it was revealed in a comment buried deep in the discussion board that this in fact was not going to happen (unless an extreme Canvas issue). This point was never universally clarified by TAs or the professor. In fact, many TAs kept claiming that this pdf grading was still up to individual TAs when it was not causing more unnecessary confusion. The prof is non-existent in the class apart telling us he was back from vacation and a single clarification of a midterm answer. Since this is online I was expecting this, but I think when things devolve to the level that it felt like it did then the professor should step in and clarify it for all students.

    Neutral/Hearsay

    • Anti-cheat... I'll start by saying, cheating is bad and people diminish their own learning when they do so... However, the "fix" to cheating should not be worse than the cheating itself. And for some unfortunate people this seemed to end up being the case, especially on the final. I was fortunately not part of this, but people were claiming that due to the automatic anti-cheat software they were given a grade of "I". This supposedly led to people having their graduation and summer enrollment messed with. This was claimed to be derived from people submitting their finals too quickly when it was likely just them fixing a single answer due to them changing the test while we took it. Also it was claimed that this "sophisticated" anti-cheat software was being tested on the class. I put this in the neutral/hearsay category because I am just going on what other's posted in Ed. So take this with a grain of salt since I do not have direct experience and it was a limited subset of students who seemed to be adversely effected when they did not supposedly cheat.

    Even with these testing frustrations I secured an A and was able to spend less time than average on the class.

    Some things that helped me that may be helpful for others:

    • I spent very little time on the lecture videos. I found them less helpful than the textbook and ended up only watching specific videos when I was still confused about something. This overall saved me a lot of time
    • Most projects, in my experience, are much easier to get the first 95% and then the time it takes to get that final 5% is disproportionate. So if you feel confident you don't need that last 5% then you can likely save yourself many hours.
    • I found a class like RAIT to be a good way to ease myself into the subject. There is quite a bit of overlap in the class concepts, but RAIT is a bit more simple. So if you are feeling less confident and you want/need to take RAIT I would highly recommend taking RAIT first.
    • I was already very familiar with python and numpy. If you are not familiar with python I would recommend just doing some quick tutorials to learn the syntax (I find it to be the most simple of commonly used languages). Numpy is not allowed until around half-way through, but getting acquainted before that point would prove useful as it becomes the basis/required for the rest of the projects as they start having more strict timing requirements.

    Overall, this class is a really good and informative class, but it could really use some more care during the tests. Ultimately the tests made a class that I would have happily given a 5 into a 4. Though, I think with better question vetting and better communication that this class could very easily be a 5 in my book just based off of the content learned and the project's hands-on support of that learning.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • RxS4avkPAsyagoAxCNfJiA==2024-05-16T23:59:21Zspring 2024

    I did CS for undergrad and took an AI course then, so I figured this would be an easy first class. Alas, that was not at all true. For the first assignment, the equivalent of an entire project I did in undergrad was just the warmup, and the assignment ended up taking me about 25 hours, and I still didn't get full points, I just gave up and took a B.

    Despite the difficulty, the class was very rewarding. The assignments were difficult and took a long time, but they really helped me understand the concepts at a deeper level. Sometimes the textbook went so deep into the math that my eyes glazed over, but it's in general good, and CS is mostly just math in a trenchcoat so I know I signed up for this.

    The reason I'm not giving this class five stars is because it's horribly disorganized. The exams were full of errors and ambiguous questions that were not corrected in a reasonable time (and sometimes not at all). There was miscommunication over when a couple of things were due. Also, some people (luckily I was not one of them) were mistakenly flagged as cheating in the final, and received an I as their final grade with no explanation, and it took several days for a TA to respond and correct it.

    I ended up with a low A - I did well on the assignments, which helped me with my lower exam grades (both low Bs). I think this class is worth taking, even if you've taking AI in undergrad, because it probably didn't go nearly as in depth as this one. Be prepared to spend a long time on assignments (15-20 on average for 6 assignments for me), and probably don't take this with another class unless you have a ton of free time.

    Rating: 4 / 5Difficulty: 5 / 5Workload: 20 hours / week

  • o/QB1l4FRqyWKaTbqV+5Sw==2024-05-13T04:55:13Zspring 2024

    I went into this course fully aware that it is difficult, but it still took my by surprise.

    For the first assignment, I ended up spending more than 40 hours and still did not get a 100%, but with the next 5, i put in half of that time and managed to get the 100. This was my saving grace since the exams were very ambiguous. I was truly disheartened after the first assignment and would have dropped off if this werent my last chance to finish this particular course (I has some personal constraints forcing me to complete Masters soon). I had also coupled this with Intro to cognitive science course and there were a few weeks when I was seriously contemplating if I had bitten off more than I could chew, but as my luck would have it, I was laid off work at the start of the semester, and I put in all my effort into getting these two courses done. This Spring saw me with my nose buried in the books, my kids counting down the days the courses end to see their mother emerge from her cocoon again. I have some feedback to both the students who are contemplating this course, and the course coordinators.

    Students: Try not to take this course with any other. Also, give it your all for every single assignment and every single exam. You can expect a lot of uncertainty in this course, for example, in the wording of the exam questions, or the percentage split for the results, etc. Attack assignments as soon as they release, so that you can make use of the office hours, find that TA or two who are responsive on Ed and try to get their time on the OH to get your doubts clarified. The Discord channel is a huge blessing for this course, do make use of it. You will find a lot of tips that will help you do your best on the assignments. The TAs also release walkthrough videos for every assignment, a couple of these were extremely helpful for me to complete the assignments. Ensure you go through these. Be mentally prepared to be tuned in to Ed, Discord, going through lectures, assignments coding, (maybe) challenge questions etc all at once. So time management is super critical. If you get overwhelmed, talk to people on Discord, make use of the student communities out there. Some of these folks can really help you rally through the course.

    Staff : I have seen recurrent feedback from students over the semester about the ambiguity of the question framing. For some questions, more than 80% of students have chosen the same answer, which means it is more misleading than ambiguous. It would be great if the staff would address these in the coming semesters. I feel the plagiarism fear is so rampant for this course that students really hesitate discussing among themselves, even at a whiteboarding level. Also to say that use of any and all unofficial sources is not allowed and amounts to plagiarism, might not be the best way forward considering the textbook is extremely cyptic and the lectures do not (and cannot) go through everything in detail.

    Overall, this course left a definite impact on my life. It was challenging, some of the assignments left me feeling fulfilled and when I saw the final grade , I felt fulfilled. But, it has more than a few kinks which need to be ironed out.

    Rating: 3 / 5Difficulty: 5 / 5Workload: 25 hours / week

  • mhCfn5wF3DOFzGlaGSYD+A==2024-05-12T20:21:15Zspring 2024

    Really good course in terms of setting foundational knowledge and introduction to AI. However, it requires a lot more hard work to gather this knowledge vs other courses. The lectures barely cover what is needed to succeed in the course and you really need to read the book multiple times to get in-depth understanding of the concepts. There are 6 assignments which are super interesting though only the top 5 are considered for the final grade. The assignments become progressively harder. The exams are open book but really test your knowledge and can take upto 20-30 hours to finish. Overall start early to keep up with the pace; there’s a slight curve which hovers around the official cut-offs (A>=90, B>=80 etc) but dont rely too much on it.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 23 hours / week

  • MYzykgW+ZKzEMEAwVrNk3w==2024-05-12T03:15:41Zspring 2024

    I enjoyed the course but there is a lot of content crammed in. The assignments were challenging but enjoyable. I found the discord group really helpful for assignments and discussions post-exams. Definitely try to do well in the assignments, I only submitted the first 5 and didn’t attempt the last one as they only count the best 5 grades. Midterm and final exam were not difficult but make sure to read the questions carefully and ask for clarifications. I only lost marks where I found the question was not clear. This was raised as feedback during the midterm and the TAs took this on board and communication was better during the final exam.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • clVfgmNhWigDU55wrxSU5Q==2024-05-10T21:41:09Zspring 2024

    Intro Assignment: 1% Plagiarism Quiz: 4% Assignments: 60% Midterm Exam: 15% Final Exam: 20% Exercises: 1%

    There are a total of 6 assignments, but the lowest grade will be dropped. The assignments were challenging, so it's best to start them at least 7 days in advance (you usually have 2 weeks to complete them).

    There are no group projects in this course.

    There were two exams in this course, one midterm and one final. Both exams were open-book and take-home, but not easy, and all multiple-choice questions. Remember to double-check your answers and grades, as there were many instances of exams being misgraded by TAs this semester.

    Tracking ED posts is a good way to help you succeed in this course.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 12 hours / week

  • RuW3kVPIXMNseTxU8DcUoQ==2024-05-09T18:19:55Zspring 2024

    There’s some great content here but the way this course is run is a train wreck. I don’t understand how it’s so bad after ten years.

    The content is good. It’s a survey of the whole AI field, with a mix of good old fashioned AI and ML. It’s helpful to get a perspective on how ML fits into ways of thinking about AI in general.

    Most of the difficulty is artificial. Things are made deliberately obscure or confusing and they think that proves something. It feels like a hazing instead of a learning experience.

    The assignments are decent. There’s six and your best five count for most of your grade. They’re chunky but give a decent idea of different algos and approaches. Rack up as many points as you can here.

    The exams were so bad. Neither was too onerous or long, but quality control was way off. Pretty much every question on both exams needed clarifications. The biggest problem by far was question wording. They loved writing a page of irrelevant background, and then make the actual instructions ambiguous. Then mark 90% of the class wrong for choosing the more normal interpretation. Both exams followed by days of challenges on the forum. I’ve never seen anything like it in seven years at uni.

    The prof is absent and has farmed everything out to his grad students. Who don’t seem to care because it’s not their main job, and responsibility is diffused among a big group.

    There was also an unhelpful us vs them vibe from the start. The TAs seem to care more about preventing cheating than anyone learning anything, and they’ll assume you’re cheating rather than just confused by their misinformation. You’ll also be told that you can’t read around the subject or look at any outside materials. Another thing I have never seen before. What is a university doing forbidding you from learning?

    I learned some good stuff and got an A but I won’t miss this clown show.

    Rating: 2 / 5Difficulty: 3 / 5Workload: 12 hours / week

  • tTb8KqAw9Zs01vBDk45q4A==2024-04-30T18:43:49Zspring 2023

    The course content is interesting and the projects are pretty fun. The lectures and textbook are helpful, though they could use more walkthroughs and examples.

    The class itself is a mess. Just expect typos/mistakes/ambiguity in everything, especially the midterm and final. I had to redo the same questions 4 times because the TAs kept changing the questions during the test. Check the Ed Forum daily and join the student Discord group! The students are the ones who find fixes and answer questions. The TAs are out in the wild. We have 25 TAs but you rarely see them answering questions. Not sure what they're doing since assignments and tests are auto-graded... There are office hours, which is nice, but do be mentally prepared to wait for 40+ minutes to get in and constant no-shows. Ask questions early because you might get responses from TA three weeks before the final that they're "too busy writing the final" to answer your questions. The professor had office hours here and there but completely disappeared after the midterm.

    I highly recommend getting a head start on the lectures/reading if you can. It'll help you jump right in with assignment 1 which is the longest one. Luckily, Raymond's in charge of that one and he's super awesome! His videos, especially final review, are very helpful too.

    Lastly, I wanted to share that I did not have a CS or math background. It's definitely a tough class but it's doable and rewarding if you're able to invest the time. The students in this class are friendly and willing to help so just ask questions if you're stuck. Good luck!

    Rating: 3 / 5Difficulty: 5 / 5Workload: 26 hours / week

  • 0JpqZRdZ+5ISBWCVg9Dttw==2024-03-13T00:59:06Zfall 2023

    The topics discussed in the course are very interesting. The projects do take time but you learn a lot.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 30 hours / week

  • KuOIUWmjjnFUwPKzd4UMoQ==2024-03-11T05:50:02Zfall 2023

    This is the course that convinced me that reviewers on this site tend to give higher quality ratings to classes that are more difficult regardless of whether they actually deserve high scores. This academic version of Stockholm Syndrome is the only way a subpar course like this can get a 4+ rating here on OMSCentral. It's not quite as bad as the trainwreck that is GA, but at a 4+ it's so galactically overrated that it boggles the mind.

    • The workload is just too high. I don't think it's a problem to an absurd degree, but 3-credit classes should generally strive to stay under 15 hours per week of work, or certainly at least under 20. The ~25hr/wk workload is currently the 6th highest of courses reviewed from OMSCS. I'm a pretty average student and this estimate feels correct to me, but I skipped most of the extra credit and other challenge problems. Most assignments feel 20-40% longer than they should be.

    • The workload wouldn't be as bad if it was spent actually learning things, but WAY too much time is spent dealing with weird edge cases that aren't essential to understanding the algorithms. Edge cases happen in the real world, but there they can be easily debugged. The Ed discussion forums for this class were an unfortuantely essential resource since it's where other students would reverse-engineer the jank of the assignment. Ed discussion forums should be for additional help, not "the other half of the assignment instructions we just didn't tell you".

    • A very common and frustrating occurrence was when I'd pass all local tests, but fail on the Gradescope submission. I always felt completely helpless when this happened, as Gradescope was a black box that said little more than "hmm that's not the answer I was expecting". I would run through my code step by step confirming everything worked locally, but it still wouldn't pass. With non-descriptive errors, I could never be sure if Gradescope was failing due to a genuine bug on my end, some janky edge case, or an issue with Gradescope itself (which happened several times throughout the semester). Something like 25%-40% of all Ed posts were "everything works locally, but GS fails", so the problem was obviously widespread. We really need better error messages so we can at least attempt to resolve issues ourselves.

    • The TAs did not seem on the ball in Ed discussions, often replying late and with incoherent answers that were indicative of not understanding either the question being asked, the content of the assignment, or both. It was typically up to other students to get an actual answer to problems being faced, which was obviously not very reliable since it depended solely on the comraderie of others facing the same issue. I saw many questions that just went completely unanswered for 48+ hours. You want to start assignments early to account for this, but not too early so others hopefully have a chance to deal with the weird edge cases before you spend hours dealing with them yourself.

    • Ambgiuous assignment directions. It started OK with first few assignments, but context gradually declined. In some of the later assignments you're forced to implement functions with little more than a one sentence docstring. It was pretty common for me to have to work backwards from the unit test provided to figure out what was even being asked for.

    • Lots of math equations that are just theorem dumping with no examples or broader context to explain what's happening. There's very little enlightenment in much of the textbook and supplemental reading. Far too often I'd be implementing an algorithm and I'd come across a math symbol that I had absolutely no clue what it was referring to. Also, some like |E| would typically refer to the absolute value of E, but then sometimes refer to the determinant of E. Untangling this stuff can lead to more frustrating hours of debugging.

    • The lectures are very handwavy and don't even begin to prepare you for the assignments or the exams.

    • Exams have almost nothing in common with the lectures or assignments, and are very all-or-nothing. I recommend getting a digital copy of the book so you can ctrl+f

    I got an A in this course, but despite the high grade I actually learned surprisingly little.

    Rating: 2 / 5Difficulty: 5 / 5Workload: 25 hours / week

  • b0LbvEdDe5hLb7FfEJu90A==2023-08-13T12:04:57Zfall 2022

    First paper in my OMSCS, got an A. Really difficult but rewarding course. Definitely requires the time commitment stated. Even though the curve is super lenient (getting above class median gets you an A) the class level was also super high, so I believe the cut-off ended up being 89-90% anyway. The course will require you to be able to give 15+ hours a week throughout the length of the course - as such, taking this course with any vacations planned would be inadvisable. I was unable to give 15+ hours for some of the latter weeks, band made catching up nearly impossible in time for the exam.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • WrKfQ1jcSrBuYU1JSI1/pA==2023-07-04T03:45:48Zspring 2023

    My background is in Civil Engineering and my coding experience before the class was limited to an introductory MOOC from HarvardX on Computer Science + the intro classes from Gatech on Java and Data Structures and Algorithms. In the end I managed to get an A.

    I would definitely recommend this class. This was my first class in the OMSCS and I easily spend 50+ hours on the first few assignments (35-40 towards the end), so if your background is similar to mine, make sure you are able to put in the necessary work.

    If you use all the resources that are given to you (especially the video lessons to understand the assignments), you have a good chance at doing well in this class. The book is a great resource, and I recommend reading the chapters before doing the assignments, because the assignments align very well with the book.

    I tried to keep up with reading the papers given in between the video lessons, because they were were very interestring. However, towards the middle of the class, I have to admit I gave up a bit on them because of the heavy workload...and to be honest, they were not really necessary to get the A.

    For interaction with students, Ed and the Discord group have been my two main sources of help. The TAs I had contact with were most of the time not familiar with the specifics of a given assignments, only once I was actually given good guidance. Often, they did not even show up.

    The exam was tough and long, but forced me to repeat some of the more theoretical concepts very well. I didn't do great in them, because in my case. especially the topics on probability pulled my grade down. The grading process is a bit chaotic, but in the end, I think people were treated fairly.

    The professor made a nasty comment in the first class, saying that he expects the in-person students to kick the online student's a** which I found pretty arrogant and demotivating. It turned out in the end, that the live lessons were not necessary to get an A. That does not mean that I don't recommend thinking through the exercises and discussions they have during class. It was just really hard to follow along, because the recording process was very messy (unreadable white board writing, bad sound quality, things out of focus, people not speaking into the microphone, etc.).

    Rating: 5 / 5Difficulty: 4 / 5Workload: 35 hours / week

  • FxufW8teIQblLVszOZOWiA==2023-06-22T17:38:36Zspring 2023

    Took 7 courses. This is the most difficult one among all. Without adequate math knowledge and background, it is unlikely you will survive in this course. I finished Calculus III, linear algebra, probabilities, etc prior to taking this course, still once a while got stuck. It is an extremely difficult course, and I ended up in quitting job to spend 90 hours a week (15 hours a day!!!) working on it. It was toooo difficult. Please do not take it until you are ready for it. If you do not have any math background, or if you are not good at math, this is NOT a choice for you.

    Rating: 1 / 5Difficulty: 5 / 5Workload: 90 hours / week

  • /ZETrgeYExoVa555C+0WiA==2023-06-09T01:50:04Zspring 2023

    This class was quite difficult and to make matters worse, the teaching staff did not do a great job in making clear of the expectations in this class which resulted in a lot of last minute panic and confusion. For some reason, this class was combined with the undergrad courses so we had the opportunity as OMSCS students to attend the live lectures but it felt very disconnected and unproductive at times. This class had a lot of potential to be a cool course but it ended up being extremely stressful and burdensome as I was also working a full-time job (as most OMSCS students). The class discord was a life-saver! But overall, would not recommend this course if you are unable to commit to putting 15+ hours each week, especially if you do not have a strong technical background. Those starting with OMSCS, please do not pick this as your first 2/3 courses as that was a mistake I made and I experienced severe burn out.

    TLDR: Expect to put more time than what you are expecting to put each week. This class has difficult and tedious projects and start as early as you can to ask questions.

    Rating: 1 / 5Difficulty: 5 / 5Workload: 20 hours / week

  • wZC/maoTxCp5pYemcGn7WA==2023-05-31T19:25:01Zspring 2023

    The good:

    • Lectures and textbook provide a fascinating look at some foundational AI work: planning, HMMs, game playing, Bayes’ nets, etc.

    • There's enough here to learn about the general approach to solving complex, multi-faceted problems, which the field is focused on; think developing intuition rather than learning specifics alone.

    • AI is wide-ranging, and so is the class.

    • Assignments: for the most part, well-thought-out. Even the more difficult assignments build your understanding brick-by-brick, helping you to build your understanding using incremental challenges

    • Some TAs are exceptional, and go above and beyond.

    • Thad's lectures are very helpful.

    The bad (I’m not even doing bullets here; it’s just a description of the exam, so strap in and get ready to wonder how a piece of assessment can manage to be this poorly executed):

    -Exams: Godawful. Utterly unacceptable. Think, pond scum speech from My Best Friend's Wedding-type bad.

    I genuinely can't fathom how this class, despite having been around for (give or take) 10 years, still manages to be so poorly organized that LITERALLY EVERY SINGLE EXAM, EVERY SINGLE SEMESTER (read the OMS Central reviews if you doubt this) students all consider it a fiasco.

    The exam questions, which can be unclear (though you have a week to complete them), may get answered, but also, may not; it's all TA-dependent. I asked a couple, and got a single response. The TA that was in charge of the other question just decided to pull the ol' Homer Simpson-retreating-into-the-hedge move, so I had no idea whether I was understanding the requirements or not.

    To boot, there is always a lengthy, running thread of corrections because either the Prof, or the TAs, are incapable of putting together an assessment that doesn't require addendums or errata. If you work on a question and it gets updated during the exam period (and you can be guaranteed that it will get updated), maybe you'll be ok, or maybe you'll have to redo it ¯_(ツ)_/¯. That's just the random reinforcement schedule you're on when you take AI exams — think the sort of thrill you get when you're playing slots, except it's with your grades.

    Immediately following the exam, when the forums are reopened (they only permit private posting during the exam), it explodes with a flurry of "+1" comments as students, shocked by the fact that their grades are drastically lower than what they expected.

    Take this class if you’re happy to deal with the nonsense above for the sake of genuinely interesting material mentioned earlier on in the review.

    Rating: 3 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • TWPbuh1fPZYc14Sur0OACg==2023-05-12T17:39:39Zspring 2023

    Before I dive into this diatribe, I would like to say the material explored in this course is very interesting and eye opening. It has seriously made me consider if I should do a PhD in Artificial Intelligence and it helped me better understand graph algorithms, machine learning, statistics, and linear algebra. Overall, the material is fascinating, and the projects are very cool and interesting even though the difficulty of it is sometimes asinine.

    But, there's one major drawback to all of this and this might be semester specific.

    The organization of this course is a disaster. From the word go, there was miscommunications about what was expected from students grade wise in the first 2 weeks of the course. In the first week of the course, the professor decided to try to make omscs students attend zoom lectures at 8 pm (the link to these lectures were always broken and you couldn't get in unless someone from the in-person course had a link) which was odd because the way it normally works in omscs is that all lectures were available on day 1 for omscs students to watch the lectures at their own pace with respect to their work schedule. Then there was an Exercise requirement added to the gradebook. The only way you could get to know what the exercise was if you went to the live zoom lectures. At the live zoom lecture, you couldn't see what the Exercise problem was unless the professor zoomed in on the white board which he refused to do because it would "give away" the answer to the Exercise. Also, the exercises were not even available in the assignment modules despite being due by the weekend. All of this eventually got remedied when he announced that all exercises would have unlimited attempts and you could see your grade right away. This condition was not true for some exercises where students would take it and never receive the grade until after it was due. When students on Ed would ask where the grade was, the TAs would respond by saying they’re looking into it and then never fix the problem. Also, during the last two weeks of the course the TAs decided to announce that all exercise would be reopened and that you can all retake it if you want which flew in the face of what the entire staff said back in January which was to complete the exercises on time.

    To add to all of this, going to office hours was the worst. Many office hours links led to empty rooms where the TA didn't show up for 50 min. When going to Ed to ask what happened to the office hours, not a single staff member would respond (this happened throughout the semester). Sometimes, if you were lucky, you would get a response from staff but not in the way you'd hope. The response would be an update to the office hours calendar: deleting the office hour slot you're currently in waiting for the TA to arrive. Essentially someone on staff will see the Ed post and update the calendar to reflect that the TA wasn't available but not make that announcement to anyone else.

    This isn't to mention some of the weird things that happened when you did get a TA. The staff would 50% of the time not know the answer at all (which in retrospect, the questions ended up having a basic yes or no answer that could've been easily answered by someone who actually completed the project) or you would post a code review for the TA to go over in a private post on Ed, the TA would never get to it, and then some random staff member will see your code review 2 days after the project due date and ask if you ever got your code review done. Needless to say, the TA staff seem like they're stretched thin because they're having to work with roughly 700+ students (including the undergraduates that signed up to take this extremely difficult course and get 0 graduate level credits out of it). This doesn't even get into how the midterm exams were handled.

    During the midterm. Many questions were changed or updated but these changes were never made as an announcement via email or Ed. In total, about half of the questions had to he changed during the exam. And when the grades were released it never told you what questions you got right or wrong. When the answer keys were published outside of Canvas and on separate Ed boards for each question, no one was happy with what happened next. If you felt you got an incorrect grade, you had to request a regrade for a question you want partial credit on for example and find out the TAs who created those types of questions didn't want to give partial credit at all even though the question had multiple parts and comprised of 4 points for example. The questions themselves seem like they were written a bit unfairly. When you're focused on getting a massive project turned in every 2 weeks combined with reading from a difficult to read textbook, I don't know how the TAs that wrote the questions could conclude that the students were ready to answer these types of questions that were never explained thoroughly in the textbook nor explained at all in the lecture. Luckily, there were only a couple of questions that fell under that umbrella but still.... annoying. notice how I've said the TAs designed the exam? When the professor went over the exam he himself didn't know the correct answer for the questions 4 questions in and asked his TAs to go over the rest for him during class. The final exam, luckily, was more fair but there were still a plethora of revisions during the final and then you had to go through a regarding process that was first said to happen only in private mode and then all of the sudden it's allowed to be held publicly. Also, the answer key which was supposed to be released 1 minute after the final closed got delayed by 12 hours and 40 minutes and then was released in a random order. For example, the answers for Constraint Satisfaction were released first then other answer keys were released several hours apart from each other: Disorganized. This doesn't even mention the fact that a week before the final exam, a TA made an announcement saying that the final was going to be worth 20% instead of the 15% they had in the syllabus. This caused a panic and the TA's response was always snarky until the professor came in and corrected the TA’s statement hours later.

    Even though earlier I said the projects were interesting, I didn't mean that they were particularly fair. The problem with the projects is that each one expects you to be an expert in whatever the project is focusing on (navigation, Bayesian networks, machine learning, etc), but none of the lectures help with the projects because the lectures gloss over so much nuance it's not even worth it. The textbook is the place to go but that has a drawback of its own. If you're familiar with how math textbooks are written then you're OK. If not, then you're gonna spend a lot of time trying to understand the math lingo that comes from some of the chapters. Sometimes, the projects will want you to implement a function that was never explained in the textbook nor lecture so you must do additional reading outside of the course material. This is OK but it feels weird since the writing style in those readings are also dry and unhelpful and the project is due in 2 weeks along with readings from 2 or more chapters from the book. This doesn't include times where implementing pseudocode from the textbook ends up breaking your project or equations from the textbook that you have to implement are unfinished (this was especially true for the unsupervised learning project where the equations provided were missing a lot of information). There's also submission limits on gradescope for each project. 1 project only had 5 submissions allowed, others had 3 submissions every hour limit. Either way, the deployment of the projects were hackneyed. The course punished you for working ahead since some projects were overhauled sometimes the day of it being released publicly in the repos. Also, some students got a solution file for the whole project in their project folder for project 5. This resulted in the entire project folder getting deleted from everyone's repo and then it was reuploaded with no changes to the project so the solution key was still valid if you ended up downloading it early enough. On that note, project 6 had an update by the staff halfway through that increased the difficulty of the project overall. I almost forgot to mention the plagiarism mechanism in the projects that literally don’t work. Here’s what I mean. The reason why the projects are in private repos for each student is because each project has a unique combination of hidden characters in the comments (in latin) that pertain to each student. This way, if one student copied from another and that student’s code had hidden latin characters that don’t match the unique combination then the student can be caught for cheating. However, some students noticed that their IDE’s couldn’t run their project due to the hidden latin characters so those lines of characters that to be deleted so the IDE’s can actually run the project. Then said student would turn in the project, get a 100%, and receive no penalty for deleting the plagiarism mechanism. This effectively means that the anti-cheat system only works if you let it.

    In short, the course was ran by the TAs and not the professor. This class didn't feel like a Georgia Tech class, it felt like a graduate level class from an underfunded state university. It’s a shame that the professor of this course didn’t take more responsibility in running this course.

    Rating: 1 / 5Difficulty: 4 / 5Workload: 30 hours / week

  • dDxnnO7RtaE1iRm3WFUENQ==2023-05-10T02:53:17Zspring 2023

    The course has challenging concepts with assignments and exam questions that test your understanding well. It was very satisfying to submit the assignment to Gradescope, pass all test cases, and get that green 100 text. The exam questions were like story-based puzzles which were also satisfying to solve. If you're a dedicated learner, I would highly recommend aspiring for full points on all assignments and exams even if you have to sacrifice multiple weekends and some days off work during the takehome exams. Why? Because you won't grow radically unless you challenge yourself radically.

    You will learn some cool topics beyond just ML. In the real world, when you don't have a lot of data, you will know that clever algorithms can help you predict/solve a wide class of problems.

    The hardest math parts are mostly based on probability. I found my strategy of taking Bayesian statistics first was actually very helpful in that regard. I ended the class with a very high A.

    As I dive deeper into different ML/AI classes, the rigorous foundation set by this class will be helpful.

    Rating: 5 / 5Difficulty: 5 / 5Workload: 15 hours / week

  • ULMbWlaZhPR+BfzVIHYLMQ==2023-05-08T14:19:51Zspring 2023

    Background: Working in ML for 5 years and 10 years of overall experience. Prior course taken: AI4T, SAT, DL, CN.

    Lectures: These are great and interesting. They cover broader Ai topics. But Lectures alone will not be sufficient to solve the assignments and exams. The recommended book was helpful.

    Exercises 5%: Before the start of the course, TA's posted that there will be a weekly quiz that can be attempted unlimited times before the deadline. It went well initially but after midterm, it didn't follow the schedule. We were not sure whether we have a quiz scheduled for the week or not. Anyways, one can easily get this 5%.

    Assignments 60%: Best 5/6. Assignments are well organized except for the environment setup. I felt it would be better if they could provide a docker file for the assignments. I took some time to fix the env before starting each assignment. But it is not a major issue. I put in my best efforts to score well on the first 5 assignments including the extra credit. I did well (all >= 100)and skipped the last one HMM. I used the last few weeks for final prep. Grading is Auto-graded and the feedback was helpful from Gradescope. I started the A1 and A2 well in advance and A1 took a lot of time.

    Plagiarism Quiz & Intro Assignment 5%: The easiest way to score 5%

    Exam 30%: The questions were hard and really will test your understanding. It requires a lot of time. I took a few days off for doing both exams as it requires a lot of reading and sometimes coding. The topics are mostly covered in the lecture and book. It is an open book, open notes, and take-home exam. Grading and clarifications during the exam were messed up. We need to keep following many Ed threads for updates when you are already investing so much time in solving the problems. I feel TAs should have reviewed and finalized a robust rubric before releasing the exams. There were a lot of regarding discussions and arguments post the exam. I scored 95% in the midterm since I want to score as much as I can in the midterm since the final is cumulative and will be difficult. I knew I just need more than 50 to get an A and so I did well enough to score 80% in the final. I got an A 97.95%. If I didn't perform initially, I can imagine the amount of pressure during the final and its regrading. TAs did their best but could have prepared the exam material well in advance and done more reviews.

    I didnt attend any of the OHs. The previous exam walkthrough videos by TAs were very helpful. TAs are very responsive in Ed. One should have decent Python, and Numpy skills as a req. Else, It will be more demanding. Start early and score as much as you can before the midterm. Focus on the assignments more. Overall, it is a good course who likes to code and solve problems. You will learn a lot of AI topics.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • rXqIfikWpIfFu8kzNGzVRg==2023-05-07T18:34:09Zspring 2023

    I'd give a 0 for rating and 6 for difficulty if it were possible.

    This class is relentless. 6 difficult projects, 2 seemingly impossible exams. Each project is released as soon as the last one closes. There's no room to breath and digest the material. The entire course feels like a fight to keep your head above water on the assignments.

    The teaching assistants were at times unprofessional on Ed with responses to student questions.

    The only reason I passed this semester is that we had a great cohort on Discord that helped teach each-other.

    The exams were incredibly unorganized. During the exams, course staff maintained these long clarification threads for each question that you were expected to check daily. After the exams, there were mile long "regrade request" threads for each question filled with students "+1"ing each-other, requesting credit because the question was incoherent to begin with.

    OMS admin need to audit this course.

    Rating: 1 / 5Difficulty: 5 / 5Workload: 30 hours / week

  • SuCs6vUKXtWrCyQuVU6ZBQ==2023-05-07T13:23:03Zspring 2023

    This was my second class in OMSCS, first being ML4T. This course covers a lot of topics of AI. The book is amazing and I would highly recommend buying it. We were lucky this semester that some of the hardest parts of assigments were converted to extra credits and final exam was 15 points instead of normal 20. 5 points for 10 exercises were freebies (unlimited attempts)!

    A#1:Search: This was the hardest assignment. Tri-A* (or any other method for Tri search) with optimal node expansion. At least 30 hours! A#2:Game(or Adversarial search), it was easy, I had spend around 10-15 hours! A#3: Probability and Bayes Net: This assignment is little tricky but not difficult. I spend around 20 hours. A#4: Decision Trees: This is not very difficult assignment, and particularly I had implemented similar (less difficult) Decision Tree in ML4T course. Around 15 hours. A#5: K-means clustering and Expectation Maximization: This is assignment can become tricky as you have to vectorize your implementation otherwise it will not pass Gradescope time limit. I would say 15-20 hours. A#6: HMM: I did not really spend much time on this one as I already had above 100% on first 5 assignments (you can discard one lowest grade assignment so best 5 out of 6 assignments) Mid-term(15 points) and Finals(15 points) are take home exams (7 days to finish) but exams are not easy. You have spend a lot of time doing each problem (you are basically solving each problem). Finals is cumulative so it cover entire curriculum (around 40% from first half and 60% second half). If you want to score an A (which is not difficult), you have to score very high (almost 100%) in assignments. I would highly recommend this course if you are willing to put in some long hours, but you will learn a lot of basic AI techniques!!

    Rating: 4 / 5Difficulty: 4 / 5Workload: 12 hours / week

  • aX7v+yTogLvsY6OhYBAN7A==2023-05-06T12:54:48Zspring 2023

    Just wrapped up the course. Overall I think I’m very lucky to register this term, when there are plenty of extra points here and there. The 5 exercise points are basically for free, and you get 3 extra points for simply creating a GitHub account.

    • Search: the first assignment really knocked us over thoroughly. This is the hardest out of the whole course imho. Spent days on the tri-directional, thengiven up on the last section. Worked on it even on the plane (without much improvement). I ended up with 93.5 since the last section became a bonus. This would be the best assignment to drop, that’s why they put it as the 1st one.
    • Game playing: I’m one of the lucky people that somehow the basic implementation without any adjustment just passed all immediately 105/100. Beside HMM, this assignment cost the least amount of efforts, 4 ~ 5 hours.
    • Bayes: Not too hard but I couldn’t get the sampling part to work correctly so it took more time than expected. For some reasons I think this one is the most interesting. 100/100
    • Decision tree: This took a reasonable amount of time, and it was satisfying when things work out. Great to code it step by step and see how the algorithm really work. The course also felt lighter by this point. 100/100
    • Expectation Maximisation: People said it’s hard and requires lots of time so I dropped it and did not look back. Haven’t read the description. However, seems like almost everyone got 90+ according to the figure posted by TA, so consider it.
    • HMM: quite easy and straight forward, also it takes like 1 minute of adjustment from 2a to finish 2b. If you don’t want to spent too much time passing Gradescope, this assignment is a gift. 100/100

    The mid-term was difficult but also reasonable. The staffs were generous with the regrading as well: average grade jumped up bloody 10 points afterwards. I spent 2 solid days on it though, so I planned to get by the final with minimum efforts. Oh how silly I am.

    I only need 45 to pass with an A, so I decided to not watch the last 2 weeks of lecture (the lectures of this course isn’t half bad compared to others, but they are still, well .. lectures). They made up 40/100 points though. Okay, I’m confident I can get 45/60 out of the rest. But hell, this exam really seriously cost you your dear brain! There are no free points. You really have to think and implement and check and check again to get the correct answer. I still skipped the last 3 parts out of principle but doing the rest is no less effort than watching more lectures. I should have actually focused on those 40 points instead and scraped 5 points from the previous sections.

    Anyway, I ended up with 41 haha but after the corrections it will be at least 48, and unless there will be some crazy changes in the % I will barely have 90~91% final grade. The take away from this term is, it’s possible to plan and allocate your efforts to minimise the hours spent. Prepare to work seriously hard, there's no way around it, but do not lose hope after Search!

    The exam organisation is a big mess, stressful for both sides. But the TA tried their best , they are super helpful and responsive. If Raymond Jia is still TA-ing when you take this course, you are lucky!

    Rating: 4 / 5Difficulty: 4 / 5Workload: 15 hours / week

  • /1u5FzzK+zHpr+lKjt4ujQ==2023-05-04T19:46:50Zspring 2023

    I just completed the final and the breadth of content you are expected to know at a deep level before going into the final is ridiculous. Thank god I only needed a few points to keep a B. This course is too big. Many topics could be removed and left for more specialized classes. Stuff like Deep Learning, Reinforcement Learning, etc. This course should really be basic AI up to some Machine Learning.

    Projects (lowest is dropped) 88.87 - Project 1 - Search (Hard) 105.26 - Project 2 - Game Playing (Easy) 100 - Project 3 - Bayes Nets (Hard) 100 - Project 4 - Decision Trees (Easy) 100 - Project 5 - Gaussian Mixture Models (Hard) 0 - Project 6 - Hidden Markov Models (Skipped)

    The projects are pretty decent. They just want you to understand material at a way deeper level than it is 'taught' in the lectures (if it's even in the lectures). Get ready to enroll in YouTube University.

    Some of the project topics are mentioned in passing in the lecture and are completely left for you to figure out. (Honestly, thinking about it now, most of the things you are assessed on are also just mentioned in passing in the lectures.) The majority of the material in the class is missing from the lectures. Having a study group is pretty much the only way you can get the grades I did on the projects (unless you are a super genius or aren't seeing the material for the first time). Many of the people in our group were on their second and third try with this class.

    Exams 68.92 - Midterm 40 - Final - cumulative exam :(

    Exams are loaded with ambiguity and simply unclear questions. The questions test your understanding of the questions, not the content. Tons of regrades were rightfully submitted. Class exam averages pre-regrades was around a 53 for both tests. Midterm average jumped about 10 points after regrades.

    I spent 30 hours on the midterm and refused to spend more than 15 hours on the final. I attempted about 60 points worth of questions on the final leaving many of the insane and lengthy sections blank. The exams are way harder than in the past (we got to see past exams; I wish I took those). We thought that since they made the midterm harder, they would make the final easier and reduce the difficulty gap between them. WRONG.

    85.56% Overall

    Rating: 2 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • 24Ua2k8vAxM9P8WBhEcUtA==2023-04-27T16:17:10Zspring 2023

    I have very mixed fillings about this class. The content and subject was great. I learned a lot of things that will be useful in years to come. That being said, the quality of the teacher and staff was very poor. As the class progressed the organization and lack of communication between staff was clear and cause lots of frustration for students. As an OMSCS student the professor made it clear to us that he cared more about catching plagiarism and cheating instead of growing an interest in the subject for the students. I felt ignored and left to fend for myself for a lot of the course while the professor merely said that the answers were "obvious". The professor sent the class a "how to succeed" message which mentioned that the difficulty was at the level it is because he wanted to prepare us for PHD level exams. As someone who is uninterested in pursuing a PHD, I found this incredibly strange. With the constant emphasis on plagiarism I felt there was a constant atmosphere of fear. I was afraid to collaborate with or ask fellow students for help. Further dividing us was the extra credit, which was design as a competition which only the top 5 people would get credit.

    I believe the assignments were interested and were good at showing how to apply the theory to practical scenarios but the presentation, bad organization, and technical issues involved took a lot away from the experience.

    The exams did not reflect what was given in the assignments. The lectures gave us a simple view of topics and when students took the exam we found that there were many "gotcha" questions and during the exam there were many corrections that cause confusion. Prior to the exam students spent a couple of days correcting the grading that the professor and staff did.

    During the semester, the syllabus mentioned a portion of our grade was exercises distributed weekly. In the send half of the semester, distribution suddenly stopped as well as weekly announcements.

    Over all I wish that I could give this class a better rating but the negatives greatly out weighed the positives. The level of work, stress, frustration did not reflect the grades given to students. It felt as if we were taking a class that was worth twice the number of credits but only given half.

    Perhaps this will be corrected in next iterations of this class but I am skeptical as there were students who have had to take this class more than twice. If you must take this class be emotionally prepared to have a large work load and to have inconsistent communication.

    Rating: 3 / 5Difficulty: 5 / 5Workload: 20 hours / week

  • szFGSy34W3OiXNupCVHubw==2023-04-24T01:07:51Zspring 2023

    Assignment is ok and not so hard to pass. Like other AI course, mid and final exam is like a different task not easy to get good marks (less than 70 % is normal)

    the assignment task is 5/6 which means you only need to pass 5 assignments which will reduct your work load.

    By the way, for me the most difficult assignment is assignment 1. do not know how to write tri-A* search.

    if you mark 100% assignment, still get chance to win A.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 9 hours / week

  • rOkPXAx2CdUD64A3NUh77A==2023-04-12T02:44:03Zspring 2023

    Fun class, prepared to do lots of reading and learning!

    Rating: 5 / 5Difficulty: 4 / 5Workload: 25 hours / week

  • 7UqMWc/njhsdGL3faqKVQA==2023-04-01T16:26:34Zfall 2022

    I did not thoroughly track my hours per week. I think this is a great course. Not as difficult as people say if you put the hours into it.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 20 hours / week

  • ebjPyKDLgqJevrdpIZP3DA==2022-12-19T22:26:15Zfall 2022

    AI is overall a great course. The TAs are very active, the lecture videos are great, and the homework are mostly fair and stimulating. It is a tough course, but if you're comfortable with Python and have ~20 hours /wk to dedicate to AI then you'll be OK. This semester I took AI along with Game AI and Cyber Physical Design/Analysis, and it was challenging at times but very doable (But I don't have many responsibilities outside of school ie. no job/kids). My one complaint would be the exams. The midterm and final exams are both take-home open-book exams and they are LONG, especially considering they have to be completed within a week. Especially the final. I spent ~20 hours on the midterm and ~30 hours on the final exam. For me, this is totally doable because of my flexible schedule but for other people it may be impossible to dedicate this much time to exams. The other weakness of the exams was the confusing questions. This was addressed by students on Ed during our class, but basically each exam question is written a bit like a story or prompt which helps keeps them interesting. However, this can sometimes cause the questions to be very convoluted and long, to the point where I don't understand what the question is asking. For reference, the final exam was a 60-page pdf. For the record, I scored above average on both exams and had a ~95 as my final grade. For people with jobs, I'd recommend taking a day or two off of work during the week of the midterm/final to give yourself extra time. Time is absolutely the biggest factor in being able to complete the exams on time. Also be sure to ask clarification questions as soon as you have them, and be aware that there are practice exams posted on under files in Canvas that can sometimes be helpful.

    Overall, this is an outstanding course. I learned a great deal about many different AI topics and would highly recommend this course. My advice for succeeding in this course would be to not underestimate the workload and begin every assignment as early as possible.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • OrLiXqbODFOjD9hKclarfg==2022-12-17T17:05:57Zfall 2022

    Overall

    This course is a survey of AI topics including search, game playing, Bayesian networks, machine learning, planning and optimization, hidden markov models, and others. It is interesting and also pretty challenging. The organization of the course could use some improvement. Lecture quality is ok, the book is good but dense and difficult to understand all the math if you don't have a strong math background, and the projects are pretty good.

    My background is I'm a recent career switcher to data engineering (1 year of experience) and come from an analytics background. I hadn't taken a math class for 15+ years prior to getting ready for OMSCS. Preparing for OMSCS, I took Discrete Math at community college, and self-studied calculus 1 and linear algebra. The more math background you have the better your learning will be.

    Projects

    You can drop your lowest score out of 6 projects. There are times when you can pass all tests locally but will not pass all of Gradescope. This is not unique to AI, and other courses have this characteristic.

    • Search (difficulty 9/10, my score 85): You use uniform cost search (Djikstra's) and A* to find the shortest path between points on a map. The difficulty increases with doing this in a bidirectional and then tridirectional way. This is the first project in OMSCS where despite putting in many additional hours, I could not push my score up.
    • Game Playing (difficulty 8/10, my score 95): Use minimax and alphabeta pruning techniques on a game called isolation. I was not able to beat Peter's agent for the last 5 points.
    • Bayes Nets (difficulty 5/10, my score 100): Create a Bayesian network using conditional probabilities provided in a table. Calculate conditional probabilities for various scenarios. Use Gibbs sampling and Metropolis Hastings sampling algorithms. You get a maximum of 5 submission attempts.
    • Decision Trees (difficulty 6/10, my score 100): Use decision trees and random forests to find convergence on classification problem. This topic was interesting and fun to me. However, the Gradescope implementation is testing you on something hidden without telling you. I spent some hours on figuring out what this was, and in the end, it wasn't some major change to my code. If the instructions simply laid out certain kinds of cases to think about, it would have saved me several hours of tweaking where I learned nothing additional.
    • Expectation Maximization (difficulty 8/10, my score 100): This project is heavy on linear algebra. You need to know dot products, inverses, determinants, and other matrix knowledge. You also need to use vectorized numpy functions. I found this project to be the most conceptually difficult.
    • Hidden Markov Models (difficulty 5/10, my score 100): Create HMM's and use the Viterbi algorithm to determine the most likely outcome given some evidence. There is a limit of 10 submission attempts.

    Each of my above scores was the median during my semester. One of the issues with the projects is on some of them I scored well, but I still didn't fully understand how or why it worked. You are provided some formulas or algorithms sometimes and you just need to implement them.

    Lectures

    The production quality isn't at the top level of the best OMSCS courses. However, I like that Peter Norvig and Sebastian Thrun did a good portion of the lectures in addition to Thad Starner. The main gripe with the lectures is they oftentimes aren't enough to get you through a project or test. You need to supplement with outside resources.

    Tests

    The midterm is worth 15% and the final is worth 20%. Each is a week-long take home test with open book, lectures, and other class materials. These tests are unique in that they force the student to review all the material which helps to reinforce the concepts. I liked that I did gain more knowledge from this, but I didn't like the process. The midterm was 45 pages and the final was 60 pages. It's just a long slog to get through them, and I took days off work to do them.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • RB5P8JrhVY2BrO3xOq7u5w==2022-12-17T07:28:02Zfall 2022

    This was my first OMS course which I coupled with ML4T. So, my only points of comparison are previous undergrad in-person classes (CS) and ML4T. Overall the course is strenuous and involves a lot of external reading for project completion. The lectures are superficial and I believe they should redo the whole series. The assignments vary in difficulty of implementation but they help you understand key concepts which I enjoyed. However, don't be fooled by most reviews which say that only the first 2 assignments are tough. The first assignment is definitely the toughest to implement and get the full points. The other assignments, although easier to implement, take up a lot of time because they are lengthy and need several iterations to optimize and debug code. In the end, 5/6 assignments are considered for grade and you should really be aiming for 495 or higher in order to have clear chances for an A. Most assignments have an extra credit section that can boost your overall score. Coming to exams - midterm and final is a one-week open book exam. Beware that these exams really test your in-depth knowledge of the subject matter and you will need the full 7 days to read concepts from the book and recheck your calculations. Previous year's questions and challenge questions (posted by instructors at the end of every week for each module) really help here and the difficulty of the exams is at par with these challenge questions. Overall, the class median reached around 90 and I managed to get an A. Unlike ML4T, lectures in this class are not in-depth for project implementation and heavy external reading is required. Exams are way tougher than the straightforward exams in ML4T (which tested direct lecture material).

    Rating: 4 / 5Difficulty: 5 / 5Workload: 20 hours / week

  • ZN9uVRB/TlU1+5KZLa6fUA==2022-10-30T05:29:46Zspring 2022

    This class was great and I made a full-on review video about it here: https://youtu.be/OQ74VZHpAUU

    Rating: 4 / 5Difficulty: 5 / 5Workload: 20 hours / week

  • 3DAMyikTEhmL6xCnN9OIKw==2022-10-13T03:09:39Zspring 2022

    AI was my 2nd course in OMSCS. I wanted to dive into a class that was coding-heavy and see if I could keep afloat. I wasn't the most confident in my coding skills before I took the plunge (quite frankly, my coding skills are rudimentary and I don't do any software coding for my day job). But I had the STEM (though non-CS) background to be confident that I could get through hurdles as I encounter them. It's not like CS is rocket science...right?

    PROJECTS: None of the projects were particularly easy for me, and I definitely was at the bottom of the class when it came to coding and debugging proficiency with IDEs. But the 3 things that saved me in this class:

    1. Reading the assigned textbook
    2. Allocating enough time for each project to trial and error my way to completion
    3. Taking the time to understand the math/theory behind the algorithms

    EXAMS: The midterm and final are constructed in such a way to test your conceptual understanding of how to apply algorithms in different fields. I thought the exams were difficult, and my midterm score was mediocre while my final score was much higher than the median. Rote memorization will not help at all for these exams, so after the midterm kicked my butt I knew what I needed to focus on to be a better test taker for the final.

    TEACHING STAFF: The teaching staff was not always able to be as forthright during Office Hours. They want to make sure people put effort toward figuring out how to solve problems, so they cannot be too specific nor give away any answers during OHs. However, the ambiguity in replies on Ed and OHs would frustrate a portion of the class, and this led to a lot of grumblings on Ed about areas for improvement in the future. Overall, I found the TAs cordial and the head TA was helpful for resolving logistical matters with exams. It didn't seem like Dr. Starner interacted much with the students until the 2 weeks of Meta lectures began - that's when we saw more of Dr. Starner. I also appreciated his Ed posts later on in the semester clarifying his plans for CS6601 in the future (adding Meta lectures to it permanently, making CS6601 accessible to the deaf community, etc).

    My final grade overall: I passed with a solid A. This was the class that made me work so hard that sometimes I could feel some wrinkle lines remaining in place between my eyebrows! But it was also the class that felt the most rewarding to me. Even now, after a few more OMSCS classes, I still feel that AI has been the most "worth it" course for me in this program.

    Thoughts: I don't think you need to be "good" at coding before signing up for the course. Heck, I don't even think you need to be "good" at math either, especially if you are rusty in remembering some of your linear algebra after X number of years of working to make money in your day job. But you need to read directions carefully and you need to read/understand the concepts pertaining to the algorithms before you plunge straight into writing lines of code. Just practicing good reading comprehension skills will get you far in this class.....there were too many instances when people would post questions on Ed that very clearly showed that they did not read the entirety of the assignment before tapping away on their keyboards.

    I would recommend everyone to take CS6601, whether it be a refresher AI course for you (if you did CS in undergrad) or it be an interesting challenge for you (if you have no CS undergrad background and/or don't even code for your day job). You never know how much you will learn and how much satisfaction you get out of the course before you try it.

    Rating: 4 / 5Difficulty: 5 / 5Workload: 25 hours / week

  • zDItZBTNIhVmIEEic0jcsw==2022-08-10T20:46:01Zspring 2022

    This was my 4th sem in OMSCS. Scored an A with > 99.9% out of 100 after accounting for extra credits. Difficulty is on par with Computer vision in terms of effort. Out of 6 assignments, 3 assignments are tricky and comparably took more time to finish. By the way, the 1st assignment "Search" jumps right into without wasting any time. Then BayesNets and Expectation Maximization assignments require some time to finish. One should be fine if they are comfortable with python. For me, no assignment took more than a week (7 days) to complete except for Search, 1st assignment. You get 2 weeks to finish every assignment.

    Coming to midterm and final. These together account for 35% grade and are challenging. I liked both mid-term and final because unlike other classes where you get tested on a concept., here you need to solve questions related to some situation or scenario. Solve it using the concepts learned in the class - textbook and lecture videos. That helps you broaden the understanding and practical applicability of AI learnings. For me, midterm took about 25 hrs to finish and final about 35 hrs to finish. Fun and interesting class.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 25 hours / week

  • Georgia Tech Student2022-05-08T13:51:37Zspring 2022

    Overall, this is a well-designed course. I manage to get a solid A (>97%). Here is my advice:

    1. Prepare for heavy self-learning. Lectures are only introductory. The majority of the class relies on self-learning.

    2. Assignments - start early if you are not familiar with AI or numpy.

    3. Exams - plan enough time to work on it (3 days for midterm and 4 days for final). They are long and not easy.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • Georgia Tech Student2022-05-06T22:04:20Zspring 2022

    This was a great course and one of my favorites in the program. I am specializing in computing systems, but took this course to get some exposure to AI/ML and managed to get an A.

    The course is challenging and there is quite a bit of material covered, but most of it is interesting and I found the projects enjoyable. It is apparent that Thad cares a great deal about the quality of his course.

    Most of the grade weight is in the projects, which are fairly straightforward provided that you start early. My lowest grades were in the first two projects. The exams in this course are unique in that you do quite a bit of learning during the test, which takes place over the period of a week.

    The final is my biggest complaint about the course. I found it much more challenging than the midterm and I believe this was due to the lack of relevance to the projects / lectures. In contrast, the midterm felt like a logical extension of the topics we had covered. There were also many errors that had to be corrected after its release and this is frustrating to encounter while taking the exam. The exam length was twice as long as the midterm, but the time to take the test was the same. The length is not a huge issue given that it is twice the material, but there were no real deliverables in the prior week. I think a better approach would be to dedicate the final two weeks to the final, rather than giving 3 weeks for project 6 (which only took a few days).

    Overall I highly recommend the course for anyone interested in a survey of AI topics.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 17 hours / week

  • Georgia Tech Student2022-05-06T21:02:33Zspring 2022

    I took this class to get some exposure to ML/AI and to see if I'm interested in pursuing more classes in the domain. I have a non-CS background with no experience in ML/AI, no numpy experience, and calc/linear algebra/probility/stats from 10 years ago and mostly forgetten.

    I tracked my time spent in the class using a focus timer app and averaged 15 hours/week with a few heavy weeks of 20-30 hours for the search assignment (1st), gaussian mixture models assignment (5th), and final exam. I read select chapters from the book up until decision trees but stopped after that as I lost interest in ML. During Bayes nets I got busy with work so couldn't spend enough time on it and thus ended up with a shallow understanding of it and following modules which are heavy on probability.

    Assignments:

    1. Search (33 hours) - This one isn't too bad if you taken GA or done graph problems on leetcode before. I spent over 8 hours trying to get a final point in Bidirectional A* search which I couldn't get in the end, so around 25 hours if I called it quits at 99 points.
    2. Game playing (10 hours) - Supposedly this is the hardest assignment, but we may have lucked out with an easy variant this semester. It helps to submit early and often as there's some randomness in beating the best agent, e.g. some people beat it with vanilla alpha-beta pruning while others couldn't with iterative deepening.
    3. Bayes net (12 hours) - I only completed half this assignment due to work commitments so ended up dropping it.
    4. Decision trees (20 hours) - Relatively straightforward.
    5. Gaussian mixture models (26 hours) - If you're not good with linear algebra or numpy then this project was brutal. I spent more time trying to vectorize matrix operations using numpy than on the actual algorithms.
    6. Hidden markov models (13 hours) - Relatively straightforward.

    Tips for exams:

    • You can implement algorithms in Python/excel/etc. to check your work / solve the problems. This helped me score in the 90s for the final. Had I done this for the midterms, I could have scored high 80s.
    • The practice exams and challenge questions are good preparation for the exams

    The median scores for the assignments and exams are quite high and there's little to no curve. To guarantee an A, you need to get above 90% and above 80% for a B.

    Overall, I enjoyed the first half much more than the second half. Knowing what I know now about the material, I probably wouldn't take this course, stick with computing systems courses, and just wait for new courses to get added (revamped/new databases, programming languages, quantum computing, etc.).

    Rating: 3 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • Georgia Tech Student2022-05-06T17:52:06Zspring 2022

    The Spring 2022 CS6601 is a mixed bag. The class content is good and the enjoyable. But I did not like the learning environment set by the teaching staff (compared with some other class I have taken in OMSCS)

    Pros:

    1. The content of the course is well designed to help you understand the fundamental concept of AI.

    2. The assignments are challenging enough to force you read the supplemental materials, which was rewarding and worth the time.

    Cons:

    1. The environment of the class is, hostile. My impression is that Dr. Starner seemed to care "catching plagiarism" than "actually helping students solving the problem". In one of the his RARE office hours that I attended, he spent 30 min on warning students of the punishment for plagiarism and only 15 min on very very very high level brief review on the midterm chapters. IMO, not helpful. Not to mention that you are not to allowed to look for help and read pseudocode in online resources. Students on Ed are willing to help each other, and I had a lot great discussion with them. But more than too often, everyone was afraid of sharing too much detail to be tagged as "plagiarism". This definitely needs to be improved.

    2. TAs rarely answered questions on Ed except those closely-related to the assignment. Not sure if they are are not allowed to (remember the no pseudo code, no plagiarism policy? ) or as someone else mentioned, they don't have the knowledge to do so.

    3. Most of the coding assignment is not really "CS coding" I would say. Rather, knowledge on statistics and linear algebra are more useful for assignment.

    4. The open book midterm and final exams are the WORST part of the course. They are not hard.(I got >90 on both) But the exams are riddled with typos, grammar mistakes, ambiguous problem definition, etc. I spent more time on figuring out the "correct" interpretation of the problem than on actually solving the problem in both exam. Imagine dealing with "ambiguous problem" and "possible trick question" at the same time! Sure you can ask on Ed for clarification, but good luck on any TA caring to respond, or worse, waiting half of the final week only to get a more misleading hint from TA.

    Rating: 3 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • Georgia Tech Student2022-05-06T04:03:29Zspring 2022

    CS-6601 is a great introduction class to AI.

    Best part:

    • It does not have a useless group project. So you can spend more time learning than dealing with people.

    Lecture videos:

    • The professor uses simple examples to explain AI concepts in the lecture videos, making this class friendly to people who do not have relevant CS/AI backgrounds like myself.

    Assignments:

    • Total 6 assignments. One assignment is due every other week.
    • The assignments are not easy but not too challenging either. You will be guided step by step.
    • I didn't fully understand every part after watching the videos. Working on assignments was a big help to further digest what I learned.
    • The first assignment (Search) was the most difficult one in my opinion.
    • On average, I spent 10 hours on each assignment.

    Midterm & Final:

    • Open-book midterm and final - you will have a week to complete them.
    • As long as you understand the concepts, the questions are simple but don't wait until the due date to start.
    • The exams are well designed to test the basic understanding of concepts by using actual examples - additionally, you will be provided with partial answers to check whether you are on the right track.

    Overall:

    • A good class that demands time and effort, but is not too challenging.
    • It does not require any specific pre-requisite.
    • This class does not demand advanced programming skills in Python. For math, as long as you learned math at college and have not forgotten all of it, you will be fine. If you don't even know how to multiply two 2-D matrices or don't understand basic probability, you might have complaints in every class.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • Georgia Tech Student2022-05-05T01:25:02Zspring 2022

    This course is a mixed bag of enjoyment, stress, and chaos all in one. Its a great course where you learn so much and are consistently challenged but it is ruthless. I thought the assignments were mostly fun but A5 was very challenging. The exams are not to be underestimated. You can assume the average for most assignments will be around 100, so the exams seem to be the limiting factor on your grades. I did not do well on the midterm bc it was right after A3 was due and i was working on A3 till sunday night so i didn't study for the midterm and my grade reflected that. For the final i put in all my effort and the week of i probably spent around 40 hours on it, which is on the very high end to be fair but I really wanted an A since this was my last class to graduate. Useful tips i have are:

    1. Try to get a study group for exam prep, we did this for the final and i learnt some stuff i probably would not have otherwise
    2. Don't underestimate the amount of time the midterm/final will take. The midterm was more difficult imo, though the final was double the size but felt fair besides a couple of mishaps w/ communication from the TA's.
    3. If you can save your drop for A6 i'd recommend that so you have 1 less thing to do while prepping for your final

    Cons of the class:

    1. The TA's sometimes dont have a deep enough knowledge to help you when stuck. I've had varying experiences with the various TA's. Some are great, some have kinda just moved on from your questions in OH when you're stuck.
    2. Communication in the class can be improved upon, there were a couple mishaps in spring w/ the Final and a extension on a assignment that was announced after the deadline. Overall nothing too bad but was annoying since you're already stressed out
    3. The stress of your grade till the very end of the class. If you do well on the midterm you don't have to worry about this unless you're really aiming for an A, but if you're fighting for a B it can be quite scary since you have no idea what the curve will be till the end of the semester

    Rating: 4 / 5Difficulty: 4 / 5Workload: 22 hours / week

  • Georgia Tech Student2022-05-03T17:22:37Zspring 2022

    Overall fantastic course. The good parts: Assignments were challenging and crystalized the learnings. The not so good parts: The video lectures could be better as they didn't explain a lot well. Needed to supplement with readings from the textbooks and YouTube videos. This made midterms and finals a lot harder and time-consuming than they should be.

    Despite these shortcomings, the time invested in this course pays dividends. Tips: Start early on assignments and even earlier on exams. Do all the extra credit. Shoot for 100s in the assignments. You will need all of these to average out with the hard midterm and final.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 30 hours / week

  • Georgia Tech Student2022-05-01T19:20:46Zspring 2022

    I settled for a B because I didn't think I could get a 69 on the final. Feel really bad about it too!

    No idea why everyone says the 1st two assignments are the hardest. The 2nd assignment was the easiest BY FAR. The final is the hardest part of the class. I only took 1 day off work but I should have taken a few more AND I should have started it sooner.

    Assignments

    Search -- 94 score, 35 hours over 2 weeks

    Game Playing -- 95 score, 5 hours over 2 weeks

    Bayes Net -- 71 score, 25 hours over 2 weeks (had family in town)

    Decision Trees -- 100 score, 18 hours over 2 weeks (ML4T really helped here)

    Gaussian Mixture Models -- 100 score, 20 hours over 2 weeks

    HMM -- 100 score, 10 hours over 2 weeks

    Midterm -- 79 score. I choked on the Bayes Net question. No surprise considering my assignment score.

    Final -- Estimated score of 48. I stopped trying once I realized a 69 was unlikely. The final was a great deal more difficult than the midterm. I spent ~12 hours on the final and probably needed another 20 hours to get my desired score for an A but alas, here I am. The final 3 assignments had very little to do with the final exam which was surprising to me.

    Some of the final exam questions, I simply had no idea what they were asking. There was a q-learning question which, initially, I thought I would do well on because of ML4T but I was confused and just gave up.

    The ML and HMM questions were above and beyond the assignments. Updating weights in the ML question and forward/backward was new to me but briefly mentioned in lecture. Had I understood all the mathematical syntax or read an additional 75 pages from the book then maybe I could have gotten it but ran out of time. I also had no idea on the constraint satisfaction problem, even though I did well on this topic for the midterm, and gave up when the tip was "read another 30 pages from book".

    Rating: 4 / 5Difficulty: 4 / 5Workload: 18 hours / week

  • Georgia Tech Student2022-04-26T05:55:56Zspring 2022

    Please read https://omscentral.com/review/-Mg2meE3KVrVBVS4yIDu and DON'T TAKE THIS course if your answer to any of the categories under "The type of student I think would struggle" is YES. IMHO, for a very marginal learning, this course has an insane amount of suffering and slogging that you'll have to go through. Video lectures are a joke, reading material is difficult to digest, assignments are out of context and unnecessarily complex, and exams are largely based on topics that are covered with 1-2 minutes video lectures at best or are out of context just like the assignments. I am honestly surprised that there are so many positive reviews for this course. I am sure that you'll be able to find much better courses on AI outside that are probably free; in fact, that's what you'll end up doing anyways: watching YouTube videos to finish assignments, because none of the provided material helps. I don't even want to talk about that exams that are 40-60 pages and (very proudly) are announced to take 13-15 hours to complete!

    Take this course only if you are familiar with AI concepts previously and are very good with linear algebra / probability (I had forgotten most of it). Otherwise, kiss your life goodbye in the semester you are taking this.

    Rating: 1 / 5Difficulty: 5 / 5Workload: 30 hours / week

  • Georgia Tech Student2022-04-26T02:10:06Zspring 2022

    My background: OMSA student 7th course, c-track (other course is RL). Undergrad in CS

    I thought this was a really well designed course that goes over a whole wack of areas in AI. Basically begins with your classical AI problems of search and game playing then transitions to some ML topics such as GMM and random forests before getting into HMMs and some more theoretic parts of AI (planning, logic, etc.). The course makes use of AIMA (AI textbook) which is a really great reference throughout the course because admittingly some of the lectures are a little bare. The open book midterm and final exam are very well put together (kudos to the designers), and do a good (but fair!) job of testing material throughout the course. I really liked the format of riddle/thinking problems in this format. The assignments are also very well done, I sort of wish there was one more on RL at the end because I am a big believer in learning by doing, but I guess there is an entire RL course for that.

    Like most of the online program, this course is what you make of it, if you only spend time working on the assignments then your time commitment will be a little lumpy. However there is tons of content throughout the course and textbook if you really want to get into the weeds and keep busy.

    EDIT: I can imagine there will be students that will write scathing reviews over the final exam for this term, these are overblown. Yes there were some mix-ups but the amount of complaining that went on Slack afterwards is ridiculous, if you knew what you were doing in the class you were ok on the exam regardless of these.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 12 hours / week

  • Georgia Tech Student2022-04-09T13:53:00Zspring 2022

    Background: CS Degree from a top school, working as a software engineer. Doubled up on this class with Network Science. I'm writing this review from the perspective of having a strong CS background and having taking an AI course in undergrad.

    Really well structured class with clear goals and deadlines for each week. If you have a strong CS background and experience with Python, the class is much easier from a workload and difficulty perspective than the other reviews are saying. Around 80% of the material covered should not be new material and is just slightly more in-depth than you should have already seen, and the lectures do a great job of covering the material. The book is great for the first half of the semester, and ok for the second half. Definitely worth reading, but got a little math heavy and theoretical for my taste in the later chapters.

    I found in the weeks that I wasn't actively working on an assignment, the classwork was pretty light. Around 2 hours to read the assigned reading and take notes, and around 2 hours to go through the lecture videos. I found reading the book, then following it up with the lectures was helpful to confirm my understanding of the material as the lectures are much simpler. The lectures are easy to get through and honestly fun to watch.

    In the weeks I was actively working on an assignment, the hours spent in the class went up depending on the assignment. Like everyone else, I found the search assignment to be the most difficult and time consuming. However, it's an assignment worth doing as the median was quite low and it's fairly straightforward to get an 'A' on. The rest of the assignments I found to be about the same level of difficulty with varying amounts of code. All told, I averaged about 10 hours per assignment on the last five assignments, and spent roughly 20 hours on search, and have been at or above the median on all assignments.

    The midterm was lengthy but fairly straightforward if you took your time and made sure you understood the question. I spent about 10 hours on it and was well above the median. Haven't taken the final yet, but assuming it will be similar.

    Overall, I really enjoyed the class and I feel it has strengthened both my theoretical understanding and my practical knowledge of many AI topics. I would highly recommend this class, and if you have a similar background it's not as arduous as it's made out to be. If this is your first foray into the material, it will be more time consuming, but still worth taking.

    Rating: 5 / 5Difficulty: 2 / 5Workload: 10 hours / week

  • Georgia Tech Student2022-04-01T18:40:19Zspring 2022

    It's not easy class and requires lots of time devoted, but the course is very well structured to ensure you obtain knowledge after each assignment. Also, you build your python skills while doing assignments. It gives you directions.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 25 hours / week

  • Georgia Tech Student2022-01-18T04:48:20Zspring 2022

    7th class (AI4R, HPCA, IIS, GIOS, SAD, iHPC)

    Rating: 4 / 5Difficulty: 2 / 5Workload: 100 hours / week

  • Georgia Tech Student2021-12-22T02:27:08Zfall 2021

    I was a bit nervous for this course given some of the other reviews here, and in the end I think the difficulty of this course has been overblown--at least for where it was in Fall 2021. The TLDR is that it is not an easy course, but not that hard if you have experience programming and are willing to put time in.

    For context, this was my third OMSCS course (after KBAI and HCI), and I got my undergrad in CS. I've been working as a software engineer for 3+ years now. I actually took an AI undergrad course in uni, and it covered many of the same topics, albeit more superficially and this was a deeper dive than I had studied AI in the past. This was the only course I took this semester. I work full time and have a decently busy side hustle on top of that. I'm finishing the semester with a very solid A.

    assignments If anything, this course is uneven. Some of the assignments will completely drain you, and you will need as much time as you can to complete them. Others you will finish rather quickly (8 hours or less) and then you will have a whole week with not much to do. In a fall/spring semester, there are 6 assignments and your final grade will account for 5 best ones. A quick overview:

    • assignment 1 - search Many cite this as one of the more difficult assignments, although if you have programmed UCS/Dijkstra before, it's not so bad, just a lot of code to write. The last few points are far more difficult to achieve compared to the first 80-90 points, which is actually a pretty fair way of setting a problem up, in my opinion. I got 96% in one week and had to stop due to competing work obligations. It's too bad, the last part of this assignment was really interesting.
    • assignment 2 - game playing For me, this was the doozy assignment. I spent every free hour I could (and then some hours I was supposed to be working) trying to get the last 10% of credit, and finally managed it in literally the 11th hour. Because gradescope submissions are limited and randomized, you can only test your code against...your code. So if it's flawed, the only ways to figure out the issues require seriously meticulous debugging.
    • assignment 3 - bayes nets Pretty easy if you have any previous familiarity with probability or stats. Just requires carefully following the instructions.
    • assignment 4 - decision trees Similar to above, but even less required math knowledge. I finished this in 4 weekday evenings--the fastest assignment for me.
    • assignment 5 - expectation maximization I think this assignment is dropped in the summer semester and I can see why. It kind of comes out of nowhere (lecture videos barely mention the concepts) and mostly requires translating complex mathematical notation into code...specifically optimized Numpy code. You cannot pass with naive solutions, so you basically spend a lot of time digging through Numpy posts on stack overflow and playing code golf. I did about 20% of it and then decided to skip it, since I was out of town for most of the duration of the assignment anyway.
    • assignment 6 - hidden Markov models Time series prediction is a personal interest of mine, so I really enjoyed this. It was medium difficulty, and required some careful coding, but I finished it within a week.

    extra credit There is extra credit for it assignment and it varies by a lot. Sometimes it is trying to optimize code from the assignment to perform even better (sometimes competitively against other classmates). Sometimes it is basically a whole new assignment. Sometimes it's a really quick True/False quiz. I only did the quizzes, and managed to score a few extra points there. I might have done the other extra credit tasks if I wasn't doing this course on top of so many other things in my life, they seemed fun and honestly where you earn the most grit as an AI programmer.

    exams The exams appear to have been shortened significantly from previous semesters, but were still long. The midterm was 22 pages and the final was 41. It's a fairly even balance between multiple choice and short answer questions, and each question has several pages of setting up the problem space. Some of them are pretty complex. I spent the entire week on each of them, carefully going over them 3 times each and did fairly well. The midterm was easier, in my opinion, whereas the final required more going back through the book because it covered less content discussed directly in lecture videos. In one case they linked a whole new paper for us to read (30 pages) that we were told was "invaluable" to solving the problem. I found it useless, but was annoyed that they expected us to read an entirely new piece of content during an exam. Besides that, nothing on the exams felt like it came out of nowhere.

    instruction Despite previous comments, I actually thought Piazza had pretty decent activity and got helpful info from there regularly. I never went to office hours, but they were hosted regularly as well. Ploetz, the instructor, was semi present, and the TAs were pretty good at responding on Piazza.

    book There is also some confusion in previous reviews about the required text. I rented the 4th edition of the book and bought the 3rd just in case. It was unnecessary to do this. The 4th is definitely a more relevant edition. If you are looking to buy and keep the book: get the 4th. Because I had bought the 3rd (it's available in paperback and way cheaper) I used it a lot more to highlight while reading and it was adequate. The book in this course is a must, no matter which edition you get. There is a lot of content not covered in videos you will need to read on your own for assignments and exams.

    Some final thoughts:

    • Taking this course during the summer seems like a bad move, because there is no midterm. Spring/Fall, the midterm and final are 15% and 20% of your grade, respectively. The midterm will give you a really good prep for the final, and in my case, it padded my grade nicely so I didn't have to stress about the final so much.
    • From what I can tell, other official instructors of the course are not so present in the past. It's unclear if they have responded to the criticism this semester, or Ploetz and his TAs are just better suited, but maybe try to take the course with him if you can plan it that way and that stuff matters to you.
    • The lecture content is useful in some places, but you will need more. I think they need to update the lecture videos. They're a bit all over the place in quality, and don't give you what you need for the assignments and exams which is...all the course is.
    • You don't need to be "good" at math for this class. Comfort with mathematical notation will help you, but deciphering equations and re-writing them as code is different than actually doing math (imo). There is some probability, but that was about the extent of it.
    • I said 15 hours a week of work on this class as a general average. Some weeks it takes 20-30. Some weeks it only takes 8. Some weeks it is nothing. It just varies.
    • It seemed like some of the gradescope tests were kind of broken, claiming to be more challenging than they actually were. That may have made some of these assignments easier than in the past.
    • This class seems like it would be very difficult for someone new to programming. I probably would have had multiple breakdowns if I were taking this several years back.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 15 hours / week

  • Georgia Tech Student2021-12-18T15:30:17Zfall 2021

    I took 3 classes this semester: AI, NSec, and ML. This is the only class that I'll bother leaving a review because it's impressed me both positively and negatively. My previous classes are CN, IIS, GA, SDP, and DL.

    Disclaimer: This review is from the perspective of a tryhard. I wanted to maximize learning, so I did (almost) everything optional and sought to maximize the numerical grade.

    I signed up for this course literally in the last minute on free-for-all day, not because it was hard to get into, but because I couldn't get into my top choice for the 3rd course. I had no intentions of taking this course but since I signed up for it I treated it like any other course that I take.

    A day after I'd joined the course, Assignment 1 was released. I can say for sure that this was the most challenging assignment that I've encountered in the entire program. Not that challenging if you just want a passing grade because it's easy to get most partial points. However, if you are like me and feel uncomfortable not achieving 100/100 then prepare to spend dozens of hours in this assignment. I ended up getting 100/100 within 4 days but in this period of time I barely thought of anything else besides how to optimize search algorithms. I estimate 50 hours of work to achieve 100/100 on Gradescope. If you have a weak background, it will be impossible for you to achieve 100 within the 2 weeks allotted for this assignment. I saw messages on Slack from students that were trying to debug their implementation using print statements and, at that point, I felt sorry for them and didn't think they could survive this course.

    After assignment 1, unfortunately, everything went downhill. The subsequent assignments didn't pose the same level of challenge and some had buggy autograder implementation. Assignment 2, for example, is considered "the other hard assignment" in this course. However, since the teaching staff modifies the problem slightly each semester to mitigate plagiarism, the tests used to evaluate the implementations become broken. It was possible to pass the challenge milestone (a bot with a hidden evaluation function created by none other than Peter Norvig) in this assignment with the vanilla implementation of the minimax algorithm used for the first part due to randomness. Likewise, even with a fairly optimized algorithm, there was no guarantee that we could beat even the first milestone. After assignment 2 my excitement began to wane.

    The other assignments are not worth mentioning here since they were too easy. Even though one of the assignments would be optional, I completed every one of them and every extra-credit opportunity starting from A3. None of them posed a level of challenge comparable with assignment 1, which was disappointing as I felt I wasn't learning enough.

    The midterm was, disappointingly, a joke. One or two weeks prior to the release of the exam, the teaching staff released a practice exam that was the official midterm from Spring 2020. I solved this practice exam and felt that it was a lot of work, but the right amount for a week-long open-book exam. The midterm that we had, though, was nowhere nearly as difficult as the practice exam. Most of the questions could be completely solved by simply finding an online solver and using it directly. Yes, that was not allowed, but during my time in this program I came to realize that students would cheat in this type of situation without remorse or shame. As a consequence, we had an exam that was too easy considering how easy was to cheat on it. Plus, this exam only tested superficial knowledge of the subjects and in my opinion could not gauge student's mastery of the topics appropriately. The median score for the on-campus cohort was 95/100.

    The class progressed on a similar tone until the end.

    I'll proceed by briefly listing pros and cons.

    Pros:

    • Instructor was active on Piazza and even held 1:1 sessions with online students for those who were interested
    • Assignment 1 was good and I felt challenged
    • Extra-credit opportunities were good and I wish I had attempted the opportunities for A1 and A2
    • Challenge questions were a nice way to practice the concepts
    • Lectures by Thad Starner and Peter Norvig were OK

    Cons:

    • Grading was either broken or too easy for assignments 2-6.
    • Midterm was too easy as discussed above
    • Final's official answers had too many errors. Thankfully, the TAs released the answers before the grade release, otherwise they'd see a slew of regrade requests coming their way. The worst part here was not the amount of errors, which was not insignificant, but the attitude of some (not all) TAs. Instead of acknowledging the mistakes and thanking students for pointing them out, they would get defensive and write things like "that will also be accepted because we didn't specify how to do X". I observed this embarrassing behavior in P1 (game playing), P8 (pattern recognition through time), and P9 (logic and planning). I'm listing them here explicitly in the hopes that the instructor or head TA will read this review, read those threads, notice how embarrassing it is to have TAs behave egotistically like that, and do something about it.
    • Students are passing this course without basic understanding of the concepts. In the final's answers threads, it was clear that some students didn't know basic stuff like how DFS work, or how to calculate conditional probability correctly. These students, sorry to say, have no business passing this course, but they probably will due to lenient grading. Still, I'm not sure they even understand how Bayes Nets or Hidden Markov Models work when they are struggling with much more fundamental concepts.
    • Piazza was pretty quiet during the semester. Students only posted on assignment-related threads. Even the professor remarked that the challenging questions threads had no activity. It's odd and disappointing for a class of at least 600 online + 200 on-campus students (minus the droppers) to see this level of activity.
    • Lectures by Sebastian Thrun, except the last one on planning under uncertainty, were lackluster.
    • I don't see the point of having one of the assignments being optional. Students only do something for credit, as evidenced by the Piazza activity, and the class has become so easy to pass that there's no need to have this 5 out of 6 rule anymore.

    Overall, I don't think this course was difficult. But if you're into learning, there's a very high learning ceiling and you definitely can learn a lot if you go above and beyond. However, I think if that's the case you will certainly be in the minority. Students are disinterested and TAs also don't seem that interested or knowledgeable about the content. Evidence of that is that I was the ONLY student who attempted and completed the A6 extra-credit opportunity this term (really, literally the only student), which was a quite interesting application of HMMs.

    Rating: 3 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • Georgia Tech Student2021-12-14T03:15:31Zfall 2021

    I loved this course and I'd highly recommend it. I agree with another review that I'd happily take this course repeatedly to really dig into the material.

    It was my 7th in the program. I have been a software engineer for years, so writing code and debugging is just another day to me. Also, having previously taken ML4T and AI4R made the "hard projects" in this class pretty easy.

    The hardest thing for me was turning a mathematical expression into code (specifically value iteration and the viterbi algorithm). I have some survivor bias, but I think I spent less than 3 full 8 hour days on 3 of the projects while a couple took another day. I think one took me a day.

    Dr. Ploetz is fantastic. One of a few professors that has real office hours (both as a group and individual breakouts). He's helpful and understanding, which I never once got from ... some other instructors.

    I spent a lot of time relearning probability and am absolutely glad I did.

    The exams are pretty time consuming because there really is a ton to do. They are fair and aren't necessarily hard since you have open book/lecture/notes. If your memory is better than mine, you won't have to go back through lectures & reread the book. We apparently had the shortest ever this semester and both still took me the whole week (while working FT) to complete.

    If you're looking to take two classes and have taken ML4T and AI4R already, it is 100% doable as long as you find a way to manage your time on exam weeks.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 20 hours / week

  • Georgia Tech Student2021-11-29T00:46:44Zfall 2021

    Perspective for this review:

    • This was my 1st OMSCS course
    • I've been out of collage for 9yrs
    • My undergrad is in Mechanical Engineering

    I thought this class was really great, only wish it was longer because there was so much to these chapters that it was hard to keep up with all the material. It would be great to take this 2-3 times over to really let it sink in, because although i did good on the assignments/tests, i still feel shaky if i was given one of these problems on my own without all the instructions for how to setup a model.

    Here is a pro/con list that is very much tailored towards my knowledge and experience so take it with a grain of salt.

    Pros:

    • really interesting topics so it was easy to stay engaged and not be board of feel like you are working on something that you will never use
    • not sure if all classes are setup with gradescope and unittests for your assignments but i thought this was awesome for this class. My experience in the past has been that you do your best on the hw and hand it in, but in most cases there are errors. With the unittest provided on local as well as gradescope i was able to keep working on these not only to get full credit but also to not stop till i really got the concept.
    • books was good (as much as i could keep up with reading it) but also there were a lot of resources online to help
    • TAs were great help during office hours and on piazza
    • love coding in python and this was all in python. Even learned some new stuff around numpy (that dam einsum...)

    Cons:

    • ton of hours spent on this. I work full time so it was really challenging to spend 20-30hrs / week on this
    • not sure how in person lectures were, but online lecture weren't as helpful as i thought they were going to be. Sadly 30-50% of the time i learn concepts better from other resources about the topics.
    • the last bullet goes along with this one, in that, the jump from lectures to assignments was very steep! Especially on the 1st assignment. You'll be learning for the first time about search algorithms then next thing you know you have to do multi-directional searches with landmarks.
    • there were challenge questions posted that i was not able to keep up with (also goes to say the workload was high for me on this one)

    All in all, really great class!

    Rating: 5 / 5Difficulty: 3 / 5Workload: 30 hours / week

  • Georgia Tech Student2021-08-17T20:52:38Zsummer 2021

    Overview

    My background is a CS major working as a software engineer at a FAANG.

    This was my third class in the OMSCS program, my first summer course, and I took it alone while working full time.

    A hard class with very interesting projects. My favorite class I have taken so far.

    Projects

    This class is mostly project based, something I personally enjoyed very much.

    The projects were very neatly paired with the lectures but their difficulty were not equal. The first two projects I found much harder than the rest, maybe 2x more effort to complete.

    An interesting addition was the limit of how often/many times one could submit to Gradescope. With the limited submissions you can not rely on Gradescope to figure out if you are on the right track.

    Debugging

    I feel this should be a given, but practical knowledge of debugging is crucial for this course. The algorithms get pretty complex, and I had quite a few nasty "off by one" bugs that required careful stepping to find.

    I was concerned by the number of students who did not understand how to attach a debugger to their script, and I don't know how they could have completed the projects without it.

    Textbook

    I found the textbook extremely helpful for solving some of the projects. Personally I think the lectures purposefully leave out some pseudocode/equations in order to promote reading the textbook. Don't sleep on it. If you finished a lecture and still felt a bit confused on some parts, read its section in the textbook.

    I did happen to find some errors in the textbook and wasted some time trying to understand stuff that didn't make sense. There is an errata page that I highly recommend adding to if you find any issues.

    Exam

    There was only one exam, the final, since I took this course during the summer. It was an open-book take home exam that covered all the modules.

    The exam covers everything from the lectures and I felt was very fair. We were given a week to complete it, and it probably took me 20-30 hours to complete.

    Summer

    I took this course over the summer, and I felt very rushed to complete everything. It was a challenge, and I honestly would not recommend it during the summer.

    Conclusion

    Overall a great class, and proof of the quality of the OMSCS program. I highly recommend everyone to take this course as you are sure to learn something.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2021-08-10T23:34:24Zsummer 2021

    As the majority of the people here I consider this course hard. But also I think it's extremely overrated. 4.12 (as of august 2021)? That's ridiculous.

    My background: My original education was in engineering, so I don't have a Computer science background, nor am I good at math. On the other hand I have almost 10 years of experience working in the industry as a Test automation engineer.

    Labs: I personally don't understand why people consider the first two labs as the hardest in the course, I didn't have lots of issues with them. First one search - if you have a CS background or experience working in the IT industry for a year or more - it shouldn't be an issue for you. The majority of the search algos you asked to implement are part of the pa. Second one (game playing) is pretty straightforward as well, pseudo code is available in the book, so the only thing you need to do is to implement it. No big deal at all. I struggled the most with the third lab and this is where I understood why this class is considered "hard". Last lab I did (decision trees) was no big deal as well. On average I spent 20 hours on my first lab, 10 on second, approx 30-40 on third and approx 20 on fourth

    Why this class is "hard": That's pretty simple, complexity of this class comes out of 3 things:

    1. Videos are extremely outdated and most of the time are unrelated to what you're expected to do in the labs or in the final exam
    2. TAs DO NOT EXIST IN THIS CLASS. I never met TAs that were more unhelpful than these. 99% of the time the answer they provide is something like: It's described in the book. And when you ask where exactly in the book it is described they may answer something like: It's described in multiple chapters(true story). Oh, and it happens IF TAs answer at all. So if you're not feeling like teaching yourself pretty complex concepts - do not attempt taking this class. Luckily it's not my first class in the program otherwise I would've been highly demotivated.
    3. Final exam covers topics that are not covered by lectures at all. At least a couple of questions were completely unrelated.

    So in order to expect an A in this class you're expected to be able to self-learn or already possess required knowledge, be good at math and coding. If you want to get a B you should be either good at math or at coding and that should be sufficient in my opinion.

    Rating: 1 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2021-08-08T18:43:25Zsummer 2021

    This is an interesting class with a good textbook and generally well thought out projects. The difficulty and workload reviews I see on this site were way above what I experienced. I rarely spent more than 10 hours a week on the class, and didn't even attempt any of the extra credit and I ended with a grade in the mid 90s. You'll need to be comfortable converting pseudocode from the textbook to code (Python) and allocate enough time on the homework, but none of the coding in this class is too difficult. Give yourself 5+ days for the take home final - you could do it in a day but the time to check work and not rush helps a lot, especially considering how important the final exam is to your grade...

    The main issue with this class is its grading structure and point allocation for assignments:

    • Everyone scoring above the median gets an A
    • Every assignment has the chance for extra credit
      • Some extra credit is limited to top N scores on the assignment, so not everyone can get it.
    • Assignments are designed so that getting 100% is straightforward given enough time (other than the first two). This means that the final exam is basically all that matters, since the median on the assignments is often 100%.

    What would have been better would be to make some of the extra credit mandatory as part of the assignment, to make the assignments harder so that the median score wouldn't be 100% all the time. The assignments would be more meaningful and there would be less pressure on the final exam.

    Recommend this class for some historical context on AI and broad survey of the field. The textbook is good although heavy on math-y notation. Assignments and exams are interesting. Grading scheme is weird but not a dealbreaker.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 12 hours / week

  • Georgia Tech Student2021-08-08T18:33:22Zsummer 2021

    Overall, I very much enjoyed this course. I found most of the lectures to be insightful and the book is one that I'll be keeping on my shelf permanently.

    The assignments were by far the best part of the class. Every assignment was the right amount of challenging and it always felt great to figure out that last piece to get you full points on GS. The first assignment was the most time consuming by a large amount. The other 4 assignments (5 in non-summer semesters) are significantly less challenging, but still engaging and interesting overall.

    The final exam has a chance to hit you blindsided if you haven't been reading the book and keeping up with lectures. There were some challenging sections for sure, but nothing insurmountable. A couple of the questions were poorly worded and caused many to lose points unnecessarily, but the TAs seemed to do their best to rectify that through either clarifications or by just giving points for certain questions.

    My only complaint about the class overall would be with the TAs. They were generally not responsive (at least in my section of Piazza) or they would only respond to the "low hanging fruit" questions and leave many other questions unanswered. Also, if they said something would be done by a certain date, you could almost guarantee that they wouldn't meet that date. Especially towards the end of the class, it seemed like something happened that caused them to become very disorganized and non-responsive.

    Overall, this is a great class. I recommend taking it regardless, but if it is one of your core classes, maybe get a couple of other difficult classes under your belt first (like CV or CP) before taking this one.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 15 hours / week

  • Georgia Tech Student2021-08-08T14:32:12Zsummer 2021

    This is not an easy class but if you come prepared you will learn a lot.

    Instead of repeating what others have said earlier, I'll just throw in a few takeaways based on my own experience:

    1. My background is STEM (non-CS) and had no previous experience in AI. This is my 5th class in OMSCS. I do have a full time job and a family. If I can survive this everyone else can.

    2. The first project (search) is the most demanding that I have witnessed so far in the entire program. You may feel exhausted and frustrated - but don't give up! You can give up this project (which most likely won't affect your final grade), but don't quit the class as the rest of projects get significantly easier.

    3. I agree with the previous post(s) that final exam is difficult and seems to be largely unrelated to projects, but I take it as a necessary step to cover the other chapters in the AIMA book. I mean, come on, they did give us practice exams with solutions prior to the final. If you go through those you'll do just fine as the style of the questions is practically the same.

    4. I attended zero OH and had very few interactions with the TA's, but it did not prevent me from learning a great amount. In summary, I believe if you actually take the time and go through the lectures, the book, the Challenge questions posted on Piazza and all the assignments (including the bonus projects), you'll not be disappointed by the amount of AI that you ultimately would learn.

    I like this class. Period.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 25 hours / week

  • Georgia Tech Student2021-08-08T11:50:07Zsummer 2021

    I have nothing to add about the projects that are not in the other posts so I am going to skip right into the final. In my opinion the content of the final should be what the instructor wants the students to really take away and learn from the course. I do not think that is the case here. The topics were mostly not relevant to any of the projects or covered as key concepts in the lectures or book. I thought the calculus came out of left field..just make a t/f fill in the blank proctored test and save me the week of stress over poorly worded irrelevant word problems. When is the Joyner version of this class coming out?

    Rating: 1 / 5Difficulty: 4 / 5Workload: 25 hours / week

  • Georgia Tech Student2021-08-07T16:21:35Zsummer 2021

    TL;DR I liked the course a lot and learned a ton, just don't expect to get your hand held.

    My background: I have a BS and MS, but both in engineering fields. This is my second course in the program, with my first being Knowledge Based AI.

    Lectures: I really didn't get much from the lecture. You can find a lot better content on youtube from a UC Berkeley AI course and Bert Huang (links at the end). Some people also mentioned Statquest, but I personally never watched any of those videos.

    Book: I used the third version as that is what I had access to and everything was fine (link below). I found the book pretty helpful in most cases and if I didn't feel obligated to watch the lectures, I would have just rather read the book. Book > Lectures in my opinion.

    Assignments: This is what I liked most about the course! The assignments were the right amount of challenging to stimulate learning. Why take a class if you know the assignments are super easy to implement. In terms of difficulty, the assignment related to search, assignment 1 or 2 depending on the semester, is the hardest, but definitely doable. All the other assignments including: game playing, bayes nets, hidden markov models, and decision trees were reasonable.

    One thing I saw a lot was people complaining about pseudocode not being clear or simply the lack of pseudocode (tri-directional search), so if you can only implement code if there is the accompanying pseudocode, you might struggle initially. Personally, I don't really think you learn too much when pseudocode is provided because nearly everyone who can program can implement it. I think true learning happens when you are at least somewhat challenged and put outside your comfort zone, i.e. when you don't have pseudocode.

    In the end, I think the assignments are great and honestly, I kind of liked having to workout a bug in my code by solving the problem by hand because it definitely reinforced the concepts. At least that was the case for search, game playing, and variable elimination.

    Final (no midterm since it is summer): The final was pretty fair and straightforward except for a handful of statements, which were ultimately clarified on piazza. I think the primary challenge for this exam was its length. Sitting at 40+ pages, it definitely takes some time, but nothing was out of the blue. For the people complaining about calculus being on the final, you are a graduate student in computer science, what did you expect? If you practice the provided sample test, understand the programming assignments, and are comfortable with most of the challenge problems you'll be fine. I work fulltime and had time to go through the exam three times to check my work and ultimately get ~94/100.

    Instructors/TAs: Not relevant as they really did nothing. All the grading is automated, so they really only occasionally clarify things on piazza. This is basically a self run course.

    Conclusion: I learned a lot about the methods used in AI from the assignments and even the final exam. If you want to learn a decent amount and get practice implementing some cool algorithms, I'd suggest taking the class. If you are looking for an easy class for some reason and just want to get by without providing much effort, this course might be more challenging. If you decide to take the course, just go in expecting things will be challenging and try not to give up at the first barrier.

    Links: UC Berkeley: https://www.youtube.com/channel/UCB4_W1V-KfwpTLxH9jG1_iA/videos

    Bert Huang: https://www.youtube.com/c/berty38/playlists

    3rd Edition Textbook: https://cs.calvin.edu/courses/cs/344/kvlinden/resources/AIMA-3rd-edition.pdf

    Rating: 4 / 5Difficulty: 3 / 5Workload: 20 hours / week

  • Georgia Tech Student2021-08-07T04:45:35Zspring 2021

    I took the course in Spring 2021. This class was good to gain breadth knowledge and exposure to AI topics and get the hands dirty in the implementation of some classic algorithms, however, it didn't ignite any passion in me to pursue these topics further, so bring your motivation from home. I loved the first 2 topics (Game Play and Search) but I found the remaining lectures and assignments very dry and uninspiring. I am rating this course as “Neutral” because of this. As for workload, is quite heavy, so start the assignments as soon as they are released or even earlier, and assume that your weekends are going to be busy for the entire semester.

    Assignments:

    • 1: Start early, if possible as soon as the course starts. It’s difficult but once you get comfortable with the codebase it gets easy and you can start reading and getting ideas about how to improve your agent from the book.
    • 2: Start early and have at least the basic search algorithms implemented before the official start. Conceptually easier than A1 but however tests are more strict and is more difficult to get a full score.
    • 3: Not so much code involved, but I would say that it is harder than A1 and A2. Lots of theoretical contents, insufficient local tests and just 5 Gradescope submissions. My local tests were failing but somehow got 100 in GS.
    • 4: I am glad I took ML4T before this class since the way it explains DT/RF in this course is over-complicated. Plus, the assignment write-up is unnecessarily convoluted. It was easy, and I finished it surprisingly fast, but it’s a very uninspiring way to teach something as fun and useful as DT and RF is.
    • 5: The worst, horribly designed project. This reminded me of the worst assignments in my undergraduate, since the entire difficulty of the assignment lies in Numpy vectorization instead of in the topic that is being studied.
    • 6: My assignments average was already high enough and since I was behind in the lectures I used the time for studying for the final. Still, I attempted it and got around ~35 in couple of sittings, so it looked easy.

    Exams: They are doable, so don’t panic. Yeah, they are 30 something pages long, but most of them are instructions and it's open book. There is a fair amount of partial credit, just be careful and double-check your work, I got 90 in the midterm and 88 in the final and surprisingly found these assignments the less stressful of all of them. There are like 6-7 topics per exam, corresponding to each of the lectures examined, I did a topics or two every day during the week after work and then in the weekend finished the remaining ones. The correction thread in Piazza was not as bad as some people makes it to be, at least in my offering.

    Lectures: My favorites were the ones from Peter Norvig and Thad Starner (although I found the ones for ML topics from Thad disappointingly bad). I don’t like the overly optimistic quiz-oriented Thrun style, as I could already experience in AI4R/RAIT.

    In conclusion, I took this course because it is mandatory for CP&R specialization. I am not a big fan of AI and all the hype surrounding it, but still enjoyed half of the material and was a good exposure to it, so although it was hard, I am glad I took it.

    Rating: 3 / 5Difficulty: 4 / 5Workload: 21 hours / week

  • Georgia Tech Student2021-08-05T19:17:46Zsummer 2021

    This class was pretty fun. Just a lot of work. The material is really awesome stuff. You get exposure to so many concepts which could be their own (and some are) courses, so it's really fun to learn at least a high level understanding of so many core AI concepts.

    Lecture videos for this course make a lot of advanced topics very approachable, and I felt like the assignments lined up nicely with the assigned lectures and readings.

    I have an undergrad in CS, work full time as a software engineer, and have quite a bit of experience in Python, so that made some of the concepts and assignments considerably easier for me than they would be for someone without those attributes. Not all the topics were entirely new to me.

    The course is generally fair, but some of the assignments can be a bit frustrating to wrestle with the grading platform. If you write your code perfectly, you should have no problems getting a good grade, but the nature of the assignments is such that it's exceedingly easy to miss one tiny step which can take hours or even days to track down. The grading is mostly fair, but I think could be more gradual in some of the marks. For example, in the Search assignment, being off the target performance by 2/10000ths of a node explored on average was enough to drop my grade an entire letter grade.

    The final was pretty tough, but definitely fair game for a grad level AI exam.

    Overall, I loved this course, loved the knowledge it gave me, and it definitely made me a better overall engineer.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 25 hours / week

  • Georgia Tech Student2021-08-03T17:33:46Zsummer 2021

    This was my 7th class, and I have taken RAIT, ML4T, KBAI which may relate a little to this class. This was a tough class, but I enjoyed many aspects of it.

    Projects are all auto graded, which is nice. The projects do reflect the material and give a real world application. Unless you are very well versed in the topic, start as soon as possible on each project. I found the book to be a necessity.

    The Exam was a lot to handle for one week. I didn't take any time off work as some others mentioned, but it was absolutely among the busiest weeks I've had in OMSCS.

    Finally, the lectures gave a 30k ft view, but the real learning came from the book, papers, and projects. Piazza was oddly quiet, I had to sign into slack to see any activity.

    I'd absolutely recommend the class, but not as a first class unless you have a good handle on things.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2021-08-03T16:17:43Zsummer 2021

    This has been my favorite class so far, but it has some issues and I don't recommend it for everyone. To give you a gauge for your experience - this is my 6th class, my undergrad was CS, and I have a lot of experience with Python. If you have little or no experience programming, I recommend getting comfortable with Python (and maybe numpy) before you come near this class so you don't have to deal that and the projects.

    The videos are by three different instructors with different ways of presenting information. They varied from decent to incredibly confusing depending on which professor was teaching. I found them moderately useful. The book (I had edition 3, but they switched to 4th for this semester) was very useful for the first two assignments and for the final.

    Piazza was very quiet - it's the least active class forum I've seen. There were some questions posted, but answers may not come for a couple days. The TAs did occasionally post incredibly helpful answers and held office hours for one on one help. I did not attend office hours so I can't say if they were helpful. Most questions I had were answered through discussion with classmates on Slack.

    The projects were challenging and I enjoyed working on them even though I occasionally felt like I was banging my head against a wall. The assignments are well organized and make it clear what parts to start first (coming from ML4T, this was a relief). They give hints but avoid handholding. This is where I really enjoyed the Slack discussions vs getting an answer from the TAs. We were collectively figuring out things and it helped make the knowledge stick. What you get on Gradescope is your score which makes life a little less stressful. Most assignments are infinite submissions but limit submissions for a time period (like 3 submissions per hour). One or two have hard limits on total submissions.

    Assignment 1 (formerly assignment 2) was easy to understand, but time consuming to implement. Assignment 2 (formerly assignment 1) was similar, but slightly less time consuming to implement. The tricky part was the randomness in the last section meant some people were able to pass with the base algorithm and others had to refine and improve it before it finally passed. Assignment 3 was difficult to understand (the relevant lectures made me more confused), but easier to implement than the previous assignments. Assignment 4 was the easiest for me. I'd implemented decision trees in ML4T though others who didn't have that experience also seemed to find it a lighter project. Assignment 5 was skipped for the summer session. Assignment 6 wasn't difficult, but took more time than assignment 4 due to calculating the distributions by hand.

    The final was brutal. I like the idea of the "take home" exam where you have a week to complete it and learn a little more as you work on it. You know going in that you will be going beyond what you've done so far (looking at the practice exam shows you this will happen), but it was way more than expected. The part I found most frustrating was spending the entire class not really needing calculus then having questions that not only need it, but build off the hopefully correct answer from the previous question. As someone who couldn't start the test right away, the clarification/correction post was not a major issue for me, but is frustrating for those who dive in as soon as the test posted. Most of the updates to the test were clarifications, but some were details that made people have to completely redo a set of answers.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 25 hours / week

  • Georgia Tech Student2021-08-02T15:28:23Zsummer 2021

    As someone who does not have a CS background, I was extremely nervous for this class. However, it pleasantly surprised me and I would recommend this to anyone that is an independent learner and is passionate about learning AI.

    My Background

    Business school for undergrad, hands on Python work which really helped me in this course, and work full time. Have taken SA, HCI, and CN.

    The Assignments

    The assignments were what made this class for me. If there was one word to describe them, it's fair. There are no obscure languages since everything is in Python, so you can truly just focus on the concepts which was so helpful. The content of the assignments actually aligned with the lectures and helped me learn the concepts on a much deeper level. And, dare I say they were sort of fun?

    The best part for me though was being allowed to submit the assignment multiple times and have it graded each submission. For some, you could submit an assignment twice within a half hour window up to the deadline (and believe me, I used all the submissions I could and submitted some assignments 30 times). For me, this structure actually allowed me to learn from the things I did wrong on the assignments without being punished for them which really amplified my learning.

    The assignments are long and I spent probably 24 + hours on some, but you get two weeks to do them. Just make sure you start early.

    The Support

    I am someone that is very independent with my learning and seldom will reach out for help, so my analysis may be skewed here, but I have zero complaints about the support and teaching staff for this course. I thought Thad's lectures were entertaining and helpful, and the guest lecturers were fine. I thought there were ample opportunities to get help from TAs as long as you planned ahead and put time on the calendar for a session (there were always a lot of sessions). Piazza was a bit dead as compared to my prior courses which is fine, just something to consider if you rely heavily on forums.

    Exams

    For summer session we only had one final, and while it was challenging I do think it was fair. There are a lot of parts that rely heavily on calculus, so that is something to think about if you are considering this course.

    Overall

    Again, I was really nervous coming into this course, but everything was doable and fair. It was a lot of work, but I learned a ton. If you are strong in Python and Calculus and can put in time for the assignments and exams, I would definitely recommend this course.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 24 hours / week

  • Georgia Tech Student2021-08-02T00:13:21Zsummer 2021

    There's a lot to say about this course. It is definitely in the top 3 courses in the program for me, and arguably #1, but in a way that makes it unique. Let me clarify.

    It's an unusual class

    The assignments and the exam(s) (only one exam in the summer) are the heart of this class. There is almost no value to this class outside of them. Looking for a classroom-feel? Looking to learn from instructors or TAs on Piazza? Looking for nuggets of information only offered in lectures? You've got the wrong class. It's as close to a self-study course as you'll find in this program (and that's saying a lot). The TAs go out of their way (probably by design) to make sure you're doing all the work yourself.

    Then why did I praise it so much in my first paragraph? The assignments and exams are that good. And when I say assignments, I mean all 12 (10 in the summer) of them. The so-called "extra-credit" or "bonus" assignments should be mandatory -- you're doing yourself a big disservice if you skip them. Not only did I do most of my learning in the bonus assignments, but at least 4 of them are structured as competitions, pitting you against your classmates, which makes them more fun than most other assignments in the program. And here is where kudos goes out to the staff. Though they're quiet and generally not involved, they set up a complex infrastructure to make sure that those bonus-assignment competitions are done right: a private Kaggle competition for the machine learning section, a tournament for your game-playing bots in the adversarial search section, etc.

    However, I can see why the syllabus would leave the bonus assignments off of the official requirements, as doing them all, on top of the required ones, makes this course as time-consuming as any other course in the program (on par with RL or DL). I can also see why many people wouldn't rave about this class. If you attempt and get through all of the assignments, you will feel amazing about the course. As you start to deviate from this ideal, I can see how your experience in the class would suffer more and more.

    My approach

    I took an unusual approach to the class which is probably opposite that taken by most students in the program, but which worked very well for me because of my background (I was well-prepared for the class -- had taken ML, RL, DL, RAIT, and have a strong background in probability theory).

    I almost completely eschewed the course lectures. I watched less than 10% of them, and only because it was necessary for a couple of the segments. My learning precedence was:

    1. Assigned reading for the assignment (e.g., papers)
    2. Textbook (AIMA 4th edition by Russel and Norvig)
    3. Lectures (last resort)

    Generally speaking, the class lectures are there to bridge the knowledge gap between what the student brings to the course, and what the textbook or papers provide, which are often difficult/terse. If you don't need that bridge, save the time and go straight to the sources.

    The fact that I had taken all of the individual courses that this course surveys prior to taking it made me apprehensive about its usefulness, but I was pleasantly surprised by how much I learned. The flipside here is that if you are taking this as a first course, with no experience in AI, and you want to get the max out of it, you'll have a daunting journey ahead of you.

    A word about the exam(s)

    This is another spot where I feel for students with less experience. Some of the exam problems would have been vastly more time-consuming if I had not already taken RL and DL. And in fact this will be the typical case as this course is generally marketed as an introduction to AI.

    Rating: 5 / 5Difficulty: 5 / 5Workload: 30 hours / week

  • Georgia Tech Student2021-08-01T23:38:57Zsummer 2021

    To say the least, this class is a mixed bag.

    On one hand, the topics are so cool. Even if they're outdated, it feels so gratifying to solve these problems, do these projects, implement these algorithms, etc. The feeling of getting a 100 on GradeScope after grinding it out for hours and hours over the course of a week and a half is fantastic.

    On the other hand, most of the common criticisms of this class are simply true (with one big exception- you don't need to be a math or stats or AI wunderkind to do well on the projects). The professors are completely inactive and the TA's are only somewhat helpful at best. The projects sometimes take a ridiculous amount of time. And the final is downright obnoxious.

    Some key points I would highlight:

    • People criticize the lectures in general, but I don't think that's fair. Thad's lectures are pretty good for the most part. Conversely, it would probably be impossible to convince me that any human being has ever learned anything from Thrun's lectures in this course. Get ready to seek some external resources for anything Bayes related.
    • The first two projects are the hardest, but don't let that freak you out. A lot of people here seem to complain about things like tridirectional search not being shown in the lectures, but I didn't find that much of a barrier at all. These projects both require a bit of outside the box thinking and a lot of time, but despite coming from a non-CS background with only one prior course, I got a 95 and 100 respectively.
    • The next three projects vary in difficulty quite a bit (we skipped #5 in the summer). #3 I found to be quite a bit difficult, just not as much outside the box thinking as 1 and 2. #4 and #5 were pretty straightforward once you fully understand the ideas and terminology.
    • Sorry to say, but the final is just awful, easily the worst part of the class. I'd gotten nearly a perfect score in the class up to this point, but I think that there's a pretty reasonable chance I'll end up with a B due to it. It tests you on concepts that are not needed anywhere else in the class; hope you've brushed up on Calculus concepts up to Calculus 3 inbetween all of these projects. And whoever thought to make a 14 point section where each answer is dependent on previous answers and no partial credit is given really needs to reconsider whether they feel compassion for other human beings.

    I'm half joking, but also pretty annoyed. I honestly may have given this class a "Liked" before the final, but it really left a bad taste in my mouth.

    With that said, I still think this is a worthwhile class to take, I learned so much. I just wish that the learning came more from the modules themselves than external research, and that we were tested on the actual concepts learned from the coursework rather than what felt like a pool of AI topics.

    Edit: After seeing how much partial credit they were willing to give on the exam, and how they reimbursed us a few points for missed questions, I realized I would make an A and thought I might edit my review, since I had been annoyed by the idea of getting a B. But then, before I had a chance, the TA's revealed that the extra credit on the final they'd promised us wouldn't be coming, due to the fact that we didn't hit an 80% response rate on CIOS. This was not mentioned on Canvas, on Piazza, or on our exam. The only mention of it was in a practice final from 2019.

    So now that I know I'm getting an A and still being deeply annoyed by how the TA team is handling the end to this class, I feel very justified in giving this class a 'neutral' instead of 'liked'. To reiterate, this class will teach you a lot, but you also may be blown away by some of the incompetence and disregard for students at the end.

    Rating: 3 / 5Difficulty: 4 / 5Workload: 19 hours / week

  • Georgia Tech Student2021-08-01T22:16:57Zsummer 2021

    The Short

    This class was one of the worst classes I've taken as part of this program. Most have been pretty poor, but I would not recommend this course to anyone under typical circumstances.

    The type of student I think would succeed:

    • Only attending school full-time
    • Has lots of free time and likes focusing on school
    • Has prior exposure or knowledge of AI concepts and algorithms

    The type of student I think would struggle:

    • Anyone working, with a family, or other external responsibilities
    • No prior exposure to AI concepts and algorithms
    • Cannot self-teach from academic papers or math proofs

    My general recommendation to anyone considering this course would be to disregard the modules, Piazza, and book entirely. Find a good IN-DEPTH YouTube lecture series and learn from those. It's not impossible, but you will have to dedicate an immense amount of time and energy to this course.

    The Long

    This is my 7th course in the program, and I work full-time. I've gotten A's in all previous courses with a healthy balance of proper planning, weekends, and evenings, without making a ton of personal sacrifices for school work. I've got an BS in Software Engineering and have been writing software professionally for 6+ years now.

    This course was the first course I actually had to take time off work and, on multiple occasions, would spend entire weekends working on the projects -- and still only scraped by.

    The Modules

    The video content provided on Canvas is a joke. There are 3 or 4 different lecturers, so example problems you've been following between videos will just change or reference examples you never see. The inline quizzes are not helpful and generally take the shape of:

    • Start a new module: "Let's introduce this topic with a quiz" -- How is a learner supposed to approach a problem they have no exposure to yet? That's why we're watching the videos
    • Guess at an answer that's either intuitively easy or so hard you have no idea
    • 5 second video saying "here's the answer", with no explanation

    The best analogy for the quality and content of these videos are like when you Google something, and Google shows the two sentence summary of Wikipedia on the sidebar. That's about the extent and depth to which topics are discussed or explained.

    The Projects

    The projects in Summer 2021 were due every other week and consisted of the following:

    • Search (A*, BFS, etc.)
    • Isolation (MinMax, Alpha-Beta w/ Pruning, http://primaryobjects.github.io/isolation/)
    • Bayes Nets (Sampling, Probabilities)
    • Decision Trees (Fitting and classifying data, random forests)
    • Hidden Markov Models (Didn't attempt, just took this one as dropped)

    The coding projects given throughout the class are disorganized, poorly written, and extraordinarily complex. Each project consumed many hours of work. Starting from project 1, you're immediately asked to implement bi- and tri-directional search algorithms without any prior exposure in the videos. Most projects just have a smattering of academic research PDFs that are given as the basis of where to start learning on your own. There is no extra material or guidance on where to learn these things -- you teach yourself.

    Some projects READMEs talk about one topic (Snails Isolation) while the supporting code references another (Queens Isolation) while the code you're supposed to write references neither. It makes debugging, writing tests, and understanding what you're even being asked to do difficult to start.

    Most projects have seemingly arbitrary Gradescope limitations (only 3 submissions every 6 hours, 2 every 60 minutes, etc.), which is very annoying, especially when the feedback from Gradescope is less than helpful or nonexistent. Pay attention to these or you will quite literally run out of time.

    The Extra Credit

    The extra credit is not here for struggling students to get a few extra points. These extra credit assignments are explicitly harder extensions of the already difficult projects. If you're already struggling with the projects, these are not helpful.

    The Final (there was no midterm)

    The final exam was a 41 page PDF of 10 questions. It mainly consisted of tedious number crunching with (apparently) no room for partial credit since you're just submitting an answer. A direct quote from the Head TA on Piazza:

    Partial Credit is assigned at the TA's discretion. It's unlikely that you'll get partial credit for work you show, since it can't be scaled to the number of students in this class.

    None of the questions on the final were extensions or similar to any content presented in the course. Most questions introduced topics or methods that were never talked about in the Modules or projects -- NN back propagation, constraint satisfaction, expectiminimax.

    The Teaching Staff

    Never had any correspondence from Thad Starner at any level. Literally until I was writing this review, I thought the head TA (Rohit Sridhar), WAS the instructor because they were the ONLY one communicating on Piazza and Canvas.

    Rohit was semi-active on Piazza, but Piazza in general was never helpful. Only got 1 Canvas post a week just reiterating deadlines and readings. No idea who the rest of the TAs were. There were challenge questions posted in Piazza, but literally no one ever responded to them (they're not worth anything, so I doubt anyone felt like making time to work on them). I saw a handful of posts answered and closed to the effect of "We answered this in Office Hours".

    If I were Thad, I would be utterly embarrassed to have my name on a course of this quality.

    Rating: 1 / 5Difficulty: 5 / 5Workload: 25 hours / week

  • Georgia Tech Student2021-08-01T21:44:45Zsummer 2021

    For some background, I did my undergrad in computer engineering at a top 10 American university, currently work as a full time software engineer, and this is my 6th course in the Interactive Intelligence track for this program. This is without doubt the hardest class I've taken in this program. You NEED to take this class seriously or else you will not get a B or A.

    Here are some of my experiences:

    1. I usually did my homework and projects on the Sunday that they are due for other classes in the program and got an A on almost of all of them without much difficulty. This course was different. I got below the median on both Assignment 1(Search) and Assignment 2 (Game playing) even though I started on the Friday of the weekend that the assignment was due. I was almost about to fail the 3rd assignment because of starting late again and strongly contemplated dropping the class but thank God that I was able to finish the project right before the deadline. Slack is a great resource to get very quick clarifications on the assignments.
    2. For assignment 4 (Decision Tree) and assignment 6 (HMM), I started these the week that they were released and finished both of them a week in advance.
    3. With a 95% average on the assignments and no extra credit (only the Decision Tree extra credit is easy to get, everything else is hard), I needed a 45% on the final to get 80% in the class and come out with a guaranteed B. This is NOT easy to do. I started the final exam on the Monday it was released and easily spent over 40 hours and took a day off from work to finish it on the following Saturday. I think I may have gotten above a 45% on the final but I guess I'll know the grades are released in a few days.
    4. For the final, if you can code an answer, do that so that you can change the input values when they are inevitably going to updated in the finals clarification thread.
    5. I used Intellij's debugger with submission.py and didn't use Jupyter notebook for any project.
    6. There is a curve in this class, but I don't trust it because it's basically non-existent. Your classmates are insanely smart and/or hardworking. If you don't start assignments early, you will drop this class or ruin your GPA or won't graduate (if you're in the Interactive Intelligence track).

    This class is very interesting though and I liked it even though it was painful. Looking back, this class has definitely made me a better programmer, and introduced me to some difficult graduate level algorithms. The level of difficult for this class is right for a grad level course.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 15 hours / week

  • Georgia Tech Student2021-08-01T16:23:40Zsummer 2021

    This is one of the worst classes in the program. I did end up getting a good grade, but the class was a frustrating, disorganized mess and the TAs offered no support. Just one example, from the very beginning of the course:

    The syllabus explicitly asks us to buy the 4th edition of the textbook, but all the REQUIRED readings were from the 3rd edition. Mapping the pages and chapters was nontrivial since the 4th edition was completely re-organized and revised. This is what the TA's told us, verbatim from Piazza:

    "You can use either. While we prefer you use 4th, you'd have to translate the chapters on the syllabus to the 4th edition, so you can use either as long as you cover the material."

    When we were asked later to get the chapter mapping from the 3rd to the 4th edition, this was the reply, also verbatim:

    "3rd edition chapters are already provided as part of the syllabus. We may/may not provide the corresponding 4th edition readings."

    As you can probably guess, we were NEVER provided the official readings from the 4th edition, despite them telling us they preferred the 4th edition, which made it difficult to refer to content from the book whenever the material made references to it.

    The rest of the class followed similar themes. Piazza was extremely unhelpful, with questions often going unanswered for days. The lectures are disorganized and are a mashup of videos from a handful of lecturers, making it confusing to follow. The projects are difficult, and for some parts just provided a link to some other university's slides on the material and expected us to figure out what to do on our own. The final was a weeklong take home exam, which was extremely tedious and prone to error because it required crunching numbers by hand. I feel that the final did not do a good job of assessing my understanding of the material; rather, it tested how many times I double checked my calculations. Additionally, there was a long "clarifications" thread on Piazza that corrected many mistakes on the final. You have to follow that thread up until the very end of the exam period because the assumptions for any question can change at any time, and you are expected to re-work your answers for it. I had a trip planned for the second half of the exam week, so I stayed up late the first half to power through it and submit it to get it out of the way. Then, as I was boarding my flight, I see an update in the clarifications thread which meant that I had to scramble to re-work all the numbers for a question while on vacation for work that was supposedly completed.

    Comparing this course to some of the courses from my undergraduate CS degree, the way this course is run is inexcusable for a "top-tier" CS program. Will you learn something? Yes - you will probably learn a lot about AI. But if you take this course, be prepared to rely on no one except yourself.

    Rating: 1 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2021-07-31T07:39:52Zsummer 2021

    This is my 10th and final class of the program and I can definitively say it is the worst OMSCS class I have taken so far. The course lacks structure and some of the assignments have large parts that are almost all or nothing: you submit your code to gradescope and you'll end up with 20/40 with no idea what went wrong. The lectures aren't great: you have to go back and forth between each video because they reference information from one another without directly referencing them. The lecture quizzes barely provide any reasoning regarding the correct answer, just 7 second videos saying "Here's the answer."

    Rating: 1 / 5Difficulty: 5 / 5Workload: 15 hours / week

  • Georgia Tech Student2021-07-29T01:23:42Zsummer 2021

    If you don't already have strong AI foundations, I'd avoid this class. It comes off more as a refresher than actually teaching you the material.

    I have taken KBAI prior to this class and it really doesn't prepare you at all for it. This class is hard. SOME of the lectures are good and helpful. Just like SOME of the book is helpful. But there are also some really terrible lectures in here as well. The lectures are given by the Professor, Peter Norvig and Sebastian Thrun. You're almost better off not watching Sebastian's videos on probability and bayes. It's basically a series of quizzes that assumes you already know it. Some of the lectures felt more like a refresher than trying to teach the material like new. I'm going to do anyone reading this a favor that I wasn't given. For most of the class you can watch youtube videos that explain most of the material WAY BETTER than the class lectures. Look up StatQuest with Josh Starmer on youtube. This was a lot of help and saved me more than I want to admit.

    HW - These vary but if you start early, most of them should be manageable as long as you can dedicate some real time to them. The wild part is apparently the first two are considered the hardest, but I found them to be the most straightforward. I ended up fumbling the rest of the assignments.

    Bonuses - These are for all the people that are going to ace the class. For anyone that's taking multiple classes or juggling a fulltime job, you probably won't have time to even try these. You know how some games have a "catch-up" mechanic that helps people that are further behind help catch up to the rest? Yeah these are the opposite of that. These are so the people that either really know the material or have way more free time than you can brag and try to get over 100% in the class.

    Final - This is a massive test that you're given a week to do, and you'll need it. Fair warning it covers everything in lectures, in the book and even some stuff that's in neither. Have fun.

    General Advice - Watch the lectures early and get them out of the way. If you can, speed read or at least skim all the chapters as soon as possible. You'll need most of your time to do the assignments and test. If you get lost or stuck go watch some statquest videos, they will help.

    Piazza - This is supposed to be where you can ask for help or advice but there's a good chance it'll go unanswered. They post challenge questions each week so you can practice the material but again, you'll have no real time to do them AND when you have questions about them they will go unanswered.

    All in all, be prepared to teach yourself difficult concepts with little help, unless you find some nice classmates that are willing to helpout. All the people that said this class was easy either already knew the material coming in,are fresh out of undergrad or have way too much free time.

    Rating: 1 / 5Difficulty: 5 / 5Workload: 20 hours / week

  • Georgia Tech Student2021-07-28T05:55:13Zsummer 2021

    I have taken KBAI, RL, Bayesian Stats prior to this course and has done some work in ML before. Hence, I come into the course with a fair bit of background knowledge.

    Compare to KBAI, RL, Bayesian Stats (over the same topic), AI has more focus on algorithm. We get to code a lot more on the algorithm and understand its complexity.

    HW - all homework are non-trivial work. I spent a lot of time in Search and the last one HMM (use up the full 2 weeks, 40 hours+). Search is coding-heavy and HMM is conceptually hard for me. the other 3 HWs(game, bayesian network, decision tree) take around 1 week (20 hours-ish) to finish.

    Bonus - I attempted 3 out of 5 bonus exercise. it is good learning exercise though not easy to get the bonus point. Recommend not to get too hung up by it. Final Exam - I am doing it now (take a break and hence write a review here). It is long, multiple-page like other have mentioned. it covers all the topics in the video lecture. It covers new things that we are not able to hands-on/learn from HWs.

    Tips:

    1. Getting the AIMA book is the best decision. It is useful throughout the whole course
    2. The HW is hard.. start early.
    3. I think taking KBAI , RL, Bayesian Stats before AI did help me prepare for this course, though you don't need them as pre-requisite.
    4. I front-load most of the video lectures prior to the start of semester which helps me to save some time

    Downside:

    1. There is not much discussion in Piazza. less interaction compare to other course l took (KBAI/RL/Bayesian Stats)

    Rating: 4 / 5Difficulty: 4 / 5Workload: 22 hours / week

  • Georgia Tech Student2021-07-14T06:20:58Zspring 2021

    I dropped right after the assignment 1 (search) deadline because I felt as though there is not enough teaching happening unless you ask questions on Piazza. That and I was able to game the assignment so that I did not even look at any of the complicated math PDFs, made up some arbitrary condition and passed on Gradescope (85 out of 100) which to me signalled that the simulation itself that my code was tested on had too much slack. Teaching for me means to present ideas, say pseudocode, for things like tri-search or even bi-search but rather these had to be discovered through questioning on Piazza and waiting for a response which was a complete waste of time. There is huge gap between the easy-to-follow videos and the difficulty of some of the handouts. Something in the middle is necessary and Piazza takes too long. Now I was trying the minimax assignment a bit but again the documentation in their code is unclear. For example for the initial eval function testing board state, what should it return? I guess I could write something to calculate it but that is just more book keeping type of coding which is so so boring and not really related to AI, more like generic coding class. So rather than spending time to really understand the new algos and ideas presented, you just end up spinning your wheels to fill the gap where the instructors' team was too lazy to make this course really shine. It's really sad that combined with how I've heard the ML course is not that great either, the ML specialization is basically second rate compared to free MOOC's out there like Ng's ML on Coursera.
    Also, the longer I'm in this program the more I'm realizing there's quite a bit of hoiti-toitiness, humble-bragging, begging for remarks, etc which I never saw during my undergrad CS.

    Rating: 1 / 5Difficulty: 3 / 5Workload: 20 hours / week

  • Georgia Tech Student2021-06-04T03:54:05Zspring 2021

    I'll try not to repeat what others have already mentioned. I don't have a lot of AI/ML related background, but the assignments felt very approachable, came with common sense, and in general I was able to learn quite a lot. They did require effort, of course. The course material is a good broad survey into AI and ML topics. One can go shallow or deep with the material and extra study/assignments - impacting learning outcome, but not necessarily the grade. The course carries quite a lot of self-engagement opportunities in terms of learning deeper.

    I enjoyed the assignments and I found those exercising the material pretty well. No reports, just programming and immediate feedback (Gradescope submission). Those did take time. One of the 6 assignment grades was dropped, as per the syllabus.

    I loved the midterm and final exams format (week-long extended non-programming assignment), and generally (at least in our term) those were rather easy, surely not as difficult as I expected, if you cover the lecture material well. I do realize that the previous terms seemingly had a longer exams format. I was able to finish the final, for example, over a weekend.

    The lectures do sometimes skim the presented material, but are structured well to present the basics.

    All in all, I do recommend this course - it presents the building blocks pretty well, has nice assignments, carries no reports, very manageable load-wise.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • Georgia Tech Student2021-05-19T23:07:16Zfall 2021

    This is my 2nd OMSCS class, my first being 7642. Overall, the class was fairly interesting, but not terribly useful and extremely outdated.

    Assignment 1 was a bit of a pain, and it was kind of just luck in getting hyperparameters right to beat the RNG auto-grader.

    I had the amazing foresight to completely skip assignment 2 after realizing how annoying the auto-grader would be, which saved me countless hours and gave me the opportunity to start early on the later assignments.

    Assignments 3-6 were all fairly easy. Some had restrictions on number of auto-grader attempts, but these specific assignments (markov models is one) were very easy.

    I also was lucky to be in a semester where the tests were maybe 1/3 the length of that of previous semesters. The tests themselves were of medium difficulty, but were fairly easy to get above 90 in.

    In terms of grading, you should be able to get 90-100 on assignment 1, 100's on assignments 3-6, and I'd highly recommend skipping assignment 2 after learning just enough about BFS, DFS, and A* search.

    Rating: 3 / 5Difficulty: 2 / 5Workload: 11 hours / week

  • Georgia Tech Student2021-05-12T04:25:34Zspring 2021

    This course is by far one of the best courses thoughout my OMSCS journey.

    WHAT I LIKE:

    • Video lecture is really clear. Thad (and Shirley) did a intuitive and clear introduction to essential AI algorithms, while Peter Norvig did good walkthrough on search, logic, inference, and Sebastian Thrun did good walkthrough on probability and value iteration. Frankly I never seen any AI/ML lecture video with step-by-step walkthrough as clear and detailed as this course. The videos are also interesting without overload with senseless humor (as in Computer Vision). All resources available (though not confirmed) before course start is also a huge plus.

    • Assignments are good with well defined test scripts and Gradescope tests. Whenever an assignment is done, I can use the provided local test scripts to validate, and I can use Gradescope to validate the rest. Scoring 100% in Gradescope means scoring 100% in assignment, which is clear and worry-free.

    • Easy to get A, since everyone with total score above median (computed before adding extra credit) or above 90% will get A, not mentioning 6 extra credits (which is effectively 30 points in a 100-point final exam) can be earned without overwhelming effort. I guess almost 70% of the class get A although I do not have exact statistics. Similar to my shopping experience in a wine store when I find every bottle gets a over 90-point score, I do not know if that is a good thing, but still I am happy with an A.

    • Exam in almost each semester contains a question which more like a tutorial than a question, which guides you through each step in a simplified but classsical AI/ML algorithm. In my exam I learned about CNN convolutional neural network, which both explained a final project topic in my other Computer Vision course, and introduced me to another Deep Learning course. Such design of the examination is very thoughtful.

    WHAT I DISLIKE:

    • A few TAs are not well equipped with addtional knowledge that is relevant to the extra credits of assignments. For example, in assignment 2, which is a search, the last section encourages us to find our best search algorithm, where the hint links to a research paper talking about Reach, but when I asked the TAs, I surprisingly found none of them even heard about Reach... Although that Reach concept may be an overkill, but I suppose when the hint links to it then the TAs should know about it...

    • Some assignments are not well tested before release. In particular for my assignment 1, which is a game play, the game board is so small and the chess pieces are so many, such that a victory is either pre-defined by move priority or dominated by randomness. That defeats the purpose of AI in trying to win.

    • Take-home exam may give you more freedom over a traditional proctored exam (at least you do not have to look at a stupid camera and let some AI/ML algorithm detects your attention), but the extra workload is a torture. I am lucky and my study term only offer 30 pages of final exam, but I learned that the previous term offered a 100 page final exam, which is really too much. In addtion, although some questions are kind to offer partial answers for cross-checking vs your own calculations, some questions are in fact offering useless cross-checking figures. One example is a value iteration question which offers cross-checking figures far away from goal, therefore the numbers are not relevant to the answers which are near the goal. What's worse is the cross-checking figures are once changed by clarfications, and the clarifications even changes the value iteration algorithm to slightly differs from the lecture video example... so every value iteration algorithms in the course subtly differ, and I totally failed that question although I repeatedly tested my algorithm vs all course examples and I totally align with the cross-checking figures. Again, I was lucky to still get an A since I have good assignment scores and extra credits and A covers more than half of the class, but still I think the cross-checking partial answers should serve the purpose of guarding vs minor mis-calculations, especially when the numerical questions have been clarified.

    VERDICT:

    This is a very good introduction to every AI/ML concepts, particularly when you want to deeply investigate one of the AI/ML topics. Excellent course design and good tutorial management! Thank you very much!

    Rating: 4 / 5Difficulty: 4 / 5Workload: 40 hours / week

  • Georgia Tech Student2021-05-09T16:31:59Zspring 2021

    This is my first semester into the program and I'm glad that I had a pleasant experience.

    I come from a CS background and had 5 years working experience as a developer.

    As most of the reviews, the assignments are hard and will take a lot of time. I don't know how many hours I spent on the assignments every week.

    The lecture videos quality is a bit disappointing as I found many concepts were not explained well and ended up going to youtube watching some other videos to understand about some concepts.

    Given the huge amount of knowledge i've gained from this course, I will give this a 5/5 for such a well designed course.

    On the bright side, I find the grading quite generous. I didn't attend any office hours and never attempted any bonus, I got a 95%. I believe a big portion of students will get A given the grading criteria (>90 will get A).

    So my advice is just not to worry so much about the score but rather, enjoy and focus on the knowledge you will gain from this great course.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 20 hours / week

  • Georgia Tech Student2021-05-09T04:22:18Zspring 2021

    I completely agree with the tips provided by the reviewer just before my comment. Those are the best tips I have read so far and would like to offer.

    Most of the time I felt lost after watching the lecture videos in the course module and spent a lot of time finding the right kind of videos that would help me in understanding the course material. I watched lecture videos from Berkeley, MIT and Stanford to gain knowledge. Those were useful for both doing assignments as well as in the exams. After watching all these videos I only had to skim through the book.

    Also make sure to spend enough time on the mid term and final exam. Even if the questions were straight forward application of the algorithms that we learnt in the course there are lot of opportunities to make mistakes. Hence, definitely schedule time to review your answers and not just answering them. During midterm I answered all the questions to the best of my knowledge and was lazy to review the answers. As a result only got ~70%. However, I reviewed by answers in the final and scored ~95%.

    At last, don't waste your time attending office hours.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 40 hours / week

  • Georgia Tech Student2021-05-08T00:30:52Zspring 2021

    Most of the post in here already reflects the fact that this course is a tough one. This is indeed a hard course and has quite heavy workload but definitely doable.

    Survival Guide

    Grab recent semester syllabus and go into course schedule. Here is one from Spring 2021. At the bottom of course schedule you will find topic list for final exam. Now glance over the topic list to see how much it feels familiar to you. If you are not familiar with most of it, this guide is for you.

    1. Hardest part of the course was seeing all these topics for the first time and not having enough time to review it. So, prepare before the semester begins; you will see the course lecture when the semester begins but for early preparation go through:

    Now when you see the course material, it won't be first time.

    1. Keep up with the reading of the book; you cannot survive this course if you don't read the book (it's a very enjoyable book).

      • The hardest part of the course is that the assignment might fully occupy your free time and therefore you never find time to read the book; by reading early you are going to do your future self a huge favor.
    2. Definitely read the chapter 13 & 14, probability and bayes net (BN Representation) before semester begins. If you feel lost here re-read it again since this will be core to a lot of ideas for rest of the lectures.

      • if you find the probability, random variables, bayes theorem etc. are very foreign concept to you consider going through this probability lecture from MIT. Good news is that you only have to go finish first 7 lectures at minimum.
    3. Re-read chapter 13 & 14 (yep!).

    4. It gets little tough after midterm because of the course load. In some weeks you will have multiple chapters to read. Keeping up with it will be almost impossible. Definitely try to read few of those chapters in advance. If you can't, that's ok too and next item will help.

    5. One of the best policy of this class is one of the assignment with lowest grade will be dropped. Try to do best (I mean over 90 because a lot of your friends will; my class median was 92) in the first 5 assignment so that you won't have to work on assignment 6 at all. With this you will have 2 weeks of free time right before final which you can use to keep up with readings and watching lectures.

    Assignment Survival Guide

    Assignment for the course took me almost all of the time to complete. Therefore, it left with little time to read the books but from above tip you already know I had pre-read the book (and made my life easier).

    For your own consideration a note note about me: I have writing code at my day job for over 8 years and still find coding for assignment time consuming.

    1. Learn Python; you don't have to be pro at knowing every python syntax; it is not what the course demands.

    2. Learn Numpy and it will be used heavily in later part of assignment

      • I strongly recommend reading the book Python for Data Analysis by Wes McKinney.
        • Read chapter 1-4; Numpy is the API you should know and vectorizing will be key to your assignment running successfully.
      • With this book you will cover both points 1 & 2
    3. Know how to debug code; not your average logging into console for debugging but using actual IDE's debugger. My favorite editor is VS code and it also has Jupyter notebook capability right in the editor (but you might have your own favorite editor)

    Should you take it?

    This is really great class but slightly heavy on workload; I have spent over 30-35 hours every week but in the end it was worth it. Now I have confidence I can survive anything. You will learn a lot from this class and I strongly recommend taking this class. You are here to learn interesting ideas!

    Rating: 5 / 5Difficulty: 4 / 5Workload: 35 hours / week

  • Georgia Tech Student2021-05-07T13:13:12Zspring 2021

    I liked this course for the content. Much of it is reviewed at a high level / very briefly, but it gave me a good overview of the field. Previously, I was more limited in thinking only about RL \ Deep Neural Networks for AI. This course does not cover RL / Neural Networks in any detail. The videos are pretty good, but they do seem "patched" together, with several different lectures and styles. I thought the book was very good, but we only really dived deep in a few areas. The assignments were good, but the last parts would get challenging. I had real issues with the TA's in this class not being helpful. I attempted office hours twice with poor \ no results, and did not find that much help from them on Piazza. Not sure if this was just this semester, but the TA's in the RL class were much better. Tests were open book, one week long, with many of the subjects being completely new exercises. I felt that they were grading as much on, can you learn this quickly yourself. I spent a lot of time on them and did well. The assignments are programming w/ gradescope. They would be very hard if you weren't reasonably good in python, otherwise they were tough more for the last 25% of the score.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2021-05-07T01:33:05Zspring 2021

    About me: OMSA Program, 4th semester

    Strong Python but no prior CS experience before this program

    Grade: A

    This was probably the hardest course I’ve taken in the program. If I compare this course directly to something like CSE6250, another heavy load course, the course material in this one is much more complex and there is a focus on theory that I hadn’t found before. As someone who did not study CS in undergrad, I felt like I started pretty far behind as things like recursive algos and Search were difficult for me to grasp quickly. The second assignment was especially challenging. I spent 40 hours on that one and was not able to make the tridirectional search work. However, I found the Search topic in general very unique to this class and am very glad to learn it. Compared to Search, the other assignments are much easier to implement (average 10 hours each) and I felt very comfortable towards the end of the course when more ML topics came up like decision trees and clustering.

    One other thing I found helpful from this class was the exposure to writing our own tests. This is another reason some assignments are easier than others. The test suite the staff provides can either be sparse or very comprehensive. Writing my own tests to fill in the gaps was a great skill to get more experience with but I never complained when I was given all the tests I needed to complete the assignment more quickly.

    I found the exams to be quite easy? I did not score 100 but half of the problems are presented in a way where it is very difficult to screw up. They provide some of the answers inside the test so that you can confirm if your method is correct. I spent less than 5 hours on each exam and they were significantly easier than the assignments. I think this semester may have just lucked out because the previous final which was given to us as practice appeared almost twice as long.

    The one thing I would change about this course is the plagiarism policy, which is very intensely worded and is detrimental to learning. I was not comfortable with posting questions early in the semester on piazza at all for fear of “cheating”. I was not even comfortable looking at other resources to aid my understanding. Piazza engagement was essentially non-existent for the first half of the semester as I’m sure there were other students that were scared off like me. Moreover, the TAs were probably understaffed as they were not very responsive.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 15 hours / week

  • Georgia Tech Student2021-05-05T17:48:54Zspring 2021

    I was pleasantly surprised by this class! This was one of the best-run courses I have taken so far (I am now halfway done with the program). I expected this course to be pretty tough and time consuming based on previous reviews, but I never spent more than 15 hours a week on this class. I would rate it as pretty middle of the road in terms of time required and difficulty. TAs were pretty helpful and Thad (professor) chimed in every now and then and also held office hours. I echo the reviews below mine about this being a survey class on AI.

    The class has 6 assignments and you get to drop your lowest score. It's true that the first two assignments are harder, but I wouldn't say that the rest of the assignments are a walk in the park. All of the assignments required a decent chunk of time (10+ hours over 2 weeks), and all of them were doable. I suggest starting as soon as the assignments are released so that you aren't pressed for time, and consulting Piazza and Slack for pointers.

    I really liked the format of the Midterm and Final exam. Both were week-long take home finals that were open note/lecture (not internet). They both felt like problem sets aimed at helping your understanding on the topics. Pretty low stress overall and satisfying (never thought I would call an exam satisfying). I did not have to take PTO for either of the exams (normal 40 hour/week job) - I managed the timing by doing 1-2 problems after work each day. This got me through all problems before the weekend and left the weekend to review answers.

    Overall I would recommend this class to be taken standalone if you are working full time. This is a great medium difficulty class!

    Rating: 4 / 5Difficulty: 3 / 5Workload: 12 hours / week

  • Georgia Tech Student2021-05-05T13:02:21Zspring 2021

    I really enjoyed this course! It feels very similar to CS-7638 (AI for Robotics) though different topics, of course. Thad is an awesome instructor. he presents concepts well and usually with a bit of humor. Sabastian presented a few chapters (same professor from CS-7638) which I very much enjoyed. Peter Norvig also presented 2 chapters. I found his presentations alright, but I will note that I couldn't listen to them with noise cancelling headphones. There were certain noises that felt like they were piercing my brain during those lectures. It wasn't nearly as noticeable if I didn't use headphones though. Hopefully those videos are updated at some point.

    The assignments were both very straight forward and interesting. I didn't get the chance to do any extra credit assignments due to time constraints from the other class I was taking, but I certainly would have if I had the time. Oh and the exams (mid-term and final) were "take home". I.e. print them out and work on them for a week. I found this to be a much better approach to exams. They were probably the most difficult piece of this course (for me). I don't do well with the cram everything in your brain for a test approach. So with this style, I was able to better understand some different uses for the concepts learned throughout the course. I would definitely recommend this course!

    Rating: 5 / 5Difficulty: 2 / 5Workload: 10 hours / week

  • Georgia Tech Student2021-05-03T21:32:13Zspring 2021

    I feel like this course was way overhyped. Assignments were okay. The vibe of this class was so casual. We were split into two groups for Piazza. My group was completely dead. I don't even know why I paid for this course if all I'm going to do is do the course on my own. Nobody really created threads discussing about AI topics. This course is run in a way that it pigeon-holes you into only focussing on this old age assignments they assign you. So the large chunk of your time is spent on these. Have you ever enrolled in a course were the course content is great and they try to make it unnecessarily difficult? That's this course.

    The unofficial slack was the saving grace for this course. The AI lectures are god awful and require an overhaul. The instructor barely conducted office hours and TA support was pretty basic. I think these people are assigned to a particular task and they only open their mouth when it's their turn. Except one or two people, nobody really cares about educating or inspiring students to explore AI.

    TA OH on the other hand was absolutely pointless. All you get from there is some shallow responses like "hey how about you check what it's returning or read the question" like really? They have this walkthrough of projects were they read slides and call it a day.

    In previous semester with the other professor, class was run along with oncampus students in piazza (as one piazza), so do not expect the same experience when it's only OMSCS. There's obviously some low effort teaching and management when it's just online students and especially with this Spring class.

    I skipped Fall - AI to get to Thad's class but was extremely disappointed on how the class was run. The final exam was medium difficulty and midterm was easy. If you are expecting AI opportunities or expecting something to happen, you'll be disappointed.

    They removed 5th assignment extra credit and compensated with 6B + extra grade. How in the world do people care about extra credit once final exams are over is beyond me. We are almost at the end of the course. Obviously most of them are going to skip. People don't even do CIOS and you expect us to rush this extra credit in less than a week?

    For people debating between Spring-AI and Summer/Fall - AI, pick anything other than Spring. It's just hype and horrible management. I really dislike when they treat OMSCS as some low tier student batch.

    There were also some people from corona-hit countries expressing their concern about their country's situation and personal situations during the course in slack and not even a simple annoucement of concern was sent. Tough luck kidos, you are in GT.

    Overall A is possible if you put in the effort and B is a no-brainer if you get 90+ in the first two assignments.

    Rating: 2 / 5Difficulty: 3 / 5Workload: 20 hours / week

  • Georgia Tech Student2021-05-03T12:31:22Zspring 2021

    This class definitely has its challenges. I thought the worst part of the class, as many people have already mentioned, is the lecture videos. They don't do a good job explaining subsequent assignments, and much of my time was wasted trying to figure out the assignment instead of understanding the lectures and reading the book. I would recommend professors balance out the class by decreasing the assignment load and allowing for us to spend more time digesting the material. It has the potential to be a very enjoyable class, and the difficulty of the assignments didn't lead me to having a stronger grasp on the subject. The most difficult assignment for me was assignment 2, which is scored a 64 (but eventually had dropped, since it was my lowest.) Assignment 5 also took a number of hours, but the Slack group was an absolute savior. (In general, Slack was the best resource for this class.) The remaining assignments weren't too bad (I was familiar with DT from ML4T so that helped with assignment 4, and the probability from assignment 3 wasn't too bad either- definitely easier than the Bayes net question on the final.) Assignment 1 wasn't so well executed in that a lot of your results were left up to randomization. As far as the midterm and final, I found the midterm to be reasonable, and the final a bit more difficult. There are too many clarifications (including typos, statements that were left out, statements that were entirely changed...), which means that you need to keep checking back on Piazza to make sure that you have the most updated version of a question. There was also an extremely slow response times for questions on the final. Overall, I can say that I learned a lot from the course, it's not impossible, but it can be executed much better to allow for us to retain the maximum amount of knowledge while still giving us practical experience in the assignments with some AI problems.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 15 hours / week

  • Georgia Tech Student2021-05-01T05:13:12Zspring 2021

    This course is NOT the entry level course even though the contents are classical but outdated. The first two assignments are pretty hard and you need to test for a long time. Not because the algorithms are hard but the environments (the problem environment not the coding environment) of the assignments are hard to be manipulated and you need to be familiar with the environment quickly. Only the basic test codes are provided so that you need to write the test code by yourself.

    The lectures are pretty good and you can lean a lot classical algorithms. However, the lectures are too easy comparing with the assignments. It is like you are taught how to cut woods but you are required to build a palace.

    The TAs answer super super slow. I think they only check the piazza once a week.

    If your have the solid background with probability and coding with python, this course is not that much hard. If not, avoid the course because you cannot depend on TAs and you must try a lot to solve the problems by yourself.

    Rating: 3 / 5Difficulty: 3 / 5Workload: 25 hours / week

  • Georgia Tech Student2021-04-17T01:08:05Zspring 2020

    Overall I felt that this course was challenging in a way that actually tested what you were supposed to learn in the course.

    The assignments were very front loaded with the first two assignments being the most interesting and time consuming while the later assignments took less time but were not as interesting.

    The mid term and final took a ton of time. I liked the format as I felt it aided in learning, but they took entirely too much time.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 25 hours / week

  • Georgia Tech Student2021-04-08T14:05:37Zspring 2021

    I have always had a difficult time with this sort of course; one where the lectures don’t seem to cover the material that’s on the assignments. As such, I always get behind on the lectures because I’m spending all of my time on the assignments. This became an issue on the midterm, as there was content that I hadn’t seen before.

    Assignments

    6 assignments, but the lowest score is automatically dropped, so each of the remaining 5 assignments amount to 12% of your final grade. Overall, I struggled with trying to “fit” the assignments to what is expected in gradescope, which really leads to me never truly understanding the content; this becomes a problem when the tests come around. Many of the assignments have instructions that leave a lot to be desired; as someone else mentioned these instructions may only include a link to some research paper, or a wikipedia article. To me, this seems incredibly lazy and just pathetic.

    Exams

    For the type of person I am, there is absolutely no positive learning outcome from these types of exams. The midterm was ~28 pages (much of that is explanation or diagrams) and was a week take-home. The largest problem I had (and in fairness, it seems many others did not) on the exam were the clarifications. The reasoning behind a living thread of corrections/clarifications was that writing a test is hard. Seems silly that instructors are telling students that. I also found some of the wording and contradictions on the exam to be quite misleading (again, many others didn’t have this issue). I probably spent 30 hours on the midterm and scored very poorly. I’m quite terrible with probability (specifically Bayes) so I bombed that part of the midterm, and since the final will be comprehensive I fully expect that be brought back to embarrass me again.

    Communication/TAs

    There doesn’t seem much usefulness on piazza, I’ve found it to generally be a waste of time. Peers discuss more freely on slack, so that is where the only help has been. I’ve popped into a few office hours and these were a joke, don’t bother. The TAs have also given “assignment walk-throughs”, of which I attended only one; if you want someone to read the instructions to you this is helpful, otherwise you’ll be left wondering what the point was.

    Advice

    if you’re going to take this course make sure you understand probability (especially Bayesian), be very comfortable with Python, and have a good working knowledge of Numpy and dealing with large numpy arrays.

    Rating: 1 / 5Difficulty: 4 / 5Workload: 30 hours / week

  • Georgia Tech Student2021-04-06T14:55:11Zspring 2021

    After reading through all the reviews, in my opinion, this class is a little over hyped. First two projects are really good and enjoyed every bit of it but after that the class becomes too easy and doesn't possess much challenge.

    Rating: 3 / 5Difficulty: 3 / 5Workload: 25 hours / week

  • Georgia Tech Student2021-03-24T17:40:45Zspring 2021

    This is my 5th class in OMSCS. I am comfortable with Python & NumPy after taking CS6475: Computational Photography the previous semester.

    TL;DR

    This was a great class! Most parts of the class were polished and in combination provided one of the best learning experiences I've had in the program. My only major complaint is that the resources & support around the assignments could be improved.

    I rated the difficulty Easy which is unusually soft for this class. This was due to a few key factors:

    1. Predictable outcomes (e.g. no hidden test cases, no subjective grading)
    2. Generous grading policies (e.g. dropped assignment, curved in case the exams are unusually hard)
    3. Relatively straightforward Midterm & Final Exams

    We still used the older, 3rd edition of the book. You can get the international version (marketed to India) new for very cheap, although the printing is cheap and minor issues are likely.

    Highlights

    • Autograding: Assignment grading was fully autograded on Gradescope.
    • Great Textbook: Textbook was one of the best I've ever had for a class even though about half of each chapter was irrelevant to the lectures, assignments, & tests.

    Lowlights

    • Assignment Resources: These left a lot to be desired: Piazza posts from 2017, random PowerPoint slides, Wikipedia pages, YouTube videos... these poorly-curated resources account for a significant proportion of the assignment difficulty. Several OMSCS classes operate this way: teaching only at a high-level and expecting students to figure out tons of implementation details using only research papers or other similar resources. It sucks, but everything is doable.
    • TA Office Hours: These often had very long queues & inconvenient hours during the work days; they offered code reviews but seemed too unfamiliar with assignment pitfalls (one TA admitted to never fully completing A2 ¯\_(ツ)_/¯) or NumPy to provide useful feedback. The assignments would be far less time-consuming if the TAs could effectively guide students out of the ruts.
    • "Challenge Question" Answers: These were often mediocre- or poor-quality recordings from several years ago. Also, the majority of questions on those posts went completely unanswered by the TAs which was pretty frustrating, given how much they were emphasized as an exam study tool.
    • Disconnect between Principles & Questions: The class sometimes tests on topics that aren't thoroughly taught, making easy questions substantially harder. This is kinda like "reasoning from First Principles" applied too strictly as if you're supposed to intuit the rest. For example, D-Separation problems were challenging because the class taught Active & Inactive Triplets but neglected to share the easy, procedural solution for a full Bayes' Network.
    • Rough A1: First assignment was revamped, which introduced many preventable issues: released 1 day late, unit tests didn't work on Windows, hot patch was required halfway through the assignment, & grading was heavily influenced by random chance.

    Other reviews are suggesting Slack for receiving help from other students, but in my opinion Slack is just ephemeral Piazza discussion in more detail, pushing the limits of the OSI (plagiarism) rules. Is that an ethical way to compensate for the unhelpful resources & TAs? You decide.

    Grading

    The class is curved with the A/B cutoff placed at the median or at 90%, whichever is lower. B/C cutoff is placed at median minus 1 standard deviation or 80%, whichever is lower. Like previous semesters, the lowest assignment grade (out of 6) is dropped.

    The median for my section of the class was 91.6%, so the cutoff for the A was adjusted to ≥90%. The B cutoff landed at roughly 78%. About 63% of students who finished the class (didn't withdraw) received an A.

    Recommended Strategy

    Given the generous grading policies, assume there will be no curve. Aim for >80% on at least one of A1 & A2, then aim for 100% on the remaining assignments. That should give ≥95% average on the assignments, so a ~80% average would be needed on the exams excluding any extra credit.

    Including extra credit, I finished with a >98% grade in the class. I have never previously worked with Bayesian statistics or truth tables and have a non-CS engineering degree. The structure of the assignments & take-home exams means the grading is extremely predictable, so getting the A simply requires investing the right amount of time & effort.

    Assignments

    Aside from the Assignment 1 issues mentioned in the Lowlights, these were a good experience by condensing "real-world" problems into objective, 2-week assignments.

    Here is a brief breakdown of the assignments with the median grades & my subjective rating from 1 (trivial) to 10 (mini-thesis):

    1. Adversarial Search (95%, 6)

      Recursive minimax, alphabeta, and iterative deepening aren't terribly hard to implement, but it's hard to know how much optimization is required. Due to random variability, I was able to resubmit the same code 30 times without advanced optimizations until it passed. Really important algorithms handicapped by a bad setup.

    2. Path Search (83%, 9)

      HUGE assignment, unforgiving autograder, very hard to avoid all edge-case bugs. The cryptic resources really made this one more annoying than it needed to be. However, it's easy to appreciate the utility of the algorithm.

    3. Bayes' Nets (100%, 6)

      Conceptually easy, difficult to apply with pgmpy.

    4. Decision Trees (100%, 4)

      This was my favorite assignment because of the combination of utility and fewer issues than A1 and A2. The assignment was very organized and approachable. Difficulty is dependent on prior NumPy knowledge.

    5. Expectation Maximization (100%, 7)

      Organized step-by-step, but plenty of "symbol shock" and a long slog with linear algebra + NumPy.

    6. Hidden Markov Models (100%, 4)

      Interesting & short assignment burdened by overcomplicated & broken rounding rules.

    7. (Extra Credit) Hidden Markov Models 2

      This assignment may replace the original HMM assignment in future semesters. Dr. Starner offered a massive 6% added to the final grade for completion and a 1% competitive section, but was an unclear, complex dive into data with a HMM speech tool called HTK. I went through the Docker-based setup and couldn't quickly figure out what the actual work was so I didn't bother. Condolences to any future semesters if this assignment becomes required.

    Extra Credit

    The extra credit opportunities were interesting and I attempted all of them, but found them to be mostly high-investment, low-reward for the purpose of ensuring a good grade in the class. Many of these were competitive where only 10 students get the credit out of literally 500+ students. There's no harm in submitting existing work for the competitions, but I can only recommend investing additional effort into the noncompetitive opportunities. We did have a few "easy" opportunities, including a 15-minute survey for a research study and CIOS participation.

    My opinion: this effort is probably better spent getting ahead on the next lectures & chapters so the next assignment can be started earlier.

    Midterm Exam

    I felt that this exam was notably easier than the example midterm provided from Spring 2020. Our exam weighed in at only 28 pages; I finished a first-pass through all questions in about 8 hours of work. Our search problem was pretty tricky & likely required some coding to get to the answer, but it was only weighted 10%.

    The TAs made some grade concessions for our mediocre constraints satisfaction problem. They also awarded plenty of partial-credit for "close" answers. I found that they were generous in answering private clarification questions, even if those clarifications weren't shared in the public clarification post. If in doubt, definitely ask! I found all of these policies unusually generous compared to other OMSCS classes.

    I took a day off from work for this exam but didn't need the extra time. It may be worthwhile to have extra time in order to triple-check all the answers since there's plenty of rote calculation involved.

    P.S. expected value is a subtle technical term that's very easy to misinterpret; don't repeat our mistakes!

    Final Exam

    This exam was also 28 pages total. I felt this exam was more challenging (on average) than the Midterm mostly due to challenging Bayes' Net & Logic questions. Logic & inference is a confusing topic that was poorly covered by most of our resources, including the lectures & book (the problem was a variation of this Stanford problem). It didn't help that they scheduled 208 pages of reading from the textbook in the last 2 weeks.

    There were more technical issues with the questions than the Midterm which required significant clarification. It was an unfortunate way to end the class, but I suspect many students like myself didn't need much better than a 50% on the exam to maintain an A grade in the class.

    Rating: 5 / 5Difficulty: 2 / 5Workload: 20 hours / week

  • Georgia Tech Student2021-03-20T00:40:55Zspring 2021

    Great course overall and a lot of interesting materials are covered. Also I'm constantly impressed by the coding quality of assignments prepared by the TAs/instructors. I had some background in quantitative field and going through the materials greatly strenghtened my understandings of a lot of ideas.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • Georgia Tech Student2021-03-18T22:55:03Zfall 2020

    First, just a background about me so you can understand where I’m coming from. I have my bachelor’s in engineering, no prior CS experience before OMSCS, this was my fourth course in the program, and I am a masochist. If you are a masochist – then this is the class for you.

    The reviewer below mine - obviously not a masochist. Not surprised they disliked the course.

    You know that feeling of being lost while traveling a new place? I enjoy that fleeting feeling. So with no surprise, I truly enjoyed the feeling of being completely lost during both the midterm and finals week. If your not sure if this is for you, grab a pen and paper and see if you can back-propagate a neural network having never created one before. Both exams were 40+ hours or pure wandering bliss.

    To the reviewer below mine again. - Read, the directions when filling out the grid on the final. For crying out loud, each one of those squares in the grid was worth like .25% of your overall grade. You know dang well that the curve is a joke, don't rely on it. They instructors wrote while laughing. “Haha - what if we make a curve that doesn’t do anything”

    For that matter in regards to the exam questions. If it doesn’t make sense, just keep rereading it. Whatever you do don’t try diminish the experience of being lost by asking for clarification. -Piazza is closed and any questions will be immediately removed. Don’t worry, if the instructors feel lost rereading the exam while its out, they will revise it. If you already answered the question before the revision - slow down.

    Ok in all seriousness…

    The lectures are a mixed bag. They are a mix of Dr. Thad Starner, Dr. Sebastian Thrun, and Dr. Peter Norvig. These are all extremely well respected researchers. However, having so many lecturers it feels somewhat thrown together.

    The material can be math heavy. There was a bit of symbol shock at times. Piazza and slack discussions were helpful to break things down.

    About half of the assignments are really great. The other half not so much. I think they are made harder than they should be. I was so lost during decision trees. I am now taking M4LT and in there DTs were a cakewalk. It was just explained so much better in the lectures and the assignment reinforced my learning and understanding.

    The book is a must. It’s got a ton of information and some of the algorithms are broken down well. There is just so much content its ridiculous.

    This class has such potential. I learned a lot. I enjoyed about half of the assignments. Hated the exams. Dr. Ploetz did a great job during the office hours, but I’d rather this effort be put into the lectures. I had mixed positive and negative interactions with the TA’s.

    I wrote this review after taking the ML4T midterm it was refreshing reminder of what an exam should be.

    Rating: 3 / 5Difficulty: 5 / 5Workload: 40 hours / week

  • Georgia Tech Student2021-03-18T20:33:48Zfall 2020

    I appreciated the bickering going on between reviews and edits so I wanted to chime in. This class can be described as tough and unfair at some points! I don't think I learned any more than I did in ml4t, I learned different things but I feel like I walked away with the same amount of knowledge. The only difference was AI makes you put in x5 the work. So the learning to effort ratio for this class is smaller than any other classes i have taken in this program.

    A few complaints I can give are the midterms and the final. If you don't have the flexibility to take a week off of work it's really annoying because some questions require you to fill out a 8x10 grid of values so if you mess up one cell you don't get credit. That doesn't really do a good job of assessing your knowledge. more so a good job on data entry

    I think it's worth mentioning the curve is actually not helpful to get an A. The curve was a 90+ so they made it a 90, no rounding!

    I didn't have time to watch the last module lecture videos and they weren't covered on the assignment. Those questions on the final I did the best on. That to me shows that the test doesn't really do a good job testing your knowledge.

    I missed a lot of probability and Bayes stuff on the midterm and they brought it back on the final so I can miss points again. Not a huge deal to me but everything in the first half of the semester is valued more.

    The final and midterm aren't really a "you learn a lot" experience for me. Also, there are some questions with 10+ revisions so Idk, don't anticipate a stress-free time. You may have to rework some problems based on revisions. The professor is cool tho and there are office hours by the TAs.

    I just wish the lecture assignments and tests had more overlap. I think having tests that take 40 hours isn't meaningful. What stings the most is they received that feedback during the midterm and said they'd keep it in mind for the final. That didn't pan out lol.

    I don't think this is an impossible class. I think computer vision had the same difficulty but that class felt more fun and fair. The exams were multiple choice and there wasn't a midterm. The midterm was still a learning experience and I think i walked away with a lot more knowledge in that class.

    I wouldn't recommend this class for an elective. If you want a survey of classical AI, go for it, but do extra credit!!!

    Some of these assignments were awful. There was one where they just linked a YouTube video and told you to follow it. Some of the assignments were fun, but it didn't set you up for success on the exam.

    I guess the takeaway from my word vomit is that this class has a lot of inconsistencies. But I want to give a lot of respect to the professor for being available on Piazza and giving office hours. Time to revamp the test though imo and get rid of assignment five I think

    EDIT: TO THE PERSON ABOVE ME ATTACKING ME PLS LEAVE ME ALONE I AM SENSITIVE

    Rating: 3 / 5Difficulty: 4 / 5Workload: 35 hours / week

  • Georgia Tech Student2021-03-02T16:34:36Zspring 2021

    *Note Not sure why the reviewer below me felt the need to dissect my experience and tell me Im lying about all of my opinions which, at the end of the day are my experiences and opinions not his or hers.

    As stated below, I created this review because going into the class I was unsure of whether I would be able to survive due to my lack of math background and python experience. I had read many reviews that scared me and almost made me withdraw from the class before even starting. My original plan was to take ML4T to learn python and probabilities and then take AI but, I was unable to get into ML4T so I decided to proceed with taking AI despite not having the needed math background and not knowing python.

    If I had listen to many of the reviews stating that it was impossibly hard and I wouldn't make it, then I wouldn't be in the position I am currently in succeeding in the class. Because of this, I thought it was my duty to help balance out some of the horror posts with my experience because that is what I would have wanted when I was looking at these reviews. At the end of the day, these are just my experiences. I consider myself an average programmer with below average math skills. Lastly, keep in mind that 1,000's of people have passed this course before you and 1,000's will pass after you. While this is a hard, graduate class in AI from a top Institute, it is not impossible and you have many tools at your disposal to help you learn and succeed.

    Review:

    Even though im only through 3 projects and haven’t done the mid-term yet I wanted to give my review for those considering the class for Summer or Fall especially after seeing some reviews that I felt were a bit dramatic.

    First off, this is my second class with GIOS being my first. I came into the class extremely worried due to me never using python previously and have never taken a probability or statistics course. Ive never considered myself strong at math in general and after looking at the syllabus, I knew I was going to have to work more than others in order to complete assignments. With that said, I do have an undergraduate degree from a small school in computer science so I am not coming from an irrelevant background.

    With my background stated, I want to briefly discuss my experience with the first three projects.

    Project 1: Project one was pretty straight forward I thought. The algorithm we use is incredibly clear and straight forward. I would say the most challenging part was evaluating the potential moves. There wasn’t much math involved and we were walked step by step through the process on how to build each algorithm and how each algorithm was a progression of the previous. Overall, I was able to complete this with a 100% without having to start early and it only took me about a week. The second week I had free to start reviewing the lectures and readings for the next project.

    Project 2: Project two was pretty difficult mainly due to the book keeping and trying to keep track of every element of the algorithm which, by the end consistent of multiple data structures. Again though, for this project, we are walked step by step and are shown how to code the algorithm and how each algorithm progresses from the previous algorithm. I was able to complete this one in less than 2 weeks with 92%. (We were given a week extension due to the snow storm in Texas but i didn’t want to waste my project 3 time trying to get 8%)

    Project 3: This one involved much more math and pushed me way out of my comfort zone. As stated above, I have never touched probability or statistics so I came in completely new to the subject and concepts of Bayes Theorem and Bayes Networks. With that being said, I made sure to watch the lectures, take notes, and most importantly, talk to my fellow classmates in order to better understand all the concepts being taught. YOU CAN LEARN EVERYTHING YOU NEED FOR THE PROJECT IN THE GIVEN TIME. Don’t let people tell you that you need to be a master of probability or else you will fail. Again, I came in completely new to everything probabilities related and was able to complete the assignment with a 100% only using 1 week of the given 2 weeks. Additionally, I can assure you that no one who knows me would consider me any where near a genius.

    TA’s: I have found the TA’s to be incredibly helpful! They host 2 -3 office hours everyday which is super helpful. Additionally, they will even hold code reviews for you and actually look at your code and give you pointers or ideas. This concept of a code review or individual one-on-one office hours were completely unheard in my previous class. This is all in addition to them being incredibly helpful on piazza as well. The notion that was stated previously that they don’t care is completely false and unfair to them and the effort they put in to our learning experience.

    Fellow Classmates: I have found the communication on mediums such as slack and piazza from my classmates to be incredibly helpful to my learning. Whenever I was lost or needed confirmation that I was thinking about a problem the correct way, a classmate was always online and willing to help out.

    Closing: While this course has been challenging, it is far from impossible and the TA’s and fellow students really do everything they can in order to help you succeed. Hopefully, if you are reading this and are unsure of your math background as I was, you can know that you can take and succeed in this course!

    Rating: 5 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2021-02-28T03:32:37Zspring 2021

    Right off the bat, if you had any doubts about not being ready for this class, or OMSC, I will tell you this: if you a) aren't a genius, b)don't have a CS background, c) already work in CS/software field, you're not ready. if you aren't cut from this cloth, you won't make it. you can't grow into it in the class; there isn't enough time. Just save yourself the money. Sounds negative, but it's true. I had my doubts, and I had an engineering degree, I work in data science field, and thought I could hack it. Nope. Everything online is like "work hard and try your best! You'll make it! I was a film and social science major who worked the past 10 years saving autistic orcas by knitting them sweaters until i was 45 and then decided I wanted to be a software engineer and I'm doing it with a full time job and 10 kids, so you can too". F that. this is real talk. If you aren't one of the three things i mentioned previously, or you don't have 168 hours to dedicate to this course and still don't mind barely getting by, your done. As far as assignments go, they're all hard. If you don't know the material already, don't even bother. Seriously. This isn't about learning. "Oh I'm going to take this class so I can learn AI." Nope, shut up. If that's you, GT thanks you for your donation, see you next semester when you withdraw and try again. You're just helping the curve. I've lived in this room for 3 weeks straight, haven't left, trying to complete this assignment, and best I get is a 75. There was a literal act of God that froze over the state of Texas that extended the deadline a week. didn't matter. Just another 168 hours of trying things, reading things, so much scratch paper, so much googling. doesn't matter. I've never used up the entire ink capsule of a pen before, but I've done it twice now for this class. "Oh but that's not bad, I'm sure with the curve you'll do fine." Nope, majority of the dudes on here are acing it. Piazza is just a circle jerk of who finished faster. They already know the material; if you don't, gg. Don't believe me? Verbatim quote: "luckily I get a 100/100 ...now I can go out and buy a roasted sushi to celebrate." Look up the syllabus from last semester, and if you can do everything there already, then you might be ready. there is no help for you. the TAs are a joke. they don't actually care, or want to help, and why would they? How could they? there are 800 people on here. Text book was useful for the first assignment. After that, worthless. People say its a good addition to your "collection". who care? you're never going to look at it again anyway. The worst part? You'll trick yourself into thinking you can do it. try to be positive and say "im doing this for the learning". You'll break yourself on this class, and there isn't anyone you can reach out to to help you. No TA, no other students, no stackoverflow. There isn't anything. Just you and your stupid brain, and your empty assignment.

    EDIT: So I have a problem with the review directly above mine. The person claims to never have taken a stats/probability course and never used python before... right. In your entire CS undergrad. Was your degree even accredited? Because if it was, then those are just bare-faced lies. And it's reviews like this that give people a false sense of reality and hope. This isn't some fairy-tale where you start from nothing, go through some Rocky training montage, and then suddenly get all A's and get the girl. This is reality. People's time and money are worth more than the bs sense of having put "positive vibe into the universe" by writing a bs review like this. Positivity is good, but when it doesn't reflect reality, it's not helping anyone. If what that review as far as their background goes is true, and they aren't b)don't have a CS background, c) already work in CS/software field, then they are a) aren't a genius, in which case, congrats to you, your review means nothing to the rest of us who aren't geniuses.

    Project 1: Project one was absolutely NOT straight forward. The algorithm was neither clear nor straight forward, and there wasn't a lot of instruction or guidance to make it straight. Come on guy.

    Project 2: I actually laughed out loud when I read "we are walked step by step and are shown how to code the algorithm and how each algorithm progresses from the previous algorithm". That's laughable. If by "walked through the algo" you mean provided a single iteration of the the simplest, most basic use case there is, sure I'll give it to you. It's the classic joke where the teacher says "1+1=2" in the lecture, and then the assignment is "2+2= calculate the mass of the sun. Your unit of measure is a grapefruit. That's all the info you need. Use the example from class. Show your work". Come on guy.

    Project 3: YOU CANNOT LEARN EVERYTHING YOU NEED FOR THE PROJECT IN THE GIVEN TIME. Listen to the people who tell you that you need to be a master of probability or else you will fail. No one believe that you're bright eyed bushy tailed prob-stats no python virgin. Okay bro.

    TA’s: This part is convincing me that this review must have been written by TAs. While they host 2 -3 office hours everyday, the quality of individual is highly suspect. These are not one on one session; its more like a mob of people breathing into the mike, rushing you rudely to finish and hurry up while the TA "reviews" your code, says we're out of time and that he will look at it off hours, and then two weeks after the assignment is done, he messages you back and asks if you got the help you needed, and then doesn't even wait for your response and marks the post as "resolved". I don't know who you were getting your code reviews by, but after going to 6 sessions, all of which I had to join 2 hours in advance to be first/second in line, I'm tired of getting the cookie cutter response equivalent of "did you try turning it off and on again"? The TAs are trash, they don't want to be there, and it shows.

    Closing: Hopefully, if you are reading this and are unsure of your math/programming background as this guy claims to be, you can know that you can NOT take and succeed in this course! If you're living in the real world with the rest of us, heed my advice:

    Google the class, as there are numerous leaked github pages on it. See if you can do any of those assignments. If you can, you might make it. If you can't, don't sign up. Figure out those assignments. Once you figure them out, then join.

    Rating: 1 / 5Difficulty: 5 / 5Workload: 100 hours / week

  • Georgia Tech Student2021-02-18T19:44:24Zspring 2021

    This course is my 4th in the program, previously took KBAI, AI4R, and GIOS. Definitely is a differently structured course than those mentioned before, but overall I think it was a good class. A bit of a rough start with the first project due to it not being quite prepared, but following some backlash from students on how that was unacceptable, it seems the course really got a lot better and the teaching staff took the advice to heart.

    Here's my quick dissection of the course:

    1. The lectures are decent, but the textbook (Artificial Intelligence: A Modern Approach) is much better, and honestly anybody remotely interested in AI should pick up this book, it's a fantastic reference.

    2. The projects are pretty good (as in, they cover helpful topics in an applicable way that is interesting), but the experience you have with them will most likely be a little rough at the beginning (mostly the first project) of the semester and get better over time, as the first few projects (at least, in their current order at the time of writing) are re-written each semester.

    3. The exams in this class are long (30ish pages), but very doable. They are 1-week take home with open notes/lectures/piazza. Previous reviews have said that the exams are horrendous with lots of revisions throughout the open period, and that may have been the case at those times, but my experience was just fine. They kept a "Clarifications" piazza post open the whole week, and we never got any "question revisions" throughout the week, and most of the clarifications they made were very helpful. Be sure to check these posts throughout the week just in case.

    Overall, I think the concepts of this course are interesting and definitely important if you want to pursue AI. I personally don't find them too challenging but that is completely subjective.

    My advice: If you want to take this course, definitely go for it! It covers really great topics and good foundational knowledge in AI, just be prepared to really dig into the material in the beginning of the semester and start all of your work early so you don't get caught near the end of the deadline having no work being done.

    As for the review above mine, it is extremely overdramatic. I put probably 20-25 hours in per-week and work full-time on top of it. It does give an advantage to know the material beforehand (obviously, but why would you take the course if you already know all of the material?), but the course description outlines prerequisites of things you probably should know (basic stats/probability, comfortable programming in python, working knowledge of calculus and linear algebra, etc.) As somebody who is by no means a math-wiz, but does have the foundational knowledge they suggest, anybody that is comfortable with the prerequisites should be fine. This does not mean you will fly through it in 10 hours a week. It means you will have to spend the proper time to take on the workload, but you won't get absolutely lost while doing it. The class has multiple hundred students and the teaching staff releases grade distributions on each project, and in those distributions, there are very few people more than 1 standard deviation from the mean, and most of those are people who just didn't submit at all. I'm sorry you feel lost, but you should not drag down other prospective students because you haven't utilized the resources available to you (TA office hours, Piazza forums where you can freely interact with students short of violating the cheating policies, the textbook, 1-on-1 messaging with the TAs, etc.). Their point about there not being enough time to learn everything you need to know for project 3, during project 3, says more than enough. Project 3 requires basic probability and statistics knowledge to complete (Bayes Rule, Law of Total Probability), which is a prerequisite of the course, you should not be learning prerequisites of a course, during the course.

    Like I said in my advice, if you're interested in the topic and you feel you have the prerequisites covered, absolutely go for it! I've enjoyed the class (aside from the rough start on project 1) and have learned quite a bit.

    Rating: 4 / 5Difficulty: 2 / 5Workload: 20 hours / week

  • Georgia Tech Student2021-01-13T15:35:03Zfall 2020

    This is a great course to take early in your OMSCS career. Fantastic assignments. Great class if you want to front-load work. The lectures are lackluster and the exam experience is horrendous. The textbook is good and accessible. I compiled some practical tips here

    Rating: 5 / 5Difficulty: 3 / 5Workload: 12 hours / week

  • Georgia Tech Student2020-12-14T02:04:18Zfall 2020

    Personal Background: Undergrad in Mechanical Engineering. No prior CS experience before this program(OMSCS). 4th course. First course in anything AI. Got an A without too much trouble.

    Thoughts: I loved this course and learnt a lot about the field. This course taught me enough to feel like i can intelligently talk about AI and have a look under the hood to see what all the hype is about. I think this is a great intro into a large and diverse field.

    The course material will at time feel overwhelming. This is because they are going for an overview of a large field so they jump from topic to topic every 2 weeks or so, each worthy of its own course. So if you feel like your brain is breaking, don't worry I think it's supposed to and you will be fine. Hang in there and see it through.

    Tips:

    Textbook: Firstly and most importantly, get the book. There is a free one online but you can also buy it. I did and I think its a good investment as it is a great book and i definitely see myself coming back to it in the future to brush up on concepts i am trying to implement or discuss. The lectures are not very good and the book helps a LOT!!! The lectures help you read the book, so watch the lectures and then reading will give you a better intuition to get through some of the more mathy parts. The book is a lot more comprehensive than the course and you definitely don't need to get every sentence (or section for that matter).

    Time: So this one really varies, as with most courses. The topics you will touch are so deep and the book is so dense that you could easily spend all the time you have available and still feel like you are only scratching the surface. I think with about 20 hrs per week avg you could get an A. getting a B is a lot easier and i could have probably done that at half effort (10hrs/week). Although if you find the field interesting you will find it hard not to put in more time and will not regret it.

    HW: First 2 assignments are like a (good?) relationship. Challenging, frustrating, take a lot of time and the finish is very rewarding if you move your figures on the keyboard just right (if you get your code to work, what were you thinking?). The rest of the assignments are less work. They are all fun and I feel like it is where i learned the most.

    Exams: Take home week long ordeals that take all your patience and concentrations. They are longer and more annoying that they are difficult. Some of the questions are fun and they feel like teaching more than testing.

    Lectures: Not a fan but helpful to get through the book.

    Pre req: Python, and Some math(probabilities and linear algebra intro.) or willingness to spend extra time with it.

    End: I am glad i took this course. If you end up taking it, hope you enjoy it too and see you on the other side.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2020-12-12T18:38:18Zfall 2020

    I attempted this course in Summer 2020 and had no idea what I was getting myself into and subsequently dropped before the midterm. If you are like me and hadn't attempted a core specialization class (not a specialization elective or 15-hour anything elective) there IS a difference.

    I am happy to say I was able to obtain an A this time around. Would not recommend taking with another class if you work full time like me.

    If you're skimming these reviews here's my big takeaway: Do the textbook readings! - and treat the lectures as supplementary. There is almost nothing in the lectures you won't learn 2-3x better by reading the chapters. This is the biggest factor for me from my previous attempt and this semester. The lectures aren't bad but I want to stress the reading because I know some courses in the program have reviews saying the textbook doesn't align well with content, etc. Not the case here.

    There are plenty of comments about the projects; they're all hard, but the first 2 you will fight with a lot more than the others. If you do poorly on more than 1 project you should probably drop since 60% of your grade.

    The midterm and final were a time sink, 39 pages (~30 of real work) and 61 pages (~45 of real work).

    I took one day off of work for the midterm and worked 12 hours 3 days in a row and was able to get an 89 and felt confident but exhausted. The midterm felt like an extension of the projects with a couple sections with non-project related content that held your hand pretty well.

    I took two days off for the final and worked 10 hours 4 days in row and felt like I utterly failed it and received a 77. I definitely would have scored better had I spent another day. The final had sections in the beginning that were extensions of past projects but they were weighted low and ultimately it focused on post-midterm content while having more non-project related content that did not hold your hand as much as the midterm while being weighted heavier. Therefore, in hindsight, definitely look at the past finals and challenge question posted on Piazza specifically for the final (the midterm at least based off of this semester I don't think you need to do this).

    Ultimately the class felt like a strenuous hiking trip: in the moment you might not be having the best time, but looking back it was a great experience. I learned a ton and feel confident in my ability to work on AI related content in the future.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 15 hours / week

  • Georgia Tech Student2020-12-11T02:27:57Zfall 2020

    This is my third course in OMSCS and I took it along with ML4T. This course is tough, time-consuming, but very rewarding. You will learn the cool things like minimax, search algorithm, baynes network and sampling, random forest, Expected Maximization and Gaussian Mixture Model(GMM) and Hidden Markov Model.

    This is a broad survey course, and the important aspects in AI are introduced in a beginner~intermediate level, and you can definitely do more work on the area that you have interest. With that being said, this course is still hard, and requires a serious time commitment. The first and second assignment are brutal, and once you passed them, you will find the rest way more gentle. Start the projects ASAP, unless you already have previous background, you can't finish the projects in just one weekend.

    The midterm and final exam are take-home exam, and are also time-consuming. Prepare enough time, since one weekend is probably not enough. Some parts in the exam are just like you follow the steps, get the results then answer the questions, while some parts are more challenging. I will say the exam is not extremely difficult, but it is indeed time-consuming.

    I will highly recommend this course, since it really makes me learn a lot of things and realize OMSCS is an actual graduate program, don't expect anything easy. But it's very doable, if you are willing to spend efforts and time.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2020-12-10T13:23:43Zfall 2020

    The majority of the comments say that this course is hard/very hard. It can be true if you do not have a good understanding of foundational topics in algebra and statistics. I would not say that I was very familiar with the topics covered in this course, but I find it relatively easy to follow and learn them because at the end of the day they were built on top of some statistics/algebra foundations.

    So, here is a list of my suggestions/findings for those of you who feel comfortable with algebra/statistics and using numpy library (you do not need to know everything as long as you are comfortable with studying the documentation to develop a better understanding of some functions):

    1. You can safely ignore the comments which evaluate this class as hard/very hard. Don't let these comments intimidate you.

    2. Do not expect to learn much from lectures. The reference book is the best resource (you can use lectures as a starting point, but only relying on them is a mistake in my opinion). Also, do not expect the instructor/TAs to provide you with complementary materials in addition to what has already been provided. However, they are very responsive. So, if a topic is interesting to you, and you want to learn more about that topic, it would be a good idea to ask teaching staff for materials in addition to what has been provided already.

    3. The exams (midterm and final) are long, but I did not find them as hard as they have been described here. I would say maybe around 20% of the exam problems were interesting (and may be challenging depending on your preparation), but the remaining 80% was plain simple. For instance, in the final exam around 50% of the problems required you to just follow the steps that were clearly specified in the problem, and you just needed to do some basic math to get full credit.

    4. The biweekly assignments can be interesting. Some of them (the first two) require more time than others, but they are all doable within a reasonable time.

    For those of you who do not feel comfortable with your algebra/statistics and using numpy, I think it is a good idea to pay attention to the comments here describing this course as hard and follow their suggestions.

    Rating: 3 / 5Difficulty: 3 / 5Workload: 12 hours / week

  • Georgia Tech Student2020-12-10T03:39:10Zfall 2020

    dont take it if you dont have enough time and if you are not talanted.

    i have spent average 10 hours a week and now as the final exam score released i know i have no chance to get a B because there wont be a lot of curve.

    this is the most struggling and frustrating course i have ever taken. 6 proj and 5 of them matters and occupy 60% of total score which means bascially all your time are filled. and pls dont trust others saying on this forum that only the first two proj are hard. i spent the Time And I Know Now None Of Them Is Easy!!!

    I really should have dropped this course earlier. please drop it whenever you receive any 2 proj bad score. Because there isnt much curve at all. Trust me because the mid term and final will be harder!!! if you are just thinking of not wasting the tuition fee therefore push yourself on catching this course. what you will recive will be: 1 ruined your gpa 2 lost your interest in AI. what i learnt from this course is that maybe AI is not the area for me. i dont have the right AI brain. 3 spent many not sleeping weekends catching the proj deadline but still receive low score => ruin your health 4 continue thinking yourself rubbish and fool => ruin your inner peace.

    i took other so called hard courses previously but none of them is just as frustrating as AI to me!

    The world is good and there must be many other right things for you elsewhere.

    Rating: 2 / 5Difficulty: 5 / 5Workload: 20 hours / week

  • Georgia Tech Student2020-12-09T23:53:50Zfall 2020

    Overall, a challenging but rewarding class! Although each course I've taken in OMSCS (I'm about to graduate) has provided a learning experience in different ways, this one was one of the best.

    As others have mentioned, the first two homeworks are the most time-consuming in that there are several nuances to the projects that need to be tackled in order to achieve full credit. It's easy to fall down the rabbit hole of trying hours of optimizations that fail to lead above an 85 or 90% on these assignments. The remaining assignments are not trivial by any means and will require you to develop at least a measure of intuition on how and why the algorithms work. However, with enough effort, it is more straightforward to achieve full marks with these (but don't start too late!).

    In summary, the assignments have you implementing various AI and ML algorithms at a low level, while still achieving a decent rate of performance. Really, there's more than enough content in this class to fill a semester. The take-home midterm and final exams basically serve to "fill in the gaps" by having you understand certain lecture topics more deeply -- some involving concepts related to the homeworks directly, tangentially, or not at all as different topics. You'll find yourself learning as much during the exams as you did during the homeworks. They are time consuming but I found them rewarding by reinforcing or solidifying concepts I felt weak in.

    The lectures are a bit of a mishmash in old vs. new content. In some cases they serve as a high-level summarization of topics and can breeze through them too quickly. The textbook is fantastic and offers a wealth of deep content that will help you understand the material more thoroughly. In some areas it gets a little math-heavy, but with a gentle approach to walking you through it.

    I'd definitely recommend this class as well as Reinforcement Learning to those looking for rewarding yet challenging class content!

    Rating: 5 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2020-12-09T22:13:04Zfall 2020

    See this course as a combination of an advanced algorithm course (the first half), and probability/stats/ML (second half).

    The first 2 assignments are extremely time consuming, and the midterm and final exams are beasts.

    To reduce your stress:

    • make sure you do your best for assignments (1 out of 6 can be dropped)
    • attempt the bonuses and collect as many points as you can from them

    If you do the above then you have a much better chance at getting an A.

    Midterm/Final are take-homes and extremely time consuming (40 hours easy); our midterm was full of terrible errors too and had a lot of clarifications. But like any exam getting a 60 is much easier than getting an 80 is much easier than scoring 90+: assignments and bonuses will help you edge out with a victory even with an imperfect score.

    The course tries to cover most of the AIMA book, which itself is one of the very well-known books in CS. Whatever time you put into this course is time well spent in my opinion. There is reason for this course being rated both difficult AND highly liked by reviewers. In my opinion if you are not sure whether you want to take this course or not then: take it.

    Speaking of TAs/Prof/overall experience: This course is very well run. Piazza posts from classmates are awesome, and TAs do their best to help you. They deserve a big thank you for running a great course and creating an awesome experience.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2020-12-09T20:11:00Zfall 2020

    Solid course. A lot is covered which will expand your problem-solving skills. I found the subject matter itself to be very interesting. All you really need is to be comfortable with python, and some experience with numpy/matrices.

    The instructor (Dr. Ploetz) is pretty cool. He was actually involved in discussions and answered questions, communicated often as well. TAs were good, overall pretty responsive (never attended office hours). No complaints here really.

    Lectures were mediocre. I felt like they were too short and shallow. Useful for general understanding, but overall lacking in substance. Textbook covers way more than the lectures and technically well written, it's just really dry and kinda boring to read, you don't even need to read it really. It'd be nice if there was some in-between.

    Projects were difficult, but given how short the lectures were there was plenty of time to do them if you were consistent. I would not spend over a few hours at a time working on them since they're split into sections. I saw some people claim that they worked like 50+ hours on them. That probably means you're fundamentally misunderstanding something and should take a break. The first two I thought were conceptually the easiest, just very tedious to do, I'd just leave it if you have like a 90 and got busy. Overall they were interesting and helped me consolidate the concepts learned.

    Midterm had a lot of corrections, which was kind of a pain, but looking back the questions weren't that difficult, just not well written. Most of the clarifications weren't that necessary, other than the ones that changed the question being asked. The final was supposedly going to be easier, but I found it much more time consuming, containing a few topics that you couldn't really study for. Overall exams were alright but stressful to keep up with the changes. Definitely don't need to take PTO, unless you're working like 60+ hour weeks or something.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • Georgia Tech Student2020-12-09T06:44:16Zfall 2020

    This class is very difficult and very time consuming. If you work full time and especially if you have a family this course will be a lot to manage. My bed time shifted to between 2 and 3 am nightly because of the projects. I actually enjoyed A1 but A2 was a nightmare. I was physically ill after completing it and had to take a day off work. On the positive side, the T.A's are really helpful, Dr. Ploetz is a good professor, and you will learn a TON in this class. This is definitely a no pain no gain type of class and I can honestly say that I know far more about the field of AI, including ML, than I did before.

    As for the projects, A1 and A2 were by far the most difficult. These projects weed a lot of people out of the class. The other projects were not as bad but that is relative. The exams were brutal. There is no other way to say it. Not only are they challenging but they are also mentally taxing. They are take home and open book/course material etc. but you can easily spend 40 hours on them and have to take PTO from work. Some of the problems required a lot of clarifications which was a serious problem on the mid-term but they did do a little better on the final. While the exams were extremely challenging, I will admit that they do help you learn the material better.

    Unless you have a lot of time on your hands I would not recommend taking this course as an elective. The level of effort required is just too great. Also, if you do not know how to code well you will struggle. This is not a class where you can just skate by with limited coding skills.

    All in all I'm glad I took the class. The students were great and I really felt like everybody looked out for each other. Piazza and slack were very helpful when it came to understanding how to do things. Bottom line, this class is no joke and unless you have seen the material before or you are some sort of genius it WILL take a lot out of you. That's just the bottom line but if you make it through it will be worth it.

    Rating: 4 / 5Difficulty: 5 / 5Workload: 30 hours / week

  • Georgia Tech Student2020-12-08T16:56:26Zfall 2020

    Whew! This course is something else. In a nutshell, you will learn a lot, cover many important topics - maybe too many given the time constraints, and will have to work your butt off to survive. Be prepared.

    Qualification - this review is from an average guy. I am like the guy in idiocracy they sent up in the space probe. Just average in every way, that's me -right in the fleshy part of the gaussian. So if you are gifted or a genius, this review is not for you.

    For those that do not want to read a very long review, the next section are the highlights.

    Highlights and what to expect

    What is the saying, "no pain, no gain"? AI 6601 is probably one of the most challenging classes I have ever taken. It's sink or swim. I am sitting between a B and a C. If I blow the final, we will see how low the curve goes.

    Overall, even though I have completed the class with a B (most likely, but grades not out yet), I am not sure I would retake it. There are too many "WTF" moments where you have little direction and somehow need to figure it out without useful lecture and class material. From this point on while I am in this program, I am unlikely ever to take another class listed as 4+ difficulty on OMS central as an elective. The value proposition is just not there for me to spend 20-25+ hours a week on a class assignment. Once I reach the 15 hours a week threshold, there is a marginal utility leveling since I need to balance career, family, and personal interests. When you take this class, those other concerns get put on hold. The opinion of others will differ from my own, but make sure you have the time to commit to this class. When you start hitting 25+ hours a week on top of a full-time job, things become disruptive, and it starts to bleed into other aspects of your life. It is a great class, you will learn and grow a lot, but it is a ton of work and a lot of stress.

    This course likes to rachet up the stress levels, and it never relents. Understanding the basics will not get you very far. You need to be able to reason from first principles; don't expect a nice stackover flow post to help you get thru it. Assignments and exam questions often require that you go further than the lectures, and even in some cases, the text can take you. Exam questions will add new twists and combinations you did not think of or understand, and the labs are rather intense.

    The labs are "sink or swim," and ALL of them are difficult. Don't be lulled into thinking only the first two are tough. They are all tough, but the medians are pretty high. That is mostly because of the caliber of the students and not the relative difficulty of the assignments. A sampling of your classmates is pretty diverse and not just working professionals. There are those working on Ph.Ds in engineering, full-time students in the day program masters, and even professional data scientists taking this class. If you are like me, an IT geek trying to further their skill set, parts of the course may be a bit much to chew off. I felt I was over my head in some of the Bayesian and Gaussian stuff. Assigned readings for the labs were often too theoretical to make sense of, at least for me. I had to scour the internet looking for more palatable youtube videos and articles to understand the concepts. If you keep re-reading the articles and looking at formulas with strange symbols, they eventually start to make sense.

    The Ga. Tech OMSC program is the Navy Seals of online graduate programs, and this course is like 'Underwater Demolition Training.'

    You've been warned; proceed with caution. ;-)

    The Details

    If you are still reading, then here are the details...

    Prerequisites

    You will need solid stats and linear algebra, and then you may have an easier time in the latter half of the course. But if you are weak in those areas, then I recommend taking another course before this one or a refresher before the class starts. You will need to understand basic Linear Algebra operations like matrix multiplication, transpositions, broadcasting, and other LA concepts. You need to be comfortable with that stuff and be able to set up your equations using Python. For the neural network topic, understanding partial differential equations will help - there are exam questions that require it, but it is a tiny part of the course, and you can probably survive without it. This course will not teach you those techniques - you need to know them. I assume you already know how to program, particularly in Python. If you are new to Python but not programming in general and have experience in languages like C#, Java, C, etc. I think you should be fine. Understanding recursion is a must - two labs use it extensively.

    This course is not a gentle introduction to anything. The text is mostly a YMMV - but makes a great addition to your collection since it is a great book. In my opinion, the book and lecture material is not that useful after the first two assignments and becomes increasingly disconnected from the projects as the class goes on. I found the book invaluable during the first part of the course - the min-max/alpha-beta pruning sections in the text are all you need. After the first two assignments, you will need to do independent research outside of the class materials and the text.

    Piazza and TAs

    The TAs are hand-tied but did the best they could. They cannot provide direct advice but can instead nudge you in the right direction. Some are great and others not so much. There were numerous times when a TA would cancel hours at the last minute or too many people showed up, and there was not enough time to get to your questions. If it were only once or twice, no big deal. But it was probably around 20-25% of the time that I did not get to answer my question or a TA canceled at the last minute. All that being said, the TAs were mostly pretty good and were very smart and helpful.

    Piazza was a little more useful. The other class members (and some TAs) were quite accomodating on Piazza. For most of the labs, it was suggestions on Piazza that got me over the hump. As long as you did not paste code in Piazza, you could describe steps, and the instructors usually let it pass. They were not that strict at policing it, at least not that I could tell. So lots of good suggestions and helpful tips on Piazza.

    But Piazza was also a source of noise and could be a little deflating. It was very frustrating when on Day 2 of an assignment, some students asked questions about the lab's final section, and I knew I was about ten days behind them. I often wondered how they got to the end of the assignment that quickly.

    The Instructor - Dr. Ploetz

    Dr. Ploetz was surprisingly involved in the class, more so than most instructors at Ga Tech - at least from my limited experience. He does hold office hours once a week and occasionally responds to posts. Dr. Ploetz is an interesting guy, obviously brilliant and helpful, and very approachable. For a class this large, you will mostly interact with the TAs for the "day-to-day", but he is around and active if you need him.

    The Assignments

    Project 1 - Game Search - fun lab, but many struggled due since debugging recursive processed can be tough.

    Project 2 - Graph Search, Djikstra's, A* - good lab, and straight forward. But went on forever. Very long. Must budget time accordingly.

    Project 3 - Bayesian Networks - neat lab. Actually a pretty good one, you learn how to build a network using a bayesian library.

    Project 4 - Decision Trees - Uses recursion C4.5 algo to build tree. the first part is the hardest and gets easy after.

    Project 5 - K-means clustering and Gaussian Mixture Models - This was so tough and I have no idea how we were expected to figure this out. This was one of the labs were they just thru us out there and let us drown. If you have a solid stats background, then this might be easier for you.

    Project 6 - Hidden Markov Models and Viterbi Algorithm - kind of cool, but the first part is tricky. This was my favorite lab.

    Getting started was the hardest part. I usually was in a fog for the first 3 or 4 days just trying to figure out how to get started on the assignments and what was expected.

    Everyone's background and strengths differ, so what's challenging to one person may not correlate with another. That being said, the first two assignments were the most coding intensive and most students rank them as the most difficult. But that depends on you. Do you like to code? Are you comfortable with an editor and debugger? Good at recursive algorithms?

    The next four assignments required more math and stats and less coding, but conceptually very challenging. Even the last assignment, which I believe is dropped in the summer, was well explained in the lectures and is probably the easiest of the six - but still has its challenges. Ironically, this was one of my favorites.

    You can drop one assignment - for me that was assignment #5. I spent about 40 hours working on it and could not get it to pass Gradescope, even though local tests were passing. I fell asleep on my laptop on the eve of the due date. This was a low point for me. I went from A/B boderline to B/C borderline in one assignment. I also spent an amazing amount of time working on this and to basically just have to give up out of sheer exhaustion. It shook my confidence. Lab #5 was a tough one.

    Gradescope for lab submissions is pretty awesome. All classes at Ga. Tech should move to this platform and utilize it the way it was in AI 6601.

    Exams

    Exam 1 - It's an open book, lecture material, take home with one week to complete. It is a nice format, but some pretty crazy questions that were tough to answer even with a book! When they give you a week, you will need a week. Some of the questions were too tricky, and the instructors need to do a better job of explaining many topics such as Bayesian Inference, Backpropagation, CSPs, and MDPs - the lectures on it are not that great.

    The worst part of exam 1 were the endless revisions and clarifications. I could not keep up. I would finish a question, and then two days later, there would be a clarification or correction due to a mistake in the question. Exam 1 was awful.

    The final was similar to the midterm in format but even more challenging and comprehensive. There were fewer clarifications, as the instructors were better prepared. Very difficult and long (I think 60 pages). Some questions seemed to push the boundaries of what was taught in the class, while others were direct applications of stuff from lectures and previous exams. It was exhausting.

    Extra Credit - Who has time for this? During the course, there were Kaggle challenges and really intriguing thought questions, some of which you can earn extra credit. I wanted to do them, but there was absolutely no time for me. I spent all my time trying to finish assignments and catch up with readings and lectures. I never was able to spend time working on extra credit. Dr. Ploetz tried to add lots of extra credit opportunities on exams and labs.

    Cheating

    There were no class-wide cheating scandals in this course, at least any that were reported. The caliber of student in this class is pretty high and most tend to stay clear of any conversations that could be considered borderline appropriate. I think the course composition of students was pretty elite. Many dropped out around the first midterm, and the remaining students were rather remarkable as a whole. However, for those that breezed through labs way too quickly, I wondered if maybe they had a network of friends that were sharing assignments from previous semesters and/or working together. Not sure of this, but only a hunch based on the fact that it was so much more difficult for me. (This may just be me and my sour grapes attitude.)

    Final Thoughts

    My biggest critique is that there were too many times that the instructors could have provided a little more context but chose not to. Notable examples are the EM algos on lab #5 and the backpropogation question on the exams. There were too many moments of utter confusion with nowhere to turn for an answer. The TAs held a walk-thru session at the start of each assignment, where they would step through the details. I found these mostly worthless since they would just read the instructions. I can read the instructions myself. It would have been better if they instead provided tips and pseudo-code for selected parts of the assignment.

    I wanted to like this class, and I certainly learned a lot, but it has been an extraordinary amount of work and was very stressful at times. Stress is fine when you are in your 20s and a full-time student. But this class is not set up for someone in their 40s, working full-time with a family. I would recommend reconsidering this class if you fit the latter criteria. It is a mere elective, and does not count toward the ML specialty and overlaps with ML4T and ML. Any course that regularly requires 30+ hour weeks can put stress on your job, and your marriage. Think about weeks where you will spend 30-40 hours working on an assignment. Consider that carefully. Often I had to neglect professional and family responsibilities.

    That being said, some just breezed through. Labs that took me 40+ hours took them maybe 10 hours. I suspect that many in the class are just that smart - bordering genius. There is also probably a little cheating, working in groups, having access to friends that took it last semester so you can review their assignments. I am sure all of that is going on. But unfortunately, I have no network, so I had to do it all on my own.

    Ga Tech should consider splitting this class into two classes - AI 1 and AI 2. Same material, just spread out over two semesters. The book is around 1000 pages, and there were many topics that the class did not get a chance to explore. I think Ga Tech should consider this revision. You will be introduced to many different types of problems, and the techniques in this class can give you a leg up on a career demanding an innovative and broad background of expertise.

    Many students probably prefer courses covering only the most marketable topics like Machine Learning or Deep Learning, or how to learn Spark/Hadoop. That is all fine, but a comprehensive course like AI can provide maturity to someone starting in their career. I make this statement as someone entering the latter half of their own career. I wish I took this class 15 years earlier. This class will widen and enhance your problem-solving toolbox by providing a conceptual framework for those situations that require a fresh perspective and full consideration of available techniques. Without this sort of training, one would be unable to recognize many of the problem types this course goes into and thus unable to solve many classes of problems optimally, if it at all. This course requires that one reasons from first-principles, rather than the, let me google for the answer on stack overflow approach so common in industry today.

    The class is supposed to be curved, and I am hoping for a nice one. But given the very high medians and high caliber of students, it may not be as much as one would expect given a class of this difficulty.

    Good luck.

    Rating: 4 / 5Difficulty: 5 / 5Workload: 25 hours / week

  • Georgia Tech Student2020-12-07T23:42:16Zfall 2020

    #How to get an A despite full-time job and kids

    You'll have to do several of the following:

    1. Take Berkeley's CS188 MOOC (or equivalent, which covers same material (https://courses.edx.org/courses/BerkeleyX/CS188.1x-4/1T2015/course/)

    2. Start A1 and A2 before class starts (they are the longest; all assignments are posted in Github at the start and don't change much year to year, so you can either start the class and drop or find the current repo)

    3. Finally get comfortable with Pycharm, unit testing and TDD... debugging in this class is super hard and kills your time... the more modular you make your programs and the more you use industrial strength IDE like Pycharm, the fast you'll be

    4. Plan to take week off for each exam (they are week-long... I took a week off for A2 and for the Midterm which earned me enough points to need only 40% on final)

    5. Form a Slack study group. Piazza is great but just a BIT too slow and indirect when you have scarce time... so find a group in the intros page of people that seem to care, and ask them to join a slack group

    6. Know Python and some linear algebra in numpy... honestly, I can't imagine taking this class while having to learn Python or numpy or linear algebra... just REFRESHING myself on some of those was hard enough

    7. Don't be tempted by hard extra credit, do the next assignment. At some point I had a choice of a) going for 5 points of extra credit by improving a bot; or b) moving to the next assignment early... after 20 hours, I couldn't get the extra credit working. If you're working, there might be a 50% chance you get 5 points of EC (2.5 pts expected value) but assignments are so hard there is like a 10% chance you only get 50 on an assignment (expected loss of 5 points).

    8. Optional... do a minicourse on bayes, bayes nets and various bayes related algos... while not as conceptually hard as some parts, the class seems to have decided this is the sweet-spot for forcing you to get creative so the more comfortable you are, the more easy points you can pick up

    Rating: 4 / 5Difficulty: 4 / 5Workload: 30 hours / week

  • Georgia Tech Student2020-12-07T19:20:12Zfall 2020

    This class's reputation precedes it as hard. It is not. I really didn't want to take the class because there was a fair amount that's not terribly relevant to me. I was basically forced to take it as it was the least worst class available.

    Here's how you succeed - the lazy way. It's true, the first 2 HW's require the most effort. You can game grading this way. Try to get at least a 90 on either assignment 1 or 2. Getting 100's on the last 4 assignments is a gimme. The throw away grade should be either A1 or A2. stop when you get over a 90" on A1 or A2 - pace yourself. If you want to put in the extra effort for 100% - go ahead and burn yourself out. If you get a 90+ on A1, doesn't mean you shouldn't do A2 - A2 stuff will be on the exams.

    Didn't do any of the extra credit (except for what's on exam) or any of the challenge questions.

    I took PTO for the exams here - I did spend about 20 hours on the MT and final. You don't have to take PTO, but I don't like juggling. Indeed, the exams take quite a bit of time - budget for it. The exams more or less test if you can apply concepts learned to something you haven't seen before. Don't let that scare you, but you do learn a few things when you're done.

    Didn't really read much of the book. I mostly used it as reference to do assignments. Lecture videos were okay. It's true, the class slows down after the midterm. I did A5 and A6 in two consecutive days total and virtually had the last month free. Gradescope was nice because it was instantaneous and left no doubt where you stand gradewise. Slack and piazza are your friends.

    Rating: 3 / 5Difficulty: 2 / 5Workload: 8 hours / week

  • Georgia Tech Student2020-12-07T15:54:07Zfall 2020

    This was my 3rd class at OSMCS, and I'm expecting to receive an A.

    Lectures: I really enjoyed the lectures. I thought the material was accessible and they weren't a complete snooze fest. It varied between the main instructor, Sebastian Thrun, and Peter Norvig depending on the lesson. The ones by Thrun/Norvig were much lower quality and essentially watching somebody write equations on pieces of paper, but they were still fine enough.

    Assignments: There were 6 assignments with the grade composed of your 5 highest homework grades. The first two were pretty brutal, and I walked away with a grade in the mid-90s. Those two will probably run you 15-20 hours at least. The last 4 were relatively straightforward and didn't take too much time. You also get 2 weeks for each assignment. If you can manage to complete it in one week, you'll get every other week off. I would not recommend dropping any of the assignments without doing them because that info pops back up on the exams. There's also plenty of extra credit to make up for poor exam grades.

    Exams: The exams are something I'm torn about. On the one hand, I did enjoy that the exams often walked you through new problems and sometimes were even meant to teach you things by you working out problems with knowledge you've learned. On the other hand, the length is extraordinary. The final had 60+ pages for 10 problems. While not every page was filled with problems, it was a behemoth that demanded your attention and ate into your life. I disagree with others about having to take PTO for it. You normally get a work week + a weekend (sometimes a weekend + a work week + a weekend), and it's open notes (not open internet). I found that time to be manageable as long as I worked on the problems in my free time and all weekend. If you have less time on the weekend or work week, you might consider taking off from work.

    The other horrible, horrible thing that should absolutely get fixed are the clarifications. The exam is not complete when you've worked through the pdf they gave you. As the teaching staff and students discover errors, there's a piazza thread that gets updated with clarifications or corrections to the problems. Sometimes, the problem simply needs more explanation. Other times, the teaching staff absolutely missed marking something, as if they had submitted their first draft of the proposed problems without checking it over. Students shouldn't have to point out that the teaching staff didn't label a part of a graph that should be labeled. A 60 page final is enough work. The result is that you have to flip back and forth between the corrections thread updates. Some students finished problems and had to go back and re-do them because of corrections. TEACHING STAFF, THE AMOUNT OF CORRECTIONS IS UNACCEPTABLE. This problem is my biggest with the class because it is incredibly avoidable (barring infrequent, minor corrections) and disrespectful of student's time.

    Advice: This class is a beast, but it's enjoyable. Start early on the assignments, make sure you'll have enough time for the final, and check the corrections thread. Be comfortable reading math symbols/equations.

    Don't get too intimated by the threads you see here. It's a hard class, but it won't destroy you if you don't let it.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2020-12-07T14:55:55Zfall 2020

    Overall, this is probably the best course (6 courses in) that I have taken so far. This class is not difficult in the sense that there are concepts that are hard to understand. It is difficult because of the high workload due to assignments, readings, and exams.

    Firstly, the book that is required for this class is AI: A Modern Approach, and is by far the densest textbook that I have read. Every read of the text feels like I am working out my math muscles, and I usually end up getting tired of reading it or, on shorter chapters, feeling like I learned something. It can often be used to replace the lectures in this course. In the second half of the course, to be honest, I stopped reading the book. In the first half, I don’t think you could get through the course without it.

    The lectures themselves vary from excellent to very poor. The lectures from Dr. Starner are very dry and feel lifeless and scripted. It's because they are just reading off a teleprompter. They kind of stare at the camera awkwardly the whole time like Godzilla is coming at them. While Dr. Starner is obviously very passionate about AI, I don’t feel the lectures do a good job conveying that enthusiasm. There are also some lectures that skim over the details of complex ideas, such as the section on Neural Networks. On the other hand, the lectures from Sebastian Thrun and Peter Norvig are excellent. They may be old, but the quizzes will test your knowledge and there is mostly enough content to not need a thorough book reading.

    The assignments in this class, ESPECIALLY the first two, are very very very time-consuming. They are also the best assignments in the course. My advice is to start early, keep at the problem sets and if you get stuck, try something different. Eventually, the nuances of these algorithms will stick. Thankfully all of the assignments are auto-graded, so you can have confidence in what your grade will be and continue to make improvements. The later assignments are much easier and require only one or two aha moments to pass.

    The exams. The exams. The exams. Oh boy. Please take PTO at your work, I’d suggest 3 days if you can spare it. Each test took me about 30 hours to complete. I have a love-hate relationship with these exams. They are take-home exams, you have a week, and you can use materials from the class. On the other hand, they are 30 hour long tests. On the final, they actually had us look at NEW material that had never before been covered, and I personally resented that as it does not test your understanding of the content we covered in the class. They also make a myriad of mistakes they have to go back and correct, which is a pain for someone like me that starts as soon as the exam is released. On the other hand, these are the only tests I have ever learned something on, maybe as much as the assignments. They will solidify your understanding of many concepts that may have been covered haphazardly in the lecture material.

    I have to say the TA’s and Dr. Ploetz are some of the most active and helpful community I have had in a class. Response times typically take an hour at most, and the comments are usually helpful. They take feedback, offer tons of extra credit opportunities, and foster a community of students that help one another. On three of the five assignments I completed, comments from other students really helped me to get some concepts to click.

    Finally, my big piece of advice is to complete the readings and lectures for Search and Gameplaying BEFORE you start the semester. This will give you a tremendous advantage in the hardest part of the course. This is a heavily front-loaded course IMO, and if you can help it, stay 1 week ahead always in this course. This gives you a nice buffer in case you struggle with something and now you have time. Overall, excellent class and really a must-take.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2020-12-02T00:38:52Zsummer 2020

    Generally interesting and well run course. Gives a good perspective on non-ML approaches to AI, which basically means search algorithms.

    There was one huge exception to this being a good course, which was the exam. Given 1 week to complete, it was so ambiguous and the questions needed so many corrections. Like 5+ corrections per question on the exam, only noted on Piazza and not in the exam itself, some changing entire answers or answers, and some made on the final day the exam was due. Completely unacceptable and disrespectful to students. Do a single proof read before releasing it for goodness sake. By far the most frustrating and unprofessional experience I have had in OMSCS.

    With that said, the entire rest of the course besides the exam was well done.

    This course would be a good intro to take before ML since it introduces concepts lightly. If choosing only one between this and ML, take ML because it goes much deeper.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 10 hours / week

  • Georgia Tech Student2020-11-13T04:56:08Zfall 2020

    This is my 4th OMSCS course and is so far the worst one. If you want to learn AI, do not take this course - go to YouTube and watch CS 188: Artificial Intelligence from UC Berkeley (or AI courses with good rating from other top tier universities) for free, and I am sure you will gain a lot more than taking this course.

    Here are the reasons which you should not take this course:

    1. Video lectures are really bad. It makes materials which supposed to be fun and interesting extremely boring and dry, and makes me fall asleep as soon as I hear the lecturers talking. These are some of the worst online video lectures I've watched. If you want to learn AI, search for CS 188 video lectures from UC Berkeley, and see the difference in lecture quality yourself.

    2. Exams are disasters. You will spend 40+ hours on a midterm that didn't really test your understanding of materials but tricks into calculation traps. Every question in the exam has typo and errors that requires you to go to Piazza and check for Errata post which is constantly being updated (even before the night which the exam was due).

    3. The first project (game tree) and the second project (search) are very time consuming. You will spend a lot of time on them but hopefully you will also learn something. The rest of the assignments are very average. I don't feel I've learnt anything after I spent tens of hours on those projects.

    Rating: 1 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2020-11-10T19:43:56Zfall 2020

    This class is very difficult and will punish you heavily for taking too long to start on the projects. I would recommend starting the projects as soon as they are released, especially for the first two.

    That being said, the projects and the 40 page take home exam will both teach you a lot, and I found the material difficult but not difficult enough to be overwhelming.

    Would highly recommend this class for anyone who has a remote interest in AI.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 30 hours / week

  • Georgia Tech Student2020-11-06T19:32:32Zfall 2020

    Very nice class, one of my favorite ones until now.

    But the content is very extensive:

    • some weeks the lectures are a huge amount of hours (they put together several chapters of Sebastian Thrun and Peter Norvig's Udacity AI class).
    • the projects are very interesting, but, unless you have experience in some related field, they will take a lot of your time. In some projects, I felt pretty lost (the first one, Game Playing, is quite hardcore), and I do recommend starting ASAP working in them (especially the first), or you would run out of time.

    Before taking it, you need to have a good level at statistics (I would take a look at the Khan Academy, or the MITx course), and having a good/deep understanding of Python would also help. I recommend you to watch the lectures in advance, before taking the class, if you can.

    "AI: A Modern Approach" (3rd edition right now) is the reference book, with weekly lectures will be recommended, so, you will need it (there are digital versions), and they will provide many papers to be read: expect questions about concepts that these papers analyze in the Bonus part of the exam.

    Exams are published and you have a weed to finish them. It might seem a lot of time, but it is not, you might pretty easily run out of time, as in the next case... Read the Piazza's Exam Clarification Threads before starting these exams: they will correct unfortunate exam errors, some questions answer might completely change, and you can lose up to 1 morning if you do not see it before (it happened to me... it is pointed out in the last page of the exam, I think they should put it in the first). I still feel disappointed about this, I didn't even expect that such thing could happen.

    I recommend to do the challenge questions, as they will help you a lot in the exam. If they publish some old exam, do it in advance as well.

    If you are working at the same time, I recommend not to take any other topic during the same semester.

    Rating: 5 / 5Difficulty: 5 / 5Workload: 30 hours / week

  • Georgia Tech Student2020-10-17T19:37:20Zsummer 2020

    Of the 8 courses I've taken in the program, this was either my first or second favorite. First time this was offered as a Summer course, and they did an excellent job adapting it to a shorter semester while still maintaining as much course material as possible.

    Instruction Team was excellent. The professor was active and involved in the course, recording regular "challenge question" solutions to emphasize important course concepts.

    The lectures are a bit dated and could probably be updated and improved.

    The projects were challenging and reinforced course concepts. I liked some a lot more than others, but all were great learning experiences.

    The final, and only exam, was a large week-long project. Some people will say they took off of work for it. I did not find that necessary, but did spend 30 hours total on it. I think the format of the exam was much better for teaching class concepts than the traditional "2-hour exam block." Even though some complained, I think the overall sentiment for the exam was very positive and along the lines of: "Even though that was crazy difficult and tedious, I certainly learned way more than a normal test and am glad I made it through that. The novel format works."

    The course also came with a number of extra credit opportunities that were really fun and interesting. I didn't get to do all of them due to life stuff, but I had a lot of fun with the couple I did work through.

    Heavy workload, but no pain no gain. Everything is in python for the projects. This is not a "learn how to code class", you need to come in with strong fundamentals.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2020-08-10T15:13:45Zsummer 2020

    Overall the course is great. I learned lots, the lectures are fun and the assignments are interesting. They're also available on github (small changes are made each semester) so you can start early if you want.

    I also didn't think most of the course was that difficult. Provided you have decent python foundation, you should finish most assignments within one week and have the second week to do other things. That being said, this was the summer session so we didn't have a midterm.

    The exam was a trainwreck. I'm not saying don't take this class because of the exam, but it was the last thing we did in class and it left an extremely bad taste. First off it's take home, open book, open lectures. I think the format is great and I actually learned lots of things during the exam. And yes, it really does take 40 hours. BUT our exam was full of mistakes. I'm talking about actual errors. As in numbers in tables were wrong, multiple choice questions didn't have a correct answer, equations were incorrect ... In the end I think there were around 20 corrections (and even more clarifications) on Piazza plus they published a second version of the exam a few days in to also correct things.

    Then when we got the answers there were more mistakes in them and the exam was re-graded for everyone to account for that. As a result I think the exam was mostly frustrating and not really a good evaluation of student performance. Plus I think it could have been designed better to give partial marks. For some questions you had to do lots of tedious calculations that all build on each other, so if you get one wrong, you're loosing a lot of marks

    Rating: 5 / 5Difficulty: 3 / 5Workload: 14 hours / week

  • Georgia Tech Student2020-08-05T04:55:16Zsummer 2020

    Overall the course was great, and I highly recommend you take it, despite the shortcomings mentioned below. I enjoyed the lectures and homework assignments a lot. The first two assignments were pretty time consuming but well worth it, and it got easier from there. Even with the problems with the final—worth 30% of your grade—it was not too hard to get an A.

    The final exam, however, was a nightmare. There was no quality control, and the question quality varied drastically between the 10 sections. Some were riddled with errors and ambiguity, requiring last-minute clarifications and regrades. While the questions were not particularly difficult, it ended up being extremely time consuming and stressful since I had to sort through many possible interpretations of each question to try to figure out what was being asked. Hopefully the TAs and professor recognize how problematic the final was, given the barrage of complaints from students on Piazza, and will fix the process.

    There were also several instances where TAs and the professor did not respond or equivocated over serious issues. For example, when Gradescope went down the night of one assignment's deadline, no clear answer was given to the many students, including myself, who were trying to submit. Essentially we were told, "just wait and see," which meant staying up until 2 am trying to submit with no luck, giving up, only to find out the next day that the deadline would be extended. The lack of communication was a recurring theme, culminating in the frustration over the final exam.

    The only thing I'd do differently looking back: I wish I'd spent more time reading the textbook (instead of watching lectures) since its very well written and much more comprehensive.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 16 hours / week

  • Georgia Tech Student2020-08-05T02:44:43Zspring 2020

    Very interesting course, highly recommend. Has some content overlapping with some other ML course, but in a more generalized and high-level way. Assignments are super interesting and intense I spend almost over 20 hours on each assignment, but they are really helping me understand the materials. I really liked the course!

    Rating: 5 / 5Difficulty: 4 / 5Workload: 18 hours / week

  • Georgia Tech Student2020-08-04T20:26:15Zsummer 2020

    Not hard, but can be tedious. The lectures tend to be sufficient to learn everything you need. The textbook is a useful resource also.

    Only need to complete 4/5 assignments (Summer), or 5/6 (Fall / Spring). But best to do all, so that the Final is easier.

    The projects tended to be pretty long, albeit very structured and helpful. There was always a ton of information about how to complete each section. Piazza was filled with useful tips.

    The material is very useful and interesting. Worth learning.

    Final exam was extremely tedious, and absolutely riddled with ambiguities so that you had to constantly read Piazza to see responses. I spent about 40 hours on the final exam because of this nuisance. Constantly asking questions to clarify the ambiguous wording.

    I think the exam should normally take around 15-20 hours if done very carefully, but because of the constant checking of assumptions and poorly worded questions, the time to complete doubled. The problems on the final were extremely tedious, because if you made one small mistake (miscalculated something small), this could snowball and make you lose points on the entire problem. No partial marks for the process or work completed. One mis-calculation and it's all over.

    If you get 100 on 4 of 5 of the assignments, it shouldn't be too hard to get an A, as you'll only need about 70% on the final exam to do so. If you're not so sure, make sure you do a bit of extra credit to help relieve your stress on the Final grade.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 20 hours / week

  • Georgia Tech Student2020-07-29T21:12:26Zspring 2020

    This was the first class of the program where for some of the assignments, I didn't know how to get 100% (Game Playing, Search). I don't mean like, I didn't get 100%, I mean like, I didn't even see the route. But to me, that's awesome, this is a field where gains have come from some seriously smart people, not being able to see the paths they've taken just gives a greater appreciation for the field as a whole.

    My only complaint would be the Norvig lectures, they're pretty dry/bad.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 18 hours / week

  • Georgia Tech Student2020-07-29T19:57:42Zsummer 2020

    The class is an overview of several major components of AI: Game Playing (Minimax/Alphabeta), Search (A*), Bayes Nets/Probability, Decision Trees/Random Forests, and Hidden Markov Models, with some machine learning and other topics sprinkled in. During the summer there were five assignments, with the lowest score dropped, and only a Final, no midterm.

    Personally I found the first two assignments (Alpha-Beta & A*) the "easiest". They're the simplest to get the concepts and then you just need to figure out how to code them and work through the details. The latter three I found harder as they were more conceptual/theory based. Everything is all very doable if you put in the time, but expect to spend 20-30 hours per assignment and for the Final.

    All assignments were submitted to Gradescope and most you could keep submitting to test you could, though two of them you had limited submissions but better local test cases. The Final was beyond comprehensive, covering subjects from every lecture, the readings, concepts that weren't in class and you had to learn as part of the test. HOWEVER, the Final had... a number of errors. Like the right answer wasn't an option on the exam. During Final week you HAVE to be watching Piazza regularly for updates. Start early if you can and don't hesitate to message the TAs. Get as many points on the projects as you can, the exams are brutal and will pull your grade down.

    To be setup for success, I'd say know your python/numpy as well as you can. Also if you've taken ML or RL there's some overlap. Get the AIMA book, it's better than the lectures most of the time. Also note that according to the honor code you're not supposed to refer to any content besides the lectures, the book, and what the TAs post...

    Rating: 4 / 5Difficulty: 4 / 5Workload: 25 hours / week

  • Georgia Tech Student2020-07-25T23:26:30Zspring 2020

    This course is excellently run and is the highlight of my experience so far (6th course). The projects are difficult (for the most part), and each part of each project builds on the previous part, which enhances understanding of the techniques that you are building. The last project is a bit weaker, but nobody's perfect. The exams are difficult, but fair. Very time consuming, but in the end, they help you understand the material. The lectures aren't quite Joyner quality, but they are reasonably good, although some of the older lectures from Dr. Thrun and Dr. Norvig are a bit potatoey.

    The course is incredibly broad, but the point is to broadly expose you to a really rich field. After taking it, you could explore a single topic in more depth, possibly evening starting a research program in it.

    I timed the work I spent on it. As procrastinator, the max time was 38 hrs, but most weeks (with projects to work on) were in the teens. The other weeks I definitely slacked and put in <10 just watching lectures.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 14 hours / week

  • Georgia Tech Student2020-07-23T05:37:58Zsummer 2020

    We did 5 out of the 6 possible assignments provided in the Fall/Spring version of the course. There was no midterm, but there was a week long final.

    Each homework assignment was a coding project, spanning two weeks. You get to drop your lowest assignment (they take the top N-1) assignments.

    The first 2 projects were by far the most time-consuming, easily spending 30+ hours on them. The remainder of the projects were less coding heavy, but involved understanding more theory and math, which keep the workload challenging and rigorous for me.

    I loved the class and would recommend it.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 18 hours / week

  • Georgia Tech Student2020-05-29T07:08:59Zspring 2020

    This is a hard, but tremendously satisfactory course because of the course work and content. Primarily being a survey of different AI techniques suited for various problem scenarios, this closely follows the book "Artificial Intelligence: A Modern Approach" by Stuart Russel and Peter Norvig. The book is a classic and consider this course an aid to navigate through the book and discover/get exposed to fundamental AI techniques.

    The projects are the core and there are 6 projects, out of which 5 are considered for the final grade. There are also two take home open book exams and the final grades are curved. Projects are auto graded through Gradescope and generally have 2 weeks to finish them. First two projects are generally considered difficult and if one has less background with Python/Numpy/Algorithms/etc. starting as early as possible is the key. It could easily take 20+ hrs a week all along this course, especially during the exam weeks it could even go longer. The exams are 50+ pages booklet and to be finished over a week. They are approachable with good preparation. The midterm gets in between a project submission and it could be a bit more tedious to allocate time during that period.

    If one has less programming background, consider preparing by learning Python/Numpy, a bit of search algorithms and probability before starting the course. The lectures were a bit underwhelming at places. Referring to AI lectures from other universities like Stanford and MIT that are freely available in YouTube ended up very helpful.

    P.S: Don't even imagine pairing this up with any other class if you're working full time!

    Rating: 5 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2020-05-19T02:31:59Zspring 2020

    This course is a very good course to go over AI in general. The projects are amazing and the tests are also a learning source. The TAs are super helpful and I learned a lot from the class. My background is BS in Computer Science and I'm an ML enthusiast so I had a good background in ML so I think this wasn't the toughest course for me. A good math background will help a lot with a combination of good programming skill in python and NumPy. The only problem, reason for only Liked, is that the test clarifications weren't so good. The TAs create a separate thread for exam clarification with a lot of points and sub-points which makes it difficult to discover and find if there were any changes. Other than this, the course is a very good course. Don't let other negative reviews hold you back, this is a good course and all good courses are suppose to be challenging.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • Georgia Tech Student2020-05-11T15:47:01Zspring 2020

    Great course. Very challenging and very rewarding.

    This course is heavily focused on the projects and exams. The mid term is 15%, final is 20%, and projects are most of the other 65%. Your lowest project grade will be dropped. The first 2 projects are by far the hardest, so if you can get a 80+ on at least one of these projects and a decent midterm, you'll be fine (and you'll have all that before the drop date.). There's a lot of important information in the book that you'll need for the projects and exams, so I suggest getting ahead of the first 4 weeks of videos and reading before the class starts so you can focus on the hard projects without getting behind. Speed-reading the book is fine because you really just need to know where to find the material.

    Hard Projects

    The first 2 projects (MiniMax and A* search) are pretty cool and very hard. The first 80% of the project is relatively straight forward but the final 20%-ish is much more focused on researching and experimenting with actively researched problems. And the grading is based on how fast your solution works, not a clear right/wrong answer.

    "Easy" Projects

    First off, the "easy" projects aren't easy. They are just as hard as much work as the hard projects, but most people are able to get 100% because the right answer is more black & white. Most of these projects are on machine learning or Markov Models.

    Exams

    The exams are a ridiculous week-long, 40+ pages of multi-part problems that essentially test how well you learned the concepts covered by the projects and how well you can figure out new concepts that were touched on in the book and videos. It's all open note, book, etc. (limited to course material) so there's nothing to memorize before the exam. I suggest taking time off work for the exam if you're working FT because it is a lot to cover in one week (probably 40+ hours). Although, the exams are very stressful, I really like the format because I learned as much during the exam as I did in the projects leading up to it.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2020-05-04T18:40:15Zspring 2020

    Another one of those "drinking from a firehose" classes .. Even with taking only one class and having a job, it was tough for me to keep up with this one. Towards the end of the class I started falling behind on the readings. The assignments are relentless implementations of AI algorithms from scratch in python. The "exams" are just a collection of ~10 take-home mini-projects that take many hours to complete and can be prone to clerical error so it can be helpful to use Excel or code it out. This class may be easier for you if you have already taken an ML class or are good at debugging algorithms. That said, this class is great, the instructor and TAs are great, and I feel like I learned quite a bit.

    Rating: 5 / 5Difficulty: 5 / 5Workload: 30 hours / week

  • Georgia Tech Student2020-05-04T11:54:33Zspring 2020

    This is my 3rd course in the program. It was tough, but learned a lot. The course teaches fundamentals of different core concepts in AI. There are 6 assignments and 2 exams. first two assignments are harder, but if you start early you would be fine. I really like the way instructor setup the exams. I learned a quite a bit by just doing exams. They are take home for 1 week for mid-term and 10 days for final. Overall, I am glad I took this course early in the program. Definitely the best course I have taken so far.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2020-05-01T02:43:01Zspring 2020

    First class in OMSCS.

    The overall course curriculum is very vast , and each one of the topics are eligible for separate courses of their own.

    The lecture videos are made to be interactive but is not enough to gain enough knowledge about the topics - I had to read "Rusell-Norvig" in order to gain information.

    The Assignments are the best part of this course - they make / force you to read and research - Piazza was very helpful as TAs and fellow classmates were very active. I learnt most about HMMs , Random Forest , Search algorithm only because of the assignments.

    The Exams were lengthy , needs atleast 20-25 hours to get through. But you will love them! Because you realize the effort TAs and Prof Tharner take to personalize and make sure that each question will make you read , whiteboard and they are not general "look up the book" questions.

    I am still waiting on grades - but assignments are highest weighed (60%) - except for 1-2 , you should be able to get 100 on them (Piazza and TAs help around a lot) , so even if you do fairly okay in the tests a "B" is easy achievable. Getting to an "A" will need to be a little more work on the tests.

    Overall - I loved this class and this has prepared me for the long road ahead!

    Rating: 5 / 5Difficulty: 4 / 5Workload: 25 hours / week

  • Georgia Tech Student2020-04-29T02:59:10Zspring 2020

    This is my 7th class, and it is my favorite one. We have plenty of reviews here. If you want to be successful in this class, you can start watching lecture videos and working on the first 2 projects on github before the semester start. It will make your life easier.

    Midterm and Final exams will be really long but won't be very hard, with the help of extra score and a nearly prefect midterm(around 99), I only need around 60 in final to get an A.

    Take your time to do midterm and final, review once again to avoid silly mistakes.

    Rating: 5 / 5Difficulty: 5 / 5Workload: 25 hours / week

  • Georgia Tech Student2020-04-27T23:44:56Zspring 2020

    Took this as my first class alongside AI4R. Overall I thought it was a really well structured class, for the material that it attempts to cover. The assignments were fantastic, they really force you to understand the topic matter that they cover. If feels like the class lightly touches on topics that you will cover more in depth some of the other classes in the program. The breadth of topics that you are supposed to learn in the class is honestly probably too much to realistically retain for 1 semester, but the topics that you do drill into should stick.

    The video lectures are well made but sort of sparse, and some additional reading is required to get a strong grasp of the concepts. That being said, I don't think this class was overly time consuming or difficult. If you have decent Python experience, watch lectures, read a little, interact on Piazza when you get stuck, this class should be relatively straight forward. The midterm and final are a bit lengthy, but not too difficult, basically felt like the workload of another assignment, but with only 1 week instead of 2. I think Dr. Starner said that they had listened to feedback from past students saying the exams were too long, and this semester they cut them down to be more realistic, and I think that they were.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • Georgia Tech Student2020-04-27T16:07:57Zspring 2020

    This was my 6th course in the program (ML, SDP, IIS, ML4T, AI4R) and is probably the most organized and well-run course I've taken so far. It provides a broad survey of different AI algorithms, which you will implement.

    Pros

    • The course content is organized and prepared well. The course schedule and weekly announcement clearly outline what is expected of you to do every week.
    • There are no group projects.
    • The class is intensive with coding.
    • The textbook is great and provides clear pseudocode for the algorithms that you'll implement.
    • Every assignment uses Gradescope for submission and runs a test suite against your code. If you like the grade you get, you keep it. No need to worry about how it may perform later (which is great for randomness involved in algorithms).

    Cons

    • The midterm and final exam are week-long take-home exams. They aren't insanely difficult, but they do take a long time to complete. I had to use PTO to ensure I could finish in time.

    Pre-reqs

    • So many students cried about the level of math required for this course. It's a graduate course in a STEM field. You are expected to know how to work with matrices and calculate basic probabilities. No need to calculate eigenvectors by hand, but be familiar with simple matrix operations (products, transposes, inversions).
    • Know how to read pseudocode. The textbook provides great pseudocode which you are instructed to use for the assignments.That and the supplemental resources the teaching team give you are all you need to complete the assignments.
    • Patience. This class is front-loaded meaning that the first two assignments and midterm will be the most time consuming. If you make it through that then you'll survive. After the midterm I found myself thinking I could have taken a second course; that wasn't true for the first half of the course for me, but the second half felt easy.

    This is a great class that I think everyone in OMSCS should take! Have fun!

    Rating: 5 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • Georgia Tech Student2020-04-26T04:17:17Zspring 2020

    This course will eat up a lot of your time, but it's really interesting and worth it if you curious about AI.

    The assignments are all very time consuming but as long as you start as soon as they are released you should have no problem finishing them. You'll have 6 assignments in total and you get to drop the lowest score of those 6 so its pretty reasonable. I did well on the first 5 and decided not to do the 6th one. This was not recommended since you miss out on learning but I took this course right during the Covid-19 pandemic and it wasn't easy managing all my responsibilities.

    Some last thoughts:

    I didn't know any python before taking this course but I ended up picking it up along the way. I imagine if you were already familiar with python and numpy you would find this even easier. So I suggest you brush up on your python!

    The exams are take home but that doesn't mean they are easy. It's a trade off but I felt like they were just extra hard assignments since you have no auto grader to even check how your doing. All in all they are fairly reasonable but they will take up your entire week.

    The lectures are fun and easy to follow but you really learn a lot more from the assignments and reading the book.

    The instructor and the TA's were all awesome and very helpful!

    Oh and I expect to get an A or a B depending on my final exam performance. I did well enough on the assignments and the midterm to not stress to much over the final exam. And I think that is a good strategy for this course.

    I hope this helps.

    Rating: 5 / 5Difficulty: 5 / 5Workload: 30 hours / week

  • Georgia Tech Student2020-04-22T19:07:08Zspring 2020

    I found this course to be extraordinarily challenging but also very well run and informative. The course is really math heavy and doing well without too much stress on the assignments requires a lot of numpy and python experience. Having already completed AI4R and CV, I think I was in better shape than others but still had a lot of reviewing to do when it came to efficiently vectorizing complex loops .

    The TAs did a fantastic job of organizing assignments, responding to questions, and providing students with good local tests. I love Gradescope and it was well utilized in this course.

    All in all, highly recommended if you have any interest in AI. But be prepared to put in a lot of hours to get a good grade.

    Rating: 4 / 5Difficulty: 5 / 5Workload: 40 hours / week

  • Georgia Tech Student2020-01-12T05:25:12Zfall 2019

    I read this was one of the hardest classes before taking it. After taking it, I feel it's actually not that bad. I got an A without very much effort. Overall this is a very interesting class. I disliked Dr. Sterner's video. He doesn't explain thing very well and often brush through important concepts quickly. In my opinion, Dr. Thrun and Dr Norvig's lectures are of much higher quality. The projects are well designed and I learned a lot through them. But the projects only touch a number topics in the class. I feel I learned those topics so much better than the topics that we didn't do a project on. I kinda wish they had made each project smaller yet have more projects to cover all the topics we studied. Take home exams are hard. Especially the final. The week of the final exam was probably the toughest week I had. But if you do well in the projects like I did, you don't have to do that well in the exams to get an A.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2020-01-06T16:14:20Zfall 2019

    this is the most ridiculous course I have ever took, it is simply not designed to help you learn but make you miserable. the reason I said so is that since spring 2019 it got changed to using the auto-grade system which is a complete freaking black box, all you got as error messages are "time out", "you lost" etc. Get the f@#k out of here, of course I know my player failed because I have eyes!!! the way I think one can learn in CS is through breakpoints and stepping through the code to slowly address the issues. not wait 3 hours before you can test again (they limited 3 submit in every 12 hrs, or something similar). I got A in all machine learning related courses which are also heavy, but I feel that I learn a lot at the end of each course. in 6601, I felt I was completely screwed by the instructors simply because they want to make their lives easier

    Rating: 1 / 5Difficulty: 5 / 5Workload: 30 hours / week

  • Georgia Tech Student2020-01-04T15:07:40Zspring 2019

    This is a great class that covers a lot of AI related algorithms. I appreciated that the professor and TAs have come up with a set of interesting homework and two exams. That's value of class, the interesting material. But as review, I would also like to give some suggestions to the teachers and the students of this class.

    To teachers:

    1. Can you use some addition videos to explain the classic algorithm in demo and problems?
    2. Can you go through the history of feedback of the homework and provide students some frequent Q&A?

    To students:

    1. Get familiar with Probability and some search algorithms beforehand.
    2. Start reading the textbook earlier. It cover most of the algorithms, though it is harder to grasp.
    3. Go through the challenge questions in Piazza.

    Rating: 4 / 5Difficulty: 5 / 5Workload: 25 hours / week

  • Georgia Tech Student2019-12-30T09:58:19Zfall 2017

    Great course and very similar to my undergrad AI course. All assignments are graded via Bonnie (which I really liked) - instant feedback and easy to use. Exams were fair and open book. Overall great survey of the field and recommend!

    Rating: 4 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • Georgia Tech Student2019-12-30T06:42:31Zfall 2019

    This is a difficult course, but one that I found very rewarding and interesting.

    The good:

    • Assignments didn't change much from the start of the semester, so you could get a head-start on the assignments.
    • Assignments are graded with GradeScope, which provides instant feedback on your score for the assignment.
    • Some extra credit on a few assignments allowed for strong homework scores to offset low exam scores if necessary.
    • Out of 6 assignments, only the top 5 scores are used. This gives some flexibility, but don't skip an early assignment and rely on this.
    • Exams are open book with about a week to work on them.
    • Grading is curved at the end of the course. Standard grading rules apply (>90 = A, >80 = B, etc), but in addition a curve is established based on the median of the class.

    The bad:

    • On-campus section received additional lecture content. This content showed up later in the course for ALL students, which felt a bit unfair for the online students.
    • The first two assignments were by far the most challenging (and my lowest scores), but after that the class felt much smoother.
    • Exams were long and challenging. There was a fair bit of interpretation in some question wording, and many clarifications had to be made by the teaching staff. Then the clarifications needed clarification, and so on.
    • The lectures were not very deep or engaging.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 15 hours / week

  • Georgia Tech Student2019-12-21T23:21:50Zfall 2019

    This class was great. The TA and way class was run was fantastic. There are 6 assignments out of which best of 5 are counted and one midterm and one final exam. Exams were really tough. The assignment were mostly good but a couple of them were difficult. You need to practice probability a lot to do well in this one. I had a hard time specially with probability .

    Rating: 5 / 5Difficulty: 5 / 5Workload: 15 hours / week

  • Georgia Tech Student2019-12-21T21:36:44Zfall 2019

    This was my favorite class in OMSCS (so far).

    Pros:

    • The material is quite interesting and you learn enough to take on your own projects in the future.
    • The projects are engaging and relevant to the course.
    • The projects are in python and use pretty standard libraries like numpy and networkx.
    • The TAs and instructors are reasonably active on Piazza and the slack channel tends to be a pretty good resource.
    • The grading scheme is pretty fair - anything above the median is an A. And with the extra credit, it's possible to do well in the course if you don't do well on the exams.

    Cons:

    • The exams are extremely long. Each exam is a take home, week long assignments. They can be very tedious and time consuming. You also need to be careful to read the clarification threads because there are a lot of typos in the exams.
    • The first two projects are extremely difficult. The first two projects and the exams are really what differentiates people (in terms of grades). Most other assignments have a ~100% median.
    • The material is out of date. This is true of most classes to be fair.

    Rating: 2 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2019-12-20T19:03:43Zfall 2019

    Contrary to the popular opinion, I did not find this course difficult (final grade > 100%), much easier than RL and a little harder than AI4R. Every Assignment is manageable, exams could be done in one week, even in one weekend, you don't have to read the whole 1000 page book, normal amount of hair lost and no PTSD, unit tests are usually not such a big problem, 90% is a guaranteed A as usual. I quite liked the course as well.

    Pros: {1} You will learn a lot. {2} Very practical, hands on. Some hand-holding as well. Uses Python for coding. {3} Lectures + readings are enough for 99% of tasks. {4} Clear rubrics for exams, auto-grader for Assignments (its grade is final, unless you cheated), clear regrading policy. {5} Curved (90/80 is still A/B no matter what). Worst Assignment could be dropped. {6} TAs and instructor are present and very active on Piazza. {7} After the course you will gain an opportunity to do research in 8903 Special Problem. {8} Rather balanced workload throughout the semester. Totally possible to do during full weekend only sessions, if taken alone. Could be paired with other balanced or easy course. {9} No hyper-parameters tuning, only some reasonable fiddling with code. {10} Paper calculations were enough to get > 90% on both exams. No code was necessary. {11} Opportunity for extra credit on most Assignments.

    Cons: {1} Final Exam is an 11 problems ridiculous monstrosity. It took 30+ hours of work. Despite a dedicated clarifications thread, it still contained questions which could be interpreted differently. It also contained some materials, barely touched in lectures or readings, while googling was forbidden. {2} All of the Assignments (including exams) could be "hacked" (solved by brute force or other techniques with only superficial understanding of algorithms) for ~100%, if you know what to look at. My understanding of AI field did not increase by much after the course, despite my grade. {3} Videos are high level and give only basic understanding of topics, a lot of readings are required to clarify finer details. Book is huge and difficult to read, it goes on forever and at some point you'll start skimming to save time. {4} Too many clarification threads that contain vital information. Some people could entirely miss them and suffer unnecessarily. {5} Curve was close to regular 90/80/70. Non-existent. {6} Course is trying to be wide and not deep. {7} On some particular parts auto-grader does not provide enough feedback to facilitate further progress. {8} Overlapping material with ML and RL. I'm not even talking about KBAI, which is a humanitarian rip-off from the Book.

    Tips: {1} Start Projects early, especially the first 2. You will most likely need those two weekends allotted for each one. {2} Pre-watch video-lectures before the start. Only do readings during the semester. Sometimes they are not even required and Assignments are doable with only basic understanding. Or pre-read them as well and cruise like a boss. {3} Watch a YouTube video on D-separation, when you reach that part, as it is not explained properly. {4} Piazza is a must. Slack helps as well. Office hours are mostly useless, I did not watch any of them. {5} Assignments become easier after the second one. After that, they are approximately of the same difficulty. You will most likely drop Assignment 1, if any. {6} Leverage your Assignments code to double check (or obtain) exams answers. {7} NN or RL knowledge will help with last Assignment and the Final. Do ML or RL before this course. This course would definitely help me with both of them as well, on the other hand.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • Georgia Tech Student2019-12-18T20:36:36Zfall 2019

    This is very good class to overview all AI concepts and some of ML with deep enough mathematical details. It requires significant effort to keep and absorb all the learning, but it is very rewarding.

    The first two assignments are very time consuming and difficult to get 100%, and after those two, it is quite straightforward and fairly doable to achieve 100% and even extra credit. I could say the difficulty level of this class is "hard" for the first two assignments, but later on it is about "medium" or somewhere less than "hard". The final was very lengthy, but difficulty wise, except one or two questions, it wasn't that super hard.

    Exams are structured to learn something while solving the problems so they are also good chances to learn. The teaching staff this semester really put lots of effort to make the exams more meaningful by providing solutions and discussions after that. They also provided review sessions on hard assignments and I also don't want to discount these efforts.

    Overall, this is again great class to take. if you want to get some good start, I'd recommend at least to finish up the reading for first few weeks, so you can use those room for assignments. The text book used for this class is one of the best text book in CS - AIMA (Artificial intelligence, Modern Approach) and the book itself is really nice resource to understand the concepts.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 30 hours / week

  • Georgia Tech Student2019-12-11T00:14:27Zfall 2019

    Excellent survey course of foundational concepts in AI. The course was taught together with the on-campus course, so the Professor was extremely active, and the TA staff was much better than usual. I absolutely LOVE the joint model and hope more classes are offered this way in the future. There are tons of extra credit opportunities, and the worst project is dropped. The course is graded on a curve, so you just need to be better than the median for an A.

    More details:

    • Projects: All the assignments are in Python, and all are auto-graded with near-instant feedback, which is really nice. The first few projects take a lot of time, but the rest are much easier. Pay attention to Piazza feedback to help you understand why the autograder might be failing. Topics were:
      • Min/max
      • Search
      • Bayes networks
      • Decision trees
      • Expectation Maximization with Gaussian Mixture Models
      • Hidden Markov Models
    • Exams: Best exams I think I've ever had. They are absolute BEASTS - the final clocked in at 62 pages. But, they are open-book, open-note, open-PC, and you have a week to do them. The problems are entertaining, fun, and focused on helping you really learn the material. Start early and you'll actually enjoy them. Start late and you'll despair.
    • Lectures: I wanted more, to be honest. All the lectures from Dr Starner are great, and they start strong. The later lectures are basically stolen from older MOOCs and are really poor production quality, and much less clear. The lectures really don't cover the material in depth, either... I would prefer more content that does a deeper dive. Especially for those topics without a project.
    • Textbook It's a classic, but it's pretty dense, especially in the later modules. We skip around in the book a lot, too, which made it harder to follow .

    Rating: 5 / 5Difficulty: 4 / 5Workload: 10 hours / week

  • Georgia Tech Student2019-12-09T16:25:17Zfall 2019

    Pivotal to your degree and understanding of AI, but absolutely BRUTAL. Writing this review before final grades come out, as I'm sitting between an A and B and don't want that to color my review.

    The good: The professor and the TAs in this course were bar none, the most responsive I've seen. They care. They want to make the course better. The material is very interesting. Very hard, but very interesting. This course goes through a lot. You would benefit significantly by taking an introduction to AI course from the stanford online courses. It's so much information it's hard to absorb in one round. The homework and tests are designed to make you learn through doing (and struggle). I did learn a lot. Be prepared to commit A LOT of time. If possible, try to take it solo. I took this course with DVA and nearly ended up in the psych ward. There's opportunity for bonus points with every project, and even on the final, and they do not count towards the median.

    The bad: The course is graded on a curve based on the MEDIAN, not the mean, so there are no 0s and very bad performers to drag down the average. An A is above median, B at or below. With this level of high caliber students, that is extremely tough. The medians for 4/6 of the homeworks were 100s, so your grade is entirely dependent on how you do on the first two homeworks, the midterm and the final.

    The "no online resources allowed" policy. It's meant as a proxy to trade secrets in industry, but it's nonsensical, especially given the poor resources of the class lectures. Nobody I know in industry doesn't google at least 100+ times per day.

    The video lectures are extremely high level and glaze over very intricate topics. Online this course is a challenge to teach yourself, because nobody is teaching you. You are taking the same exams as the on campus cohort, however they have the benefit of actually going over things that would be on the exam. You do not. RIP.

    There are 6 homeworks, one grade gets dropped. The first two are practically impossible and take over your life. Coming back from a month off after a brutal RL summer into full speed ahead was extremely difficult. The midterm was 30-something pages. It was tough and you got a week to do it. It was a test designed to make you learn what was not covered in homework. I would call it more of a project honestly.

    The final....man. The final was 62 pages, 10 sections, in total something close to 90 questions. Most questions required programming. On average it took 1-2 hours for every 1 point question. You got a week. I spent 40+ hours on it alone. It was brutal. The clarifications thread was longer that Rapunzel's hair.

    I'm hovering between an A and a B. I'm just glad to have survived. Will have PTSD about this course and that final for many years to come.

    What would I do different? 1. Take intro to AI from Thrun before the course. 2. Start reading the 1000-page book. 3. Brush up on probability. 4. Strongly consider not taking a second class, despite that pushing off my graduation plans.

    Rating: 4 / 5Difficulty: 5 / 5Workload: 30 hours / week

  • Georgia Tech Student2019-11-12T21:36:09Zfall 2019

    This course is very hard. I recommend not pairing it up with another course in a semester. Try to start working on the assignments as soon as they are out.

    Rating: 1 / 5Difficulty: 5 / 5Workload: 40 hours / week

  • Georgia Tech Student2019-11-07T16:44:11Zspring 2016

    Took this the 1st semester is was offered, so it might have changed. Great overview of AI. Awesome projects

    Rating: 5 / 5Difficulty: 4 / 5Workload: 15 hours / week

  • Georgia Tech Student2019-10-31T19:44:23Zspring 2019

    I loved the course. Thought it was a fantastic overview of AI concepts and applications, and the projects felt very practical and real-world rather than contrived for learning purposes. Prof. Sterner does a great job of communicating his own excitement and relating the material back to familiar and understandable scenarios.

    I would recommend reviewing linear algebra a bit before jumping in, and a statistics background would be helpful; I did fine (A in the course) without a strong background in either, but I felt that several of the assignments would have been much easier and taken less time if I wasn't also trying to learn the basic math at the same time.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 16 hours / week

  • Georgia Tech Student2019-08-01T02:11:44Zspring 2018

    My favorite so far, very hard but the content is very rich and interesting, you have to be very fluent at python.

    Rating: 5 / 5Difficulty: 5 / 5Workload: 50 hours / week

  • Georgia Tech Student2019-05-28T02:39:38Zspring 2019

    This class is worth it if you have the time. I was putting in 30-40 hours a week on homework, readings, and exams. The six projects were all unique and very interesting. The first two were much more time consuming than the last four. Each project has multiple sections with tasks of scaling difficulty Each project starts with easy tasks, then scales to moderate tasks, then ends with experimental/difficult tasks. Each project is worth 100 points, and it's easy to get the first 30~60 points because of the scaling difficulty of the project tasks, so you have to really work hard to get those last few points to get to 100. The two exams are take home packets with word problems you can solve by hand or by code. 7 days to complete each exam is difficult. The professor said he prefers this method of exam over proctored exams as they are less intrusive to student's privacy, while also being able to test a student's knowledge. I wish this class was split into two semester. So much content is covered, it felt a bit rushed.

    Rating: 5 / 5Difficulty: 5 / 5Workload: 35 hours / week

  • Georgia Tech Student2019-05-12T03:55:51Zspring 2019

    I think this is a great first course for those doing the ML specialization, even though it's not technically an ML track elective, because there's an introduction to machine learning and reinforcement learning in both the lectures and the recommended textbook.

    The lecture videos are brief but clear, and do impart the right kind of intuition. There are 6 assignments, one of which is droppable. The first 2 assignments were the hardest, and there was also an assignment later on that is tough if you don't have prior experience with numpy and vectorization.

    The midterm and final are week-long take-home affairs that are tedious, but ultimately not as difficult as I was expecting. There was a question on backpropagation in the final that I found quite instructive.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 25 hours / week

  • Georgia Tech Student2019-05-08T23:53:48Zspring 2019

    This is the best class I've taken in the program. Prof Starner cares about the experience of online students and it shows, both in his posts and the culture amongst the TAs. The material is challenging but fair and often fun. The TAs are exceedingly responsive, holding office hours virtually every day and responding to Piazza posts promptly and thoroughly. There are also research opportunities you can apply to at the end of the semester. While some courses in this program feel like MOOCs for credit, this course genuinely feelings like a graduate-level class that happens to take place online. Highly recommend.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 10 hours / week

  • Georgia Tech Student2019-05-07T08:45:35Zspring 2019

    I was genuinely excited to take this class, put in a lot of time into it. But, I did not like this course.

    This course should be just named as 'Python Programming'.

    If you have taken 7641 and 7642, there is nothing in this course except Search and Bayes net, for which you can refer to online/Udacity videos of Norvig and Thrun. Same videos are just added as part of this course.

    This course is made difficult because of time and resource constrains for the assignments.

    2 weeks per assignment (can NOT front load) but, by the time TAs clarify things, you will be left with much less time. For most of the assignments, there is limited number of submissions and provided local tests are not adequate. 80%-90% of the time is spent on clarifications or writing additional tests. So, that is why it is difficult.

    You will spend most of the time on coding assignments and will not have much time left to go over the material deeply.

    For example, for assignment-1, bonnie was running every submission for more than 2 hours and failing for everyone and no one paid any attention until last day of submission.

    Prof does not answer a single piazza query. Your questions are answered by TAs who may have completed this course 1 or 2 semesters earlier (but they answer quickly). Most of the TA office hours are used to explain assignments.

    Exams were heavy on calculations. For many questions, if you make mistake in the first 1 or 2 steps, all subsequent steps will be wrong and you will loose all marks. You need to spend ~25 hours on each exam to check and double check your answers.

    This course feels like an undergrad course on python. If you want to analyze and understand algorithms deeper, take 7641 and 7642 instead.

    As someone said below, all you'll come out with is some artificial intelligence and not real intelligence.

    Rating: 2 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2019-05-07T01:01:45Zspring 2019

    The course is divided into 6 Homeworks including Game theory, Search (DFS, BFS, A*), Probability, Bayes Nets, Machine Learning and a Midterm and Final Exams. It is a well planned course, the TAs answer in a few hours. There are 14 of them for a class that starts with ~500 students and ends with ~300. It is possible to notice that some TAs are more specialized in specific topics. In the beginning, Thad makes sure to let everyone know how serious they are about cheating. You got to be careful copying code from the internet from Github, etc. Whenever algorithms are provided, they are pseudo-code. Thad gave office hours preceding Midterm and Final. Watching the lectures in Udacity and repeating them until you understand can prove very valuable. I didn't have time to read all the assigned chapters from the book and did well.

    I really enjoyed this course, it was though, but you could feel and see how much these guys dedicated themselves to provide a high level course an give the student a strong understanding of the algorithms covered. Don't pair it with other class if you're employed and/or have wife and kids. It is NOT doable.

    You can take it as first class if you know about python 3, numpy and linear algebra.

    Rating: 5 / 5Difficulty: 5 / 5Workload: 25 hours / week

  • Georgia Tech Student2019-05-05T04:35:46Zspring 2019

    Very well run class, TA and professor and course content, all three outstanding!. But its very hard with back to back projects that require you to start the work on day 1 to get full credit. Projects involve implementing multiple algorithms like A*, RandomForest/DecisionTrees, HMM, etc. Mid terms and Finals are take home and you are given a week. The exams are tedious and will take 30-40 hrs each. I recommend this course as a first course for anyone with a cs background and serious about ML/AI. This course will give you the best overview of the field.

    Rating: 5 / 5Difficulty: 5 / 5Workload: 30 hours / week

  • Georgia Tech Student2019-04-30T13:26:12Zspring 2019

    As others have said, this is a very difficult and time consuming course. I do not recommend taking it with any other courses if you have a full time job and don't want your life to be a living hell.

    This semester, there were six projects, a midterm and a final. The midterm and final are open book, and you have a week for each. The difficult material is front-loaded through the midterm. If you can survive the first eight weeks of the course, you're going to be ok. I think this was very considerate of the teaching staff to front-load the material so that you can withdraw if it turns out you're unprepared for the course.

    Speaking of being prepared, the math prerequisites listed on the course website are somewhat vague. If you don't have a strong grasp of probability and a pretty good handle on linear algebra, you're going to have a bad time. I highly recommend brushing up on both before enrolling in this course.

    For some classes in OMSCS, watching the videos is sufficient to do well on the projects and exams. That is not the case for this class. Consider the videos to be a gentle introduction, and look to the textbook and papers for the bulk of your understanding. Tests will bring up obscure material from the readings that was never mentioned in the lectures.

    Start the assignments just about as soon as you get them, and don't be shy to post questions to Piazza. Also, jump on the CS6601 Slack channel. While the TA's are great, their response time is measured in hours. There's usually someone helpful on Slack who can point you in the right direction much sooner.

    This course is one of the monsters in OMSCS, but it's doable. And you'll learn a tremendous amount. Good luck!

    Rating: 4 / 5Difficulty: 5 / 5Workload: 25 hours / week

  • Georgia Tech Student2019-04-03T19:35:28Zsummer 2018

    Really hard class, first 2-3 projects are tedious and parameter-tuning dependent but afterwards it gets better. The exams are super hard, take-home, but overall it is a really fulfilling class.

    Rating: 5 / 5Difficulty: 5 / 5Workload: 20 hours / week

  • Georgia Tech Student2019-03-27T20:39:26Zspring 2018

    I took the course. Initially i thought this would be easy. But it was very difficult and i withdrew after first assignment. I will take this again in near future. Subject itself is good. Requires python programming. More than any other course, one should start working on assignments as soon as they are given else it is difficult to catch up. Go through the lectures/chapters first by the time assignment opens up, if possible else at least within 2 or 3 days of assignment start date.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 30 hours / week

  • Georgia Tech Student2019-02-27T21:47:17Zspring 2019

    Not an introductory class if you are unfamiliar with python and AI subjects. The 6 assignments/projects are due biweekly, and you have to spend a lot of time on it. Each assignment takes more than 40 hours.

    As full-time employed, it would be hard to join TA session and working on the assignments. It requires a lot of time consumption, self-discipline, and hard work. Be a wise time manager.

    Rating: 4 / 5Difficulty: 5 / 5Workload: 40 hours / week

  • Georgia Tech Student2019-01-10T01:55:35Zfall 2018

    AI is a very tough course: intense workload and hard concepts.

    The course is coding based. There are 6 very well design assignments. They are all concerned about implementing the learned algorithms / tecniques. It's noticable that every assignment was carefully crafted to maximize learning.

    The exams are take-home and very big (the final featured 47 pages). The exams are not extremelly hard, but they are intense in terms of size and time consumption. Unlike the assignments, the exams are not designed for coding, but to be done by hand.

    The instructor and TAs are very good, suportive, responsive and active.

    I don't recommend pairing this course, unless you don't have a job.

    Rating: 5 / 5Difficulty: 5 / 5Workload: 12 hours / week

  • Georgia Tech Student2019-01-09T20:49:09Zsummer 2018

    This course is one of the most difficult I have. But I learned a lot in this class. This course includes several AI topics. Each topic comes with homework. Each homework requires intense python programming to implement a certain AI algorithm. No final exam. 50% of the student will get A. The course material is really good. TAs are really helpful. This is one of the best courses I ever had.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2019-01-07T04:59:06Zfall 2018

    Overall, I feel this class was really well done. TAs and the instructor were always very responsive; you could tell they were very passionate about the course.

    Assignments take between 10-20 hours (assignments 1,2,5 were around 20 and assignments 3,4,6 were around 10 to 15) and you get about two weeks for each. The exams are open book, but are brutal. I'd say 20-30 hours for each and you get a week to do them.

    I don't really feel like an expert at anything after taking this course, but I do think it is a good general introduction to artificial intelligence topics. Be aware that this course does get into some theory (e.g. the last topic is first order logic). You shouldn't be intimidated by this (it can be a little dense but a vague understanding of the logic should be enough since the exams are open book), but just an FYI in case you are only interested in practical skills.

    There is a bit of nit picky in this course (especially the exams) so make sure to triple check if you have any uncertainty.

    This is my second class (first was Computer Networks). It could be a first class if you have some past theory-ish experience (e.g. big o notation, undergrad ai course, etc.) The only reason I might advise taking this course later is some students came in with machine learning class experience and that gave them a small advantage (e.g. neural nets and random forests).

    My enthusiasm for the class dipped a bit after the midterm (it is pretty draining, even if you do well), but the projects were interesting enough to keep me motivated.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • Georgia Tech Student2019-01-03T16:06:25Zfall 2018

    I enjoyed this class! The attitude of TAs , sense of humor of professor and TAs are very helpful. Really enjoyed, however it was very hard to combine this course with private life, work and family.

    Rating: 5 / 5Difficulty: 5 / 5Workload: 25 hours / week

  • Georgia Tech Student2019-01-03T15:06:02Zfall 2018

    I absolutely loved this class and I believe its difficulty has been overstated. I would rate it somewhere between medium and hard, so I "rounded up" to hard. My 20 hrs/week is an average. Some weeks I spent maybe around that (some projects), some weeks I did literally nothing (week after the midterm, the time between submitting the last project and getting the final), and some weeks I spent significantly more than that (the midterm and final).

    This was my 6th/7th class. I took it with CS 6340 (SAT, another great class, and is not about unit testing). I previously completed AI4R, CV, ML4T, IIS, and RL.

    I work full time and part time in addition to OMSCS. My FT job is very flexible, which helps, but my PT job is very much the opposite. Despite this, I was able to get a solid A in both classes this semester while also studying for and earning an Oracle OCP Java certification, picking up a ton of extra PT job shifts, and spending an entire weekend cleaning out my garage. I don't consider myself a stellar student by any means, so if I can do it then I believe you can as well. What seems to set me apart from many others (based on my Piazza experience) is my ability to read and follow directions, and my understanding that sometimes I will need to do more than just watch the lectures to fully understand how to do the projects. Seriously, why does everyone keep thinking a graduate-level CS program should have the same structure as a high school math class? Anyway, with that said, I didn't have to use the book a whole lot, but it definitely helped when I needed it and I'm glad I bought it.

    This class does have a lot of room for additional exploration and deeper diving into the topics, sometimes through extra credit, so there is that benefit if you take it by itself and limit your non-OMSCS activities. But it's not like we can't pursue these deeper dives independently later.

    I say it all the time, I've already hinted at it above, and it will always need to be said. You'll have a much better time in this class if you just read/understand/follow the directions. The support system from students on Slack and from the instructional staff on Piazza was insanely helpful. Prof's office hours were interesting and not just for the sake of getting help with assignments.

    Grading breakdown:

    • 6 autograded, individual projects worth 60% total, with the lowest project grade dropped
    • 1 plagiarism quiz worth 5% which was basically free points since they opened it up to unlimited attempts after significant whining
    • 1 take-home midterm worth 15% and somewhere around 35ish pages long
    • 1 take-home final worth 20% and somewhere around 45ish pages long
    • There were some extra credit opportunities offered on the projects and a small one on the final

    The projects:

    • Minimax with and without alpha-beta pruning. A surprisingly difficult assignment for such a short algorithm.
    • Searching algorithms - BFS, UFS, A*, etc. Also a very difficult assignment
    • Bayesian networks
    • Decision trees
    • Expectation maximization
    • Hidden Markov Models

    The last 4 projects were much easier than the first 2. P4 and P5 both took me under 2 days. I saw people struggling on Piazza with them for almost the whole assignment period (generally 2 weeks). In many cases the questions they were asking were clear indications of — wait for it — not having read the instructions. I think every project but P3 had extra credit opportunities.

    The exams were a lot of fun and very challenging but I think the TAs were too ambitious when making them. There were literally dozens of clarifications made on Piazza (under a "clarifications megathread") for both the midterm and the final. I started the midterm early and immediately learned that was a mistake. I was kind of confused by people who started the final as soon as it was released and then complained about clarifications. Did they not remember the midterm just weeks before? As for topics, midterm topics were straight from the lectures. Most of the final topics were as well. Some really required the textbook to fully get but those were few and far between. Final was cumulative.

    Overall this was a great class with a lot of fun topics. I recommend taking it by itself if you suck at following directions and being a good student, or if you have minimal math and CS backgrounds, or if you just want to have time to deep dive into the topics while the class is still in session.

    Tips based on this semester's experience:

    • It's all Python. Be comfortable with it. Knowing numpy in advance for will help for P5 and P6 but it's doable to pick it up on the fly.
    • Supposedly the exam problems were "designed to be done by hand," but seriously, do yourself a favor and do as much of it as you can in code. While the problems are doable by hand, some are very tedious and lengthy. Better yet, do it both ways to check yourself. Start early but not too early. Watch the clarification threads like a hawk.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2019-01-02T00:18:24Zspring 2016

    Tough, but fair. Very comprehensive coverage of traditional AI techniques, so it sort of lacks a coherent thread through the course (just a lot of material to cover). Instructor is very big on anti-plagiarism, just be aware. Learnt a lot implementing code for the projects/assignments.

    The biggest downside here was pacing. The first 3 projects/assignments are an order of magnitude for difficult than the last 3. Talking 40-50 hrs each for projects 1/2 to about 5 hrs per project for projects 5/6. Most of project 6 is effectively data entry.

    Exams are take home. Prof expects them to take him 5 hrs and a TA about 8-10 hrs. As a student expect to take 10-30 hrs per project (take a day off work). You can use any method you want to do the exam - they only check the answers. A prudent approach is to solve all problems by writing small programs - never try do it by hand because you will probably make a mistake (and there's no working, so no partial credit). Exams hard enough that at least once the answer key (for one question) was wrong and students had to point out the mistake to instruction staff.

    Rating: 5 / 5Difficulty: 5 / 5Workload: 25 hours / week

  • Georgia Tech Student2018-12-28T21:05:23Zfall 2018

    I'm not sure this was a great first course, but it did require me to get right back into school mode. I also might have spent more time than other students as I was relatively new to Python. I'd imagine being able to concentrate on learning the concepts rather than learning Python too would be nice.

    You get to learn 6 concepts in depth through the programming assignments. However the lectures and readings cover numerous other subjects, and those are all fair game on the midterm and final. For example, there were a few videos on neural networks (~10 minutes) and no projects covering it. However, there was a 10/100 point question on the final on it. This (the breadth of topics covered and the details you must know on the topics) makes it difficult to know where to ask questions ahead of time as using most outside course material is not allowed.

    Overall, there are 10+ hours of lectures per week, ~100 pages from the text book per week, challenge questions every week to review on Piazza (not graded), and projects due every 2 weeks. It's a lot to keep up with.

    The TAs are very helpful/active on Piazza, and there the projects are all doable in 2 weeks- even for a Python novice like myself.

    The grading seemed to cause some stress, since it's based on the median and standard deviation, but rest assured that above a 90% is an A and above an 80% is at least a B.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 24 hours / week

  • Georgia Tech Student2018-12-20T11:48:28Zfall 2017

    Overall, I really enjoyed this course. The tests were challenging and very tedious but I think they matched the level of difficulty required for a course to be considered "graduate level". The projects were also interesting if you've never taken an AI course before. However, the projects focus on "reinventing the wheel" topics like Minimax, Alpha-Beta, Decision Trees, etc. I would have liked to see more challenging projects where we used these techniques to implement more complex programs instead of writing our own algorithms from scratch.

    The TAs held office hours pretty regularly and each project has a TA office hour session where they would go over the provided code & the project description. I didn't find these super helpful but if you've never seen Python code before, they might be beneficial to you.

    Professor Starner also held office hours occasionally and these were pretty interesting. One of his office hours’ double as a mini-lesson on some advanced topics not directly mentioned in the course.

    Overall, I think this is a good course if you have a basic knowledge of programming (Python preferred) and are willing to spend a lot of effort on the projects.

    I took this class with a full-time job and would not recommend taking this with another class (if you work full-time).

    Rating: 4 / 5Difficulty: 5 / 5Workload: 50 hours / week

  • Georgia Tech Student2018-12-19T23:07:14Zfall 2018

    The class covers a good range of algorithms. The book is really good. Recommendations: Brush up on probability before taking the class. Set aside time for exams if you're working so you can check your work. There are lots of calculations and ramp-up problems where future answers depend on previous answers.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 23 hours / week

  • Georgia Tech Student2018-12-18T04:51:37Zspring 2018

    Great course, exams are take homes for a week (open book, close internet) but very very time consuming (the longest exams I have taken). Learned a lot, this course focuses on the foundations of how models like decision tree, Bayes Nets work. It is frustrating at times to implement everything from scratch but satisfying when you finally understood the concepts by working through them.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2018-12-15T19:28:53Zfall 2018

    This course is the real deal for learning AI. You're reading the quintessential AI textbook "Artificial Intelligence: A Modern Approach" nearly cover to cover, co-authored by the former Google search algorithm director Peter Norvig, who is also a guest lecturer in the Udacity videos. Another guest lecturer is Sabastian Thrun, the creator of Udacity and founder of Google X and their self-driving car team. The professor himself, Dr. Starner, is an entrance examiner for the AI PhD progam and draws from industry experience at Google when structuring the assignments.

    Perhaps this is intended to justify the often overwhelming course workload, which is comprised of the work of two courses in a sense. At the time of this writing (Fall 2018), one of those courses would involve completing the six assignments that are each 2-3 weeks long, of which only five count towards your grade. The other course would involve keeping up with the extensive learning material, such as lecture videos, textbook readings, and supplemental journal articles in order to prepare for a midterm and comprehensive final exam (taking me 17 and 24 hours to complete, respectively) that are structured like puzzles and brain teasers loosely based on concepts from the material. My weekly effort spent on this course ranged from 20-60+ hours. There was always something that I should be working on throughout the semester and that was exhausting at times, to the point that I regrettably skipped the final assignment to catch up on learning materials to prepare for the final.

    For those of you who are limited on time to devote to the class as I was, my recommendation is to watch all of the lecture videos prior to the start of the semester, and then read and appropriately skim the textbook based on the provided list of topics for the midterm and final, which would provide a much more manageable workload. Also be sure to start the assignments as soon as possible. I'm definitely not knocking the challenging aspect of the assignments or of the unique format for the exams, both of which contributed greatly to my learning experience, but I would have preferred a more narrow approach to the ambitious syllabi than is currently offered. This will be my first B in a technical college-level course, but don’t let that intimidate you - learn from my mistakes!

    A note about time management: I consider myself to be someone with a lot of time management experience who always keeps a lot on his plate. Having said that, this course nearly broke me. With a full-time job, married life, and the everyday stresses of maintaining health and sanity, this one course made me lose more hours of sleep than I was comfortable with and it was my only course this semester. If you plan to take this course, bare in mind that it will require you to keep a rigorous schedule for studying, which must also be flexible enough to postpone other priorities to allow for more study time.

    Rating: 4 / 5Difficulty: 5 / 5Workload: 30 hours / week

  • Georgia Tech Student2018-12-15T17:51:41Zfall 2018

    Fantastic course. I took the course without much preparation and even though I did well in my mid-term and final (above median), I struggled with Numpy which costed me dearly in two of the assignments. This was my first course in AI and ML and did not know what to expect. As others mentioned the pace of the course is very fast and it covers alot of material (To excel at AI, one requires at least two or three semester to learn the topics that are covered in the text book and the lectures.). Prof Starner and the TAs are outstanding. If you are looking for an A, assuming you have not had any AI courses in the past and/or relevant experience, you should get higher than median for 5 out of 6 assignments and both exams (Not easy). median for the assignments is in the 90s so you should go for extra credit and bonus opportunities if you can. Definitely attend the TA office hours as needed. They are very knowledgeable and will help you immensely (I should have done more in this area). You need good planning skills to go through this fast paced course. No room to relax. If you miss a week, forget A, if you miss three weeks, consider dropping the course. The assignments are challenging and there are a number of extra credit opportunities that allow you to improve your grade. However, I feel that for most parts the students who have had prior AI/ML training will be better equipped to do the bonus and extra credit parts and raise the assignment median. In effect making it harder for those who are new to AI to compete and receive a higher grade. I liked the take home tests because due to the nature of this course and difficulty of the topic, it is impossible to do it any other way. You should view all the lectures and read all the relevant chapters in the text book to do well. It is hard to get partial credit as the final answer is what counts.

    Rating: 5 / 5Difficulty: 5 / 5Workload: 30 hours / week

  • Georgia Tech Student2018-12-14T18:03:03Zfall 2018

    I was a big fan of this class. It wasn't perfect, but the material covered was broad and interesting. I didn't find it to be quite as difficult as the reviews indicate here, but it does require solid Python and Numpy skills. As such, I'd recommend taking some other courses first (KBAI, AI4R, CV are all great pre-reqs for this class). The projects were somewhat time-consuming but certainly doable in the allotted two weeks. The exams were harder - and much longer - than the projects, but I felt we were given ample time to complete them (open-note, take-home tests). Although, I could see the time commitment being difficult with a busy work schedule or another course being worked in parallel.

    My only complaint with the class was that the Bonnie test results for some of the projects did not provide helpful feedback after submitting assignments. Even after passing all of the local unit tests for a given assignment, there were times at which Bonnie tests would fail, and no information was returned about the reason for the failures. This led to some brute-force/blind debugging in some cases, which was a little frustrating.

    Overall, it's a good course if you have any interest in AI. Like many other courses, it covers a multitude of topics at a shallower depth, rather than covering fewer topics at a more advanced level. I would not pair this class with another unless you have plenty of time to spare. And I would not take this as a first course unless you are prepared for the workload required.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 12 hours / week

  • Georgia Tech Student2018-12-13T22:05:40Zfall 2018

    Exceptionally valid course and a wonderful textbook. But amount of topics covered is enormous and everything must be understood to the last detail, otherwise it's impossible to do the assignments and the exams. Both Midterm and Final are a 30-50 pages PDF with open questions/exercises to do at home in a week. Only the final results go on the PDF so calculation errors will cost you the points.

    In conclusion is really a great course, but you must devote an immense amount of time and energy to it.

    Rating: 5 / 5Difficulty: 5 / 5Workload: 25 hours / week

  • Georgia Tech Student2018-12-13T14:23:31Zfall 2017

    This was a great course with a broad overview of traditional AI topics. It doesn't go very deep in any particular topic, but gives you an excellent survey of different techniques. The projects were all fun and you'll learn a lot.

    Rating: 5 / 5Difficulty: 5 / 5Workload: 20 hours / week

  • Georgia Tech Student2018-12-12T22:53:35Zfall 2018

    This was an awesome class! It provides an overview of the vast field of artificial intelligence and teaches some popular algorithms from different areas of AI. Since there is so much material and only 16 weeks to learn them, the course does not go into depth on any of the topics. The class is curved with the a final score above the median being an A and on std below the median a B. The grade consists of assignments, midterm exam and a final exam. The class takes plagiarism very seriously and you are not allowed to look at pseudo code from anywhere other than class resources.

    Assignments: These were the best part of the class. There are 6 assignments and the best 5 are counted towards the grade. You have to implement some popular AI algorithms from scratch. Working on these was a lot of fun and I learned a lot from them.

    Lectures: The udacity lectures were not that great. I watched the lectures from MIT on youtube and learned more from those. This was very much a self taught class for me. I learned a decent amount from the book as well but some of the material was quite dense.

    Exams: Oh boy! This is where things get interesting. The midterm was 34 pages long and you are given a week to complete it. You are only allowed to refer to the book and lectures. I love this format of exam taking as you get to learn as you go and I found I learned a lot more this way than the traditional format. The problem was that these questions take a massive amount of work to complete and you have to perform some tedious calculations to get your answers where some small mistake can cause a cascade of errors. I felt a little burned out after the midterm but I performed well on it so I was confident and expected to do well on the final. Well I was wrong. The final was like the midterm on steroids. It covered every thing you learned in the whole class along with some questions that were only lightly covered and appeared to come out of nowhere. I did not do that well on the final but still had my overall score above 90 so I am expecting an A.

    Overall I felt that this was a hard class but not as hard as some of the earlier reviews made it seems. The hardest part was the final and midterm. The the rest of the semester was not that bad.

    Prereqs: Make sure you understand bayesian probability well. Knowledge of numpy and some basic knowledge of ML via a course such as ML4T would also be beneficial.

    Overall I recommend this course to anyone interested in AI/ML.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 18 hours / week

  • Georgia Tech Student2018-12-12T18:53:19Zfall 2018

    I just finished this course and found the reviews on here to be pretty accurate. It's really hard and a lot of work, but it's a very well done class. I went into it with very little knowledge/background in AI or ML, and came out of it with a really strong understanding of the key concepts and algorithms and am excited to keep going with it.

    For me, the workload hrs/wk was probably higher than most due to my being new to the subject. I would guess if you took some other AI or ML courses in the program before this one (maybe ML4T?), it would help you get through the assignments more quickly.

    I probably spent 30 hrs/wk most most weeks, around 40 hrs for the week of the midterm, and honestly probably 50 hrs on the final. I actually decided to take 2 days off from work (Thurs and Fri) the week of the final just to make sure I had enough time to work on it, and I'm really glad I did.

    The weeklong open book/open notes nature of the exams means that they really make you dig deep and earn every point. I actually found that I learned the most during the exams themselves because I'd look everything up in the textbook or lecture notes.

    All in all, it's a very good course. Professor Starner and the TA's are great. Just make sure you're able to dedicate a lot of time to it.

    Rating: 4 / 5Difficulty: 5 / 5Workload: 40 hours / week

  • Georgia Tech Student2018-12-12T15:44:41Zfall 2018

    The class covered a ton of material in a very short amount of time. This was my first class, but was really unimpressed by the depth of content covered in lectures. The midterm and final were week-long take home tests, and they took basically all week. The questions did not really cover knowledge, but rather just ability to do complex math and run algorithms by hand. The assignments were presented well, and the requirements were clear, but the testing strategy was poor - the local tests did not evaluate the assignment appropriately, and submissions were limited to actually test it. most of the time i made a small mistake that would pass local tests but fail the submission and had no observability. Overall, the material was really interesting and I felt i learned a lot, but put in way more work than i expected.

    Rating: 3 / 5Difficulty: 5 / 5Workload: 16 hours / week

  • Georgia Tech Student2018-12-12T04:53:11Zfall 2018

    Unnecessarily tedious take home exams, but other than that class is interesting and not too hard. Homeworks are autograded so once you're done you're done.

    Rating: 5 / 5Difficulty: 2 / 5Workload: 5 hours / week

  • Georgia Tech Student2018-12-12T04:51:46Zfall 2018

    Fun class, not too difficult.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 8 hours / week

  • Georgia Tech Student2018-12-09T05:48:59Zfall 2018

    Survival tips:

    1. Take KBAI (Python track) and ML4T before this course.
    2. Take a few days off work for the midterm and final
    3. Take your time deeply understanding the book and supplemental readings - all of them
    4. Watch all lectures and do the Udacity quizzes solely for gentle introductions to concepts.
    5. Stay active on Slack or Piazza because you'll get through this together.
    6. Expect lots of "clarifications" on exam questions to roll in throughout the week.
    7. Do all the projects, don't let that "best 5 of 6" thing get to your head.

    Commentary:

    This gave me a wonderful view of the world through Bayesian probability, a lot of confidence choosing/implementing AI/ML methods, and my first gray hairs. I turned in the midterm and final not knowing if I scored a 10 or an 80. Both fell way closer to the 80. You will see whole cloth new material on the tests, but if you stuck it out in the projects, you'll have the right intuition to do well. Trust it.

    Rating: 5 / 5Difficulty: 5 / 5Workload: 25 hours / week

  • Georgia Tech Student2018-12-05T08:15:15Zfall 2018

    Good news is midterm and final are only 80 pages of problems, so aka you'll have time to get in at least a shower or two during the course of the semester (and even better, with all the hair you lost, you won't even need to shampoo so you can save time). If you're a smarty pants, maybe you'll see the sun and if you're extra lucky, maybe you won't get PTSD, high blood pressure, and arthritis.

    Bad news is since this course trivially skims through topics, all you'll come out with is some artificial intelligence and not real intelligence

    Rating: 1 / 5Difficulty: 3 / 5Workload: 30 hours / week

  • Georgia Tech Student2018-11-16T08:54:45Zfall 2017

    This class took some grit to get through. It was a great first class for someone who was still relatively new to core computer science concepts, but was fairly fluent in math and statistics.

    The first two assignments focused more on search algorithms. It was an excellent (and sometimes harrowing) review of some foundational concepts in data structures and algorithms.

    The last few assignments were more related to statistics and probability theory. The coding wasn't as fun but the concepts were still very interesting.

    Midterms and finals were both take-home but expect to spend up to 20 hours on each one to do a good job. Expect a lot of hand calculations. This was a nice change in pace from coding endlessly.

    Overall, this was a lot of great, foundational content packaged in one semester. Prepare to roll up your sleeves and put your learning hat on.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 25 hours / week

  • Georgia Tech Student2018-11-07T00:56:27Zspring 2018

    A fun but challenging course. Challenging in the good way, meaning the material is intellectual and the algorithms complex. (as opposed to poorly written assignments, ambiguous questions, defensive TAs).

    The midterm was one of the most challenging tests I've taken in my life (high-stakes arithmetic - literally pages after pages of number crunching, with no clue if you are doing it right), yet I loved every minute of it. It probably taught me more than any homework.

    Homeworks are a typical 2-week project and are HARD. You are given an algorithm, a research paper or two, and told basically ' have at it'. Some algorithms are fun (game-playing), others are boring (mixed gaussian expectation maximization). Fortunately there is skeleton code which makes it a 'fill in the blanks' deal, but they are some very big blanks. A few assignments I put in 80+ hours, handed in right at the deadline, and immediately had to start the next assignment. I was pretty burnt out.

    However, provided you put in the time in the readings and research, it's almost impossible to fail in this course. Anything above the average grade is an A. Anything over 90% is an A. The lowest homework grade is dropped. There are a TON of TAs, there are office hours every day (Don't expect quick answers on piazza, the threads run into thousands of posts), they seem to actually care to answer your questions (as opposed to the usual - 'implement the algorithm' answers), the lecture videos are nice (pretty girls help), you learn about shark bites - all in all a good time.

    Highly recommended, much better than KBAI, just be prepared to work.

    Rating: 4 / 5Difficulty: 5 / 5Workload: 40 hours / week

  • Georgia Tech Student2018-08-24T03:02:52Zspring 2018

    It was one of the best classes -- and one of the hardest classes, that I have ever taken. It was my first class in the program, and what an introduction! The first assignment was easily the hardest in the class- it involved designing an AI to defeat a 2 queen board game. It really tested my Python skills to the limit and I learnt a lot. 2nd assignment was about tri-directional search, and I spent hours debugging my code to solve the problem. Really loved and learnt a lot from both these projects!

    I learnt lot of practical skills such as alpha beta pruning, min-max trees, search, information retrieval, HMMs, bayesian inference, reinforcement learning, probability etc. from this class. Prof Thrun was excellent in his classes on bayesian inference. Really enjoyed them. The book was also excellent, though it is very big and hard to read at times.

    Overall, the class is really excellent, and really one of the best in OMSCS. Its a great survey class as well for machine learning and AI in general. The highlight of this course is the 2 exams which are open book for a week. I feel that's the a better way to run an exam because if there is a topic I am weak at, I can just read up and attempt to solve it. This really expanded my skills and learnt a lot!

    Highly recommended class, but perhaps not as the first one!

    Rating: 5 / 5Difficulty: 5 / 5Workload: 30 hours / week

  • Georgia Tech Student2018-07-31T23:53:25Zfall 2017

    AI was a very interesting and challenging course. The first project nearly killed me, but it was worth it in the end. The exams were all open-book but still one of the hardest I've ever taken. The format and structure of the course was very good and I learned a lot in the process. I took ML after and I thought going from AI->ML was a natural progression.

    Rating: 5 / 5Difficulty: 5 / 5Workload: 24 hours / week

  • Georgia Tech Student2018-07-27T22:07:17Zspring 2017

    A very good and a challenging course. The regular class videos were OK. I felt that they could have explained the concepts better. I did like Sebastian Thrun's and Peter Norvig's videos. There were two challenging take home tests. The assignments were good.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 25 hours / week

  • Georgia Tech Student2018-07-26T09:16:48Zfall 2016

    This was my first class at GT OMSCS and I would recomend it as such. The algorithms covered were used in several classes I took later; also after 6 semesters in this program, I feel like this course did the best job of meeting my expectations of what an on-line course should be.

    The lectures are as entertaining as lectures get: full of lame jokes, puns and bad acting; the interaction between Thad and Shelly is engaging. When I took the course Thad was the head teacher and held office hours every week, and Shelly was the head TA, interacting with us on piazza. Having the lecturers involved in the course is rare, and pretty awesome judging from the other courses I've taken.

    When I took this course, assignments were submitted to an auto-grader, so I always knew what grade I was going to get and could correct my code up to the deadline (once you've taken a few courses, you'll understand the dread of waiting for the TA's to attempt to run your code and grade it on unforeseeable edge cases, in an environment that may not reflect what you expected).

    We were only graded on the top 5 of the 6 assigned homeworks, which would be very convenient should you need to miss a couple weeks due to life issues or something. I did all the assignments, but I really wish other classes would follow this format as I've bombed assignments in other clasess due to work deadlines or other life events

    There was a slight curve applied when I took the course; everyone above 85% got an A, which was convenient for me as I did not do to well on the two take home exams.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • Georgia Tech Student2018-07-06T11:24:34Zsummer 2017

    It is hectic if you take the course in summer . They cover lot of content in 3 months span . Lectures are shallow and most of the time I used to follow lectures of UCB . Assignments are challenging and interesting . It is frustrating that code provided to test the assignments is broken and TA iterate the assignment multiple times .

    Rating: 4 / 5Difficulty: 3 / 5Workload: 20 hours / week

  • Georgia Tech Student2018-06-01T16:49:04Zspring 2017

    Overall a great class. The first two assigments are the hardest, but they get easier after that. The midterm and final are take home, and you are given a week to do them. Start early!, they will take a lot of time

    Rating: 5 / 5Difficulty: 4 / 5Workload: 25 hours / week

  • Georgia Tech Student2018-05-16T17:29:30Zspring 2018

    Definitely belongs where it is among the top 5 hardest OMSCS classes. The material covered is good but 95% of the learning must be done outside the class to complete the assignments. The assignment/projects are long (~15 hours/week for elite programmers, ~40 for average programmers), cover key AI topics that are often hidden behind black box python packages, and are heavily structured. This is both good and bad as the assignments act more like cookie cutter puzzles cut off of a completed project that you must fill in with your own pieces. Nothing is worse than trying to decipher someone else's code and figure out their intent. This is somewhat solved by an offline testing suite but it is often limited to the most basic things. The class definitely has the feeling of being more interested in making money than teaching students. It's a better class if you prefer independent learning and showing off your superior knowledge and skills to the professor.

    Grade Received: B

    Rating: 2 / 5Difficulty: 4 / 5Workload: 40 hours / week

  • Georgia Tech Student2018-05-15T17:05:58Zspring 2018

    This course was fabulously interesting. The assignments are well-designed to force you to implement some important algorithms. The exams were take-home and open-book, which allows you to use the exam as a way to learn additional material you would not have otherwise. (You'll notice other reviewers think this is a bad thing, but I think it's actually a positive that we get to learn things during the exam.) The pace of the six projects and two exams allow for no breathing.

    I mostly did not read the textbook and instead relied on the lectures. Many students complained the lectures were high-level, but I appreciated this since they focused on conceptual understanding. There are many online links to get more detailed information for completing assignments.

    I found the TA answers to questions mostly unhelpful. Everything you need to complete assignments ultimately comes up on Slack or Piazza though.

    I would highly recommend taking this class though I am glad I didn't pair it with another.

    Rating: 5 / 5Difficulty: 5 / 5Workload: 20 hours / week

  • Georgia Tech Student2018-05-15T00:01:43Zspring 2018

    One of the hardest, challenging, and time consuming classes I have ever taken and I loved every minute of it. The course is focused more on projects than theory which I prefer. The six projects are fascinating and well worth the effort. The exams are not proctored and you are given a full week to complete them. They are both hard and extremely educational. I learned more from these exams than I have ever learned from an exam in the past. The lectures are excellent and taught by true experts. Some TA's were difficult to understand when explaining projects, but this was a minor issue to me.

    Rating: 5 / 5Difficulty: 5 / 5Workload: 30 hours / week

  • Georgia Tech Student2018-05-09T00:53:04Zspring 2018

    The assignments and exams are really well-designed. The format this semester is exactly the same as previous years. The professor does hold youtube live sessions for two midterm exams, which you don't often see in OMSCS. The exams are updated every year and you can actually tell it is constantly improving.

    It is important to try your best to get the extra credits, some of them are actually easier than you think. I got most assignments full grades, plus 70% of the extra credit, but bombed two exams---both are >10 points lower than the median---yet I still got an A. It can be said that the extra credits saved my ass.

    Content-wise, the course is basically a survey of some basic AI and ML algorithms, you may actually have heard of implemented some of them in other classes, but still, it gives you an wholistic view of what's in your toolbox, and sometimes they framed it in a way that uses different algorithms to solve the same problem. So it's very useful for anyone who wants to work on AI/ML in the future.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 15 hours / week

  • Georgia Tech Student2018-05-08T21:48:05Zspring 2018

    I got my A by pure brute force, but I learned a lot in the process. This class is great because it's a lot of programming. I appreciated the exposure to Numpy.

    This course would be best to take not as a first course, but it's high-level enough that I wouldn't push it off until the end either.

    Don't let the first assignment scare you away. I bombed it, but still did fine.

    I wish I had a better foundation in probability concepts before taking this course. I had to learn a lot along the way, and I still am uncertain about that area in particular.

    The lectures were meh. The exams did a good job of convincing me that I have no idea what the hell I'm doing. The TAs did a great job.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 30 hours / week

  • Georgia Tech Student2018-05-08T20:35:58Zspring 2018

    I'll echo most of the other reviewers in saying that this is an exceedingly challenging course. The first two projects are significantly harder than the others so if you can make it through those you should be good for the remainder. I had taken ML4T and AI4R before this class and those two definitely helped me prepare for the python/numpy needed. At minimum, I would recommend taking ML4T before this.

    My only gripe with the course was the exams. They would make excellent homework problems distributed throughout the semester instead of the ~50-page behemoths we were given. The problems were actually really great in terms of fostering learning outside of the projects, but that value greatly is diminished when you're on a 1-week deadline and are restricted in terms of the materials available to you. I did great on the midterm but by the time the final came around, I was already exhausted by the class and it clearly showed in my grade.

    That said, this was easily my favorite course in the entire program.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2018-05-08T20:31:52Zspring 2018

    6 solo projects, highest 5 are 60% of grade (lowest doesn't count at all). Midterm and final are 20% apiece. Median and above Get an A, median to 1 stdev below B.

    Unless you've got a 100 on five projects, don't think that you can skip one. The math won't work in your favor and more than a few students realized this too late.

    Final stats for Spring '18 were not released, but looks like B range was 72+ and A range was 87+.

    Projects are frontloaded, with Adverserial Search (Minimax/AB Pruning/Iterative Deepening) and Search (A*, UCS, bi/tridirectional) being the hardest and most time consuming. If they use the same style projects and you can make it through the first two you'll be fine.

    Midterm was tough and the final was a whole different beast. Both were long take homes and open "any course materials" (nothing else allowed). However clarifications on questions came throughout the week the assignment was open. My big suggestion here is to take a stab early, then the weekend before the exam is due redo the exam with the clarifications, and figure out why any answers are different.

    You don't need to be a python guru to do well in the class, but you should be comfortable programming in it. I'd brush up on your statistics and matrix math as well (or at least be able to decode matrix math equations).

    Rating: 4 / 5Difficulty: 5 / 5Workload: 25 hours / week

  • Georgia Tech Student2018-05-08T20:07:59Zspring 2018

    This was an excellent class, but incredibly hard class. There is a ton of material that's covered and you're expected to know a lot by the end. There are two exams and six assignments, but you only use your top five assignment scores. With the pace of the class, you'll be constantly working on something. By the end of the class I was completely burned out, but I felt like a learned a ton.

    Rating: 5 / 5Difficulty: 5 / 5Workload: 25 hours / week

  • Georgia Tech Student2018-05-08T16:52:26Zspring 2018

    Wow! This class is rough. It is written up as a survey class in AI but I'd say some of the work is probably harder than alot of specialized classes in specific subjects similar. I went in knowing little about AI and came out knowing a bunch of algorithms but not to much on how to put it all together.

    The videos: well done and think it was smart to use others lectures when appropriate to explain concepts. Sometimes someone else explained it quite good, why reinvent the wheel and like this design in the lectures. However, especially when Thad was teaching, there were somewhat of a very light explanation of really complicated subject matter not well explained. Thad is clearly very intelligent and sometimes takes for granted the intelligence or former knowledge of his audience.

    The book: You are expected to read this whole gargantuan book. It is dense and really really hard to follow. The algorithms given in book are in most cases better explained elsewhere, for example in the authors own videos. I learned multiple concepts better by watching videos elsewhere then I ever did this book. My eyes glazed over when I looked at it many times and found watching youtube videos on concepts way more productive.

    The projects: Time consuming and difficult. All the projects came with unit test which many times did a horrible job of actually testing your code. This also led you in a false sense of security especially when Bonnie submissions were limited. Bonnie submissions on some projects were unlimited but limited on others. Also, the feedback from Bonnie was usually unhelpful. Many times you were being forced to write a complicated algorithm from scratch even though the algorithm existed elsewhere. You would write it and it would seem to work with the crappy unit test you had. However, Bonnie wouldn't like it and you would be stuck with WHAT THE HELL IS WRONG HERE? You would spin your wheels for hours and hours trying to find a bug with no idea what was wrong. Again, you are implementing an algorithm you didn't write and purely in math form that was really complicated. If your are unfamiliar with the math symbols, etc, it could get you. And so you would have 8 lines of code where there was a bug but sometimes you just couldn't figure it out. Now here is the other problem. For some reason there were a number of people who did really well on the projects. So, he grades based on median being an A and 1 stddev being a B. However, the median would most times end up being a 100%. So, good luck with that. Note, the median is done at the end of class so the test bring down the medians to a nicer range, but it can be quite frustrating to learn that your 95% or 90% on a project is a B. Dropping the last one is also done in the median calculation so it actually makes the standard deviation get smaller.

    The test: Ridiculous. You are given a week and are take home. They are so much calculation and so easy to make a simple calculation error. The midterm took me around 40 hours and the final around 60 hours. I took three days off work for the final otherwise I wouldn't have been able to complete. It is really dumb too, cause it doesn't test ones ability to understand the concept but rather one's ability to do the math by hand. I ended up purchasing a scientific calculator as you have to have it to do the math. The other dumb thing is the test is open book but the internet is off limits. This means you can't use easier to follow explanations of an algorithm on spots like Wikipedia you had to use the confusing books explanations. This is another reason you had to use a calculator alot to do things like log10(x**(y/t)). And you would lose half credit for rounding incorrectly to the 6 decimal point. Test became about doing complicated calculations rather than understanding concepts and I found to be the most useless part of this class. Note, I got B's on the midterm and final median was 78.65% and 67.8%.

    The TAs: Overall pretty helpful but many times refused to help on certain things I believe as ordered by the Prof. Also, no help during test and had a now work on weekend policy which was super annoying since everything was due on Sunday. Never seen that rule before.

    Overall, the class is educational but don't think I could carry it into a good understanding of how to use AI in the world. I wish there was less focus on the math and more on the ideas which is what I thought a survey class would do. Maybe I should have taken ML which is I think more about the ideas and what they mean. I spend way more hours on this class then in any other I have taken previously yet my grade doesn't reflect that. So, take the class but know what you are in for. Be prepared to make sure your job isn't going to have any overnight emergencies or anything. There were many who didn't struggle as much as I did so ymmv but and I did go in very green. However, I have gone into other classes green and didn't struggle like I did in this one.

    Rating: 3 / 5Difficulty: 5 / 5Workload: 26 hours / week

  • Georgia Tech Student2018-05-08T05:54:34Zspring 2018

    This is a great course for learning many of the concepts related to AI. However, I won't recommend taking this as a first course.

    Rating: 5 / 5Difficulty: 5 / 5Workload: 25 hours / week

  • Georgia Tech Student2018-05-07T21:47:39Zspring 2018

    Similar to what a number of other posts have covered. But I would like to comment particularly on the use of Bonnie grading vs. unit tests. In numerous cases, the unit tests provided in the assignment passed only then to find that the same code failed on Bonnie.

    So if you assumed you were good because supplied unit tests passed that would be a dangerous assumption, especially as you get toward the assignment submit date. What then makes matters worse is that when Bonnie fails a test the feedback is virtually useless in terms of knowing what is wrong. This is not to say that students should write additional unit tests - what I'm saying is that the unit tests provided in the assignment were dangerous in that they generated a false sense of confidence.

    So overall a course that covers a lot of interesting content but as others have said there was too many topics covered in the course and it could be split into smaller courses. This would provide the ability for students to learn the material more thoroughly.

    The TA support was mediocre. I realize that TA's have their own projects which take their time but when a student takes time to ask a well thought out question, replies from TA's like 'yes' and 'no' don't really cut it. That is if the overriding goal of OMSCS is to spread learning and knowledge about all these new topics.

    Rating: 3 / 5Difficulty: 4 / 5Workload: 23 hours / week

  • Georgia Tech Student2018-05-06T20:15:19Zspring 2018

    Amazing course! I wish I could go back and take it again. The assignments take you on a journey through AI. The first assignment was really tough, but it kind of set the tone for the course and compared to that first assignment the rest didn't seem as bad. The midterm and final are take home and a great learning opportunity, provided you have enough time to do them. Make sure you read through the prereqs on the OMSCS site, most of the "I wish I had learned this before the class started" complaints I heard were almost verbatim from the prereq list on OMSCS. Thanks to the TA's and Prof Starner for a great course!

    Rating: 5 / 5Difficulty: 5 / 5Workload: 22 hours / week

  • Georgia Tech Student2018-05-06T07:33:17Zspring 2018

    Best class I've taken so far (out of 4). 10/10 would recommend.

    Topics are super interesting and important. The assignments are time-consuming but fun and enjoyable overall. Best thing is you can know your score as you submit as the class uses an auto-grading system.

    Exams are hard! They are 40-50 pages long and with a mix of types of questions (MCQ, short answers, fill in blanks, etc). They cover all topics in great details so you'll know you'll have to know the materials well to do well in this class. Personally, I love this because it forces me to think deeper and learn more from the materials.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 12 hours / week

  • Georgia Tech Student2018-05-02T21:03:38Zspring 2018

    Like many others, I have mixed feelings about this class. This is a dense course that covers almost the entire AI book. It moves very fast with every two weeks. The first 2-3 projects being the hardest of the bunch.

    Every week you are expected to read chapters out of the book. If you don't, boy are you in for a fun time with the midterm and final.

    Midterm and Final are take home exams and are given a week to complete them. I spent at least 20 hours on each one. If you work full time, expect your entire night and most of the weekend that week to be spent working on the exam. While I loathed the exams, I learned a lot from them. They cover all of the topics you read through, unfortunately you have to learn as you go. They release challenge questions throughout the semester that were previous exam questions. These somewhat help, but are not really the full cigar in terms of adequately preparing you for the exam. If you kept up on the readings, you'll at least know where to look to find the relevant topic.

    Dr. Starner is not very present in this class outside of the lectures. He hosted office hours before each exam and that was it. He rarely posted on Piazza. Some TAs were better than others, but they were overall okay.

    I don't recommend taking this class as your first course. Come in understanding python and numpy. A good understanding of probability will also help and will make Bayes Nets much easier. I spent a long time figuring it out but am still weak on Probability Theory.

    I also recommend not pairing this course with any others. Each week is pretty demanding and you'll really want to spend time understanding the topics and not feeling rushed with the projects.

    All in all I am walking away from this class with a much better, and deeper understanding of AI topics.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 25 hours / week

  • Georgia Tech Student2018-05-02T12:09:42Zspring 2018

    I am struggling to write this review. I was genuinely excited to take this class, having heard that a lot of people loved it. Now that it is over I have mixed feelings. Here are some thoughts:

    1. This course really should be split into 2 courses. There is just so much material that the semester feels way too rushed. I didn't get to fully process each assignment because it was due within two weeks, and then another (really big) assignment was assigned right away. The midterm and final were used to 'teach' us concepts that the assignments and lectures didn't go into any depth on. Having more time would allow for interesting programming assignments on topics such as neural nets, constraint satisfaction problems, etc. It would also allow for the midterm and final to focus on topics that have been fully taught. I have no idea the mechanics of splitting a course up, but I hope the idea is considered for the sake of future students.

    2. The midterm and final were rough. They were long (each took me 15-20 hours and I could have spent longer) and each one had some topics that were literally just a mention in the lectures. The student had to research and learn on their own how to solve problems and use certain equations. In addition, the questions themselves were not well vetted. Most questions required multiple clarifications during exam week, which required that you go back and redo questions you thought were done (to make sure your interpretation matched the clarification). The exam questions were excellent for homework problems, but on a high-stakes exam it was not a good experience.

    3. The curve is generous, so if your grade is low you still have hope of at least a B. Don't be intimidated by the 100% median on assignments.

    4. You get to drop one of the six assignments. This is critical considering how fast the class moves.

    5. Do NOT take as a first course. I recommend it be the middle or end of your course progression. I took it halfway through after ML4T, which was great because the Python/numpy came in very handy.

    6. Carve out time for this class. I do not recommend pairing it with another course, and find ways to set aside at least 20 hours a week.

    7. As far as prep, reviewing Bayes/basic probability and having solid Python skills will help.

    Overall I learned SO much from this class. The material was super interesting. I just wish the exams were done differently and the material could be more spread out.

    Rating: 4 / 5Difficulty: 5 / 5Workload: 25 hours / week

  • Georgia Tech Student2018-05-02T10:51:48Zspring 2018

    Here's the thing about this class: the class is curved, so that's good. Less good is that the median for the homework is often a 100 or close to it. That is because you CAN reach a hundred, but for the first few assignments you have to work for 2 weeks straight and be smart. For the second half of the assignment, it can be done more easily by working 2 weeks straight without the smart part.

    Your fellow classmates will reach a 100 in the assignments and drive the median up, so that means you have to as well. Then, since everyone presumably got full credit for the homework, it means the grade is based on the two exams, which are RIDICULOUS. You think you're good reviewing the lectures and book? NOPE. In both exams, there was new information entirely! There were wikipedia links to start learning mathematical concepts MID EXAM. Even if it was briefly covered in the lecture/book, it will be there on the exam. If the lecturer says "We won't get into this too much but here is a brief explanation" - don't worry, the exam will get into it in depth! You will get a chance to learn that material mid exam, which last for a week. Yay.

    Rating: 2 / 5Difficulty: 5 / 5Workload: 15 hours / week

  • Georgia Tech Student2018-05-01T17:32:35Zspring 2018

    I took this course during the during my second semester in the program along with CS 6035 IIS. My previous courses were CS 6250 CN and CS 6340 SAT. I had learned the basics of Python in CN but I had not used numpy at all before this course. Additionally, I completed a computer engineering undergraduate degree in 2014 as my only other exposure to computer science before this program. This information is all to compare to your own circumstances.

    Overall, this course was by far my favorite while also being the most difficult and most work thus far. Some projects took 10 hours while others took up to 50 hours due to my background. The projects are very diverse so if you've never seen some of these topics until this course, then your learning curve will be longer for each project like mine. The majority of the projects had extra credit that rewards those who know their coding and material. I highly recommend scoring as many points as possible on the projects as the midterm and finals are intense.

    Both exams are take-home exams that are 35-45 pages each with a full week to complete. I spent 40-50 hours on them to achieve a level above the median to make up for my lackluster performance on a project. These exams will thoroughly test your knowledge of each part of the course, which I prefer as you can't fake your knowledge. You are only allowed the class resources and book for these exams. No INTERNET, collaboration and so forth is allowed. The book is a must due to the complexity of the concepts and use for projects and exams.

    I highly recommend this course if you have never taken an AI course before as you will learn a ton. However, honestly gauge your knowledge and skills beforehand to see how much of your life you will have to give to be able to succeed. After taking two courses as a full-time student, I do not recommend another course at the same time if you work full-time unless you have expertise in python, numpy, and AI concepts.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 25 hours / week

  • Georgia Tech Student2018-05-01T17:22:01Zspring 2018

    I enjoyed this class - but it has a number of issues.

    Pros: I preferred the lectures taught by the professor (vs the ones taught by the guest lecturers). They kept my interest. I also thought the projects were sorta fun and helped ingrain what we were learning in lecture.

    Cons: TAs really slow and/or unhelpful. The projects could be a breeze if your mental model matched that of the TA that wrote the grader. But if your implementation runs afoul of the grader (even if it works locally and passes tests), get ready for many hours of hair-pulling trying to figure-out the inner workings of the black box that is the grader. The tests also bugged me. They were "fun" in the sense that there was some humor to them, but they're basically word problems that include a small amount of AI concepts and a lot of high-stakes arithmetic. You're literally building spreadsheets and/or writing code to solve problems and if your answer isn't accurate to within the sixth decimal, you get zero points. Quite tedious if you ask me.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2018-05-01T06:02:32Zspring 2018

    This class drove me absolutely insane.

    First: a huge chunk of the material on the exams were never taught through the lectures or the textbook. I took so much time to understand the lectures and readings. I look forward to seeing how much I know by taking exams in classes, but the exams made me feel like I was wasting my time. Almost every question requires the instructor to post a clarification on Piazza. Some of them even required a Wikipedia link in order to solve since it wasn't in the lectures or textbook. There is so much material to cover in this class, there should be no reason for adding material never taught.

    Second: The assignments take a LONG time to complete. There are 6 of them every 2 weeks. You cannot catch your breath. As soon as you submit the previous assignment, the next one is released and back to work you go for hours upon hours. I do want to add that the assignments helped me learn the material the most.

    Third: The TAs take an extremely long time to respond to questions. This is horrible when you have less than two weeks to work on the assignments and you need a clarification.

    Fourth: The lecture videos by professor Starner are awful and uninformative. The professor has two guest lecturers, Peter N and Sebastian T, and their lectures are way more informative and really good at explaining concepts. Professor Starner just reads from a script and is hard to listen to.

    I definitely would not take this class as my first AI class. I would take ML or other AI concepts first so that you know the material going in because when it comes to exams, you will not have been taught the material.

    Rating: 2 / 5Difficulty: 5 / 5Workload: 32 hours / week

  • Georgia Tech Student2018-04-30T18:34:23Zspring 2018

    Took this course as my 2nd in OMS after DVA. Looking back at the entire semester I feel this course really covers a lot of topics in the fields. Even though some of them are shallow, you do get deeper knowledge on the topics used for assignments, e.g. shortest path, A* search, decision trees/random forests, unsupervised learning (clustering), hidden markov model, etc. Some of them are must-knows for tech interviews. Also some very interesting topics like constraint satisfaction and logic planning, which could help you solve a lot of brain teasers:)

    I would say AI is about 2-3 times harder than DVA in terms of time spent, depending on your background. If you were like me, a professional developer in the industry for years, you will find it's easy to pick up python/numpy as part of your 1st assignment. But bayes networks, linear algebra and some other math really gave me hard time, so be prepared.

    There're 6 programming assignments about each every 2 weeks, plus two exams each takes one week to finish. This made the schedule really tight and I didn't have too much down time during the semester even just taking this 1 course. So be prepared for a few busy weekends and stay-up-late nights if you work fulltime or/and have kids to take care of.

    Overal I loved this course and I think it was a great first course to AI before taking more ML related courses, as long as you're ready for the challenge.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 15 hours / week

  • Georgia Tech Student2018-04-30T16:11:08Zspring 2018

    Overall, this is a quick tour of AI topics. You'll cover game playing, search, machine learning, pattern recognition, and a few other topics. The assignments are intense but overall manageable if you start early and use the resources available (I found the slack community the most helpful followed by piazza). The exams are rough. This semester we were given a week to complete a take home exam for the midterm and final. The exams are more open-ended than the assignments and require a lot of time. I think a few things could help students prior to taking the class:

    1. Be comfortable with python and numpy
    2. Take a course or two covering related topics prior to this course (ML4T, AI4R, DVA, ML, etc)
    3. Start everything early and ask questions.
    4. Complete any extra credit you can

    I felt like this class was definitely worth it for those interested in ML/AI and is probably better earlier in the program. If you have the time and interest, I would recommend giving it a try!

    Rating: 5 / 5Difficulty: 5 / 5Workload: 20 hours / week

  • Georgia Tech Student2018-04-30T14:28:38Zspring 2018

    I managed to stay sane at the end of this course. Although the concepts are really interesting. The course is extremely hard. This course requires some pretty strong statistics , conditional probability theory , advanced math and python skills using vectorization with Numpy package. If you plan to take this , please ensure you are really confident about these per-requisites, else dont bother. I do NOT recommend this as a first course and also , take this alone in a semester, do not pair it with anything else in your life during the semester

    Rating: 5 / 5Difficulty: 5 / 5Workload: 25 hours / week

  • Georgia Tech Student2018-04-29T14:51:38Zfall 2017

    This is a pretty hardcore course with 6 projects (one project can be dropped, only 5 projects count towards grading). Projects are coding based, in python. One of the things I liked the most is Bonnie (autograder) for projects which will make life easier. There are two exams which are week long, open book and takes almost the entire week. The cutoff for grade is curved and for A it was nearly 90%.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 16 hours / week

  • Georgia Tech Student2018-04-07T03:24:18Zfall 2017

    I think I disliked ALMOST everything about this course. The lectures were very understandable (too understandable) but kind of long (for the content), the book is just ok - often a savior though, the quizzes sometimes are unexplainably difficult considering the lectures they are attached to, and the assignments are just something else.

    In very short, my main complaint is the amount of material crammed into this course. This course could have easily been broken into at least 2 parts, one probabilistic (Bayes nets, decision trees, others) and one deterministic (A*, constraint programming, adversarial search etc). Unfortunately, with everything thrown in, some stuff will suffer (and is unfortunate, most of the stuff is worth studying more carefully).

    A second complaint would be about the lectures. I had a hard time taking them seriously, most of the time prof. Starner and assistants try to paint a relaxed and jokey/fun atmosphere, in some sort of popularity contest style. Laudable try, but unfortunately it made the lectures lack the rigor they needed, which proved a problem for assignments. It was impossible (IMO) to approach any assignment with the lectures only, which presented a problem in itself - if one puts 3-4h/week in lectures, just to have to read another 3h from the AI book, that makes the lectures kind of useless. And one needs all the time possible for assignments.

    Don't want to insist too much, but various other things added to frustration: fighting Bonnie (with its arcane errors) for assignments, fighting with TAs about solutions for mid/end term exams, the grading on the curve ("is it enough a 90% to get an A, when most assignments have 100% as median???"), opening the course with "adversarial search" instead of with actual "search algos", and many other small issues.

    Maybe I'm too biased already, I would recommend people buy the AI book and study it at their own pace. A lot cheaper and a lot less frustrating.

    Rating: 1 / 5Difficulty: 4 / 5Workload: 22 hours / week

  • Georgia Tech Student2018-04-03T22:35:03Zfall 2017

    Great class overall. I got behind and had to focus just on the HW instead of the readings/learning

    TAs were fair and quick a responding. NOTE the projects change somewhat frequently :/

    Rating: 4 / 5Difficulty: 4 / 5Workload: 15 hours / week

  • Georgia Tech Student2018-03-22T19:29:28Zfall 2017

    Wow, what a first class to begin the program with! There was so much work to be done, and with a full-time job, it was pretty crazy getting the time to do everything. However, even without an undergraduate degree in programming, I was able to power through the course and get a B. It isn't impossible, but it isn't easy. The ideas make sense, it's just putting them together that takes a while. Also, having had no prior exposure to Bayesian statistics really hurt me. If at all possible, I'd recommend you study that topic up pretty good before taking since it represents a major cornerstone of the course (and it isn't immediately intuitive). Just for those who don't know the difference between AI and Machine Learning (that was me!), Artificial Intelligence is not making computers that think for themselves. It is much more focused on finding clever hacks to make a computer work faster and more efficiently to arrive at a difficult (to compute, but obvious to humans) answer. I later realized what I wanted was more under the umbrella of machine learning or reinforcement learning, but alas! It was still a good class even though it wasn't exactly what I wanted.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2018-03-09T02:42:46Zsummer 2017

    As much as I learned in this course, I didn't enjoy it because it was just far too stressful and time consuming. Considering I took it in the summer, I highly recommend students save this course for the fall or spring, and take it as their only class. The main challenge in the assignments is that you can get stuck on one part for hours on end not getting anywhere, and that can continue to happen throughout the rest of the assignment!

    Rating: 2 / 5Difficulty: 5 / 5Workload: 25 hours / week

  • Georgia Tech Student2018-01-27T05:28:01Zfall 2017

    One of the best courses out there. Loads of learning and very helpful connect. Having good idea about python and ml basics will help a lot.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 8 hours / week

  • Georgia Tech Student2018-01-12T15:03:48Zfall 2017

    I liked this very challenging class a lot, although there difficulties as well. I am a programmer, but have no statistics nor linear algebra experience. I wasn't sure I was ready, given the complexity, but I jumped in. I felt like the assignments were incredibly fun and challenging, however, I didn't feel like the instructional videos offered more than a cursory understanding at times, and the book was cryptic if you didn't already understand the material. I'd recommend it for anyone who wants a real challenge and is looking to understand a broad overview of many different aspects of AI. The best instruction came from the guest lecturer Sebastian Thrun.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 18 hours / week

  • Georgia Tech Student2018-01-05T21:50:27Zfall 2017

    The beginning of the class was much harder (or at least more time consuming) than the second half. There are 6 assignments, and you could easily put as much time into each of Assignments 1 and 2 as the other four combined. The class is very interesting, challenging but not impossible, and very well organized. There were some minor issues with miscommunications and disorganization, but the professor and TAs are very responsive and very reasonable about finding solutions. Overall you will learn a lot in this class, but be prepared to put some work into it.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2018-01-04T19:03:43Zfall 2017

    I took this is one of my first classes in this program. While I wasn't prepared for how difficult it was, I managed to do well. The tests and programming assignments are very difficult and will require a lot of time. You will need to know and use a good amount of math as well. The material was very interesting, and overall worth the difficulty.

    Rating: 5 / 5Difficulty: 5 / 5Workload: 14 hours / week

  • Georgia Tech Student2017-12-27T23:35:25Zfall 2017

    This class is no joke. I had to rearrange my life to have enough time for assignments. You actually program the AI projects that you learn about in lectures. Note that my Python (and especially numpy) skills are at best average, although my statistics skills are good. Fellow students were very helpful on Piazza. Don't forget about Slack, too.

    Assignments: Some of the assignments require really strong math skills, most require a decent understanding of probability theory, and all require good Python scripting skills, including numpy. There were 6 assignments in the Fall 2017 class; you get to drop the lowest grade. The assignments are auto-graded and you get multiple (from 5 to unlimited) attempts to submit the assignment and you know your grade for that assignment immediately. I really liked that. Exams: take-home exams that take 10-20 hours to work through. Exams actually promote learning the material that wasn't part of the homework, so I liked that about them. Make sure to ask instructors any and all questions you might have. Don't try to get what the question is getting at, or you'll lose all the points for the question. Grading: The class is graded on a curve (median and above is A, one stdev below median is a B) but note that the median for most assignments was 100% (midterm and final were much lower, around 75%). For the online section, A ended up being about 87%, and a B was about 74% . Don't bypass extra credit questions if you have the time to complete them (some are very time consuming and others aren't). As the class progresses, you might not be able to complete an assignment, so extra credit on an assignment might be the difference between A and B, or even passing and failing.

    Overall, this was a great class, one of my favorites in the program, along with KBAI. If you actually have the prerequisites outlined, you'll spend much less time on it than I have and probably enjoy it.

    Rating: 4 / 5Difficulty: 5 / 5Workload: 30 hours / week

  • Georgia Tech Student2017-12-20T04:23:05Zfall 2017

    One of the most difficult courses in the degree but also one of the most useful. It teaches you the advanced concepts of AI ,and be able to apply them. To be able to succeed in this course ,you need to have a good foundation on probability theory and advanced programming skills in python,otherwise,you may struggle alot to keep up with the class. I personally was weak with probability concepts ,so had to struggle a lot. Also keep in mind that some the course structure may change every semester as the professor considers each semester of AI as a research opportunity by trying out different things to see what works and what doesn't.

    Rating: 4 / 5Difficulty: 5 / 5Workload: 30 hours / week

  • Georgia Tech Student2017-12-18T16:32:09Zspring 2017

    This was my first class in OMSCS and I thought it was fantastic. It provided an overview of AI concepts and techniques that I found challenging and rewarding. The TAs and professors were very engaged, responsive, and helpful. I initially put in way more than 20 hours/week during the first assignment until I figured out how to get help from the TAs using Piazza. Using Piazza and the student Slack channel made my life much easier. The material was still very challenging but getting to the resources I needed to solve the problems was much more efficient.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2017-12-14T17:02:52Zfall 2017

    One of the best classes I've taken so far! The projects were interesting and helped me understand a certain topic very well. The exams were hard but thorough and covered a lot of topics. I really liked the pace of the class and the lectures and textbook were both very good.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2017-12-13T11:08:35Zfall 2017

    Interesting subject and nice review of content in-terms of video lectures. Assignments are interesting and exams are ideal.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 25 hours / week

  • Georgia Tech Student2017-11-07T21:10:21Zfall 2017

    Good survey of several types of algorithms and concepts used in AI such as game playing, graph search, Bayesian networks, Markov models, and some machine learning. I don't have a CS undergrad so I was probably slower than the average student in terms of figuring out the assignments. The class needs to get a little better organized in terms of the quizzes (provided to on campus students in class, online students via Piazza). The quizzes were very helpful as study aids for the exams, but when combined with the lectures, readings, and assignments I sometimes felt overwhelmed by the amount of material. I learned a lot though, so it was worth the effort. They use an autograder system called Bonnie. I like Bonnie because it gives students feedback on their progress, so when you send in your final submission you should know what score you're going to get. All code is written in Python.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 25 hours / week

  • Georgia Tech Student2017-10-31T06:58:20Zsummer 2017

    Background: No prior experience with AI/ML but had a little idea about what things are

    I found the course very useful. The textbook used was "Artificial Intelligence: A modern approach, 3rd edition". The course covers almost the entire textbook. This is a great course that gives an overview of all AI/ML techniques. Even though it covers such a wide breadth of topics, the course does fair amount of justice to them. All the topics are covered in a depth that you can get a fairly good idea about the topics. The knowledge you will gain in this course will not be shallow as is usually feared from courses that have a very wide course.

    In terms of difficulty, I found the course to be fairly difficult. That is also given the fact that I did not have prior AI/ML experience. The assignments make us code various AI/ML algos from scratch with helps in a deeper understanding. Assignments will take time if your situation is like I had. Assignments are in python and good understanding of numpy can help.

    Exams are open book and pretty tough but fun nonetheless.

    TA interactions are great. In my time we had at least 2 great TAs who were always active on slack. You might find lectures a bit too shallow but textbook and additional readings make up for that.

    IMO this course is a must if you dont have a prior AI/ML experience and want to pursue ML specialization.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 40 hours / week

  • Georgia Tech Student2017-08-27T13:30:31Zsummer 2017

    This was my last course in the program having taken: CCA, ML, RL, CV, AI4R, DVA. Maybe this will be helpful for someone with a similar program track. I thought this course was not hard even though it was offered in the summer for the first time.

    The lectures and reading material are not difficult to comprehend. I found the readings easy to understand due to how the amazing job the writers did. I made an effort to read all suggested chapters after watching the lectures. This will definitely help you to succeed in both the assignments and the exam.

    Assignments: Start early studying the requirements for these. Identify which part of the material you will need to solve them. However, don't start coding right away, the instructors were still making some modifications after the release date. Always prioritize coding efficiently. All assignments can be completed with runtimes less than 30 seconds. This will help you perform tests and modify your code faster. If your code is taking longer than that go back and try to find where it can be improved.

    Exams: There were a midterm and a final both take home exams. Make sure you are caught up with the material (or at least most of it) before taking them. The questions are not hard and instructors were always there to clarify any possible ambiguity. They were also lenient with some questions when several students had a different interpretation of the problem statements. NOTE: Submit your pdf with what you did to get to the answer. They will give you partial credit if you got the answer wrong but your thought process was correct.

    Staff: In my opinion, the TAs did great. In spite of being the first summer offer, they handled the challenge well and were able to solve most issues. There were some problems with the final grading but my impression is that they eventually got resolved.

    I managed to get a 96% before the curve. They use the median to determine your letter grade: A = if you are above min(90%, median(final grades)).

    Rating: 5 / 5Difficulty: 2 / 5Workload: 10 hours / week

  • Georgia Tech Student2017-08-22T16:40:35Zsummer 2017

    I'll give a different point of view from most reviews - this could be useful if your background is similar to mine: when I took the class I had already taken: CCA, CV, ML4T, ML, RL - so I had a solid knowledge of python, probability and statistics, and ML.

    We had two weeks to complete most of the assignments. I managed to complete each of them in 3-5 days max (8-12 hours). Notice however I always started working around 5 days after each assignment was posted. In that way, I avoided wasting time with bugs or asking for clarifications on the instructions. It's a good idea to find that sweet spot: not too early, not too late.

    Some topics were review for me (Bayes Nets, Decision Trees, SA and EM from ML; HMMs, VI, PI, min-max from RL; Kalman filters from CV). But I got out a lot from the class regardless - for example I got to implement some algorithms which I "stole" when I took ML. The projects I enjoyed the most were the Game Playing Agent, and Tri-directional search.

    I liked the exams and their "open book" format, I think they successfully covered important material, and conducted me to learn and reinforce the theory.

    As others have mentioned, there were some (sometimes many) kinks and bugs in assignments and exams, but instructors were fair with respect to that (we got an extension due to some unclear instruction for some assignment, and we also got free bonus points for a couple of ambiguous exam questions).

    I only wish I had taken this class before other classes like ML, RL, but I guess then it would have taken me like 1. 5x the time. However, a nice survey course and I enjoyed it a lot.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 12 hours / week

  • Georgia Tech Student2017-08-22T13:10:49Zsummer 2017

    This was definitely a challenging course, especially to be done during the summer semester. I had taken KBAI the summer before which had given me some good experience in Python and some Numpy. Given that KBAI was my first experience with Python and Numpy, I still did not have a ton of experience going into this class. AI really improved my knowledge of Numpy and pushed me to learn how to write faster code (vectorized) using Numpy. This was something I had never done until this class and was required to meet some of assignment run-time requirements.

    All the projects were fun and interesting. This really helped me learn the topics thoroughly and dive deeper into each of the topics. What wound up working best for me was to just watch the videos, get good enough understanding of the current topic, then start the projects and read the book as needed. If I had more time I would have liked to read all the material but given that the summer class is shorter with the same amount of content covered in the class, and that I was travelling during some of the class I didn't have time to do everything.

    One thing I really appreciated about this class is that it also had a Machine Learning section and project that has now piqued my interest in ML! Before taking this class I had no real exposure to ML and now I'll probably wind up taking the official ML class.

    Grading feedback could have been a lot better / faster. There was a grading fiasco at the end of the class where a lot of students, myself included, had the wrong grade submitted to the transcript. The TAs were helpful in sorting out issues like this but it seemed like this problem should have just been avoided to begin with.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 30 hours / week

  • Georgia Tech Student2017-08-20T16:05:41Zsummer 2017

    This first summer AI section was rough. Cramming a dense 16 week course into 12 weeks without omitting anything was ambitious. But then Dr. Starner was on sabbatical at Google all summer (working on Google Glass). So, our head instructor was one of Dr. Starner's Ph. D. students, and he hadn't been involved with an OMSCS course before. That led to some issues that I'd never experienced or heard of in other OMSCS courses.

    The good news is that I learned a lot. The R&N textbook is good. There were 6 fun and instructive programming projects. Each had an autograder with a submission cap (e. g., 1/hr or 20 total). I averaged 20 hr/project and got to 100 on 5 of the 6 projects. On project 3 (Bayes Networks), I only got to 85 after 37 hours and 20 submissions. Thankfully, we got to drop our lowest project grade.

    The videos were from three different people and had dramatically different quality. Thad Starner's videos were great - professional and easy to follow. Peter Norvig's videos were ok - made with home video but with good explanations. Sebastian Thrun's videos were terrible - made with home video and with awful explanations. Thrun's videos covered some of the hardest topics (e. g., Bayes Networks), so they were a big disappointment.

    The midterm and final exams were take-home, and they were good learning tools. They made me dig into several areas deeper. Each exam required a lot of TA clarifications on Piazza, but the TAs graded the tests fairly trying to take all the clarifications into account. The TAs were cool about regrade requests too if you could justify why you needed one.

    I averaged 22 hours per week and had an A before the curve. My only prior Python use was in the CN course (CS 6250), so I didn't know Numpy. This course takes hard work, but I strongly recommend that you only take it during a full semester when Dr. Starner is available to manage the course. I finished less interested in AI & ML than when I started.

    Rating: 3 / 5Difficulty: 5 / 5Workload: 22 hours / week

  • Georgia Tech Student2017-08-19T07:39:43Zsummer 2017

    I really like this class but it was super difficult and I don't think it's suited well for a summer semester.

    Thing that will make this class easier:

    • Experience with python
    • Extensive experience with numpy
    • Previous experience with machine learning
    • Recent experience with college level mathematics

    If you have none of these this class will be extremely difficult. Personally I only had the python experience, and I haven't taken higher level math classes in nearly a decade. This class was a giant source of anxiety and a massive timesync for my entire summer, and somehow I scraped by with an A.

    Very interesting material, but don't take it in the short summer semester.

    Rating: 5 / 5Difficulty: 5 / 5Workload: 20 hours / week

  • Georgia Tech Student2017-08-14T17:39:42Zsummer 2017

    I had all the prerequisites (not ML) and what should have been enough time but TBH couldn't hack it, and dropped at last moment. So I recommend watching all the lectures or reading all the material (chapters 1 - 21 except 16, 19, >20. 3) ahead of course. You'll definitely need to do both to get through, the first time that's been true for me in 9 OMSCS courses. Other problems: When I pointed out that the TAs cancel office hours without notice I got a promise that it won't happen again -- and 0. 00 TA behavioral modification, which still strikes me as bizarre. Ran into a nasty bug that prevented assignment completion and dropping the course. We reported it, but TAs never followed up, so the bug hasn't been corrected in the source library. I'm trying to find time to create a minimal, non-HW example and report it myself. Without a test for every aspect of an assignment that the server tests for, there is a real risk that you won't find every nonconformity from (sometimes nebulous) desiderata in your code. Students should get different tests that nevertheless cover every test /type/, but evidently the professor has a, IMHO, misplaced fear that we're already so good at AI we can evolve a general solution from the tests.

    Rating: 2 / 5Difficulty: 5 / 5Workload: 30 hours / week

  • Georgia Tech Student2017-08-14T15:42:50Zspring 2017

    Decent course and I learned a considerable amount. I really did not like that some of the assignments' starter code was difficult to understand and sometimes TAs would have to go back and fix bugs after the assignment was released. I spent more time than I should have trying to figure out how the starter code was set up (bad documentation). This got better as the course progressed so I think the TAs were taking our feedback into account and pushing more polished assignments. The assignment medians are also very high. 98 or 99 in many cases. You have to get perfect score on almost everything and hope that some others do not, in order to get an A in this class.

    Rating: 4 / 5Difficulty: 5 / 5Workload: 20 hours / week

  • Georgia Tech Student2017-08-10T17:56:50Zsummer 2017

    It was not as hard as before. It seems that some assignments and videos were remade for this summer session. As a previous message said, if you have background in machine learning, you will already know a quarter of this course. The grading was friendly. In total, I like this course, because of interesting assignments and enthusiastic instructor. At least, it saves my GPA.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 20 hours / week

  • Georgia Tech Student2017-08-09T13:12:16Zsummer 2017

    Great course with interesting projects. The material is relevant and it covers a lot. I think that if I were to take this course I wouldn't do so unless I had studied a decent amount of the material ahead of time as you will be pressed with both knowing the material and demonstrating that knowledge in python. It could be overwhelming for some as you will be pressed for time. The only real negative in the course is Bonnie the autograder. Recommended

    Rating: 4 / 5Difficulty: 5 / 5Workload: 20 hours / week

  • Georgia Tech Student2017-08-07T19:45:21Zsummer 2017

    First of all, I don't think this AI course is a prerequisite to KBAI. I'm fairly certain you'll survive KBAI w/o taking CS6601.

    Many people on this site rated the difficulty as at least "Hard". Quite frankly for people like me who have ML background, this is probably an easy one. There was nothing I couldn't understand in the lectures. The cutoff of "A" grade is >=78% (Summer 2017). This means so long as you got a full mark (not quite hard to achieve) in every assignment (accounts for 60% in Summer 2017) and don't bomb the midterm or final (accounts for 20% each), you're good. The lectures will get you intrigued about major AI topics, but certainly won't make you some AI juggernaut. What on earth is AI anyway? Occasionally, you need to write your own unit test for the assignments. The XYZ_test. py files they provide weren't perfect - let's put it this way. TAs are trying their best to be helpful with their delightful sense of humor. In most cases I waited for 24-48 hours before a TA addresses a question I posted on Piazza. There were complaints about absence of TAs, so I'd suggest them hold daily mentoring sessions instead of just 3 times a week for summer terms (perhaps less frequent for spring/fall since it's less intense). People got frustrated by unclear expressions in the assignments and exams. Unlike other courses I've taken, the instructor was almost absent on Slack or Piazza. I have no idea why - probably he was on summer vacation and handed everything to TAs...

    Rating: 4 / 5Difficulty: 3 / 5Workload: 20 hours / week

  • Georgia Tech Student2017-06-15T13:09:24Zspring 2017

    The instructors are ignorant and super unhelpful. You can wait up to a week and still won't get your question answered. You do all work by yourself, not worth the money at all, better to take open courses elsewhere if - will get the same level of knowledge and help but for free.

    Rating: 2 / 5Difficulty: 4 / 5Workload: 40 hours / week

  • Georgia Tech Student2017-05-17T21:28:25Zfall 2016

    I took this with SDP as my first two courses during my first semester. Thad and the TAs were excellent in every way. They created challenging but rewarding projects and were very responsive to questions on Piazza. I would recommend taking this with a less difficult class as the projects and material are very time consuming and complex. Also, I had never used Python before, but the class would have been much easier if I had.

    Rating: 4 / 5Difficulty: 5 / 5Workload: 20 hours / week

  • Georgia Tech Student2017-05-16T17:17:03Zspring 2017

    Very good course. Worth to take. Thanks for the lectures and TAs!

    Rating: 5 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2017-05-10T14:08:38Zspring 2017

    Awesome class. Some highlights:

    • Both very hard and and very time consuming
    • the lessons introduce the concepts, the reading fills in the gaps, and the projects and exams are where the reinforcement learning really takes place
    • Do ALL the reading. Try your best to do the readings and lessons before beginning the projects
    • Python experience -- if you don't have it, get some in advance. Anyone familiar with Java or C/C++ should be able to work comfortably in Python. If you have time, get familiar with numpy
    • Brush up on linear algebra, logarithmic math, and Big O notation

    TA's were very engaged. Professor Thad had a busy travel schedule this semester, but his passion for the topics came through in the office hours and times he participated on Piazza.

    Two cons:

    • the projects come out as a "work in progress/beta" -- if you start early, prepare to be frustrated with moving targets, bugs, and changes along the way. If you wait until the "official release" expect many sleepless nights to finish the work on time

    • it was announced at the beginning that grading would be based on class median -- anyone above the median would get an A. This led to a significant amount of churn over grades in Piazza and Slack and a funny "if I help you I might hurt myself" dynamic which prevented collaborative learning. In the end, an overall grade of 69 and above was a B, 85+ an A. Grading was fair, students need to chill.

    Rating: 5 / 5Difficulty: 5 / 5Workload: 21 hours / week

  • Georgia Tech Student2017-05-09T02:24:12Zspring 2017

    One of, if not the hardest class in the program. Assignments are a lot of fun, but require fairly advanced python skills to go the extra mile. Exams are take home, but are extremely hard and time consuming. You are only given a week to complete and they are given concurrently with assignments.

    TLDR: very fun class, but come prepared and don't take it lightly.

    Rating: 4 / 5Difficulty: 5 / 5Workload: 30 hours / week

  • Georgia Tech Student2017-05-06T09:42:35Zfall 2016

    This course is not for the faint of heart. But it is a very interesting and fun course. Focuses in general on breadth, you will get exposed to the entire AI space. And focuses on depth in the topics of the assignments. The assignments are very hard and take lots of time, and require very good knowledge of Python. But very rewarding. 2 take home exams that are also very hard. The lectures are shallow though as they try to cover so much, you'll need to do the recommended readings otherwise you will struggle with the assignments and the exams.

    Rating: 4 / 5Difficulty: 5 / 5Workload: 30 hours / week

  • Georgia Tech Student2017-05-04T13:12:36Zspring 2017

    This course was fun but I really didn't learn much other than how to try enough solutions to get an answer. The exams for this class are a complete joke because it's basically just the TAs getting together to figure out gotcha questions. Each exam question is an extreme deep dive into one of the many subjects this course covers then modifying one small feature of the subject and asking vague questions about it that you must infer a lot of what the TA was thinking when they wrote it. They also give you a week to complete the exam so there's no real studying for it and you should expect to spend 10-15 hours on it. The assignments are fun but don't relate to each other so you will learn a lot about the subject then completely erase your memory for the next subject. I enjoyed this class but the exams didn't really test anything other than how good you are at guessing. The professors doing the lectures are really smart though so the videos are pretty entertaining.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2017-04-24T04:10:15Zspring 2017

    This was a great course in which you could learn a lot. Of course, it is a little bit difficult, but you would have so much fun in the class and solving the assignment and you would learn so much that it is totally worth it. Professor Starner was fairly involved in the class and answering students questions which made the class more lovely and desirable. The assignments were well designed and TAs are really responsive and wanting to help My first class in the program and I love it.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 12 hours / week

  • Georgia Tech Student2017-04-07T12:48:29Zfall 2016

    • The content is very interesting and we implement ourselves a lot of algorithms
    • Lots of problems with Bonnie and the automatic notation was not always fair. This is probably because the course was quite new at the time
    • The TA and teachers are there to answer your questions and were active
    • Some projects are a LOT of work... I spent weekends on it
    • The material is very well done but not very funny to watch even if they tried their best... Overall I learned a lot and even if it was hard and got frustrated often, I liked this class

    Rating: 4 / 5Difficulty: 4 / 5Workload: 24 hours / week

  • Georgia Tech Student2017-04-06T19:44:34Zspring 2017

    This course is very rewarding, given that you put in the time and effort. I made the mistake of taking this along with one other class, but even then it only got a little overwhelming toward the end of the semester. Before this course I would recommend knowing a little bit of Python, and review your statistics -- probabilities, basic distributions, and Bayes' Rule are all very important throughout the course.

    The one problem I had was with Bonnie, the homework grading system. It seemed like the system wasn't set up and tested well enough before the assignments began coming in, but this seems like more of a "growing pain" than an inherent problem.

    Rating: 4 / 5Difficulty: 5 / 5Workload: 30 hours / week

  • Georgia Tech Student2017-02-08T16:50:58Zfall 2016

    I am a professional software developer who had never taken a course like AI so almost all of the concepts were new. I had never coded in Python before this class that by the first two weeks, you better be ready to learn as you will already be coding and completing and application in that period of time. Aside the challenge, which I knew it would be, the course lectures were incredibly engaging and the assignments were incredibly tough and engaging. You will know in the first two-three weeks whether you will enjoy the challenge or be defeated by it; however, I will say that if you stick the course, it will be very rewarding.

    My lessons learned and advice is to complete the lectures right away to let the concepts sink in and start the assignments early. You will not be able to do the assignment the night before (trust me, I tried and got burned once). Also, give a good amount of attention and time to the midterm and final. I failed to think the midterm would be as long as the assignments as I was wrong. Many of the polls stated people spent well over 20 hours on the midterm. Also, be sure to understand the grading structure as I completely missed the ball on that. For my semester, it was a curve where everyone above the mean got an A and the professor separated the class on two curves for on campus vs online (which was a point of contention for most but was explained with good reason as on campus had additional time & resources and the means were statistically different to show for it. )

    Best of luck in the class and hope you stick through the pain and relish in the accomplishment when you are done.

    Rating: 5 / 5Difficulty: 5 / 5Workload: 25 hours / week

  • Georgia Tech Student2016-12-20T22:38:19Zfall 2016

    I liked the class for intended content. I thought most of the projects were made intentionally time consuming without much support in the concepts themselves. Lectures were a little lacking in detail with a few exceptions. Many lecture quiz solutions were not explained at all. The course took more time than necessary to learn content because it was very much self taught regarding details. I was a little disappointed in the presentation and instruction in this course. Big high fives to the TAs for getting grading done quickly.

    Rating: 3 / 5Difficulty: 4 / 5Workload: 30 hours / week

  • Georgia Tech Student2016-12-20T15:30:00Zfall 2016

    The course content was excellent. Most of the video lectures were great. The highlight of the course was the homework assignments, which gave a practical exercise in implementing AI concepts yourself; I wished there were at least 10 of them (there's only 6 in the class). On the down side - the course pacing wasn't the best. The first half was great at going into depth at each subject, but the second half was definitely rushed, as if we were running out of time faster than the instructors had planned. I'd wished the pace had been quicker towards the beginning, so we'd have more time to look at interesting topics like logic, logic-based planning, and machine learning (though, I understand the last one's covered in another course) - perhaps ML could've been shorter or non-existent, and be deferred entirely to the actual ML course, so we'd have more time for other concepts?

    Rating: 4 / 5Difficulty: 3 / 5Workload: 20 hours / week

  • Georgia Tech Student2016-12-20T14:19:35Zfall 2016

    This class was one of the most difficult classes I have taken in the program but found it to be one of the most rewarding. It covers a wide variety of topics in great depth so be prepared to put in the time. As others have mentioned, there are 6 assignments (highest 5 count towards your final grade) and 2 take-home exams. Do not underestimate the exams because they are take home - they are no joke. If you fall behind on the readings, the exams will take you some time. I think I spent around 60 hours on the midterm. I felt the exams were a great mechanism for learning the material however. Overall, this class was amazing and one of my favorites. I highly recommend this course!

    Rating: 5 / 5Difficulty: 4 / 5Workload: 30 hours / week

  • Georgia Tech Student2016-12-20T00:27:33Zfall 2016

    • Excellent introduction to AI.
    • 6 assignments in total, I recommend to start each assignment as soon as you can, as they can be very time consuming. If you leave them for the weekend before its due, they will most likely suck up your entire weekend and you will be hitting your head against the wall for not starting early.
    • 2 Take home exams, as with the assignments they require a lot of time. Difficulty is ok if you have a good understanding of the assignments and you are up to date with your readings. Take lots of notes as no internet usage is allowed except the notes you have an any links they have in them

    Rating: 5 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2016-12-16T16:16:40Zfall 2016

    Videos and syllabus were the highest quality of any class in OMSCS. Assignment workload was double what I think it should have been and at some point you run out of time to truly understand the underlying material and just grind it out on the assignments. I'd suggest testing on the reading more and less on outright coding.

    Rating: 4 / 5Difficulty: 5 / 5Workload: 25 hours / week

  • Georgia Tech Student2016-12-14T23:28:58Zfall 2016

    As other reviewers commented, there are lots of bugs and erratas in Fall 2016's assignments and exams. I think with the feedback they got, this will be improved for the next iteration.

    The lectures don't really go into details some of the times, you need to read AI a modern approach 3rd edition. The book is a bit dry to read. Also there are extra readings for the challenge / extra credit part of the assignments which are not covered in the lectures.

    For the logistic/execution this class falls short, 3 stars.

    AI covers a lot of interesting topics. They are all very useful techniques to learn.

    1. Game Playing
    2. Search
    3. Simulated Annealing
    4. Constraint Satisfaction
    5. Probability
    6. Bayes Nets
    7. Machine Learning
    8. Pattern Recognition through Time
    9. Logic and Planning
    10. Planning under Uncertainty

    So for the subject matters, this course gets a 5 from me.

    I wish they would tune the assignments so you don't have to do the superficial boring stuffs (each assignment has 50-60% easy points that you can get by doing the minimal) and add more (shorter) assignments to cover the topics omitted. The assignment and feedback are big part of the learning for me.

    Overall I'd give this course a 3. 5 - 4 stars

    Rating: 4 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • Georgia Tech Student2016-12-14T22:07:31Zfall 2016

    I enjoyed the class a lot. It covers a lot of topics, backed by the ultimate Russell/Norvig AI book. The lectures are a combination of old videos by Norvig/Thrun and new content by Thad Starner and head TA Shelly Baghi. The quality of the new content is amazing, with subtle jokes and animations; the old ones are poorer. Along with the book and lectures there is additional material usually linked to from the week's overview or some assignments, or by other students on Piazza. You might also find more content online; I personally liked lectures from the AI class at UC Berkeley (http://ai. berkeley. edu/course_schedule. html). With practically everyone drawing from the same book, you'll keep running into the same examples over and over again but sometimes having it explained by another person just makes the idea click.

    There were 6 assignments, with best 5 counting towards your grade (worst score is dropped). They require you to understand the algorithms in theory and be comfortable with Python. They usually consist of several parts, starting with basics and progressively diving deeper, offering bonus points for implementing advanced algorithms described in attached papers. The assignments were the best part of the course in terms of learning but at the same time could be very annoying when you're trying to find a bug in a complicated algorithm. It's just not the type of problem you can solve quickly on StackOverflow.

    Midterm and final exams starting with our semester were open book. They each took about 10 hours to complete and motivated you to consult the book/lectures to fully understand the topics before committing to an answer.

    On average I spent about 10 hours per week on the class (counted by Toggl) but by no means it's an easy class. Unless you're a skilled programmer and used to watching lectures at 2x speed, you could easily end up needing twice as much.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 10 hours / week

  • Georgia Tech Student2016-12-12T14:03:15Zfall 2016

    There is some good content in this class and I felt like I learned a decent amount about various areas of A. I., however the class in general feels unpolished in its current form and almost feels like a "beta" release. Most assignments and exams had multiple corrections made to them AFTER they were assigned, causing frustration as you are trying to work on something that is constantly being altered. Lectures are inconsistent in quality/polish as well as how much material they cover and how well. Some lectures seem to be re-used Peter Norvig and Sebastian Thrun videos that are nearly unwatchable and not remotely on par with other OMSCS classes.

    There are definitely some bright spots in the course and I could see this being a strong offering later on if they refine/replace a lot of the older and poorly quality controlled content. Assignments were relevant to the course material and did a good job pushing you to learn the material thoroughly. Some assignments even had auto-graders which I appreciated because you could roughly know your grade on the assignment before the submission deadline. To their credit, the TAs were also fairly responsive and willing to admit and correct unclear areas of assignments and exams almost to a fault.

    Overall I would still recommend this course as a good first A. I. course, however keep it mind it still has some growing pains and isn't a great representative of the OMSCS program as a whole.

    Rating: 3 / 5Difficulty: 4 / 5Workload: 25 hours / week

  • Georgia Tech Student2016-12-11T05:57:24Zfall 2016

    There is a good class hiding somewhere in the course materials, but it wasn't on display in Fall 16. Overall structure was 6 projects and two exams. The grading is a little wonky, because only your best 5 assignments count, and your final grade is based only on your overall standing at the end of the class. Anything over the overall course mean was an A, and the B cutoff was generously below the mean.

    The lectures are a patchwork of old content from Thrun and Norvig and some new modules with Starner; production value is good, but the new content is often superficial, and it seems to be read from a script. (I'm not saying I could do better, but there are better lectures in the OMS program at this point).

    Contrary to other posters, I found this class to be a constant frustration. The projects were error-laden, and the staff participation on Piazza was below-average; however, office hours and instructor participation in the class were much better than other classes. The projects were not particularly difficult (similar to RL or CV), but there was not a single graded exercise this semester (assignment or exam) that didn't contain obvious mistakes/errors. Sometimes the staff would acknowledge the issue and make a correction, and other times... not.

    It was not beneficial to start the project early (because of the errors), but it also didn't always pay to start them too late because they would often make changes to the assignments after they were officially released. The autograder (i. e., "Bonnie") used to grade assignments would get overloaded the weekend that assignments were due and cause all kinds of reliability problems. I think the Bonnie servers are Udacity infrastructure shared by all GT classes that use the system, so large classes (6601 started with 400+ this term) and overlapping deadlines cause issues.

    Give it another couple semesters to work out the bugs before taking this one.

    Rating: 2 / 5Difficulty: 3 / 5Workload: 8 hours / week

  • Georgia Tech Student2016-12-11T05:03:58Zfall 2016

    An excellent introductary course to the field of AI. Prof. Starner and all the TAs are a bunch of extremely passionate & dedicated group of people not only about the subject matter but to teach it. It's not like they demonstrated this passion once in a while but I've noticed the trend consistently through out the term; they've gone out of the way to explain things be-it assignments that each TA handled or holding office hours, answering questions on piazza etc. Not once did I feel a disconnect from the class. One thing that impressed me the most was Thad spending 2. 5 hrs giving a walk through of midterm; something that we don't see too often by any Prof of that class & calibre (such things are generally dealt by the TAs). Almost all the TA's were highly motivated, fun to work with on assignments & were highly responsive on piazza (sometimes even on holidays) & the best part was they are all humble enough to learn from any occasional mistakes that happened in setting up assignments or questions in the exams. The course is pretty loaded (especially if you are working fulltime). There are 6 assignments, 1 midterm & 1 final exam. The assigments were all challenging covering various areas of AI. This is my 4th course & clearly I've spent the most number of sleepless nights(almost) during this term :) Both the midterm & the finals are open book format & we had a full week to submit. This meant the questions were pretty open ended & challenging. Found this format of exam very benefitial. Gives you an opportunity to review the material well before answering. For once, it felt like it was testing what you know and not the 2-3 closed book formats which was testing more of what we don't know/remember.

    Overall, I'll recommend the class highly if you wish to explore & know more of what AI, ML etc is all about...

    Rating: 5 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2016-08-15T00:27:40Zspring 2016

    This course was very difficult, took a ton of time and was very stressful at times. That being said, I'd take another class like it in a heart-beat! Thad's level of interaction with the class on piazza and in the office hours really made you feel like he cared about your understanding.

    Rating: 5 / 5Difficulty: 5 / 5Workload: 40 hours / week

  • Georgia Tech Student2016-07-29T15:28:02Zspring 2016

    Great course: lots of fun and you learn a LOT (broad survey course). The projects can be a bit tough, so start on they as soon as possible! All of the material (lectures, book) is straightforward and practical, which makes the course very accessible.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2016-07-06T02:42:53Zspring 2016

    It is good survey course. I did not found assignment very time consuming but mainly because I have taken ML course before and I am proficient in python (pydata stack). I would recommend taking ML and getting a bit of python exposure in advance (you can do one of ML assignment in Python for that). I liked Thad's approach to designing assignment and exams, particularly the aspect that assignment start with topics covered in lectures but then gradually goes beyond so that you have to research more advanced topic. However, I found videos to be little less engaging compared to ML and can be improved.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 10 hours / week

  • Georgia Tech Student2016-06-02T21:50:38Zspring 2016

    This is a survey course in AI and a great one! It covers a lots of AI materials that can be used in other computing disciplines as well. The assignments are hard but lots of fun, just completing those is an accomplishments I think. Exams are open book and I have found it easier than assignments in comparison. Grading is curved and fair. Teacher and TA's are one of the best in the programs. The lectures could be improved to cover more materials required to complete the assignments as well as super important in any AI course (for example, Markov Chain); I have spent considerable amount of time learning concepts from outside source (online academic source, somewhat ironically) to complete assignments. This truly feels like a GT graduate level course where the expectation from students is a bit high. After completing this course I think I can better understand the AI zeitgeist and actually comprehend the technical discussion around AI.

    Rating: 5 / 5Difficulty: 5 / 5Workload: 25 hours / week

  • Georgia Tech Student2016-05-17T16:03:44Zspring 2016

    This is a great overview of AI. The lectures do a great job of presenting the material with quizzes to reenforce your understanding. A few of the sections use videos from the older intro to AI course but I think those will be updated. This was the first course I've taken that actually felt like a graduate level course. There is a lot of reading (almost the entire book) however the exams are open book/notes.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 15 hours / week

  • Georgia Tech Student2016-05-14T15:28:08Zspring 2016

    This course had 6 assignments in total. 1 midterm and 1 take home exam (for 1 week). I can tell every assignment was challenging and required a significant amount of effort to complete. In many of the assignment you will need to deal with some python subtleties like vectorizing your operations on images using numpy (this can take some time to grasp). This class also requires probabilities but some lectures are completed dedicated to introduce you to what you need. This class had very high quality and great professors like Thad Starner, Peter Norvig and Sebastian Thrun. The textbook is a great book. I learned a lot in this class. I hadn't taken any AI class before and still managed to get good grades but I had to put many hours.

    The TAs and professor were very responsive.

    Rating: 5 / 5Difficulty: 5 / 5Workload: 25 hours / week

  • Georgia Tech Student2016-05-12T01:55:12Zspring 2016

    I withdrew from this class after the first 5 weeks. The topic was interesting and the lectures were great. But no matter how many hours I spent on the assignments, I couldn't get everything to work correctly. Programming assignments like the ones in this class need to provide clear, timely feedback. I spent way too much time figuring out minor python bugs and not nearly enough time actually learning artificial intelligence.

    Rating: 2 / 5Difficulty: 5 / 5Workload: 35 hours / week

  • Georgia Tech Student2016-05-10T15:12:04Zspring 2016

    Quote: this course is a survey of algorithmic hacks to NP-hard problems. In reality, it was interesting to learn about present-state AI research from prof. Starner and his work in Sign Language recognition, wearable computing, and Dolphin communication. This course was the initial offering of 6601 for the OMSCS program. The professor and the TAs input an enormous amount of effort to pull off this course - my thanks to them. As a note of context, this course was advertised to be offered in Spring '16 and then cancelled late Fall '15 and then surprisingly re-released at the 11th hour.

    As the course advertises in its description, it is intended for those who have some background in AI or are ready to jump into the deep end (true statement) The description asks for 9 hrs per week and it should be modified to reflect the true effort required in this class. Most students, including myself, input 20+ hours per week to stay afloat. Most of the time you spend will be on solving an assignment and researching. It's very easy to forget that you have to watch the lectures as well!

    The professor's assignment methodology was to introduce a concept through lecture, then complete some 'warm-up' problems in the beginning of each assignment to develop intuition. At the end of the warm-up, you solve more difficult problems by implementing solutions that had not been explicitly covered in class. This was certainly the most rewarding and difficult part of the class!

    There were several first-time hiccups in assignments and exams, however the TAs and the professor had open ears and minds and ultimately made it right and I'm sure that the next offering of this course will be even better.

    I learned an incredible amount about the material even though I felt overwhelmed during the majority of the course. This is certainly an opportunity to become familiar with the AI field with an intensive, hands-on experience from which you will benefit greatly.

    Rating: 4 / 5Difficulty: 5 / 5Workload: 30 hours / week

  • Georgia Tech Student2016-05-04T20:58:27Zspring 2016

    This was a great class touching on many topics in AI. The videos were fun (corny jokes - 'poor #4'), informative, and did a great job of introducing and reinforcing the concepts being taught. The assignments generally transitioned well from the lectures, but sometimes there was a gap. Usually, you could get most of the points [awarded] for an assignment from the lectures and class materials. To go all the way, you needed to do a bit more work [i. e. research]. All in all, very fair and quite straight forward.

    No group projects required.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 10 hours / week

  • Georgia Tech Student2016-04-23T08:01:29Zspring 2016

    This course requires a lot of commitment, the assignments require additional investigation and strong knowledge of Python plus Numpy and Scipy.

    Personally I did not know a lot of Numpy starting the course and was forced to learned as the course progressed, had I known it beforehand the assignments would have been less complicated.

    This is my first course on the program so I cannot compare with other courses in the program, but I had to dedicate a lot of time to this one.

    Definitely get the recommended book... either buy it (you will not regret it as it is a great book) or get the online version. There is a lot of reading based on the book.

    There had been a few bugs in videos and assignments, which I expect to be fixed in the next iterations of the course.

    Even with this small issues I have really enjoyed this course.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 30 hours / week

  • Georgia Tech Student2016-04-11T16:45:07Zspring 2016

    I've taken KBAI, AI for Robotics and ML (among others). I think these three combined will give you some solid understanding in AI/ML algorithms. A great difference from ML is that ML focuses more on bench-marking/ comparing different algorithms, but AI is the opposite, asks you to create algorithm from scratch. A lot of mysteries in ML for me are answered in this class. I tend to disagree with other people about the assignments though... I don't think they are that difficult if you some background in statistics, I finished many of the assignments in 2~3 days, I wouldn't say that's ideal though.

    Overall a really great course to survey many of the AI topics, sometimes it felt to me they are rushing through the topics. I do wish them to separate these into two-semester long course so we could go deeper in some of the topics or maybe open a follow-up advanced level course though.

    The piazza is really active, almost too active that I could barely follow, but I guess that's always good.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 8 hours / week

  • Georgia Tech Student2016-04-02T18:20:20Zspring 2016

    TL;DR: You must be a very good with Python before taking. Assignments are vague and seem hastily prepared. Instructors and TAs good. Most problems probably due to first time offering

    It's best to think of these class as seminar where the lectures are really only a cursory review of the material but you are then expected to do independent research to implement the assignments. (One assignment involving MCMC is covered in the lecture for only 90 seconds). Unlike many classes where the starter code provides a lot of the minutia functionality, this class you pretty much build from the ground up. The starter code when provided is sparsely documented and seems hastily prepared. Got the impression that each TA was assigned the task of creating one homework for the class, but then those assignments weren't tested or validated by the other TAs/Instructor prior to launch. In many of the other classes, (like Intro to CV or KBAI) the assignments, while hard, show polish from having been refined over the years rather than being rushed to meet production deadline.

    The biggest problem though is that after an assignment, there's no follow up by staff as to what the right approach or solution might have been. Didn't get it solved? Too bad. Students aren't allowed to share solutions or general approaches after the fact either. Makes it hard to learn if you struggle with an assignment but then get no feedback other than a grade. There was discussion of this being due to Piazza. Hopefully on future iterations the TAs/Staff will figure out how to lock it down so that they don't have to worry about future students finding the previous class forums.

    Apparently the curve is generous, so supposedly everybody will be getting Bs or As. I was getting a high A when I dropped. I dropped because of the lack of feedback.

    I'm optimistic that future iterations will work a lot of the 'first-time-offered' bugs out.

    Rating: N/ADifficulty: 5 / 5Workload: 35 hours / week

  • Georgia Tech Student2016-03-17T19:33:25Z