CS-7637 - Knowledge-Based Artificial Intelligence - Cognitive Systems

Search for a Course:

    KBAI
    Toggle to Select Spcific Semesters

    Reviews


    Semester:

    This course has extensive load. I have to spent nearly 20 hours the first half just to keep up with the schedule. The mini-projects can be tough and has nothing to do with what is taught in lecture. The workload is heavy. The 3 homework is also not very relevant and confusing rubric. The good side is the grading is reasonable. As long as you write something that make sense, you are expected to get full score. The Final RPM seems a duplicate of previous 4 RPM, but has a substantial weight of 15%, equal to two exams. It is very helpful to read through previous reviewers to have some expectation. I had thought this is a easy course and didn’t start work on projects until late of wk2, and have felt some pressure to keep up.I personally think the 3 homework is simply waste of time or weighted too much. 5% each, and I usually have to spend a whole week to finish writing. Also, reviewing 6 papers from your peers every week is also not making much sense. I felt less motivated to prepare for exam 2. Did some calculation and knowing that I will still getting A even if I score 20 for the exam.


    Semester:

    Pros- 1) Interactive course, keeps you engaged 2) Very well structured and organised, Dr Joyner is an expert in online education! 3) Great community support, you will not have to struggle alone 4) Programming projects are interesting (if you like Python programming) 5) Thought process and logic of KBAI would help you refine your programming logic and style 6) You can pace the course as per your convenience, everything is thrown open in the very beginning.

    Cons- 1) Not a cakewalk or easy course to get an A 2) Atleast one report is due every week 3) You have to spend substantial hours for report writing, peer reviews and programming 4) Programming projects are not beginner level and will be steep if you are new to programming or not fluent in algorithms. 5) KBAI school of AI is a bit outdated and doesnt see high usage/deployment in modern day programming.

    Summary- This is not an easy A course as provided by some reviewers, first 1-2 months of the course can be overwhelming and you must be ready to dedicate time and efforts to overcome that. After this the course becomes relatively easier to handle.

    However course is well organised and well designed and if you are willing to give your time, be active in the forums, you will be able to well. Unlike some courses, efforts will ensure you a high performance in the course and Dr Joyner expertise in online education is amply reflected in the course.


    Semester:

    Background: Chemical Engineering w/minimal python experience

    Workload: as a non-CS background, this was a good first coding class in the OMSCS program. The mini-projects are challenging, but my coding has improved immensely. Like I look at my first project and can not believe how far I’ve come understanding and utilizing classes for object oriented programming. The caveat is that I spent a lot of time learning fundamentals which upped my hours/week. If you have background in this, or just want to get the projects done, you can definitely spend less time than me per week. For reference, the first mini-project took me 20+ hours while others in the forums mentioned it took them 5 hours. Also note that the class seems pretty front loaded, or at least it was for me. The tail end of the course I spent WAY less hours per week, but that could also be due to the fact that I took time in the beginning to learn fundamentals.

    Grading: The forums are fairly open for discussion and support, minus actual code sharing, which is great for learning and expanding your approaches. The head TA, Kia, was amazing. Quick responses and very helpful. They just started using a rubric for grading, so there is no ambiguity in what you will be graded on. Note that each assignment has a journal aspect. This is great if you are weak at coding as each assignment grade is only 50% code. It is not great if English is your second language/you hate writing. Overall, I found grading fair. If you put in decent effort, you can make it out of this class with an A or B.

    Material: seriously, these are the most interesting lectures I have ever watched. By far the most interesting class I have ever taken. I can not recommend this course enough. I wasn’t entirely sure what the class was about when I signed up, but imagine breaking human cognition down to the most finite, subconscious elements. For example, you need to paint a ceiling and the ladder. We instantly know you must paint the ceiling first, otherwise the ladder will be wet and you can’t climb it. But how do our brains make that decision? How do we break that down to a method to code into an intelligent agent? Another example: you need a cup from the kitchen, but all the cups are dirty. How do you improvise and know that bowl might be used instead? In fact, how do you even know that a yellow cup and a cup with a handle are both examples of cups? How do we learn and how do we correct mistakes in our learning? A lot of ML/AI requires thousands of data points to train on, but as humans, we often don’t have that as we learn, so how do we proceed through the world with limited knowledge. Seriously, this stuff has me agreeing with Musk on simulation theory or with Sam Harris on the fact that free will is an illusion.

    Prep: If you aren’t familiar with object-oriented programming, I highly recommend watching the section here on breadth-first search (https://cs50.harvard.edu/ai/2020/weeks/0/). The class never mentions it, and I was lucky to see it in the forum. My biggest issue with the class is not introducing this as a more concrete coding application rather than the theoretical stuff they propose.


    Semester:

    This class’ difficulty is based on how you approach the course. If you’d like to actually apply what is taught in the lectures, then the projects are a bit involved. But 4 out of the 5 mini-projects can easily be “cheesed” with really simple solutions, because the test cases on GradeScope are so simple. RPM is a bit involved in the beginning getting set up. As the project progresses and you have to code more, you can observe other classmate’s strategies through Peer Feedback and get ideas for implementations. A lot of people complain about having to learn Pillow/OpenCV, but if you are used to reading documentation and experimenting to learn an API, it’s really not that bad.

    The way to make this course as easy as possible is to get high A’s on all the assignments so that a low final project performance score is fine. My RPM performance scored a 55/100, but I was still easily able to get an A.

    TA staff is very engaged and helpful, and students are very collaborative on the forum, which is really nice. Nothing is redacted or censored. The first half of the course content is well-defined and concrete. The second half becomes a bit more nebulous, but is somewhat interesting.

    The worst part of this course is really the exams. They are incredibly vague and wordy for no reason. I have no idea how a non-native speaker would be able to do well on these. Even with them being open-book, open-internet, deciphering what is being said is quite difficult. You also never get to see what was scored as correct/incorrect after grades are released, so it is a bit of a mystery what a correct answer usually looks like. The second exam was a bit more vague than the first exam.

    Also, Peer Feedback requirements are excessive. This course would really benefit if they halved the required feedback amount.

    Overall this is the ideal first OMSCS course if you are new to CS. The programming is straightforward, the class is very well-run, TAs are awesome, and all assignments are released at the beginning of the semester with no revisions to instructions.


    Semester:

    Really interesting course that teachings you valuable building blocks. Good amount of paper writing. Lectures videos are the best of any course I’ve taken. Projects are good, just make sure you watch the relevant lessons first. Work on the PRM project early if possible.


    Semester:

    Amazing class, highly recommend. It was super exciting learning about how humans may approach and solve problems, and then translating it over to computers. They cover a wide range of topics which combine cognitive science and computer science. The videos are broken down into manageable chunks and have many helpful exercises with follow-up explanations. TAs and professor are very active on the forum and responsive. Assignments and final project draw from course lectures. There are opportunities to earn extra participation, capped at 100% for the category. No curve, no extra credit. Full course calendar is available from the beginning of class, but there isn’t much room to work ahead.

    The first half of the class balances between coding and written assignments, and has more cohesive content. They go over knowledge representation structures and different problem solving techniques, and keep referencing them in later lectures and incorporating them into all of the written assignments so you really get a solid foundation.

    The second half of the class branches out into many different topics, and with all of the coding assignments bunched together in the middle of the term, feels a little less cohesive. You do something different every week and start to forget what you learned from previous weeks. They do reference previous material, but not as much, so it doesn’t stick as well as material from the first half of the course. That being said, I still learned a lot and highly recommend this class.

    Background:

    • undergrad CS background
    • work full time
    • number of previous classes: 0
    • other classes this semester: 0

    Breakdown of average time commitment per week:

    • 2 lessons. 1 hour to watch videos (add 1 or 2 hours for understanding the material)
    • 1 assignment, either coding + report or written homework. 20 hours
    • 3 required peer reviews. 1 hour
    • participation, easiest way to earn with confidence on number of points is with 3 extra peer reviews. 1 hour


    Semester:

    This is my first OMS course. I can safely say that this is a great course to take as an introduction to the program as a whole and is a great way to get a solid grade for your first foundational course requirement. Though, if you do not have CS experience (university or a minor) or are working full-time then this course may be more difficult. The lectures are digestible and are broken up by mini quizzes that test your understanding of the material throughout. Compared to my previous institution’s online lectures, these were like a Hollywood produced movies. Dr. Ashok and Dr. Joyner are great lecturers too.

    There are only 2 exams in this course, both of which are open note and open book. My only critique about these is that the questions are very obtuse and require sometimes very creative applications of what is learned in the lecture.

    Aside from that, most of the assignments you’ll be graded on will be Homework, mini-projects, participation, and the Raven’s Progressive Matrices.

    Homework assignments are essays that will sometimes ask you to answer a philosophical question about cognition and how said concept can be described to a computer. These assignments took the most time to complete since it was recommended to write up to 4-6 pages on these topics but they were also one of the easiest.

    Mini-projects are the second highlight of this course. There are 5 of them all of which are based on the lectures. I would recommend not tackling these in the way the lecture explicitly tells you to tackle them. It’s better to try to solve them as you would naturally, and you’ll always end up solving it in a way the lecture expects you. In other words, don’t think too hard about how to approach them.

    Participation is based on how active you are on Ed (discussion board for asking questions and what not), giving peer review feedback on assignments, submitting example questions for exams the list goes on. If you want to max out your participation early on, I recommend doing a lot of peer review feedback. I wouldn’t recommend stopping though because some peers may have some insight that can help you for Raven’s Progressive Matrices.

    Raven’s Progressive Matrices is the main highlight of this course. You’re building a program that can pass a visual IQ exam. This project is broken up into 5 parts and each part tests a specific section of the IQ exam. Ultimately, if you want to do well on these assignments I recommend looking into Pillow, OpenCV, and image analysis functions like dark pixel ratios.

    One more thing I forgot to add. Mini-projects and Raven’s Progressive Matrices Milestones requires a report of what was accomplished and what you learned that’s usually 4-6 pages long. So if you are not a fan of writing 800-1000 words a week then this course may not be for you. On that note, some of the lecture topics aren’t applicable for the mini-projects or Raven’s Progressive Matrices even though they are advertised as so. The concepts only work when applied in an abstract way, but sometimes when programming your A.I. you may accidentally programming it the way the lectures says it should be done if you don’t think about it too hard.

    Grades take a long time to be published with many taking 3.5 weeks or more.

    In conclusion, I highly recommend this course to those first starting off in the OMS program. It gets you acclimated to discussion boards and graduate level expectations without the fear of not fulfilling the foundation course requirement of a B or higher.


    Semester:

    I took this class as my first class in the program because the reviews here said that it was a good intro class to the program and with fairly low workload. That was not my experience at all. I am a CS major and work as a software engineer and even though the coding assignments were not a problem per se (other than learning some new libraries), the amount of writing in this class is insane. There are two homework where I spent at least 12 hours researching each. It was a subject not even related to the lectures, it was more related to ethical AI which I didn’t think this class was about. I don’t think the lectures actually help you solve the final project, so you ave to put it a lot of extra time to come up with a solution. I passed with an A, but I put in a lot of time. If you don’t like writing a lot of papers and doing mandatory peer reviews, stay away of the class. I will say I liked the class though. I do think it was interesting but it was not what I was expecting based on the reviews here. The good side of the class is that it extremely well organized and you can start doing the assignments as soon as you want, which can put some people in advantage to work on the final project if they have the time.


    Semester:

    This class was harder than I expected due to the fact that the semester I took it was the first semester they added mini projects. The mini projects weren’t all that bad overall, but some of them made me have to refresh myself on AI algorithms and the likes. For one of them though, I was able to come up with a quick 11 line solution so I’d say definitely don’t overthink any of these, brute forcing is the way to go. The RPM semester-long project was definitely harder but the best things you can do are implementing basic transformations, boolean operations (OR, AND, etc), and Dark Pixel Ratio (DPR) and just taking it one milestone at a time. I was able to get around 70% accuracy with these alone. It was pretty satisfying knowing I had created an agent that could solve the majority of a set of human intelligence questions. The lectures are pretty decent, though I wish they would redo them in the style of HCI with my man Joyner taking the lead. Overall, this is definitely the better AI course in the program even if it may not be as traditional as CS 6601.


    Semester:

    This was my first OMSCS class, and I had different expectations going into the class than what I actually received from it. I almost dropped the class upon failing to implement knowledge from the lecture into mini project one, which I explain in the next paragraph. Tough it out, as I got a 97% (A) in the end. The first few weeks are overwhelming. Then somewhere in the middle, there are about 5 weeks where it gets SUPER chill. Then the last 2 weeks, it is slightly hectic, but nothing like the first few weeks.

    Tips: The first mini project was incredibly difficult because I tried to solve it by incorporating stuff from the lecture. But if you ignore the lectures and solve the mini projects using methods that are not necessarily perfect, but rather “good enough”, you will realize that this entire course is a lot easier than it seems at first. Remember that the goal of the class is to mimic human intelligence. So sometimes, your code is allowed to reflect some of those human imperfections, too.

    The same applies to RPM. But anyways, RPM was by far the most annoying part of the course, just because I had to learn computer vision with Pillow. Most checks you will implement are high-level, so Pillow is good enough to get a 100 on the project.

    Also obsessing about time taken for your agents to run is not important for any of the mini projects, or RPM. For example, I know most people’s RPM agents ran in under 10 seconds. Mine took 90-100 seconds but I didn’t get any points docked off for my agent being slower. Only time I got points docked off was for not mentioning the time at all on a mini project, and it was only docked from the report.

    Last but not least, expect to write ~10 pages every week, give or take a few pages here and there depending on the assignment. You will have to not only write functioning code, but then describe it in a report/document. The homeworks are the most frustrating to write, even though you do not have to code anything. You will have to draw diagrams, independently research relevant topics, and then tie it all in with a lecture.

    Overall, I liked the class but was extremely frustrated with the amount of writing and doing RPM as a final project because it has a learning curve that the class workload does not account for very well. Great first class, especially for those in the Interactive Intelligence specialization, as it will be one of two required courses for them. Easy A if you are able to simply put the time into the class. Nothing was crazy hard to understand. But expect to spend as much time writing as you do coding.


    Semester:

    My background: KBAI was my first OMSCS course. My undergrad was in engineering and I work in an industry that has nothing to do with using Python/Java/C++. Before KBAI, I had never used Python to code anything beyond simple addition of numbers and print “hello world”. I fully expected to have a hard time in this course simply because I had been out of academia for so long (writing skills have tanked due to writing so many work emails) and because I had barely any useful experience using Python (hence expecting to struggle on all coding projects).

    End result: I achieved a solid A in the course, and my name showed up on the list of Exemplary works more than a handful of times. I worked hard to front-load all coding work and to finish the course as early as possible so that I could have a leisurely November and December. So the number of hours per week that I spent on the course was 20+ in the first half of the course and then dramatically dropped off in the second half of the course. I honestly didn’t expect to do as well in this class as I did, so it gives me the confidence to try other courses even if I don’t have the ideal prerequisite background needed to thrive from the very beginning.

    Words of advice: In this class, being able to pick up concepts quickly and apply them in various ways to coding projects is important. However, what is equally important is the ability to write reports well and to create drawings/figures/tables that enhance the quality of your reports. If you are weak in Python but a decent writer, then take the time during this course to heavily ramp up your understanding of Python and its use of structures. If you are strong in Python but not the best writer, use this time to utilize drawio or similar to draw good figures for the reports. Nothing is worse than reading just a wall of word vomit on 4 pages (each mini coding project requires a 4 page follow-up report or word vomit on 10 pages for each RPM milestone report and/or the Final RPM report).

    You should also participate on Ed forum from the very beginning. Participation counts for 10% of your final grade, and there were SO MANY POSTS and feedback from students about how they struggled with getting full points on participation because they either didn’t submit “high-quality” feedback on peer reviews for assignments or they didn’t want to post on Ed forum because they had nothing to contribute/couldn’t answer other people’s questions quick enough, etc. People griped and whined so much about Participation grading, but honestly just have fun with the course and post your thoughts and observations. Nobody is out there judging you in the way you think people might be judging you.

    Observations about the TA response rates: For Fall of 2021, I thought the TAs were very responsive in the first half of the course. Toward the second half of the course, students would ask public questions on Ed forum and the questions would go unanswered for 1-2 weeks. This was annoying especially when the question benefits multiple students and yet the TAs would not respond. Then if someone else asks the same exact question as a new post after more than 3 weeks of the same question in a different post not having been answered, then the TAs would answer it. This happened enough times where I would get annoyed but nobody would write anything bad on Ed forum because the TAs are human beings and don’t deserve vitriol from just grade-hungry students.

    Observations about the students: For Fall 2021, the unofficial Slack forum was where some students were able to collaborate on ideas and help each other get through assignments. I didn’t participate very much on Slack mainly because I had front-loaded and done so much work so much faster that Slack was not helpful to me. However, Slack helped a lot of other folks (especially if deadlines were looming and folks hadn’t started doing any coding work for assignments).

    Summary: If you are strong in science/engineering/math but don’t have Python background or CS background, then don’t be scared. You might actually be one of the best performing students in the class at the end of it all simply because of work ethics and your innate sense of ambition and curiosity to just try things out and do as well as you can in this course.


    Semester:

    Have been out of the field for over a decade, and haven’t taken academic coursework in CS in almost two decades (last time was on Sun workstations and doing Java, no guis/IDEs), so temper my feedback with that context.

    I found the course very approachable and quality of instruction overall very good. I like to write so found the written assignments very easy to complete; the coding (learning Python and OpenCV on the fly) quite a lift. I got an A in the end, but felt like I really flogged myself to get there safely.

    Learning the underlying concepts for AI was completely new to me and very interesting. However, not sure how exactly I’d apply these concepts if I had an actual job in AI (yet).

    Projects were great, but your mileage will definitely vary depending on whether you deliberately choose to use a new concept (e.g., version spaces) or a more simple one (e.g., incremental concept learning). Students and TAs on the forums are very helpful and have a good culture of mutual support.

    This is my first semester and so far really learned a lot.


    Semester:

    This was my first course as an OMSCS student. My undergrad was analytics with a CS minor so not really a true CS background. My current experience is in analytics as well.

    Overall the course was a great introduction to OMSCS. Dr. Joyner has a great class going and I learned a ton. The coding projects weren’t difficult and you can follow along with other student’s approaches using slack or Piazza to help you with mini projects and the RPM project. If you make connections the course isn’t difficult and can spend around 10 hours a week on it.

    TL;DR: 10 hours a week with no CS undergrad to get me a borderline A.


    Semester:

    This is a great course and I wish I had taken it before taking ML and RL. You’ll great a great overview of AI, with context behind the history of different approaches and their connection with human reasoning.

    Projects are approachable, would make a good first class, especially if paired with ML4T. Raven’s project is a lot of fun and you are encouraged to learn from classmates and incorporate their approaches into yours.

    If you’re want a well-rounded class that involves coding projects, writing, human psychology, and a hint of philosophy, this class is for you.


    Semester:

    The class included 1 major project with 4 milestones and a final, 3 written homeworks, 2 exams, 5 independent projects. No surprises. By the way, a useful class if you consider doing Phd and need to show examples of your writing since there will be a report for every coding assignment. You will learn how knowledge is used to make functional AI. For example, language processing, computer vision tasks. No group projects. In terms of workload intense because new stuff needs to be done and delivered every week.


    Semester:

    I’ve seen things you people wouldn’t believe. [laughs] Attack ships on fire off the shoulder of Orion. I watched c-beams glitter in the dark near the Tannhäuser Gate. All those moments will be lost in time, like [coughs] tears in rain. Time to die.


    Semester:

    This course doesn’t translate into making you a better software /Machine Learning engineer and that is why you get lot of dissatisfaction. Meaning its not really applied for most students. You will love this course if you are into NLP, Entity linking, Sematic disambiguation, cognitive/linguistic science etc. I work in research lab on these technologies for my company and for me it was very helpful.

    You will either Like or Hate the course. RPM project is tough but fun. Getting A is not tough but you need to devote time.


    Semester:

    Easy class. I have no CS background and learned everything during the class. Class is in python and it is easy to pick up.

    You can start all projects early as you please. A lot of opportunities for extra credit to get an A. If you mess up you can recover. Also you actually learn in this class with the lectures and not dry unlike other omscs classes. Best professor in OMSCS who understands their students


    Semester:

    I enjoyed this course. The review below mine complaining about lack of statistical methods very clearly missed the point of this being knowledge based AI and not a course on ML.

    I came from a non-CS background and this was my first course. I expect an A. My engagement with this course fluctuated over the semester but overall I enjoyed it very much. This course has encouraged me to pursue AI further as a topic. I am coming out of this course a stronger programmer and writer. I also think slightly differently about how to approach problems with programming and could see a few applications of this course to my job.

    The course is front-loaded because the first two mini-projects are the most difficult and the main project is daunting to start. I would say this course starts out hard and by the end is easy. You can finish this course early. Join the slack and read the forums when you get stuck.

    Those experienced in Python and good at thinking creatively would crush this course. I would also recommend it as a first course to non-CS background. My prior experience to Python was a Coursera course 1 year ago. Being good with DSA is a plus but I was able to get full performance on every mini-project with nothing more than lists and tuples.

    There are 3 homeworks, 5 mini-projects, 2 exams, and the main project. The homeworks are time consuming but I learned a lot philosophically from the 3rd one and a good amount from the 1st one. Homework 2 was rote practice I did not like it. The first 2 mini-projects are most difficult for people without strong DSA while the last 3 are moderate-easy difficulty. MP#2 is the hardest. The exams are open notes and not hard if you watch the lectures once over.


    Semester:

    Lectures

    I personally found the lectures annoying, slow, and useless. Lots of topics are touched on, and I suppose they’re interesting, but I found they weren’t at all motivated enough. These techniques are not state-of-the-art for solving the problems they set out to solve. They also aren’t doing a good job of laying the theoretical foundations of the field (like e.g. statistical learning theory, which you’ll find v well taught in ML).

    Projects

    I enjoyed the semester-long project on Raven’s Progressive Matrices, though it’s a little annoying that we’re heavily restricted in what libraries we’re allowed to use (no ML, no openCV). I found this project pretty difficult.


    Semester:

    The best class I had so far. It gives a deep and realistic introduction to many topics, with a very interesting explanation. Professor Goel gives a very nice explanation, you will end up thinking “he must be a lovely person”, and Professor Joyner is always great.

    I loved the mini-projects, I know many people haven’t done it in that way, but I applied directly what learned in the class**, and it was awesome. ** some peer feedbacks pointed that out. I was afraid of these peer-feedbacks, but it was a great experience, almost all the time I felt they were fair and objective, and I could learn a lot from many mates.

    Only drawback: the final project demands some Computer Vision knowledge: I spent more hours in that than in the KBAI part itself. Make sure you check the class forum, look for advice about how to approach this project (specially CV part), READ the papers related to that before starting the implementation (I think deliverable 2). As mentioned, this final project is divided into deliverables, a bad design choice at D-2 might push you to refactor the whole solution in following deliverables, loosing a considerable amount of time in that instead of in the final solution. Still, with a lot of hard work, I got an A. I absolutely recommend this topic.


    Semester:

    This course is difficult. If you don’t have knowledge about AI or Python, you will either fail or drop out with a W. KBAI used to be a bit easier back in the day, but they have revamped the course adding more assignments.


    Semester:

    Took this class in Spring ‘21 with the newly introduced materials which means we had 5 mini projects in addition to the assignments and a semester long RPM project that was submitted in 4 milestones and one final RPM project.

    Overall, the class kept me busy for the entire semester with writing and mini projects. Many a times it felt unnecessary writing on assignments explaining my understanding of the concepts used in KBAI systems. The basic NLP project along with other projects were very interesting. It helped me build concepts of BFS/DFS, queue etc. First 2 projects were time consuming. I didn’t do well on the block problems (scoring about 70%).

    For the mini projects, some of the test cases were known but some were unknown to the class which changed with every submission at gradescope. For the sentence reading/ NLP project, i submitted around 45 times to get 100% on the dynamic test cases.

    There are enough places to score score extra credits and unlimited attempts at gradescope is very helpful in getting “A”.


    Semester:

    PREREQS:

    This was a relatively simple course in terms of programming as long as you have an okay grasp of data structures and what they do/when to use them (I really hope you do by the time you take a Masters course), along with the syntax to use them in python (there is an excellent 4 hour Youtube video by freecodecamp called “Learn Python - Full Course for Beginners” which will give you basically everything you need to know, you can google the rest).

    OVERVIEW:

    The course gives you an overview of KBAI theory, and you have to code things in python to basically show you understand the material (as almost nothing in the course is practical, you don’t even have to vectorize ANYTHING in python until maybe the final the project so python is just used because its an easy language to work with, if this is was your only python course, you will come out with a Beginner understanding of it).

    The class is somewhat time consuming because you have to write reports explaining your code, which help you understand your own code better, along with rating other people’s essays so you can see different ways to implement each project. This is a Dr. Joyner class so he is very into making SURE you learn the material, via all these methods.

    The professors themselves answer questions in Ed forums which is a nice change of pace to some courses.

    FINAL PROJECT:

    Note, you can get 100s on the coding portion of the RPM checkpoints if they pass 50% of the test cases. You will get a 50 on the final project coding portion if you do the same thing, and thus the final project is really the only masters level difficulty (honestly its sort of PhD level) project in the entire course, save the NLP project, which is a pain, and doesn’t even teach you anything practical about implementing NLP.

    I believe I got <60 on the final project coding portion but comfortably got an A in the class because I got A’s in everything else, but if you didn’t get A’s in everything else I doubt you will be able to get a good score on the final project coding portion, as doing so would require to basically implement a combination of everything you learned in the course along with decent understanding of OpenCV.

    EXAMS:

    Exams are open book. That doesn’t mean they are easy, honestly this is an excuse to make them extremely precise to match the exact wording of what the instructor says in the lecture. Make sure you take good and organized notes (preferably electronically, so you can search through them with keywords) and read over them at least once before the test so you know which lecture to watch again during the test for the tricky questions and you should walk out with an A (test prep. shouldn’t take more than 2-4 hours assuming you already took good notes and watched the lectures and are a good test taker).


    Semester:

    Let me behin by saying that so far I have taken 4 courses in OMSCS, Introduction to Information Security, Computer Networks, Machine Learning for Trading and Software Development Process. I am a big fan of Dr Joyner’s courses but this one dissapointed me and stressed me enough to withdraw from it. I am surprised at all the easy reviews, may be they are experts in Python and I am at intermediate level. The course demands a lot from you - one main project with 5 milestones, 5 mini projects, 2 exams and peer reviews. If you have a demanding job that required 9+ hours of time, then you will find that the only two things in your life are job and this course as you will be switching between the two and wouldnt that time for anything else. I guess they made the syllabus of this course more harder after all the easy reviews, feedback provided by my seniors was they there were no mini projects until the recent semesters.

    The guard/prisoners mini project (or fox/sheep however you want to call it) was enough to stress me out and get me out of this course. ML for trading had good videos and ideas on how to implement what is being asked but with this one you are on your own. Be preared to then write a journal once you have been drained with writing code from scratch. This, in my mind should be one of the hardest courses. Writing programs that would solve problems like humans do is no piece of cake. I generally dont write reviews or complain about courses but this one made me do it. I had never felt so down after 2 weeks into this course. I lost all my motivation, may be its just me. Having said that, I will give a shot again at this course some time later when I am mentally prepared.


    Semester:

    Background: Non-CS undergrad (Mechanical Engineering), working with software at work for about 2 years in Python and C++.

    This class was alright, maybe would be a good warmup class for students in their first semester. Personally, I found most of the class a bit too easy (aside from the Final RPM Project). The lectures were more philosophical and while they seemed to try to connect the lectures with the assignments, I rarely could find a practical connection (aside from the Mini-Projects, which were great). Exams are almost impossible to study for since they’re written with open-book in mind and the format is essentially True/False. I’d prefer a short response exam given the course material.

    The overall course material is slightly interesting, although I think they could prepare more practical lessons and less obvious approaches. I kinda feel like I wasted a class slot, although this was a summer semester so I’m not beating myself up too much. Fortunately the pace was manageable, I was actually able to take a week long vacation during the semester since all assignments are available the entire semester (until their due date).


    Semester:

    There were 5 mini-projects in this course and I think they were all interesting and I like that they were all open-ended. The second project called Block World(which is similar to the prisons and guards problem) was the project that gave me the most difficulty.

    The Raven’s matrices project has been broken down into 5 milestones and a final project which is great and allows you to better approach the entire project in steps. Homework assignments were generally straightforward. My only complaint here is that I feel like the TAs were sometimes a little nitpicky when it came to grading them. Tests were open-book and were very challenging. My advice here is to try to watch all lecture videos and take good notes.

    I like the idea of participation points but I feel like the peer feedback system needs to be revamped. Most participation points are a required part of your final grade so this causes there to be a good bit of forced and inauthentic feedback/participation at times. One way I believe this could be fixed is to reduce the amount of peer feedback assignments and offer a variety of other avenues to earn participation points. Maybe fewer points could be required for mandatory participation, while other types of participation could count as optional extra credit.

    And last but not least, shoutout to Ida and Dr. Joyner! You guys are the GOAT TA and Professor respectively! You guys are awesome and thank you for all that you do!


    Semester:

    I enjoyed KBAI. I am a person with a non-traditional CS background and the course provided a great introductory framework for knowledge based approaches to AI. I expect to keep going to back what I learned here in other courses.

    Most of the reviews of this class characterize it as “easy”, but I didn’t experience it that way. While the subject matter and coding projects aren’t strenuous (particularly for someone with extensive CS experience), the workload is significant. I took the course during the Summer of 2021 and I would describe it as UNRELENTING. The normal 17 week semester was compressed into 12 weeks. No work was dropped. Each week, you’re going to have at least two deliverables. Sometimes its a coding mini project and a paper describing it (~5-6 pages). Other times its a homework essay (~5-6 pages) with a milestone for the RPM project (code submission + ~4-5 page paper). This is in addition to watching lectures (~1-2 hours) and peer feedback (~1 hour). If you’re planning to take this during the summer and have significant plans, make sure you plan well ahead.

    I was involved in study group and found it to be enormously helpful when I got stuck on things. If you’re interested in something like this, post on the forums and see if you can get a group together.

    As mentioned in other places, the exams are basically 110 true-false questions. Its worth taking high quality notes while you’re watching them initially, even though this will take more time. Reviewing the notes and watching the lectures again at 1.6 speed was good preparation. I’d say the re-watching is critical because some of the questions are worded in such a way that having a recent impression of the lecture will help you find what you need quickly.

    I was frightened by the RPM project at first, but there is actually a lot of academic writing on how to build agents that solve the matrices. Its worth doing a bit of research on your approach before getting started. I used fairly simple heuristic methods and was pleased with the results.

    TLDR - This is a good course that is a lot of work for the summer months because of the reduced time window. I’d called it KBAI intensive.


    Semester:

    Easy class and easy intro class for the OMSCS program. A few things I noted over the course of the semester is that there are a lot of useless things in this class that once again make learning out of reach. One, the exam is 110 true/false questions is open book, but very tedious and annoying for an exam setting. Two, you don’t get to see what you miss on an exam, so all of the course’s emphasis on learning seems pretty hypocritical. Three, on all the written assignments, there is a minimum assignment length, which makes a lot of the writing pointless and just filler writing. Furthermore, the TAs read the assignments and sometimes dock random points saying some of the questions aren’t answered in detail when they are. Overall, easy A, but David Joyner’s courses seem to have a decent number of complaints like the ones mentioned in this.


    Semester:

    The course is a good 1st course for OMSCS as you will get used to the idea to get a concept and then code it out. The TA are super helpful. the class have very active Ed Discussion.

    The course has deliverable every week, so that’s a lot of work for this course.

    Homework: it can be quite dull. however, some question can be thought-provoking like GDPR, conscious..etc

    Mini-project: I like the mini project the most. I learned a great deal from here , from both programming and KBAI perspective

    RPM: This is a tough project and I only get 55/96 for my final agent. I get to learn OpenCV in great detail , which is fun for me.

    I got A still despite my low score in RPM agent performance.

    Overall, great learning experience!


    Semester:

    For context, this was my 6th class in the program (CN, IHI, GIOS, CP, AI). Non-CS engineering undergrad, working as a software engineer.

    This was the first summer semester with the adjusted syllabus: they added 5 nontrivial “mini-project” coding assignments with some reductions (shorter written Homeworks, down from 3 to 2 exams), then crammed all 17 weeks of expanded content into the 12-week summer semester. The majority of weeks had both a coding & writing assignment/exam due in addition to peer reviews and 2-3 lecture sets, so there’s hardly a moment to breathe or get ahead. Dr. Joyner deliberately shifted the difficulty from grading to the workload, resulting in more reported hours of work but also a higher proportion of A grades.

    The instructors made some scheduling mistakes: several assignments were due before the corresponding lectures. This piled onto the aggressive pace of the first half of the summer semester. That said, head TA Ida was probably the best TA I’ve ever had in OMSCS thanks to her quick and very specific help on the forums.

    I believe many OMSCS classes don’t adjust the syllabus for the summer semester, so this class probably isn’t the best or worst option for a summer semester. Strong Python students should still be comfortable in KBAI during the summer. In its current format, I would rate the class Easy for Fall/Spring and Medium for Summer.

    Grading

    The syllabus seems designed with the expectation that students will get lower scores on 3 assignments: the 2 exams and the final RPM code submission. These assignments are far more difficult to get a >90% than other assignments in the class. To get the A, it’s important to get >95% on all the Homeworks and Mini-Projects. No curve or extra credit was offered. The Head TA stated in a forum answer that they round up for cutoffs: 89.5% rounds up to 90% for an A.

    Homeworks (writing assignments)

    The writing assignments are well-organized but simply time-consuming because the 2 main questions are subdivided into 6-10 specific sub-questions and visualizations.

    Achieving near full-credit on the writing assignments should be a rote exercise: follow the JDF format, use proper APA citations, answer every question & subquestion thoroughly, include requested visualizations. It’s a good idea to always include one or two tables/figures because, unless your writing is extremely organized, the graders heavily favor visualizations. There are no points for formality, so organizing sections by questions is the most straightforward choice.

    Mini-Projects (coding assignments)

    I appreciate the intent to create interesting, open-ended applications of the course content. As other reviews noted, it’s easy to find overspecialized solutions which exploit the predictability of the autograder, which is more lenient than other OMSCS courses. These are all 50% autograder (Gradescope), 50% written report. For better or worse, 3 of these problems are graph problems, so CS6601: AI students have a huge advantage here.

    1. Missionaries & Cannibals: other reviews have cried “it’s just BFS!” but that is exactly the point: state-space searching is a large component of AI. The whole challenge is creating & managing the state representation.
    2. Blocks World (Sussman anomaly): I believe this is the most challenging mini-project. It’s similar to the first project but uninformed search will not work. My solution was a hill-climbing algorithm from YouTube.
    3. Sentence Reading: I agree with other reviews - this would be the most difficult problem if it wasn’t so easy to exploit the grading methodology with hardcoded workarounds. I didn’t see anything more creative from peers in the class because we can’t use any NLP tools. Most students created a production system (series of if-else statements) which mapped question words (e.g. who, when) to the set of possible answers. I also abused the grader a little and submitted 20 times until I got a favorable set of questions for full credit.
    4. Monster Identification (Classification): I thought the problem might require a nearest-neighbor or version spaces approach, but my first straightforward attempt scored 100% with just 8 lines of Python code. This is definitely the easiest programming assignment I’ve completed in OMSCS.
    5. Monster Diagnosis: Yep, another state-space search problem (I used *A**, but BFS should work). The data is nested dictionaries of strings, so a bit more annoying to work with than MP1. I saw a lot of peers brute-force this problem with itertools.

    Raven’s Progressive Matrices

    This semester-long project is the most interesting challenge of the class.

    For students who have a hard time coming up with solving strategies: start with the Joyner paper and take advantage of Peer Reviews & Exemplary Reports for more ideas.

    I didn’t get penalized for literally hardcoding the answers to the Basic problems with a simple lookup table, so that was a guaranteed 50% minimum on the coding portion. As long as the report demonstrates that you put effort into more generalized strategies, you’ll get a solid grade. Ideally, you aced all the Homeworks, Mini-Projects & Milestones so you don’t need a high score here.

    Exams

    Proctored but with generous policies: open-note, open-book, open-internet. As another review mentioned, the exam is effectively 110 True/False questions. The instructors also put in effort to ensure none of the answers derive verbatim from the lecture notes, so a substantial amount of reading comprehension is required similar to the SAT or GRE exams. I sympathize with the non-native English speakers in the class because I honestly believe they’re disadvantaged.

    In my opinion, the only effective strategy is recognizing the lectures associated with questions. The exams will punish you for rushing or skimming through the lectures. I rewatched all the lectures on 1.7x or 2x speed the week before the test to “study” and achieved one of the top few scores on each exam. The class provides a PDF with all the lecture transcripts to make this a bit faster to review. Thankfully, the exam does not pull any content from research papers or additional readings.


    Semester:

    • Lectures: Quite boring. You don’t really learn much from the lecture if you are going to take AI. KBAI is a subset of AI.
    • Written Assignment: There are 3 Written assignments. It’s loosely related to the lecture.
    • Mini Projects: 5 Mini projects + Report. Not difficult. Most of them are just a bunch of if/else statements. You don’t actually need to code AI agent to solve them, just a bunch of IF/Else as the GradeScope grader is dumb.
    • RPM Projects: Students without OpenCV or Pillow experience are going to struggle. A lot of students complain about the difficulty of final delivery. I don’t understand why didn’t they read the requirement. Everything was posted in the beginning of the class. Some students are like oh I didn’t expect my implementation of DPR/IPR can’t solve the problem set D and E. It’s a semester long project. You should have read the requirement before you implement your agent. This project is fun and I got 94/100 for the final delivery. You absolutely need to invest your time in it if you want a high score. However, you can hardcode the solution and easily get up to a decent score as long as your writing skills are good. You need to score 100% on all the reports as it counts 50% of each delivery.
    • Exams: 2 Open Everything exams. No point to study. One can easily search the notes you prepare and find the answer.
    • Participation: You need to be active on Ed and do all the peer review to get this 10 points. Not difficult, just tedious to read through boring papers from your classmates.
    • Professor: Professor Joyner is great. Very active in Ed and communicate with students every week.
    • TA: Best TA in the program. No nonsense Rubric deduction. Grading is very clear and generous. Grades are returned in a couple weeks and I rarely see anyone complain about grades on Ed. No drama like other courses.
    • Difficulty: RPM is not difficult, You just need to put in your effort. One can easily get a decent score with hardcoding or overfitting the solution. Mini projects are not difficult. Some projects can be done with a couple hours.
    • Time Management: Don’t follow the schedule. Work 2 weeks ahead of the schedule and you would be very comfortable in this class. This class requires 10-15 hours/week and the second half is more relaxing when you get your RPM mostly done in the first half. If you follow the schedule and only implemented DPR for B and C, you would probably be stressed in the last 2 weeks.


    Semester:

    This was my first course in the OMSCS program and have little to compare it to. I have taken undergrad AI courses previously. For reference, I got a comfortable A.

    From my understanding, this course was majorly updated this semester, with the inclusion of 5 mini-coding projects, and less writing-based homeworks. The final RPM project now allows unlimited Gradescope submissions, but full credit requires answering every basic and test problem given. I didn’t hear of anyone who received full credit on it. Most people (from anecdata) seemed to get around 70%. However, your grade is very evenly spread out among the assignments from the rest of the course, it was a non-issue. RPM problems are now visual-only as well. There is a deliverable every week, and yes, usually writing is necessary. I am comfortable with writing, however, and found that to be pretty easy.

    Highlights

    • Prof. Joyner appears to be genuinely very enthusiastic and caring about the quality of the course. Processes have been tweaked nearly to perfection, there were no road bumps along the way
    • The coding aspects of the assignment are enjoyable, dare I say, fun!
    • Grades among course work are very balanced. Nothing is weighted too heavily. As long as you keep up, you will easily pass
    • All assignments are released at the start of the course. You can front load the crap out of this course, which is what I did. It was very useful because I knew I would get very busy in March, so I completed about 75% of the course before then (note that I did take a week off between jobs during this time to get ahead).
    • High level topics are interesting to think about
    • The workload seemed extremely manageable to complete on top of a full time job and still have time for personal activities. For reference, I work full time, changed jobs (to a higher-responsibility job), bought and moved into a house, produced and ran a virtual film festival, and worked a side gig 4 nights a week for a month during this semester (no kids though, haha).
    • There is a lot of flexibility allowed for how you solve coding problems.
    • Low stress, open note exams.

    Downsides

    • As mentioned, coding allows for flexible solutions. You can use course concepts…or not. As another reviewer mentioned, this can mean that some of the projects are pretty trivial to solve and not actually useful in extending your knowledge about the course concepts. Several of the mini-projects felt like interview practice questions for me. Fun to code out, but not useful to me in building my knowledge deeper
    • The amount of peer feedback you have to give is a bit of a drag
    • Lecture videos also kind of drag toward the end of the course
    • Grading, while generous, felt a bit nitpick-y at times. Most of the points I got deducted were for “not explaining enough” when “enough” was never defined in the first place.
    • I am not a fan of the exam format. There are two exams of essentially 110 true/false questions. You need only study for a few hours for these, and are low-stress, but your full results are never released, so I don’t feel like they reinforced any knowledge, personally. It felt like they were included in the curriculum out of obligation.
    • A lot of the RPM project was solving image processing/computer vision problems, which is not content covered whatsoever in the course. Prepare to dig into openCV documentation A LOT before you can even begin to think about solving the problems with the concepts discussed in the lecture videos. This is the crux of what people mean, I believe, when they say the project is not related to the course very well.

    Overall impression

    KBAI is a solid, fair course. It is well run and well organized. The expectations and workload are very manageable. Difficulty leans a little toward the easier side. However, I don’t feel it gave a lot back to me or deepened my knowledge in great ways. This is partially in part my own fault for not challenging myself further with the projects. You get what you put into this course. Because of this flexibility, it is a little easy to shrug off some of the work.


    Semester:

    This was my first OMSCS course. All the elements of the class felt well designed, but personally I didn’t find the topics very interesting.

    The lectures generally walk through some concepts at an extremely high level. The new mini-projects were nice in that they allowed us to put the lecture concepts into practice, but they were often very trivial and could be completed without any concepts from KBAI. The RPM project, on the other hand, felt like a drag because it felt completely unrelated to the rest of the course. The peer feedback system also felt like a chore simply due to the sheer amount of feedback we are required to give to get participation points.

    Overall, this is an easy course with a moderate workload, but I don’t think I learned much at the end of it all.

    Also, there is a TON of writing in this course, so if that is not your cup of tea, beware.


    Semester:

    I really liked this class because I feel like I’ve learnt alot more about how artificial intelligence works versus my previous poor grasp of AI. I think that this course in particular is alot more work heavy compared to alot of other classes I’ve taken. Partly because of the way the course is structured and partly because building out an AI involves alot of small tedious things(I think). But overall I liked the class because I learned alot.

    I don’t want to say the difficulty is hard but I’d treat it like a hard class because of how much work is involved. But on the upside, because there’s a lot of homework/miniproject/projects/participation it gives you alot of oppurtunities to get a better grade versus if you mess up on a single aspect of grading and there’s not alot of oppurtunities to improve your grade.


    Semester:

    This was my first OMSCS class. I think it’s a great one to get back into academic work, especially for those who have been away from college for a few years. The class is very well-organized, and although I found it slightly front-loaded, the amount of work I spent on the course each week was roughly the same.

    My best advice for this course would be for the RPM project–the course’s semester-long project. Although I enjoyed the project a lot, I think it’s fair to say that the concepts from the lectures of the course are really only loosely tied to the project. For me, the project was much more about learning about image processing and researching strategies.

    Back to the advice: there are helpful milestones for completing this project (generally, one milestone per problem set type); however, I made the mistake of trying to always generalize the code of my previous milestones to fit new milestones. This was a mistake. Instead, you should create modules per milestone which the agent can call depending on the problem set name. For each milestone, you should then try as hard as you can to fit your algorithm specifically to that problem set. If you do this along the way, the final project will be essentially complete through the milestones.


    Semester:

    I loved this class! The mini-projects were a great addition. I hope Dr Joyner and the rest of the instructional team will continue to incorporate even more lecture material into the assignments as the semesters go on.

    A lot of people critique the main project of this class as being more image processing involved and using DPR/IPR as opposed to applying concepts from the lectures. I see where people are coming from, but I think it depends on how you choose to look at the problems. Personally for me, I tried looking for patterns on my own first before looking at any papers and felt that the lectures did help frame my thought process (even though I don’t think I can attribute anything I used directly to the lectures except maybe generate and test). And even though I did not end up using DPR/IPR, some of the discussions around it did help me improve my agent too.

    I believe how much you will enjoy this class will depend on how much you want to put into it. But if you really despise having reports due once a week, then maybe skip this one.


    Semester:

    I thoroughly enjoyed this class. It was overwhelming at first as there is something due every week, but it is one of the most organized classes I’ve taken. The full calendar breaks down not only what lectures and projects to complete, but when you should start working on projects that will take more than a week to complete.

    I have a strong background in Python, a CS degree, and was familiar with numpy through CP. Most of the coding took me a couple days at most to get a full credit solution. The exceptions were MP 3 and the final RPM. I was one of the ones who attempted a frame based solution (and only partially succeeded) for MP3 when this version could be solved with a series of if statements (I believe they plan to change this in the future).

    RPM is the ongoing project. The milestones aren’t too difficult. I was able to pass one or two with horrible solutions that did just enough, but had to go back and redo a lot for the final version. I wish they’d move all the milestones to the end so you don’t have to constantly switch between RPM and the other assignments.

    The reports are tedious to write but the number of times I’d start explaining my agent and realize a detail that could improve it made me feel like it was worth it. Make sure you follow the format. Use the template - it makes life easier and means you loose less points.

    Participation is frustrating to get. Opportunities for participation other than forum posts and peer feedback are rare. If you’re not the type to post often on the official forum, automatically do the 3 required and the 5 extra peer feedbacks as you go. Otherwise you’ll be giving feedback for assignments due 3 months ago. Peer feedback as a tool to improve my future reports is almost worthless. Occasionally I’d get some valuable notes, but most of the time it’s “looks great/good” or everything is wrong because I didn’t do something exactly like the reviewer did. As a tool to understand other ways to complete the projects, it’s invaluable. For RPM, some of the changes I made came from reviewing somebody’s report for feedback. The exemplary reports are also a great resource for this.


    Semester:

    This was my first course at OMSCS, and I come from a non-compsci background. Overall, I found the course relatively easy and very enjoyable. A lot has been said about the high quality of the lectures, the divisiveness of the RPM project, the general ease of the exams, etc, so I won’t delve into that.

    There’s not a lot of info here about the mini-projects though, so here are my thoughts on them:

    MP1 is very simple, all you have to do is apply a simple idea from the lectures and implement BFS or A* and you’re fine.
    MP2 is perhaps the most open-ended one; I saw many approaches to it. It’s not crazy difficult per se, but it’s a little deceptive. It looks about the same difficulty as MP1, but took me twice as long.
    MP3 probably looks like the most interesting one from afar, and it’s pretty cool, although definitely the most time consuming. Prepare to likely spend a while pre-processing the words. A lot of students started out trying to use a Frames-related approach, and switched to heuristics or a production system later. This semester, a lot of students got full points by implementing a very hacky solution since there were only 60, maybe 80 test cases. I don’t know if that’ll be the case in future semesters.
    MP4 was shockingly easy. My full file, including starter code, was less than 25 lines. YMMV, and once again I wonder if future semesters will have more rigorous test cases.
    MP5 was also pretty easy. Like in MP1, BFS or A* are your friend if you can mix them with a generate and test ideology.

    The other big changes of note this semester are that the RPM was graded more leniently for the milestones, but more strictly for the final project, the homework essays have been shortened, and the exams have been condensed into two tests instead of three. Things did seem very confused when it came to grading; almost every grade for the first two months was entered incorrectly on Canvas, only to be changed to the correct score a few hours later. This led to a lot of freaking out on the class forum, but generally smoothed itself out as the semester went on. I imagine it will be less of a problem in future semesters.

    My hour count is a complete guess, as I finished over half of the course’s content in the first month or so by working ahead.

    Like I said, I came from a non-compsci background, and yet managed to do very well on each RPM milestone, exam 1, homework, and got full marks on each miniproject. I’m waiting on my final grades, but I’d be surprised if I didn’t end up with an A. I’d highly recommend this course to anyone who is either new to the program or wants a course with interesting content, relatively easy coding assignments, and a fair amount of writing.


    Semester:

    Pretty easy course if you’ve already taken AI (CS-6601) You’ll have to write and read a lot of papers during the semester which wasn’t very fun but it’s not hard. The assignments were all doable and are released early if you want to do them ahead of time. Tests are open book/notes/internet


    Semester:

    This may be a good course if you’re really interested about AI or trying to take lecture materials and apply them in a very abstract way to a problem you’re woefully underprepared to handle.

    Lectures These are actually the best part of the class. They are concise and relatively clear. They cover a broad range of topics and do drill into enough detail to get a solid idea of the principles.

    Exams These aren’t difficult to pass but hard to ace. If you’ve paid attention and written some notes about the lectures you should be fine.

    Homeworks These are just essays. You are expected to look up a topic and write a few pages about it. They’re not bad but they’re also not as engaging as some of the other assignments in this course. To me they felt a bit shallow and really should have been more of a discussion of sorts instead of a written paper.

    Mini Projects These are, hands down, the best assignments in the course. These are setup to give you the opportunity to actually practice the lessons learned in the lectures. They are modeled or sometimes complete copies from the lectures. These have been a lot of fun and the most engaging. I WISH the final project was more like these, or just a bigger version of one of these.

    RPM project This is going to be your bane of existence in this class. This is the final project and it’s absolute garbage. As others have pointed out, this is really the professor’s attempt to crowd source solutions to the RPM problems and see what novel solutions student’s can come up with. The problem is that there isn’t enough time dedicated to try any novel approach. There is just enough time to get the easiest solution working, so everyone ends up finding the paper about IPR/DPR and implementing that. Even if you wanted to try something else since you’re allowed to use Pillows and OpenCV, the course then shifts from AI to more image processing. Some image course really should either be a prereq or the students should be given some tools/wrappers for those libraries to allow them to focus on the AI aspects instead of wasting all their time with just the image processing aspect.

    Summary The course might be better for some, but I enrolled in an AI course and with how much of the grade is dependent on the final project it feels more like an image processing class. The experience has honestly been the 2nd worse of my OMS career and I can’t recommend this class in good faith unless you have already taken an image processing class or are prepared to find previous RPM papers and copy their efforts.


    Semester:

    Great course overall which I am really enjoying, however there are some flaws which (depending on what you want to get out of this course) may be annoying.

    Lectures are great - they are clear, concise and present the topics well.

    Exams are tricky - you are effectively assigning true/false to over 100 statements. The floor is high for this (as you should get ~50% just by guessing) however it is trickier to get a 90%+. This is just exam 1, have yet to take exam 2 though I understand the format is the same.

    Homeworks - there are 3 of these, which are written papers of between 4-6 pages. They are good as well as thought provoking. Also (If you have not taken a Joyner class before) the format the class insists on has a lot of spacing and margins. So 4 pages of text here is not as much as your typical 4 pages in a newly opened word doc for example.

    Mini Projects - there are 5 of these and they are fun, they do get you thinking. My only complaint is that on a some of them it is easier (and arguably more effective) to come up with your own solution rather than using concepts from the lectures.

    RPM project - this is semester long and in total is worth 30% of your grade. You have 4 milestones throughout the semester (these are worth a combined 15% and each has a paper associated with it) and then the final submission (worth 15% and includes a paper you must write). I’ve enjoyed this a lot, but again it is easier to complete focusing on image processing/openCV than it is using many of the concepts from the lectures. My python/openCV knowledge has come a long way, but my ability to implement KBAI concepts, less so.

    In summary this is a great course - though be warned that to get the most of the course you need to be disciplined when completing the projects. You can go through most of the project work without using any concepts from the lectures - if you want to get the most out of this I recommend at least trying (even though it will take longer and may affect your grade).

    Also if you hate writing and having to submit something most weeks - this might not be a good course for you. Though you can work ahead a fair bit also so that helps if you are able to get ahead.


    Semester:

    This was the first class I took in the program and I enjoyed most of it. I have been out of both the technical and academic fields now for 15 years so I thought this would be a good course to help me transition back into things. For the most part, I was right. The course was excellent in many aspects, good in some and bad in some. It was superbly organized and managed. Expectations, objectives, and communication were all clear, concise and seemed ready-made for the student’s needs. The material for the most part was super-interesting from a cognitive/philosophical standpoint. Both of which hit spot on to many of my interests.

    The homework assignments were hit or miss. Some of them were very interesting and provided excellent opportunities for both learning the subject matter as well as expanding on our own thoughts and arguing for our viewpoints. Other homework assignments were needlessly repetitive and outright boring (reading multiple papers and summarizing, etc).

    The Raven’s Progressive Matrix project is the main focal point and stretched through the entire semester. I put in a massive amount of hours on the first iteration but after that the effort vs. return seemed to diminish greatly as only minor changes were needed to achieve acceptable performance.

    The reports for each iteration got extremely repetitive given the required format of reflecting on the same points for each of up to 10 submittals per project. I think this format could be tweaked to achieve the instructor’s goals of encouraging iterative improvement while at the same time limiting the repetition of trying to figure out how to say the same things in eighty different ways.

    The exams were not difficult but did require a good amount of familiarity with the material and/or very organized and efficient keyword searching during the exams (which are open-everything).

    The thing I found most enjoyable about this course was its cross-disciplinary exposure to topics in psychology, philosophy and neuroscience. These topics forced me to really sit and think through my stance on the nature of consciousness, self, and personhood. Overall I enjoyed this course and found it manageable from a difficulty/time spent perspective.


    Semester:

    This class offers a glimpse into the world of cognitive science. It is a good introduction to a broad range of concepts, but does not go deep into any details.

    The homework questions and the quizzes are all well designed to reinforce the course material. Some questions are very interesting and reveal some of the delicate socioeconomic and legislative challenges in the realm of AI ethics.

    The RPM programming exercises are not as exciting as the rest part of the course. First of all, they are quite repetitive. Secondly, most students (myself included) ended up with overfitted pixel-based approaches that can crack the problems without using anything related to “knowledge based” methods taught in the class. At the end of the day, I feel the RPM projects only improved my report-writing skills, not much on programming or KBAI knowledge.

    I am glad to know that the instructors planned to dramatically change the agenda of the course going forward, by including more lecture-relevant programming exercises and reducing the weight of the RPM projects. Hopefully, all these changes will make the class more coherent and enjoyable for future students.


    Semester:

    In this course, I don’t think I learned anything useful. Waste a lot of time on writing articles and simple if-else codes without improving my CS knowledge and skill. It was my 1st course in OMSCS. I thought all the courses in the program is as boring as 7637 and was considering quitting. After another two semesters, I realize that 7637 is a special one.


    Semester:

    Summary

    I am ML spec and think this was a great introduction. I took this alongside CS 7638 / AI4R. This course was significantly more time consuming than AI4R. Liked the content, though it was high level and language agnostic. I must have landed at the cusp of an A (sub 90, got an A).

    Assignments

    Homeworks were thought provoking and took me about 10-15 hours each. I think they gave me a good overview of ethical issues in the field of AI. I imagine the time commitment for the papers will go down as new projects are being introduced. Expect the focus to become literature review, ethics and philosophy of AI.

    The new projects are going to focus around concepts taught in class and of the couple I did, were quite fun. Looks like these will be code X and submit. Though there could be a small write-up.

    RPM

    This project will still exist in some form (at least that was the most recent decision). Was fun solving a somewhat “real” problem. My first agent was verbal which felt in-sync with the course. The latter two agents were visual and felt more disconnected. In future semesters, students will probably be focusing on the visual techniques.

    Exams

    I did ok on these. Questions are based on lectures and the exam is essentially a True/False format. It is valuable to familiar with the lecture material before taking the exam.


    Semester:

    KBAI was my first class in OMSCS and in retrospect, it was a great choice to warm up with the program without taking something ‘too easy’. The RPM project was fun and challenging enough, without being too stressful.

    Assignments

    3 homeworks, about 8 pages each. The JDF format isn’t terrible to work with as they provide starter documents in Google Docs and Word. Half of the questions are interesting and immediately relevant to material, the other half are philosophical/ethics-based questions which are a little painful if you don’t like writing.

    Projects

    Projects are great - progression of difficulty is a little steep from 2->3 given the types of patterns you have to find and a lot of trial and error is required depending on your technique. I found making some sort of automated tests helped catch regressions. I ended up making a spreadsheet with answers and conditional highlighting so I could quickly find accuracy % and catch any regressions on previously correct answers. I did verbal for P1, then visual for P2, P3 which worked out.

    Exams

    The exams are nothing to stress about. Just watch all lecture content on 2x speed beforehand, have the PDF version of the lectures available, and CTRL+F any questions you don’t immediately know and it’ll work out.

    Peer Reviews

    This was the most painful part of the course for me. You get ‘assigned’ 5 peer reviews per HW/Project paper, which comes out to 30 ‘assigned’ peer reviews. Each one of these is 8-14 pages each, which is a LOT to read and sometimes very painful to get through. Then you have to provide a review that meets a ‘quality’ criteria. The grade for this is your participation grade, so you don’t necessarily have to do it, but it depends on what other options exist for participation credit. Thankfully, we had 5 mini-projects this semester that would count for more than enough to get full participation credit so I was able to stop the peer reviews.

    New Course Content in future semesters

    We had 5 optional participation credit mini-projects available that are supposed to be normal assignments in future semesters. I’ve read a lot of hype around the ‘NLP’ assignment here, but it is very basic in nature and doesn’t involve serious NLP concepts, but is instead an exercise in framing. The other projects were very relevant to course material and I think will improve the experience overall. They were some fun programming/algorithm challenges that give you an opportunity to solve problems closely related to lectures and go through the process that is generally hand-waved during lectures. The RPM project is likely going to change in that it might just be 1 big semester-long project, but I’m not 100% what the plan is. Overall, I would expect the quality of the course to be higher in future semesters with these changes.

    Overall, fun class, not too hard, not too easy, great way to refresh Python and learn some high-level AI concepts. Was a nice starter class because some weeks you can get away with doing nothing and it’s possible to cram work before assignments are due without sacrificing your sanity.


    Semester:

    This is my first course in the semester. I have a good CS experience but a very less AI experience. Hence, I wanted to get started and KBAI is one of the best startup courses. It has really engaging lectures, great TA support and weekly threads discussing about various news, articles and papers around the world. The homeworks are bit of a writeup but they are not exclusive to this subject. There are certain questions which make you read about various papers published in AI or general GDPR rules and write your theses. The projects have not changed over the years but it gives you that first hand experience of designing something in AI if you are new to AI or Python. This is a great first course to start with if you are planning a ML specialization


    Semester:

    From what i understand, the assignments have not changed for the past 3-4 years. Hence there is grounds to believe that the previous reviews that claims that they can complete projects 1-3 in 2 weeks is either dishonest or they have just copied from others or they are geniuses.

    When i started on this course, i have the same negative thoughts on the materials and what i am learning. However, as you approach the final weeks, you start to see where the David is trying to get at. He is creating cognition not in machines but the students. (see his last lecture on his PHD project)

    While you might be good at writing lines of codes and able to do ruby, javascript, C++, psql etc. You might not be good at thinking through how to solve problems in general. Think of how you would approach a google interview, this course give you a good insight of how to do it, provided you are able to relate what is taught to yourself.

    Overall, projects are doable if you relate to the lectures, which i admit they are mostly dis-linked. However, i think david is trying to change the assignments in the next semesters after the feedbacks. Which after doing some of the test projects would seem fun.


    Semester:

    This was my second attempted course in OMSCS. I tried taking AI4R in Spring 2020, my first admitted semester, and ended up withdrawing after not passing the first project.

    I spent time prepping my general programming knowledge and worked through a Python book before the Summer 2020 semester started. I come from a pure math undergrad and I’m not a developer, I actually run a small construction company so my professional technical experience is pretty much nil.

    I really enjoyed KBAI and ended up getting an ‘A’. A common complaint is that the lectures don’t line up with the projects well – which I feel is true. My best advice: start on the visual-only approach as soon as possible (there are 3 projects in the class, the first two have verbal approaches which are much easier). Also, go to pinned slack messages from previous semesters and see what algorithms other people programmed to solve the RPM IQ tests.

    Overall, I felt my programming skills were refined and I got a decent understanding of AI outside of the realm of ML.


    Semester:

    Before I took this course, I saw lots of review on this OMSC Central, which said this course is really too simple, and it offers you nothing to learn. Some even said they can complete the whole course and all assignments (3 homework, 3 projects, 3 exams, 25 lectures) within two weeks. I think those reviews are simply not true, except if those reviewers are superman (or maybe they really are?).

    I think I did learn something from this course. At least I learned that AI is different from Machine Learning (ML) that AI learns from very small sample size and behaves much more like human than ML. And in contrary to ML, AI can apply to a wider range of problems, while an ML algorithm will typically fit a specific problem.

    There are some areas in this course that may make students think they learn nothing from it, including some concepts which common developers may already be very familiar (e.g. configuration, script, pre / post conditions, frames (i.e. classes)). The course did introduce these concepts, even with very detailed examples, but some experienced software developers may think those concepts are nothing new. Students may even complete all three projects without even knowing a single skill taught by the course…

    Nevertheless, I think those AI algorithms can really help, even in doing the final project, if you have the time and patience to integrate those algorithms into a single working Java / Python application.

    The homeworks are almost all writing tasks, and some questions are philosophical rather than computational. Some questions even touch religious topic such as “what is free will?” or “what is consciousness?”, which I am comfortable with, but I understand some students may consider those questions as totally irrelevant….

    One thing I do not really understand is why the course designer insists on using visual methods to do the final project. That makes the visual recognition, instead of the artificial intelligence, becomes the greatest hurdle of the project. My question is, are we not having the right to do intelligence, if we do not have the vision ability? Anyway, I chose the fractal method, which the instructor introduced at an very early stage, though from all the peer feedbacks I cannot see anyone doing the same fractal method, which is a shame since I made a very slow fractal algorithm, and I do want to see some other students doing the fractal method but with a faster speed.

    So, to all future students who want to do the fractal method with Python, beware of a very low speed. I saw many other students do the ASTI or something like the different pixel count, and they can achieve very good result with a much faster speed. Fractal method is very versatile, but may not be suitable for this project, except if you can implement it very efficiently (perhaps with Java?).

    Finally, I think this course is fine. And professor Joyner is very responsive. I think you will not regret taking this course.


    Semester:

    This is my second OMSCS class overall and also the second with Dr. Joyner after HCI. The course introduces you to AI in general and focuses Knowledge-based AI.

    Video lectures

    The video lectures were well done. The topics were explained to be understood even by non-CS students and the exercises were mainly fun and could help understand the topics in these lectures. They are also broken down to 2-5 minutes so you don’t feel overwhelmed. Each module can take you between 45-90 minutes if you are doing all the exercises and taking notes. In some parts you may speed up the video to finish faster.

    The big issue with the lecture content is, some of them are outdated and not used in the real-world. For example, detecting 3D objects by detecting edges is not used today and instead deep learning is the prominent method for visualization. Cannot say for NLP because I am not as knowledgeable enough.

    Assignments

    The three assignments were mainly essays of 10 pages, each with four questions. The questions can be either exercises to do based on the video lectures, others ask to read about GDPR and Toronto Declaration, and the rest are “ethical” questions open to argument. As usual, Dr. Joyner’s assignments are a lot of writing so while the question is not difficult, the time needs to express and write in summarized and concise fashion can be challenging, not mentioning that writing essays can be tedious especially on weekends or after long hours of work if you have a job.

    My main problem with the assignments is, Dr. Joyner wants to make sure you are “busy” with them rather than the core value and goal of them. For example, third assignment asks you to read, summarize, find the major contributions and possible weaknesses for FOUR papers. Not one, not two, but four. If you know that the papers are heavily AI-related, it can be challenging to find a paper which a novice student can understand and summarize, let alone find the possible weakness or suggested future work. I am not new to such assignments as I enrolled in Dr. Joyner’s HCI course which is similar, yet far more assignments. So for me KBAI assignments were a breeze in comparison.

    Project

    You have to work on a project, submitted in three parts, aims to solve Raven’s progressive matrices problems. The concept is neat and I was interested in building an AI agent to be able to solve such problems. Until I started working and found out I ended up “coding” to make my agent work without caring about using KBAI methods presented in the lectures because: 1) There is not enough time. 2) The goal is to solve as many problems than how you solve them and 3) The project has NOTHING to do with the lectures. This is frustrating because you feel you are not learning how to do develop and agent using AI methods you are supposedly learning. The other big problem is you are required to use out-of-date libraries in order for your project submission to work online (Bonnie). This is troubling knowing that such versions are not easy to install and students should not suffer with old Python and library versions.

    You are also required to write a journal to explain your project’s goal, progress and future improvements. The journal is important to grading your project so it can add to the stress, and yes, it will take 8-12 pages so keep this in mind.

    Exams

    You have three exams, each after assignment and project submission. The exams ask about the topics discussed in the lectures. They are multiple-choice questions with true/false statements. If you took a course for Dr. Joyner before, you will be used to the exam’s format. The exam is open book so you can open your own notes, revise the lectures and even google for answers.

    Participation and Feedback

    Same as all Dr. Joyner’s courses, you need particiaption points by giving feedback to students’ homework and project journals and participating in Piazza (ugh). This can be very cumbersome when you realize you need to do that after the lectures, assignments and projects so you’ll be exhausted because you don’t have time to take a break. It also feels very forced to enter a badly-designed forum and “participate.” The feedback can be interesting to know how other students solved some questions and tackled the challenges faced buiding their AI agents and you can get a lot of good ideas. But also reviewing students’ homework and reading the same answers can be really boring. In the end, TAs are paid to do that!

    Overall, as all Dr. Joyner’s courses, KBAI is well-organized. The lectures are clear and easy to follow. The assignments are a lot of work and you will be very busy during the course.


    Semester:

    • Unclear page count requirements for Journals and unnecessary deductions.
    • Deductions for missing margins in “JDF” format seems very picky.
    • Lengthy Homework Questions with unclear asks. Makes me wonder how I will be evaluated. Questions could be more straight to the point.
    • Some of the homework questions and page count restrictions do not make sense. (Only option was attaching diagrams with reduced font size)
    • There is Revise & Reflection points which means you not only have to get your projects working but also need to make multiple submissions over a couple of days.It pains me to think how they have included this as It is not always possible for someone to spend a couple of days in a row for a project. I don’t know about others, but if I get 2 full hours on a weekday, that’s perfect time management.
    • Very unclear participation points that I stopped worrying about it multiple updates on participation points in Canvas. (Its a moving train!)
    • ‘Substantial’ Peer Feedback for 4 people is a lot of work. Each submission has atleast 10 pages. So you would peer feedback for atleast 40 pages every week.
    • Usage of outdated libraries is limiting. The only reason for usage of outdated libraries was that “Boonie” could not be updated.
    • Verbal approach and visual approach for projects are vastly different. Recommend to start in visual approach! However there is no relation to the course material as visual approach is heuristic based.
    • Reading the paper on “using Human computation to acquire Novel methods” felt like a back stab; Is that why we are required to submit over 5 days for Revise & Reflect points. Are our project submissions being used for research for Novel methods? Are we unknowingly part of an experiment? Of Course the 4 people have been credited, but what about the other 220 people; Were they aware their projects was used for a study?

    Bottom line: Easy & well organized course material, but the process to earn your credit points is at times extremely difficult & poorly organized.


    Semester:

    Too much busy work for not much learning. 10% of the grade for participation is huuuge. Forcing participation points like this results in a contrived conversations/endeavours that have no soul. I’d rather encourage students to participate for the joy of participating not forcefully to rake up freaking points. And writing. Omg ! They explicitly demand a certain number of pages in your assignment. What is this? An english composition course? Might as well start grading by the number of pages. Projects and lecture videos are cool though. This course has potential but needs a make over.


    Semester:

    KBAI is a classic Prof. Joyner class - if you liked HCI, then you’ll like KBAI. It’s also probably a pretty decent introduction to the OMSCS program as well since it has a nice mix of coding, writing, test taking, peer reviewing, etc. with good video lectures worth watching and a free ebook to study from. Overall, KBAI is a very high quality class with both active TA’s and an active professor on Piazza.

    That being said, for many classmates, the writing assignments (3 in total) and participation grades (80 points in total) were a bit of a struggle, but if you start early and post on Piazza frequently, then they should not be a problem. Some of the writing assignments can get a bit abstract though, discussing the ethical considerations of AI and the ideas of “free will” for example.

    The coding projects were mostly done using Python’s standard libraries with NumPy and Pillow (important to note that OpenCV was not allowed for image manipulation) to make an AI agent solve visual puzzles for a grade. In total, there were 3 separate projects for development with increasing complexity and difficulty, and each also required a written journal response detailing the development processes and results. The top 10 individuals with the best performing agents after each project received an additional 5% to their final grade (equivalent to a single exam), so my recommendation would be to try to get that in Project 1, which is the easiest, by scoring perfect results (12 out of 12) on the Basic and Test problem sets at a minimum.

    The 3 exams themselves were difficult, but not unfair. Each are 1 hour long with 15 multiple choice questions, where multiple answers are correct. The questions can get very technical to really test your understanding of the material. And while the exams are all open notes, videos, and Internet (just no taking it with another person), Googling the questions will not help at all. Instead, my strategy was to watch the lecture videos, which are much better than most of the other OMSCS class videos anyway, and then use the ebook for quick ctrl+F referencing during the exams.

    Overall, the class is difficult and can take a decent amount of effort / workload depending on how comfortable you are with writing papers and coding using Python (+ NumPy and Pillow). I took Computer Vision in a previous semester and that helped out a lot, despite not being allowed to use OpenCV. Ultimately though, there is no curve for the class, so to get an A, you need at least a 90%, B you need at least an 80%, etc. However, I was able to comfortably secure an A without too much trouble by closely following the syllabus and assignment due dates. The class is structured for students to do well with enough time in between assignments for very good pacing.


    Semester:

    This class focuses on AI and its relation to human cognition, in both directions: thinking about our own reasoning to build AI agents that can learn with minimal data, and comparing AI techniques to understand more about human cognition. This is the “knowledge-based” aspect that many reviewers regard as antiquated. In a sense, I agree. But I still found the topics interesting, and I don’t regret taking this class.

    I don’t have many complaints, but I do wish this class didn’t involve so much writing. I ended up writing 53 pages in total (3 homework, 3 projects). That’s not too bad, since some of that space is taken up by figures and tables, and the margins are quite wide. But it was still a lot of writing. My biggest complaint is probably that most of the course material is not required for the projects, and while the topics are interesting, it’s hard to apply them to code without a little bit of guidance. It’s entirely possible to complete the projects without using any concepts from the lessons. The exams are multiple choice and have some tricky wording at times, but are fair. It’s worth noting that I’m a native English speaker and I had no trouble understanding the lecturer.

    Overall, I enjoyed this class, and I have more positive feelings toward it than negative. The content was interesting to me, despite not being immediately applicable to the projects. I especially liked version spaces and incremental concept learning. The structure of the class was nice and predictable: watch lessons, do homework, do a project, take an exam. Repeat 3x. The class can be completely front-loaded, everything is available right away including the exams. Start with the visual approach for the projects and take a look at the papers you’re given to get some ideas. Dr. Joyner was very involved in the course and checked in on Piazza regularly, and offered plenty of opportunities for flexibility due to COVID. If you’re looking for a summer class just to get some credits knocked out, I’d recommend Software Analysis & Test over KBAI. It’s about equally applicable but overall an easier course, in my opinion. But if you’re looking for a course to round out your AI experience, KBAI is worthwhile.


    Semester:

    This is a very easy course. Although my AI agent was among the top-scored, I feel I learned nothing much from the project. I should have taken the more challenging AI course instead. For anyone who wants a challenge and really learn something, not just for the sake of credits and grades, I would not recommend this course.


    Semester:

    Very well-run class by Joyner and TAs, although the material seemed antiquated and not very useful in real life applications. The projects were fun once you start doing a visual approach, but there was a major disconnect between the lectures and the projects. I did not use any lecture material on the projects and still passed with decent results. There are three homework assignments which are basically 10 page papers with a number of different prompts. Not the worst class I’ve taken, but also wouldn’t recommend it.


    Semester:

    I applaud Dr. Joyner for the compassionate way he handled the COVID-19 impact on the student population. It was amazing to see the level of empathy he has for the students. We all know how awesome of an instructor he is already, and it was very nice to see his level of understanding, sincerity, and patience in dealing with students who are going through an unprecedented time.

    Now regarding the practical knowledge of the class itself, I am not sure how to relate it to future classes or at work. Learning Pillow APIs, Image Manipulation, etc were good to learn, however, OpenCV has far more applicability than Pillow in my opinion. I also felt the knowledge is too abstract. From a coding perspective, I found it to be pretty easy.

    The RPM project was the brightest part. The exams were the least likable part. The exam questions were like parsing grammar and words. Amount of writing in this class is intense. I wrote a total of 65 pages in JDF format for this class. However, I can write quickly so for many of the homework I was able to knock them out over a weekend.

    This class has a lot of potential to be far better if it could be re-tweaked to have more coding assignments, add an NLP project, and getting rid of the exams.

    Tips:

    1. Start with visual approach from P1. Developing a good set of visual heuristics in P1 can help make rest of the project deliverables fairly straightforward with parameter tuning for each problem sets.
    2. Learn Affine transformations (from the research paper), DPR, IPR, logical operations (OR, AND, XOR, INVERTED XOR), and connected components labelling. These should be good enough to pass all the tests in the projects.
    3. Use numpy for everything.
    4. Use overleaf to make JDF super easy to use. Also use lucidcharts or draw.io for diagrams/charts.
    5. Also make sure that you have at least 6+ submissions for each project to get continuous improvement grades in the projects.


    Semester:

    This is my first OMSCS class and I have mixed feelings with the course. I like the course, but sadly I didn’t really learn a lot. I was hoping to get more out of it but maybe it is because of the disconnect between the lectures and the project. I am not a python expert and easing into coding again and given all the projects even if there was a boiler plate, I had no clue on what to do and was walking like a headless chicken. Dr. Joyner helped out on where to find video tutorials and I was able to finally reach out with a TA. Most TAs are not the most responsive, I guess I was too lucky to find one. Classmates were very helpful as well. I have learned a few python here.

    I think it would have been better if I have prepared myself before taking this course or maybe I should have taken a course where it piques my interest. I guess I wasn’t really interested in Knowledge Based AI. Maybe courses that may help introduce python and explain codes line by line. Overall it is a good class. It’s the most organized so far and I am hoping all courses are designed like this.


    Semester:

    KBAI was a great first class in OMSCS for me. David Joyner runs a great online education operation. The lectures were of good quality and were all you really needed for the tests. I found I could watch them once or twice and then listen to them in the car a few times in order to study for tests. The projects were challenging enough (for me, anyway, as a relative newbie to Python) and taught me a lot. Like it or not, one thing you learn is why it’s incredibly difficult to replicate human intelligence with traditional programming and AI methods, so that’s why ML is “winning”. But still, I think it’s useful to understand KBAI, even if ML is the present and future of AI. Joyner also uses other techniques to try to increase contact between classmates. So you get points for insightful Piazza comments, and for reviewing your classmates’ assignments and providing non-trivial feedback to them. I know some people find this annoying but it’s useful to see some other peoples’ work and learn about how you could improve your approach.


    Semester:

    I liked this class but it didn’t seem particularly useful in the grand scheme of things.

    One major thing that bothered me was the disconnect between the lectures and the project. I know others have mentioned it as well. For me, the project quickly turned into “what’s the best score I can get with the least amount of work?”. There is not really any incentive to try to implement the lecture material into your project.


    Semester:

    Heavy disconnect between lectures and the project. But individually lectures are interesting. Home works are heavy on reading papers and writing.


    Semester:

    This is a very good subject if you are new to OMSCS, Programming. It give ample time to learn coding python. This include 30% theory - assignments which include some web browsing, lecture analysis and mostly writing journal like skills. Need to take care of format of the document and proper references is all time requirement. Very interactive class and enthusiastic instructor.


    Semester:

    I took this my first semester alongside HCI and it was definitely my favorite of the two!

    Course Material (3 tests) The lectures are really interesting and have examples and quizzes throughout to keep your attention. The tests are open note/book/internet and only worth 5% of your grade each so they’re pretty low stress. All considered, it feels like they’re designed for you to learn throughout the process: the best test design in my opinion.

    Homework (3 assignments) The homeworks can be a lot of reading and writing, but there’s only 3 of them so you just have to get through them. It could be worse, there’s way more of this in a class like HCI.

    Project (3 parts) I really enjoyed the projects because they were where you got to practice designing and implementing an agent. You have your pick of java or python; if you don’t know where to start, there is more starter code than it seems, just ask around on piazza. The main drawback is that I (and I believe most people) were able to get away without using most of the concepts we learned. There are technically 3 projects but they’re really just 3 parts of one, each having you solve different problem sets of Ravens Progressive Matrices.

    Project Tips

    • There is a decently large writing component, but its honestly not bad if you write it as intended, and even helps you plan more: Write Intro before touching the code, write each journal section immediately after submitting, and conclusion at end. For the first project, I wrote my entire report afterward and it just became tedious, ingenue, and I discovered things while writing that could have helped me.
    • Don’t try to make your project pass ALL local tests before submitting: allow room for improvement. I tried making all pass before my first submission for the first project and regretted it. It allows for only minimal tweaking as you have to submit a good number of times, and you’ll just waste your time.
    • Start using the images in the first project: you’ll thank yourself down the road.

    Participation (peer reviews, piazza, etc) Depending on your piazza activity, this part honestly just sucks. If you want to avoid piazza, you have to do 9 reviews per assignment (3 homeworks + 3 project reports) which can become energy-sucking. Being active on Piazza is honestly just a necessity: for us shy folks, I promise its not as terrible as it seems, just go for it.


    Semester:

    I took this course in my first semester along with CP.

    Pros:

    • This course is easy to get an A.
    • There are 3 assignments, 3 projects and 3 exams, you get enough time for each one of them.
    • You can front load all assignments and projects

    Cons

    • A lot of writing, each assignment/project needs a 8-10 page report
    • Very theoretical, I did not learn much about AI
    • For projects, you do not have to use any concepts taught in the classes


    Semester:

    The material went in a bit of a different direction than what I was expecting. I thought it would be, given previous knowledge how would you improve on AI techniques. The course covered mostly the organization of knowledge to be used in algorithms. The course would be a good introduction to NLP or picture interpretation.

    The class projects were half written report which was inconvenient. I wish the projects weren’t as open so you were forced to explore all the topics in code.


    Semester:

    This class was my first and it offered a great primer to the program. 3 projects, 3 homework papers, 3 tests (proctortrack, but open book).

    The projects are Ravens Matrices which get more complex over the 3 projects. You can use approaches from the lectures or bake your own. Don’t over think it, my best solving routine ended up being the simplest.

    The homeworks are 8 page papers. Be sure you answer every question in the rubric. They must follow jdf document standard. I highly recommend using the provided latex template and Overleaf.com (free pro account if you use GT email address). If you don’t know latex spend about 20 minutes to learn the basics; it may even help in other courses.

    Exams are open book, but do use proctortrack. Unlike many others I had zero issue with it. Exams are relatively low weight on your grade so don’t sweat them. I’m a note taker and that was enough just to read over my notes once before each test and make moderately well.

    Other grades were participation and performance bonus for top 10 project submissions.

    Overall a great course for a first semester, or if you may be disconnected some during the semester. All information for the semester is clearly laid out at the beginning of the semester, so you can work ahead if you like on most of it.


    Semester:

    This was an interesting course for sure. There are three projects that each build on each other to solve Ravens Progressive Matrices. Lectures are high quality and interesting, but ultimately most of them weren’t super related to the projects.. they are purely for the test. Similar to Human Computer Interaction, it’s sort of like an AI class meets a psychology class. Overall, I enjoyed it, but it follows suit with David Joyner’s other classes so.. if you like those, you’ll like this.


    Semester:

    TAKE THIS COURSE IF YOU WANT BREADTH IN AI, TO DO RESEARCH, AND IMPLEMENT AN AGENT FOR VISUAL ANALOGY

    This class has a lot of mixed reviews, but it is excellent for anyone that wants to research critical issues in AI, write code, and learn more about where your research interests are in the symbolic AI and cognitive AI subareas. This isn’t a deep learning, RL, ML course, so people who expect to come in learning those things are often disappointed. But guess what, you need to know this stuff because deep learning isn’t the future. This class is about different subareas which are critical in the broader conversation in AI. You do implement an agent that solves visual analogy problems (as of 2019). It is unlikely that next semester (Spring 2020) there will be an NLP project, as others suggested.

    You can front-load projects and assignments. Overall, this is not a difficult class, but there is a good deal of writing both code and completing assignments, which is why I gave it a medium. If you get behind, good luck.


    Semester:

    Grading and the Rules

    The grading in this course is heavily geared towards “strictly following the rules and the prescribed format”.

    For example: it requires the use of the JDF format for all reports. This is strictly enforced, with heavy penalties.

    If you follow the rules exactly as written, you will do fine.

    Exams

    There are 3 exams, worth 5% each (15% total), open-book multiple-selection, each focusing on a third of the course, where you will get points for all correctly selected and correctly unselected statements. It covers the course lectures only. It can feel a bit like answering tricky trivia questions on the material.

    Projects

    There is one big project, split into 3 submissions of increasing complexity over the term, worth 15% each (45% total). For our term, we had to build an agent that is able to visually solve visual IQ puzzles using Python, Numpy, and Pillow only (or Java equivalent).

    There are good ways to use the course material to solve this challenge, but that is not required. You will have no guidance here beyond the technical limitations and the theoretical lecture material; implementation is completely open ended and up to you.

    Assignments

    There are 3 assignments, worth 10% each (30% total), consisting of 4 questions apiece. One question on the course material. Two that are focused on soft topics like ethics, or analysis of papers, or trends in AI regulation. And a final open question about things like popular culture or media coverage.

    Participation

    10% of the total grade is attributed to participation in peer-reviews, forum discussion, survey participation, etc.

    Work Ahead

    The course site is public on: http://lucylabs.gatech.edu/kbai/

    You may work ahead, but you’re also taking a gamble that the material does not change from previous terms.

    Opinion

    There are two lecturers, one of which has a thick unintelligible accent. The “ebook” is a compilation of the lecture transcripts, with errors. There is room for improvement here.

    The material is interesting, but is dwarfed by the performance of Machine / Deep Learning systems; this is a hotly contested topic (though it may be telling that the best performing project made use of a neural network, rather than the classical AI methods taught in the course lectures). The way forward for knowledge based AI in industry may be via a hybrid implementation with Deep Learning methods.

    I feel the Project could have used some guidance to relate it to the course material. I was not a fan of the way rules were strictly enforced, but understand the rationale for doing so.

    If you like writing papers, this course is for you. If you prefer code implementation, there are better options geared towards that.


    Semester:

    This was definitely one of the best classes I have taken. If you think it will be a detailed instruction on how to program an AI, you will probably be disappointed. If you are interested in the conceptual nature of it and are willing to work through some of the coding on your own, you will enjoy it. tests are effectively 75 T/F questions disguised as MC. low % of grade. Most of the course work is some longer, writing based assignments and a longer project that can be programmed in python or java. I don’t have a ton of python coding experience, but I was able to pick up enough to do fairly well on the project. would definitely recommend this course.


    Semester:

    I’m not sure what the poster is talking about below, I took this class in Fall 2019 as well and it’s definitely still about Raven’s Progressive Matrices, not chatbots.

    Overall, this was solid class with interesting projects. There are 3 homework assignments, 3 projects/reports, and 3 exams. Each assignment involves A LOT of writing (10 pages) so be ready to type.

    Otherwise, I thought the content was pretty easy and the projects pretty straightforward. If you have a good handle on numpy, Python, and basic CV, you’re all set. Other reviews are pretty accurate in that the lectures don’t relate to the projects and the content isn’t exactly cutting-edge.

    I got a pretty high A without putting in too much work. Definitely the easiest class I’ve taken so far.


    Semester:

    Knowledge Based AI consists of 3 projects, 3 writing assignments and 3 exams.

    1. The project involves writing an AI agent that can solve Raven’s Progressive Matrices (RPM), a visual human intelligence test. Students can use either Python w/ PIL or Java. The amount of time students put into this project seemed to vary considerably based on the rigor and approach to the problem, such as reimplementing academic papers on RPM versus just using simple black pixel counting. You can do either a visual or verbal approach. Visual is probably easier since advanced image processing or computer vision techniques are not necessary to do well on the project and verbal cannot be used in the final project.
    2. Each writing assignment consists of 4 questions each with each answer requiring 2 pages. The questions target AI ethics, AI in society/culture, applying KBAI lecture material as well as reflecting on academic AI papers. It is best to start thinking about these questions early to get the most learning benefit. I found the writing assignments really fun to research and went down many interesting rabbit holes in the process of doing them, especially on the academic/conference paper questions.
    3. The exams consisted of 15 questions with 5 choices with Joyner style grading (effectively making the test 75 questions). Getting As on the test requires watching all the lectures. Notes and lecture transcripts can be referenced during the exams.

    Overall, I think this is a good course, though I am unsure how I will apply the knowledge I’ve gained since a lot of the lecture material is very theoretical. Despite the coding project, I don’t think I have a good idea of how I would implement or use much of what was presented. It is a class that offers some flexibility in time you need to commit since everything is available upfront. You can get an A by putting forth average effort, but can also go much deeper if the subject captures you and aim for exemplary designations and bonus points for going above and beyond.


    Semester:

    I was personally not a fan of this course. I came into it thinking I was going to learn a lot about AI, but ended up wasting my time writing tedious reports and doing busy work i.e. reading articles and answering open ended questions about them. If thats something you’re interested in then this is the class for you. If you want to actually learn about AI then I’d avoid this class


    Semester:

    This should not be a CS class, it is a humanities class with some aspects of CS. I did not learn anything from taking this course. You will be made to write long reports on pointless philosophical stuff. The lectures are pretty abstract and do not go into the depth of any topic. The homework and projects are almost completely unrelated to the lectures. The only positive about this course is that it is very easy to get an A.

    My expectation from this course was to learn how to create intelligent AI agents. This course turned out to be completely useless in this regard.


    Semester:

    I love this subject area, and more broadly the areas of Philosophy of Mind, Cognitive Science, and learning AI, so I found this class to be a lot of fun. I agree with other reviewers saying that you aren’t necessarily going to leave this class with a bunch of code that you can copy-paste into your robot butler, but like, that’s just not the point of this course. This is a survey course designed to familiarize students with the high-level concepts being explored in a huge variety of ways within the knowledge-based school of AI. I will concede that the course could have used more practical implementation examples to help solidify how you’d actually apply the concepts, but what I took away is that there are lots and lots of ways to implement the concepts we discussed. I think that’s the main point: this class doesn’t teach algorithms, it teaches high-level approaches to problems that can be realized through a number of different algorithms. So go into it with that understanding.


    Semester:

    This class felt like it had two, almost separate components.

    The lectures, homework, and exams were very theoretical. They covered many interesting topics of AI learning. As others have said, the homework was very time consuming. I did enjoying doing the homework. The grading rubric is very literal, I always started each homework with an outline of each question and what was required. Unfortunately after I figured out this formula, I realized I was able to bullshit and still get nearly perfect scores.

    The project to solve Raven’s Progressive Matricies felt disconnected from the lectures. It was still very fun and challenging, but I ended up using conecpts from computer vision and machine learning which were outside the scope of this class. Be prepared to do a lot of self learning to complete it.

    I really enjoyed the peer review system, although about halfway through the semester I had maxed out my review score and didn’t give any other reviews.


    Semester:

    Good course and lecture material. Lecturers were engaged with the students via Piazza.


    Semester:

    I made an account here just to write to a review for this subject! I took this course in Fall 2019 after they updated it last year and it has just gotten worse. Now the aim of the projects is to make a chatbot that answer questions about the class. No more Raven’s matrices. Also don’t get exicted about the chatbot. You won’t use and NLP, neural nets, semantic nets or any cutting edge language AI.

    Do not that this course if you want to learn AI! Only take it if you are good at writing long reports with fancy diagrams

    Cons

    • This course only talks about AI in a abstract was and makes arbitrary connections to human cognition. This course is a mish-mash of psychology, philosophy of AI, some programming (mostly hardcoding vocabularies) and an English lit class. You will learn nothing of substance or practical use.
    • Assignments are very poorly designed. Most of them ask you to make a parser of a arbitrarily defined question schema. If you guess (harcode) the right vocabulary into your parser and bunch of clever if statements you get full marks or else you get destroyed.
    • The midterm and final are take home. 2500-300 words report. The midterm was so hilariously useless that it is hard to describe. Parts of it literally required you to write about Shakespeare. I'm not joking. Also grades are based on length of answers and how many colorful diagrams you can put in it.
    • Pros

    • Some TA's (only some) were really helpful and that is the only way I survived this class.

    Even if you want an easy A don’t take this class. GT is a top ten CS school. There are much better classes offered here which are tougher but actually useful.

    Only take the class if you have the rare ability to write long verbose reports with diagrams. if you want to learn about AI stay away.

    You have been warned.


    Semester:

    Course lectures cover a huge swath of techniques for storing and accessing knowledge in efficient ways. I found these lectures interesting and thought provoking. The lectures were pertinent to some strategies for approaching projects, The lectures do not give you an algorithm to work from though, more a rough description of what a technique might look like. 1/3 of the HW questions, and the exams. I think that the project was good, but I think the paths for working through it to a passing level might be a little too well trodden. The course is very writing heavy, the minimum amount of writing required for full credit is ~42 pages, the maximum maximum is 69 pages. If you’re not strong in English, or words do not come to you naturally, this class might be one to avoid. There’s enough questions that I found exceeding the page count was more of a problem than going under. Some may benefit from CV, CP before taking this course.


    Semester:

    This was a pretty good course! I had just taken AI which was pretty intense but wasn’t always engaging. This class really got me thinking about making really Intelligent systems, not just clever algorithms for solving simple tricks.

    The professors do a great job of presenting the information. The assignments weren’t too difficult but required some thinking. The project was interesting and so I didn’t mind devoting quite a bit of time to get it working. A knowledge of numpy will serve you well for the Raven’s Progressive Matrices.

    The final was pretty intense, as you have to do a pretty thorough write up. I scored very well on it, so maybe I went a little overboard and it really isn’t as intense as I thought it was. But as a rule, the more effort you put into making things clear and easy to read/understand, you will be rewarded for it.


    Semester:

    (I took this in Fall 2018, but this website isn’t letting me select that!) This course was fine. I appreciate Dr. Joyner’s general approach to ed tech. He’s great. The lectures were so abstract that it was hard to follow. The project seemed very detached from the lecture material; we had only the vaguest guidance on how to connect the two. I felt that I had to teach myself and be extra resourceful to be successful with the project. The exams were mostly rote memorization; I didn’t love them. Piazza was quite active.


    Semester:

    *tl;dr: Amazing course, well presented, effective teaching, interesting project!*

    Only three homework/papers written, but six peer review assignments. Excellent way to focus on exploring interesting areas of the material. Loved how students had freedom to choose which topic(s) they wanted to explore. Peer reviews were great way to have students review other papers, learn how to review other topics, see examples of writing from peers, and judge their work against others.

    Project(s) were to explore Ravens Progressive Matrices, an IQ test based upon images. Challenging as I had avoided graphics much of my career, and students were not allowed to use advanced image processing features. Forced to be creative, and consider how humans examine images and find similarities. I interviewed over 20 colleagues to learn how they approached RPM, and incorporated some of their strategies into my agent. I loved how the projects revisited the same problem as we learned and applied more AI techniques and refined our approaches.

    The review of peer student papers and projects has been unique so far in the program (9 courses completed), and one of the most effective techniques for teaching/learning.

    Final exam was take-home, open book, open notes. Enabled student to really explore material and explain what they learned.

    I would suggest that a student delay taking KBAI until they have completed 1-2 courses and adjusted to the program. They will gain more benefit from the course as a result.


    Semester:

    As others have mentioned, there is a good bit of writing for this course. The topics are partly philosophical and partly on the lecture material, but overall the prompts feel “squishy” and subjective. There is a project writeup portion where you can discuss your code implementation in practical terms, but even there you have to add interpretations of “how your agent relates to human cognition”.

    I strongly disliked the RPM project and that killed my motivation for the course. At least in other courses where you have various projects, there is probably one that you end up liking, but with KBAI, you have to grind away at the same problem without learning any useful techniques from the lectures. I signed up for this course hoping to work on a chatbot, but that project was only offered for one semester and apparently it did not go well enough to continue supporting.

    If you like psychology, then you’ll probably like the lectures. I’m sure the course creators spent a lot of time consolidating the material into the lectures, but it’s a very high level introduction to a lot of different ideas. Having finished the course, I don’t really know that I learned much.

    Though Dr. Joyner is engaged on Piazza, there isn’t an avenue to discuss the course material, which means that if you have questions about the lectures, you better hope that one of your class peers can explain it. The syllabus lists a Slack channel for office hours, but none of the teaching staff or TAs answered any questions posted to that channel during the entire semester. There are two instructors for this course, but one disappeared towards the end of the course, maybe due to health reasons, and the course structure deteriorated a bit.

    I dislike the grading process. Dr. Joyner does not like to release the grading rubric and I found that the feedback I received wasn’t useful or explanatory. Also, make sure to keep submitting project attempts to Bonnie, even after you have a passing grade. Points are deducted if you don’t keep trying to improve your score and you haven’t made very many attempts.

    Clearly some people love this course, but it did not match my expectations based on other courses in this program.


    Semester:

    I do not like this course because I feel I learned nothing. The lecture is very high-level, which keeps talking about some obvious things and skip technical details for each topic.

    We had 3 writing assignments and each is about 10 pages. The homework asks weird questions (e.g. to summarize paper/political document/news).

    We had 3 exams throughout the semester and they are open book. The content is related to lectures and each exam has 15 multiple selection questions. It is not difficult to get an average score if using ctrl+f to search in the book, but it is still challenging to get a high score.

    We had 3 projects to solve Raven’s Matrix Problems. This is the only component that I feel is interesting in this course. An AI agent needs to be designed to solve the problems given and either Java or Python can be used. The grade of projects is based on three components, the best performance of your agent, the effort in making progress of your agent, and the report. I feel this kind of rubric is very reasonable.

    Overall, if you like high-level discussions about AI topics and if you are ok with a lot of writings, then this might be a good course for you.


    Semester:

    A lot of busy work and the lectures feel pretty disconnected from the project. That said, the project is kind of fun.

    Be prepared for a good amount of writing!


    Semester:

    This course goes over artificial intelligence and the techniques used to design it. The course has 3 HWs (with multiple sections), 3 Projects, and 3 Exams. The workload is easy to manage and it is very easy to work ahead if you need to.

    Pros:

    1. easy to work ahead
    2. very interesting information
    3. some programming but not ONLY programming

    Cons:

    1. you don’t actually get to build real AI systems

    Needed knowledge:

    1. either Java or Python

    Highly recommend this course for a first or early course.

    To see my full review on the course, check out my youtube channel: https://www.youtube.com/watch?v=wqOIhHa8TbI


    Semester:

    Knowledge-Based AI is probably the most well structured OMSCS course that I have taken so far. You can front-load all of your work. The TAs are very involved and Dr. Joyner is the most active instructor I’ve met so far. There were numerous cases where students requested more time for projects and were actually granted it!

    The quality and interest of lectures is pretty great, as are the exercises and questions they pose. However, there is definitely some hand-waviness to them as some of the deeper concepts are not fully explained to the level I would expect in a CS Masters.

    Homeworks are easy points and attempt to quiz you on material from the lectures. In reality, they are just long writing assignments. I consider them to be busy work as I’ve learned very little besides some ethical points of view on AI. I recommend banging them out in a day or two and spending time getting ahead on the projects. I was able to do this and get a 20/20 on 2/3 homeworks. (homework 3 grade is still tbd at this point in time)

    Tests are easy and open notes. You will have no problem getting a decent grade on them, and I don’t even think you really need to study. Just watch the lectures, take some notes, and you’ll be fine.

    Projects are based on Raven’s Progressive Matrices, a visual human intelligence test. Never has there been a larger disconnect between course lectures and application of that material. You will apply exactly 0 of the lectures to the project. Instead, you will spend 90% of your time doing visual processing, so get comfortable with numpy. (And forget PIL, PIL sucks) Try as much as possible to use vectorized operations instead of going pixel by pixel so that your performance doesn’t suffer. There were many students who did not apply the visual approach until Project 3, and they struggled a LOT! Also, do yourself a favor and read the relevant sections of the ASTI model of solving these matrices. It will pretty much guarantee you will meet the performance requirements of the first two projects using the visual approach.

    My biggest complaint with the course is that literally none of the lectures will apply to the projects you work on. I want to give this course a higher rating, but I know that in a month, most of the material I have learned will be forgotten because I never got to apply it. I cannot forgive that, and all I can really say is that I have a faux-intelligent RPM solver with a lot of overfitted if-else conditions and a bunch of useless notes at the end of the day!


    Semester:

    I would not even care to write a full review on this course.

    KBAI is an absolutely useless course, which does not provide any kind of knowledge, practical, or theoretical, not even philosophical, at all. Concepts are hand-wavy gibberish, assignments are 10-page essays on ethical and legal topics not related to CS, projects are only good, if you like writing 1000+ line if-then apps. This course is like an undergrad course for philosophy majors with occasional elementary programming problem, not related to taught material.

    Only take this course, if you need an easy A or a pair for a hard one. It is not even good for the latter purpose, as it requires writing those huge meaningless assays, excuse my French.


    Semester:

    Quite frankly, this course feels more like an undergraduate sophomore level CS course, not a graduate course at a top 10 CS masters program. You’ll have the opportunity to tackle a fun project, but you likely won’t really learn anything useful.

    Pros

    • The project is a 3 part project where you solve Raven’s Progressive Matrices). It’s pretty interesting and fun. You have a lot of freedom to solve the problem however you want and you can build on your previous work in the later projects.
    • The class is well run. TAs and the professor are reasonably active on Piazza* and seem to care about creating a positive experience.
    • If you’re into ethical AI dilemmas or thought experiments involving AI, the homework problems can be quite interesting.
    • The exams are not difficult - they basically require that you watched the lecture and took organized notes.

    Cons

    • The lecture material is way to high level to be useful. Literally every lecture would ask “how can we get an agent to do X” and then fail to answer the question. For example, the question that asked “how could we get an agent to understand a sentence?” talked a lot about a specific framework that can be used to more meaningfully store sentences, but said diddly-squat about how you would actually get the agent to recognize different parts of the sentence to actually build the representation.
    • (*) The course staff tends to ignore questions about actual course material. I don’t think I’ve seen an instructor response to any questions that ask deeper questions about course material. They also tend to ignore good faith questions about the course management process or ways to improve the course.
    • If you’re not into ethical AI dilemmas or thought experiments involving AI, the homework problems will be tedious.
    • It’s really easy to “game” the project if you find the right resources on google.

    If you’re looking for a reasonably easy course that will give you some food for thought (or if you’re looking for a busywork class that you can get an easy A in), you may enjoy this class. However, if you’re looking for a course that will teach you something about AI, I would recommend giving this class a miss.


    Semester:

    In short, this class doesn’t teach anything useful outside of solving toy problems. The real world isn’t a 3x3 grid of shapes with 8 answers. I’d much rather take a class on Probabilistic Graphical Models, Bayesian Statistics, Deep Learning, Natural Language Processing, or any other topic that has applications to the real world. If you agree with my sentiment, stay away from this course.

    The lectures are devoid of substance; they basically consist of defining terms that are never used for anything useful. Here’s an example of what you can expect from the lectures:

    Lecture: Abduction means given a rule and an effect, abduce a cause.

    Me: Okay, great, how can we use this ‘abduction’ to solve the problem at hand? What algorithm can we apply? This is a CS course afterall.

    Lecture ends

    The homework assignments are essentially busy work (lots of writing) with no return on investment. The project (IMO) doesn’t leverage any of the course material. In fact, I’d wager that you’d be worse off if you tried to apply the course material (somehow) to the project, as opposed to just implementing a paper that describes a visual-based algorithm.

    The exam questions focus on how well you understood their esoteric AI terminology that isn’t used anywhere else outside of the course.

    To end on a positive note, Dr. Joyner is an enthusiastic professor who actively participates on Piazza. If he freshens up or modernizes the material then perhaps KBAI can be salvaged.


    Semester:

    This is a perfect class. You learn a lot, the project is great, the lectures are solid and it’s fun.

    I did 2/3 of the class before it started because I had 2 weeks off and they upload everything online pretty early.

    Python or Java are needed to do the projects. Some computer vision could help but is not necessary.

    I heeded advice of a previous poster to keep it simple on the projects. You don’t have to do things perfectly to get an A.

    Homeworks are “easy” in that you can do well with effort alone. They are long, however. 10 pages of essay work that often took me about 8 hours.

    Exams are all based on lectures and studious watching/note-taking are all that’s needed to get high grades on them.

    Like all of Dr. Joyner’s classes, there is good use of Piazza.

    I’m never a big fan of the peer review process, but it’s not that much work.


    Semester:

    It was my first course in the program along with RL. All the concepts you learn are very applicable if you happen to design an AI system. But, the course gives all the information at the surface level. You will need to google up for more details on the topics covered. The class has 3 Homeworks, 3 Projects and 3 Exams. The Homeworks are document-writeups on either recent trends in AI and questions framed from the lecture. For projects, we had Raven’s Matrices, but I heard they are experimenting with other projects. The Homeworks and Projects are tedious but give you a new angle for thinking than the usual implementation thought process. Overall, liked the class, learned​ a lot of new things but, ended up hungry for deep info.


    Semester:

    Great course… if it’s what you’re looking for

    This is like taking a philosophy course that also has a programming component.

    Do you want coursework that will let you go into your office and solve all sorts of new problems because of what you learned? If yes, then you should look elsewhere.

    But if spending 20 minutes pondering whether or not an anthill is conscious and then another 20 minutes writing half a page on your thoughts sounds interesting to you, then you will really enjoy this course.

    Course Quality

    This course is amazingly well run. It is clear that a lot of time was spent putting together thoughtful lectures that built on each other and introduced complex topics in a way that makes them seem easy.

    Side note: I feel like many of the complaints are that this course is too “easy” and not “graduate-level” work, but I’m sure that worse instructors could make the topics seem very difficult. That is what smart, thoughtful people do, they make complicated things easy to understand.

    Homeworks

    You will have to write. You will write a lot. Are some of the questions busywork-ish? Yes. But if you’ve got the time to put thought into the questions, most are as interesting as you want to make them.

    Exams

    These are kind of, meh. I mean, they have to make sure you’ve watched the lectures, so if you’ve watched all the lectures and can ctrl+f through a pdf, it’s nothing to stress about.

    Projects

    Solving the Ravens Progressive Matrices was a really enjoyable series of challenges, and each project builds on the previous one. Like another reviewer said, if you go visual for the first project, you can save yourself a world of pain for project 2 and 3.

    Overall

    If you take this course simply because it looks easy on OMSCentral and you want to churn through some credit hours, then you can, but everything will feel like pointless busywork and you’ll hate it (but hey, you’ll have only spent 6 hours/week and gotten a B and are 3 credit hours closer to a degree).

    However, if you don’t mind stopping and smelling the roses for a bit instead of just churning out lines of code, then you could have a really nice time in this course.


    Semester:

    The content of this course just isn’t relevant to anything I can imagine working on outside of academia. Some may find it interesting, but at a practical level any of the other AI/ML courses offered are far more likely to give you what you’re looking for if you’re at all like me.


    Semester:

    Useless Crap

    This class is a waste of time and money. It is a scourge on the earth, and an affront to human intelligence. There must a place in hell where people have to take this class over and over again. I only took it because I have to graduate soon, and don’t have many classes left to choose from. I got a B.

    The class is a mishmash of topics. Videos teach a topic that has zero real-world applicability. Projects are primarily image-processing based. Homework is a combination of lecture content questions and ethics. I like ethics when it’s taught properly. I took a class on ethics in college and loved it. The way this class forces students to think about ethics makes me hate it.

    This course tries to do too many different things and does none of that well. On top of that, the last homework solicits homework and project question ideas from students. Sigh, is this a crowd-sourced class? No wonder it’s so bad. It’s awful. Don’t take it if you can avoid it.

    If you must take this class, know this: max out your word limit to get full points on your homework and projects.

    Any less, and TAs will complain that you didn’t go into depth and take off an arbitrary amount of points.


    Semester:

    This was my first and favorite class. The material was interesting, and the projects challenging. I loved the open-ended nature of the projects. The written assignments prompted me to think of some projects that were interesting enough to put on my for-real implementation backlog.


    Semester:

    Pros:

    • NO GROUP PROJECT. This already raises this class two letter grades in my book.
    • The projects are exposed so you can work early! I forget if the assignments were as well but I feel like yes. Can work ahead, woohoo!
    • Some of the assignment questions were fun.
    • The project was fun. You could brute-force your way to victory if you didn’t actually have time for Grad School (this was my situation as I was working and taking another class), or you can really apply what you learn and try to do interesting things. This seems like a pipe dream to me in this program. There are other assignments and tests and life so I felt that I had no time for that, but some people did really cool things.

    Cons:

    • This is a cognitive science class with some computer science mixed in. Other than the project, you will not be doing any programming. Only writing and writing about theories of the mind and AI. If that’s your thing, cool. If not, you’re gonna tear out your hair answering questions like “what is an example of a good\evil AI in media?” Like… really? What is the point of this question?
    • The assignments are really time consuming.
    • There are tests… ugh.

    Overall, it’s a required class for some specialties so no choice, but also did I mention NO GROUP PROJECT?


    Semester:

    Joyner is a fantastic professor, and the the material is really interesting. The topics can be somewhat loosely defined and don’t always connect well to the projects, but you’ll still learn a lot. Definitely one of the better-managed classes, with clear timelines, responsive TAs, and incredible breakdowns of the exams.


    Semester:

    KBAI (as it is called), is a very fun course and I learned a lot. Prof. Joyner, and Prof. Goel are amazing, and work well together. The course is also laid out very well. I did find the course very ‘heavy’ though. I took it in Spring 2019, and it had 3 exams, 3 assignments and 3 exams. The project are all cumulative and involve solving via AI the famous Raven’s Progressive Matrix. I enjoyed this part of it, as it forces (literally) you to learn Python, however, it is just a a very time consuming class. Not recommended for your first class.


    Semester:

    Overall, a decent course. It covers a lot of material. Don’t expect to take away “practical” knowledge as most of the stuff taught are very generic and abstract concepts about intelligence and representation, extraction, understanding of information/knowledge.

    The course has 3 exams - which is good pacing because there are just too many concepts to learn and it would be difficult if these were to be crammed for just 2 exams. No additional reading required for the exams. But, you need to properly understand the lecture material. You can’t get away using just ctrl-f to search for stuff and answer the questions… (these are open-everything tests)

    The tests were fine, but I wish they were more “application” oriented - meaning, it would have been better if the questions asked how concept x can be used to solve problem p or something like that.

    The homeworks were the most interesting part of the course for me. Lots of interesting questions to be answered.

    I hated the supposedly popular “raven’s matrices” projects. The aim is to build an agent to solve intelligence test problems - probably using the concepts taught in the class, but I did not feel like I learned anything by doing these projects (even though my agent got pretty good scores). The methods I (and probably most of the students) used are nowhere near how humans think about solving these problems and for me, it was just “use and do whatever” to get the highest possible score so I don’t really understand the point of this project… I think the NLP related chatbot would have been a better option, but that was not offered as a choice in my semester.


    Semester:

    I found KBAI to be an interesting course. Dr. Joyner and team have been good at returning grades in a timely manner and progress on participation points throughout the semester.

    I found myself working on the projects last minute, which is a bad idea (but that’s just who I am, and I’m working on that!), but I found the projects interesting nonetheless. I didn’t find any use for the lecture videos in the projects, though each of the 3 homework assignments touched on the lectures for one question each. The rest of the questions in each homework were thought provoking and I loved peer reviewing other peoples’ thoughts on the same question.

    I definitely had a hard start in the beginning, as I was moving into a new apartment, so I would recommend not having too many outside-of-your-degree distractions while you work. I took CS 6400 alongside this course and found both classes manageable for the semester.


    Semester:

    This is my first course and I loved it, mostly because of my interest in this subject and the project.

    Prerequisites in my opinion,

    1. You need an interest in AI more specifically human-like or general purpose AI, else you might get frustrated soon.
    2. All 3 projects will run fast, you really need to be comfortable with Python(Numpy) or Java.
    3. If you have not taken CV already you might need to quickly read some paper and be able to implement them. But this should be perfectly fine as long as you are comfortable with the chosen language.
    4. You really need to surf a lot online to do the 3 assignments. Like, read very fast, summarize and present the ideas in 2 pages along with your own opinion.
    5. You should be able to take brilliant notes and keep them handy for the exams. The 3 exams are the weirdest I’ve ever taken. Good understanding of the concepts taught in the lecture is a must to crack the exams.

    What I liked?

    Definitely, I liked the theories that were taught in this course. It is a fuel to your thoughts and imagination, you will learn concepts that you can apply to any AI problem, the problem is it will NOT be as easy as it sounds and you might feel they are too abstract.
    The project is interesting, you will most probably enjoy the project itself with the journals and peer reviews. On the other side, they don’t necessarily relate to the theories you learn in this class. You can use them for the project but eventually, you will find easier ways to get the agent working that will drive you away from the course materials.

    If you want to get an A, you can do it with minimal work. I did more just because I am interested in this track.


    Semester:

    This was my first course, and I enjoyed it. More theory than practical/technical than I would have liked, but my main goal was just to test how I could balance a easy/medium difficult class for the start of my grad school career with the rest of my life.

    Full disclaimer, my goal was to put in the minimum amount of work necessary to get an A. The number of hours per week was about 6, but that’s an average, there were definitely weeks where I put in 0 hours, and the week before a project was due I would put in >6. It’s very much a ‘get out what you put in’ type of class. There’s tons of optional readings that I’m sure are interesting if I decided to read them.

    So the wide variance in #of hours people put in is because of the projects. The projects are as hard as you want them to be. If you want to fine tune your AI agent’s performance, try lots of different techniques, read a bunch of technical papers and try the algorithms explained there, go right ahead. You’ll probably learn a lot more than I did and have fun doing it.

    But DO NOT believe the reviews that complain how time intensive they are. The bar for getting an A on these projects is very low. You don’t need to be a python wizard. You don’t need to be a numpy wizard (I had never used it before. I barely can say I know anything about it now). You don’t need to use any fancy algorithms. I implemented the dumbest thing possible to get the bare minimum results necessary to get full points. And since the projects build on each other, I just had to tweak them slightly to get those results for each subsequent project. And for a graduate class full of current/aspiring software engineers/technologists, I was shocked how many did not understand how to KISS (keep it simple, stupid).

    Do yourself a favor if you’re trying to save time and start with a visual approach from project 1. It’ll make your life a lot easier by the time you get to project 2 and 3, and it’s honestly quicker to solve the problems than the verbal approach, albeit a bit more intimidating/more upfront work/learning.

    And for those reviews complaining about the exams. Personally I thought they were pretty easy. But even so, they’re worth so little of your grade that you can fail them and still get an A in the course.


    Semester:

    This was my first OMSCS course, and it was a good introduction to what kind of expectations are required from you in the whole OMSCS. It’s a gentle ramp-up, and since it’s a medium difficulty course, you can gauge what type of effort will be required for the more harder courses in the future.

    There are 3 homework assignments, 3 proctored exams, and 3 projects. Projects have more weight, followed by exams and homework. Homeworks and projects require a lot of writing. 50% of the project grades are dedicated to the journal, where you explain your thought process behind the code you submit. Homework is fully written assignments, so be prepared to write a lot.

    There are grade points for participation as well (posting on Piazza, doing peer feedbacks, etc.). Very easy to get if you log in once a day to Piazza and take 2 mins answering very easy questions some classmates might put up. Also, peer feedback can be fun. Reading approaches to projects your classmates have used might end up being helpful, but do not rely on you getting good feedbacks. Most of the time, people just copy paste “Great job” to every feedback and you can do the same.

    TAs and Dr.Joyner (the professor) are really helpful and participate in piazza very frequently. It’s also easy to get an A in this class. I did all my assignments the weekend before the submission date (one long night per alternate week) and could complete all of the work a few hours before the deadline. It’s very easy to frontload the work (you should especially do that with projects). Exams were open-book and comparatively easy to score.

    The only problem is this course is very theory-centric. It teaches abstract concepts about AI which might not help you at any point in the future or offer any good insight into the current world of AI development. The project is unrelated to the coursework and requires you to build logic around solving problems rather than an AI-like approach towards problem-solving.

    Overall a great course. A very theory focused, but slightly enjoyable course nonetheless.


    Semester:

    The course had three main components:

    1) Video lectures: They were 30 minutes to 1 hour long and generally informative and entertaining. I recommend taking detailed notes because the exams basically test exact wording and can be very tricky.

    2) Homework. Three homework assignments of ~10 pages each. I would say these are the least fun things in the course. Some questions allow for some creative and fun responses, and some include valuable review of course topics, but there are too many about AI ethics and unrelated stuff. The formatting required is also a little annoying (though not difficult because of the provided template). The difficulty is not high, it just takes a while.

    3) The project. This required designing a program to solve Raven’s Progressive Matrices. You can choose Java or python, and you can use a verbal or visual approach for the first two project submissions, and only visual for the last one. I HIGHLY recommend using python and a visual approach from the start. This is the biggest time sink, though it’s pretty engaging. If you’re a whiz and choose a good implementation, you might have a good enough solution halfway through the course and be able to take it easier later.

    This was my first OMSCS course, and I came into it with only C++ experience and no python, numpy, or AI knowledge, and I was able to do fine. I took this course alone (but with a fulltime job), but I was never pressed for time. Assignment due dates are spread out, and you can work ahead if you have a trip or something. I would be perfectly content if all OMSCE courses were like this one.


    Semester:

    If you enjoy english and/or psychology classes you might enjoy this class. Otherwise consider AI4R or CP which are similar programming wise. Dislikes: Programming logs/reports (30 pages) , written homework assigments (30 pages total), written peer feedback (40 assignments, read and write meaningful comments without knowledge of correct answers), proctored exams (scores weeks later, with no feedback on what you missed), piazza points (spamming and trolling at maximum), convoluted lectures on psychology with a sprinkling of computer science.


    Semester:

    Overall, this course was really good. The lectures were informative and interesting and the projects while challenging, provided a lot of insight and depth. There were exams for this course that use ProctorTrack and they proved to be more listen to the lectures and spew back information. You can however use any notes you’ve taken for these exams. The projects are broken into core parts that all build off of each other. The goal is to solve raven’s progressive matrix problem. If you take this course, take my suggestion and theirs and solve based on images from the start (not the descriptions). Doing so will save you a lot of rework time in the future. The course also heavily uses PeerFeedback, a tool to review papers from others students. Throughout the course your project papers and general homework papers will go on here to be reviewed by other students. I rather enjoyed the papers and the project papers as well as reading and reviewing others’ work. Overall I really liked this course, the format, and the projects. Could live without the exams because in all reality, exams are just professors way of “making sure you watch the lectures.”


    Semester:

    This review is actually for spring of 2019

    General review

    The course is interesting. It goes over different areas of knowledge based AI. A lot of what is seen in the course is not used too much in the industry, but you can draw many relationships between the course material and other areas such as ML (at a really high level). You can really do the course in any order that you want. The course consists of a breadth and a depth component.

    ## Breadth component

    Each lecture explains a different concept of KBAI. At the beginning of the course, there’s a lot of relations between the content, but it starts to drop as you go further in the lectures. The 3 homeworks consist of 4 questions, one or two of them will be directly related to the lectures. The other will ask you to write. Be ready to write and read a lot. In the whole semester I’ve written around 18K words. Each homework will be 8-10 pages long. Some of them are interesting questions that connect general aspects of AI with society and ethical issues.

    ## Depth component

    There are 3 projects which focus in solving Ravens Progressive Matrices. When watching the lectures, you can see how you can connect the concepts from the lectures with RPMs. In the practice, there are simpler ways of solving the problems (like using simple heuristics) that have decent performance. Some people program thousands of lines in this course, but this is not a programming intensive course. To be fair, I wrote <100 lines for each of the projects.

    # Workload I did an explanation of the workload:

    Course content - 25 hours

    3 projects - 15 hours each - 45

    3 homeworks - 15 hours each - 45

    Peer feedback and participation- 10 hours

    3 exams (including prep.) - 10 hours

    Total time: 8 hours aprox. You should probably estimate a bit higher. There are a lot of optional readings so this number can go a lot higher. You make what you want from this course. The material is not too hard. The tests are a bit tricky because of the wording, but the average is quite high.


    Semester:

    I do not know why average workload from history review only 13hours/week. (That the reason I choose this class and it seem like a mistake). For newbie in AI field like me, I spent a lot of time on this class. This class is not difficulty but a lot of assignments. 3 homework (10 pages per homework), 3 projects include journal writing, 3 exams. To finish assignments, you have to spend a lot of time.

    Unlucky, I was very busy with my work and family this semester too. I did finish most assignments but the performance is not good. Prof is not active frequently. TA answered most question on behalf of prof, sometimes I did not know exactly prof post or TA post the answer. However, very slow response from TA at the end of semester.

    • 3 homework: each homework have 4 long questions, require a lot of researching, reading a lot of papers, write a 8-10 pages paper. Be careful with format paper and citation.

    • 3 projects: The project is solving Raven Progressive Matrices problems. Not too difficulty, but require deep programming skill to optimize the source code. If you select python, be sure you are master of numpy. You have to submit multiple times with different approach. You have to write a journal for each project, at least 5 pages.

    The biggest issue I got at the last day of project 3 due date. It is too late. They used auto-grader called Bonnie to grade your project. I used python and did calculation at bit level (using a lot of loop 2d array). That is a very big mistake. Bonnie is very slow with bit calculation. I found out at the last day of project 3 due day when I submitted my agent. It took 42 minutes to run at my laptop but ran forever after I submitted to Bonnie.

    I wished I know this issue before. TA and prof did not tell you anything about the optimization. That the reason why I wrote review here. If you select this class, you have to consider this issue. You should master numpy. Do not use bit level calculation.

    • 3 exams: the exams only cover the lectures. But you need to understand deeply. if you are the newbie in AI, maybe you cannot get high score. The answers for questions are much similar. Some answer sound like True but it actually False. It is very abstract.

    • You have to did 6 peer review for 3 homework and 3 project journals to earn participation grade. Each review requires 4 papers at least. So total you could read 3x4x10 + 3x4x5 = 180 pages at least for review.

    The exam/homework/project are not relevant. Student can get high grade in project but may be get low grade in exam.


    Semester:

    This class is excellent, when it is a good fit for you and your interests. As someone who is very interested in AI, I found this class to be spot on for helping to further introduce me to the field. They discuss cognitive architectures and do a great of of helping you to understand how they work and what they focus on.

    The projects build off of themselves so you can continue to improve your approach throughout the semester. This was my favorite part of the course. By the end, I felt like I had built something to be proud of but this came with a large, but sporadic, time commitment.

    It was my first course in the program so a large part of my learning was around how to work more efficiently. I highly recommend this as a first course, especially if you are interested in true AI.

    The TA’s and professor were fantastic and made it feel like a community. Class participation is 10% of your grade, but it is easy to obtain points.

    Overall I’m very happy that I took this course!


    Semester:

    This course was a total waste of time. The course content is not at all relevant/updated and still teaches very abstract AI topics which cannot be used/build upon today. There is a lot of writing work (3 homeworks - 10 pages each) which is boring and pointless. The only bearable things are the programming assignments which ask you to solve RPM problems. Overall, I would not recommend taking this course at all.


    Semester:

    This class helped me get into understanding very basics of creating a program that can to a degree understand context and think for itself. The lectures were completely useless and not helpful at all for someone who has no background in ML/AI. Lectures were very high-level and interesting but did not go over any implementation or guidelines for what should be done in the projects (which is majority of your grade). There were 3-4 other written essays that were somewhat relevant to what was taught in lectures (easily BS-able). Good class if you have a basic understanding of ML/AI.


    Semester:

    This is hard for people weak or not so strong programming background in Python or Java. For software ninja’s this will be medium to easy. I end up dropping it because I graduated a Python CS class, been coding for 3 years and still was not able to use PILLOW library and create a program that compares graphics and selects a pattern. You need to have your data structures, data patterns, problem solving skills in check for this subject and probably to a lot of OMSCS subjects


    Semester:

    I’m writing this almost a year later.

    I’ve several years of experience with Java but had no prior experience with Python or AI/ML/NLP.

    This was my first OMSCS course and it was nothing short of an amazing learning experience. Professor Goyal was amazing and very engaged as an instructor.

    KBAI is more of a classical view of AI, unlike the AI that is heavily reliant on humungous amounts of data. The projects involved solving Raven’s Progressive Matrices increasing in difficulty. There was also peer-peer evaluation of the assignments (only the report parts) which gave a chance to view others approach towards the same assignments.

    There was an option to opt for an NLP based alternate project instead of continuing with the RPM project. It was about implementing a chatbot agent that could answer course related queries. I had opted for this. The course officially did not cover NLP in the lectures and we had to do our own research on it.

    Another really interesting aspect of this class: few of the TAs were actually chatbot agents! The class itself was also an ongoing research on AI by Dr. Goyal. For more on this see https://www.youtube.com/watch?v=WbCguICyfTA

    The grading was curved and I ended up with a low A.

    TAs did a commendable job. Overall this was a very well managed class.


    Semester:

    This used to be an easier class, but like everything on omscentral the Professors are using this site as a way to gauge what courses to make more difficult each semester. I took the Fall 2018 course but the menu is not letting me select that semester as an option. The course is very informative and well run, but you will do a lot of writing and you are not allowed to rewrite anything, and the tests are designed to trick you so studying is rather pointless; just guess and pray.

    I will have to retake the entire semester because one of my essays was not well written as I was so busy with another very hard class, I dropped the other class but it was already too late. Just take one class at a time at GAtech, even courses like this one that are not initially hard will be revamped until you start bleeding. I really liked the material but the grading has nothing to do with how much you have learned.

    No curve(anymore), no regrades(anymore) and the extra credit required you to have the top results in class, so unless you’re already a python wiz you won’t get that either. I am so burnt out and cannot wait to finish this degree, but it’s my fault I was really trying to learn and grow before I took this class. Not at GAtech, just pass the autograder; like in highschool that’s all that matters is a grade. Do your research and real learning elsewhere.


    Semester:

    Instruction The course content was interesting. The lectures are some of the best in OMSCS. There’s plenty of supporting content and recommended texts if you want to learn more about a particular topic. TAs are awesome. Joyner is awesome. Piazza is active.

    Homework 3 writing assignments that cover a mix of concepts, applying the concepts, and ethics in AI/ML. Can work ahead and knock these out early which is nice.

    Exams 3 exams which cover concept definitions, applied examples, and details about specific concepts. Very much a Joyner exam if you’ve taken one of his courses before. Open everything with a 1 hour time limit. No curve.

    Projects You build an AI agent that can solve Raven’s matrices problems (intelligence test problems). The project is broken into three phases, and you submit your agent along with a reflection/write up through the semester. The project was interesting, but I didn’t change my agent’s strategy after the first submission. I recommended taking the visual approach from the start. It’s a little more work up front, but you have to use the visual approach on the third phase of the project.

    Future iterations might have a different project focused on NLP. Would love to see that.

    Pre-reqs You don’t need a ton of background to do well in the course. Some experience programming in Python or Java will help. If using Python, you’ll make extensive use of the PIL library for processing and working with images if the Raven’s project stays as the core project in the course.


    Semester:

    KBAI was my third subject in the program, previous 2 being CV and DVA. I could not appreciate the subject matter enough. The paper does a good job at introducing you to the AI world, but it barely even scratched the surface - I found the complexity of the video lectures, the programming assignments(3), the non-programming assignments(3), and the exams unfitting for a graduate paper in a top grade CS program.

    Barring that, make no mistake that the paper was extremely well-run - the instructor (Prof Joyner) was very active and responsive on both piazza and slack; the TAs were extremely committed and helpful and there was nothing to complain about on the administrative side of things either.

    Overall, I recommend this course more as a filler course if you want an easy one to club with a difficult paper, but from a learning standpoint, I feel disappointed.


    Semester:

    Best professor of the program (Dr. Joyner) for sure. The one who cares the most about the learning process itself and the students. This reflects on the TAs’ behavior and the overall quality of the course. There is a lot of writing involved, which it was a plus for me as I love it. But it is something to consider if you don’t like writing that much. There is simply no way around it as all homeworks and projects require a 10-page essay. The course was taken on Fall 2018, and some changes were introduced to the course in relation to past semesters. For example, the projects used to have a curve and be graded solely on the performance of the AI agent submitted. For this semester, that component was reduced to be 30% of the grade, with another 20% coming from the improvement progress presented and the other 50% from the essay about the submitted agent. I hear the professor is considering some other changes that, if implemented, in my opinion, will improve the course even more for future semesters.

    This is one of those courses that one gets back what ones puts in. On my case, I ended up putting over 30 hours/week, not by necessity for the A, but simply because it is a subject that interests me a lot. But I can see people still getting the A with maybe 12-16 hours/week. Especially if you come with a solid Python background. Not a difficult course for an A, supper interesting topic, engaged students and great professor. Can’t go wrong with that combo!


    Semester:

    The concepts were interesting to me. I liked how learning was primarily via the lectures as opposed to a book. I didn’t think the projects were super conducive to learning the concepts in the course. My investment in this course was very sporadic. Some weeks I wouldn’t put any time into it and other weeks I’d be working on a project for the whole weekend. But the effort required is manageable, especially if begin working early, little by little. I highly recommend summarizing each lecture at the end (as they suggest) as it helps you solidify what you’ve learned and it is useful for reviewing the material before taking the test.

    Script for lectures: http://www.coursedocs.org/gatech/cs7637/index.html


    Semester:

    A very manageable first course. The lectures are good and the homework/exams draw from them in a way that never felt unreasonable. The projects rely on you either creating and implementing your own version of an algorithm that solves a complex series of visual analogies or doing the research to find approaches in papers and then implementing them yourself. Start the projects well in advance to allow for this and make sure you’re comfortable with either Java or Python.


    Semester:

    Very well thought out class. There are a total of 3 homeworks, each about 8-10 pages long, and 3 projects. I found the last project to be very time consuming, much more so than any of the other projects and homeworks. All the assignments are clear with almost no ambiguity and this class truly sets the standard for an online class. Overall, the material is interesting, the professor and TAs are very engaged on piazza and the class is manageable. Stay ahead of the lectures and projects.


    Semester:

    KBAI was revamped for Fall 2018, so I think reviews are needed. You can see the syllabus for Fall 2018 term at http://lucylabs.gatech.edu/kbai/fall-2018/ .

    The class content is interesting but a bit theoretical; while it’s grounded in AI, and you’ll find examples of such topics when doing other AI classes, it’s hard to really apply what is taught in the lessons to most of the things you’ll do in the class.

    The course revolves around three homeworks, which are 10-page written essays about both class topics and other thems, three projects, which is actually the evolution of more or less the same task (creating an agent for solving Raven’s progressive matrices, with harder and harder problems while going on), and three open-book, proctored one-hour exams.

    Homeworks are interesting; they invite you to actually reflect about various topics.

    The Raven’s solver is interesting as well. You’ll need to experiment with various techniques in order to solve the different kinds of problems around. I didn’t especially like the “implementation points” section, but actually it seems that it’s mostly free points for many people, so, it’s not bad either. You must write a report along your implementation, and that report is 50% of your project score.

    Personally, I didn’t like the exams. They felt more about wordplay and discerning ambiguities, rather than verifying if people understood or knew some content. But that doesn’t mean they’re overwhelming difficult.

    You can mostly frontload work, since the syllabus is complete from the beginning, but while you can implement your agent, you won’t be able to test it his “matching” set from the beginning, so you may be forced to revisit it later on.

    All in all: a solid, well run, medium-difficulty, interesting class.


    Semester:

    This was my first course in OMSCS and I really liked it. It would be a great first course for anyone. There is a lot of theory and no mathematics at all, there are 3 homework assignments, 3 projects and 3 tests. Tests are open book and simple, if you have watched lectures carefully, you will be able to get good marks on the exam. All the projects are connected to each other, there is an option to choose Verbal approach for first 2 projects but final project involves reading images and processing on it. I would recommend to start on visual approach from first project itself. Prof. Goel no longer teaches this course and Prof. Joyer is no less, he is actively involved in the Piazza discussions so as all other TAs. If you have any questions rest assured it will be answered very quickly on Piazza. There is a lot of writing involved in this course. Apart from homework assignments which are expected to be 10 pages long, each project has to have a reflection report which is again 10 pages long, so be ready to write up to 60 pages throughout the course. The good news - There is no team project !. The bad news - The experimental project of NLP was not offered in this semester.


    Semester:

    This was an excellent class to get a good introduction to Knowledge Based AI.

    It gave me a practical view of how to use AI along with the development team’s knowledge and to consider ways to build confidence in the AI with your users.


    Semester:

    Dr. Joyner and the TAs are very helpful and responsive, and it’s clear that they care about the students’ progress and learning. Course syllabus, grading and schedule are very clear and available at the start of the course. We had 3 homework assignments, 3 projects and 3 exams. The projects used Java or Python, and you can work ahead. Overall, an interesting course on AI, with lots of theory and also practical work in the projects. This semester, we had Raven’s Progressive Matrices in the projects, but it looks like there will be some new projects in the upcoming semesters. It’s not a very hard course, so it’s suitable for students early in the program. Enjoyed it quite a lot and made me think both about AI and my own thinking.


    Semester:

    Overall, an excellent course with a very engaged professor. I learned a lot and really enjoyed the projects. I learned a lot from the piazza interaction as well–a lot of great posts with related articles. There’s also a great opportunity to think about the ethics of AI through the homework assignments, which I see as difficult but important.

    Easy to work ahead, which is a huge plus for me, although Exams must be taken during a given week.

    A significant amount of writing is involved in the course, which surprised me–this was my first course in OMSCS. 3x 10 page homeworks, 3x 10 page Project Reflections.

    I found that I wanted to continue working on the projects after they were turned in … they’re that fun.

    This was a great first course. I put in decent effort and received a solid A.


    Semester:

    Definitely not a course I would have taken if I could have helped it. The lecture material is wholly unhelpful for the project and you’re graded based on the performance of your project compared to your peers, which varies wildly based on the KBAI techniques that you use. I scraped by with an A from being ahead of the curve in the early stages.


    Semester:

    This was my first OMSCS course and was very well-organized. The professor was heavily involved, and this was the most “academic” course I have taken in the program. By that I mean it feels more like a grad class - you’re encouraged to experiment and explore and not obsess about grades. I loved the lectures and I spent way too much time on each of the assignments, so this was a big time sink for me. I am a decent python programmer and found the projects consumed multiple weekends to complete. I rated this class to be “Hard”, but I spent a lot of time on it and got an A, and I think you would find similar success. Outside of the repetitive projects, this class was one of my favorites.


    Semester:

    I loved how enthusiastic and engaged the professor, and the TAs were. They were all very helpful and responsive. It’s clear that they care about the class very much. The rules of the class are well thought out and very clear.

    I was able to get into the alternative project (doing a chatbot), and it was a great experience. The rules were not as clear as in the main project (because the project was still in the experimental stages - we were warned about that beforehand), but being a part of the group helping to define it was thrilling.

    On the other hand, I didn’t really care for the lectures. I felt the material was outdated and without much practical application (that’s just my opinion - professor Goel would disagree).

    You have to write a lot in this class (essays, not just software). I think it was a great introduction to OMSCS - after taking KBAI writing-assignments in other classes don’t seem scary at all ;)


    Semester:

    KBAI is like a good game: You can have a lot of fun on the main quest (get raw points re-implementing the CV-focused known path), or a lot of fun on side quests (implement something else entirely and loosely tie it back to lecture content), and there’s no way to lose.


    Semester:

    The course was well organized and let me work ahead. KBAI offered projects and coding to make the concepts concrete and applicable. Cannot recommend it highly enough. You do have to work ahead some as the assignments were uneven in complexity at least from my perspective. Some just seemed easy to do and others required struggling to get them to work. This may have been my lack of background in robotics. The extra project work was worth doing.


    Semester:

    The course involved a lot of writing. For me, the concepts were very high level and didn’t cover things to the detail that I would have liked. The project was interesting for the first few weeks but got tiring/boring towards the end of the semester. The exams also required a ton of writing, which wasn’t really the best way to learn concepts (for me).


    Semester:

    I don’t think that the projects supported the material well. Because each project built off the prior one, if you didn’t have great results in the first stages, you ended up not being able to really make any breakthroughs in learning because you were perpetually behind in subsequent projects. At least, that was my feeling.


    Semester:

    Well organized with great communication between instructors and students. I would have appreciated more direction in the projects and more practical examples in the lectures. I felt the alternate chatbot projects were harder, more interesting, and more applicable to the course material.

    There is a non-trivial amount of writing in the course. Three assignments, two exams, and peer feedback were entirely writing. The three projects have a coding component and a writing component.

    This was Dr. Goel’s last semester teaching this course.


    Semester:

    I took KBAI as my first course in OMSCS and was very impressed with the organization and quality of the course. The interaction with TAs, Professor and fellow students on Piazza was one of the highlights. Much of the course centers around 3 projects that implement an AI agent to solve Raven’s Progressive Matrices. This semester there was an alternate project offered for projects 2 and 3 for a select number of students that implemented a chatbot. In hindsight I wish I had taken the opportunity. I believe the chatbot project will be offered to more students in future semesters. My only gripe is that we didn’t have more project based work that allowed us to implement techniques learned later in the course. The Raven’s projects really only implemented techniques learned in the first few weeks. Be prepared for a lot of writing. Also, you can put as much time as you want into this course so it is a little dangerous. The homeworks and projects are very open ended.


    Semester:

    One of the courses with the most genuinely involved instructors. They are actually around all the time and are still experimenting with and improving the course even though this is one of the oldest courses in the program. Professor Goel is going to stop teaching this course starting next semester, but it will still be taught by Professor Joyner (and Bobbie Eicher), so you can still expect a lot of instructor involvement. The course does open book exams without proctortrack, which is personally my favorite mode of doing exams since proctortrack is so constraining. Decent amount of freedom to explore and experiment in the assignments if that’s what you want to do.

    My main issue (and it is a big one) is that the material itself feels pretty dated: knowledge-based AI isn’t really in fashion in our age of ML and deep learning, so I took this course to see if there was still interesting techniques in that domain, and frankly I don’t think I’ve been convinced: there is a lot of material in this course, but much of it seems obvious, brittle, or excessively vague. Also there seems to be a lot of repetition in the material, where techniques that are extremely similar get presented separately due to what I think are very minor differences.

    In summary: this is a well-taught course. It does require you to write a lot but you don’t need to be a genius to get an A, just do your work consistently. However, don’t expect your mind to be blown by the material, and be aware that you are learning about an area of AI that is now fairly outdated.


    Semester:

    This is a very well-structured class. The material is very interesting and presented very clearly, and all course material is available at the outset of the course. There are 3 assignments, a 3-stage class project, and peer-reviews for all assignments and project stages.

    Assignments:The 3 assignments are essentially essays that ask you to leverage class material to either a specific topic or a topic of your choosing (depending on the assignment). You often have a choice between which material you wish to discuss, so as long as you illustrate you understood those topics and provide a reasonable answer to solve the posed problem it’s not too difficult. I would recommend using lots of figures, since the word limit can sometimes be tight, so flowcharts, pseudocode and illustrations in general are very helpful. Make sure to answer all rubric questions provided for each assignment.

    Projects:The class project is broken into 3 stages. The main overall class project is to develop an AI agent that can solve Ravens Progressive Matrices, a standardized test of intelligence. I say main project since they also allow you the option to complete an alternate project for projects 2 and 3, which involves developing an AI agent chatbot that can answer questions based on answers from an FAQ. At each stage, you deal with progressively harder requirements / problem sets, and you will need to also write a project reflection describing your approach, what you learned and how it connects to KBAI topics. Start projects early, so you don’t feel overwhelmed trying to rush things last minute. Don’t neglect the written reflection too, as it’s normally 40-50% of each project, and make sure to again follow the project rubric to make sure you answer all questions on each rubric.

    Exams:There are 2 take-home examinations, which aren’t too difficult. They are essay-based, much like the rest of the course aside from project implementations, and you have a week to complete each exam.

    Peer Review:You will also need to complete peer review for all assignments, all 3 project reflections, and the mid-term and final exams. They don’t want single sentence sort of peer reviews, so you will have to put a bit of effort into leaving some good feedback here.

    TAs: TAs and the prof were all very active on Piazza. There were a few grading hiccups towards the end of this semester, but they were rapid in addressing these issues and correcting mistakes where necessary. I believe the prof, Dr. Goel, is stepping down and there will be a new prof so I’m not so sure if the exact structure of the course will be as described above, so take these notes with a grain of salt.

    Prep: This is a good first class, but if you aren’t comfortable with Python or Java then you should get brush up on one of these prior to starting the class. Most people use Python, and if you want to complete the alternate Chatbot project, it is only Python. Prepare for a lot of writing, as in total I wrote about 11-13k words across all assignments, project reflections, and exams.


    Semester:

    This is a very well run class. The material was interesting for a bit, but it soon felt extremely dated. The main project was to to write an AI to take a visual IQ test. Some students took part in an alternate NLP QA project. If you have the chance, definitely get into that alternate project. The IQ test was interesting at first, but quickly grew tiresome. The NLP project was very open ended, but a lot of fun to work on. Overall, solid class, reasonable difficulty and pace, the alternate project really made it.


    Semester:

    I feel KBAI is a great course to begin OMSCS. My background is in electrical engineering so my software development skills are limited compared to others working through their OMSCS degree. This course provides the option to utilize either Python or Java to work through the three projects that build on each other throughout the semester in order to develop an AI agent that is able to solve Raven’s Progressive Matrices problems. I found the material extremely interesting. It is a bit of a jump for those with limited software development experience translating the theoretical course material and applying it to the projects, but extremely manageable after dedicating the expected amount of time. Three assignments must also be completed throughout the semester that are 1000-1500 word essays on various topics taught throughout the course. The midterm and final exams are both take home essays that must be completed within one week and the expected word counts are 2000 and 3000 words respectively. It is a very well run course and the TA’s and professor are extremely active within Piazza.


    Semester:

    Pros:

    • course are well organised and contents are understandable
    • TAs and Profs are very responsive

    Cons:

    • The concepts taught here might be too generic, it feels like the same contents are being repeated again and again in different terms
    • Tons of writing involved in this class, think about taking this class twice if you are not good at writing essays
    • The grading of writing assignments are largely based on the diagrams you draw. Yes, we do agree diagrams will help illustrate the ideas, but it shouldn’t play such a large part in grading
    • The Projects are about solving RPM problems by building an AI Agent, it sounds like a real AI project, however from my personal experience, it feels like a normal programming assignment, the Intelligence part is not that much…

    Final Exam Drama:

    • So the prof posted final exam paper, which is a writing assignment. After three days when many people have finished the paper, they found out that the solution to one question (Q3) is available online. They took that question done and posted another version of final exam paper, many people’s efforts in that question are now in void.
    • The worst part occurred in grading Q2, Q2 is a perfect example to be solved using version space as per discussed in lecture videos, it could be solved using Incremental learning concept as well, they are largely interchangeable and there is no absolutely right or wrong. Students who use version spaces concept didn’t get much credit, when being questioned, the prof’s response is like below
    Briefly, the original final examination contained a specific question on version spaces using the same data as for Q1 and Q2 in the current final exam. Given that we had a question on version spaces in the original final exam, it was clear that Q2 referred to Winston's method of incremental concept learning (and not version spaces).
    
    • So the grading principle is, because the original problem Q3 is using version spaces, thus Q2 cannot use version spaces concept. That is indeed ridiculous as Q2 and Q3 are not related, and students taking the exam shouldn’t guess which concept to use based on a question that has been deleted from the paper! Disappointed and cannot understand what they are thinking.


    Semester:

    Great class. Professors Goel and Joyner are obviously extremely interested in the topic matter and it shines through in the incredibly well constructed lecture videos. The class is rigorous enough to make you feel like you’re really learning, but not so challenging or time consuming that you have to give up other aspects of your life.


    Semester:

    Projects: This was my first class in the program, so I chose to stick with the regular Raven’s Progressive Matrices (RPM) projects. Prior to this class, I had no experience in Python or visual processing so I chose to implement the verbal method for Project 1. However, I regret going this route and wish I would’ve jumped into the visual method right away. I found that when I switched to the visual method, I was able to finish coding my project in < 10 hours whereas I spent well over 3x that amount of time trying to account for all the edge cases in the verbal method.
    Lectures: The lectures were very interesting in the beginning! However, towards the end, the topics seemed to overlap quite a bit so I started to lose interest in them.
    Assignments: The writing assignments were definitely interesting and allowed you to be creative in developing solutions for real-world AI problems. However, a common complaint among the class is that there was a larger focus on well-made diagrams as opposed to technical writing ability.
    Exams: The exams also required a large amount of writing (2k words for midterm, 3k words for final) and had ambiguous rubrics, which was frustrating because our responses were largely up to our interpretation of the problems presented.
    Teaching Staff: The teaching staff was great! Professor Goel is pretty active on Piazza, and the head TA (Yan) was generally quick to respond to any questions we had. Grades were consistently returned 2 weeks after submission, with the exception of Project 2 and 3. This was because they included opportunities for “recovery credit” in the regular project and also normalized the grades for alternate project with the regular project to keep the class average fair.


    Semester:

    This was my first class in OMSCS, so my review is also affected by how difficult I found balancing full-time work and personal life with this course. I found the class to be difficult. I thought the lectures in the first half of the semester were fantastic. I started liking them less later in the semester, but there were still some that I really enjoyed. I really like how Professor Goel made the classes interactive.
    What I found difficult about the course was the projects. The projects build on each other, which is cool if you feel you have a good grasp on the project and a good way to solve it, but if you don’t have a good approach at first, you could potentially need to do a lot of refactoring. I have no experience with visual processing and am overwhelmed by the third project as a result. </br>There are a lot of writing assignments, but personally I did not find them so difficult. However, you have a word limit and I think a lot of detail is expected.


    Semester:

    I love this course, well-constructed. Peer feedback is useful. A lot of writing like other reviewers said. All 3 assignments, midterm and final are writings but need to have good understanding of the course materials. projects are not quite related to course materials, requires some work.


    Semester:

    Think about this course - where are you going to apply this learning. The entire course runs around solving Raven’s progressive matrices using one software program. What practical insight does it give you besides learning Python Pillow library to scan images and using your own software development approach to do math and compare the images, find similarity and differences. I did find any value from AI or ML perspective in this course. TA’s are okay, sometimes their responses are vague, sometimes okay. They like lots of writing on out of the world scenarios. More diagrams, more flow charts and spend lot of time writing and making nice drawings.

    There is a big disconnect between theory being taught and what you are expected to do in assignments. Videos are nowhere connected to assignments. overall not a very useful course if you want to utilize the knowledge in any of the practical scenario.


    Semester:

    I took this class already expecting lots of writing assignment based on the review. And that is exactly what I got. You will have 3 assignment write-ups, 3 project reflections and 2 exam essays. Each assignment will have 3 peer feedback so 24 peer feedback in total. That is a lot of writings but dont get me wrong, you will learn much of the concept through all of these.

    Lectures are good and well prepared but mostly only concepts. You need to take extra steps to convert it into working code. I chose RPM project since it had more guidance and stable grading criteria. But if the chatbot assignment is improved in the future, YOU SHOULD TAKE IT! It is more valuable, used in the industry, and looks impressive in your portfolio (compared to RPM solver..). Piazza and Slack were active and really helpful.

    Overall a good survey course to KBAI concepts but expect to spend 20-30 hours a week for the assignments.


    Semester:

    This was my first class in the OMSCS program. I thought that the lectures were fleshed out really well in a way that was easy for me to understand. Taking this by itself is pretty manageable and mainly only gets busy around the the due dates of projects and exams. Take note that you will be doing a lot of writing and self-reflection for this class. Every single assignment, project, and exam will consist of a decent amount of writing. I would recommend this class for any new OMSCS student.


    Semester:

    KBAI was my first course and i must say it is very well prepared, all TA’s and professor was very helpful throughout the course. Classes were organized in proper way along with active discussion among your peers. Initially everyone was suppose to do same project but later on students provide an option to work on other project based on their performance in first project. With this class there is lot of writing which consume a lot of time but there is an opportunity to get your writing published if it is unique and innovative. Though there are many concepts taught in the class about AI, but it was very hard to implement the same in practical life. To start with your program its a good course and one can easily learn python which is highly recommended to finish your project, Good Luck!!!


    Semester:

    This was my third course in the program. Overall, KBAI is well run compared to my previous two courses and the TAs were second to none in terms of responsiveness, interaction and timely grading. The good of this course is that the professor is passionate, the TAs are active, and the course is well organized with pace and material being just challenging enough without completely pushing students over the ledge. The grading is fair and peer feedback proved to be very helpful.

    The bad of this course is that the projects build upon each other with minimal help when initially trying to implement a solution. Only a half of the lecture videos are relevant to the course. There is a ton of writing and research involved in this course.

    Note that all of the negatives I spoke about above could also be seen as positives. This is purely dependent on the student. I had never programmed with python before this course, so perhaps this would have improved my overall experience since I was hamstrung at times learning Python and the NumPy and PIL library. Overall, a challenging course and the best I’ve taken in the program so far.


    Semester:

    It is a time consuming course due to its emphasis on writing and expectations in terms of diagrams, flow charts/ Pseudocode etc. Both mid term and final are take home exams of answering 6 questions. The project is incremental which is solving raven’s progressive matrices. It feels overwhelming initially. Project 1 and 2 can choose verbal/visual approach and project 3 is just visual. I felt it is better to start with just visual from beginning which will make life easier as it progresses. Projects require coding in Python. I had not much prior experience but going through the required pillow library once helped a lot. Overall, a normal yet time consuming course to start the program with. The grading is liberal, answering the rubric questions with appropriate headings will do the trick. I took this course along with ML which caused a lot of trouble as both being time consuming. The Professor and TAs are very active and the course is planned very well. Overall, a good course with fixed expectations.


    Semester:

    This was my first semester, first course so I can’t really compare KBAI to any other OMSCS class. That being said it felt like a well-run class. Professor and TAs are active on Piazza. Good, well-known and communicated structure. Good lectures. Interesting projects. Generous grading. Medium workload, not very difficult. I could not have wished for a better start into the program. I will say, however, that there is a lot of writing (in total we had to write 8 essays for a total of about 15.000 words) and reading for peer feedback (24 peer feedbacks in total, 3 for each essay) which means you will read and critique another 120.000 words.

    For me it was perfect to get my writing in shape, get familiar with python which I didn’t know before, get familiar with Piazza, T-Square and Peer Feedback in a class that was busy at times but not too bad in total. I recommend taking it.


    Semester:

    Like many have said, this course is a very high-level view of a broad set of AI concepts. Good writing skills (with diagrams) are key to achieving high scores, as all assignments, projects, and exams are in writing. The project is very interesting and challenging, and all assignments and projects are released at the beginning of the semester so it is possible to front-load the project and finish it early.


    Semester:

    This is a hard one to rate. If you’re looking to learn about AI, this is probably not the class you expect it to be and almost feels more like a psychology class at times. You’ll be doing a ton of writing. We had three 1500-word project reflections, three 1000-word assignments, a take-home 2000-word midterm, a take-home 3000-word final, and three Peer Feedbacks to complete for each of those. Coding is limited to your 3 projects, which for most will be focused on writing a program that can solve Raven’s Progressive Matrices (Java or Python with Pillow/NumPy). A small group of students was allowed to pursue Alternative Projects 2 and 3 which focused on writing a FAQ-based chatbot (Python/NLTK). The lectures were well-made, but cover very high level topics. There really isn’t anything that helps you synthesize the course concepts. The RPM project only vaguely relates, depending on your approach, and the assignments and exams make it easy to cherry-pick through the lectures to get your answers, which are often somewhat subjective anyway. The course is very generously curved with anything over the class mean being an A, so it’s an easy course overall. The instructor/TA interaction on Piazza is great and I was glad to see Dr Goel engaging with students at least a few times each week, even while traveling. We had a nice community going on Slack, too, which helped build camaraderie and made it fun to participate. Peer Feedbacks were very hit and miss and probably should have been scrapped entirely for the Final Exam. Peer grading didn’t affect anything, but led to morale drops when getting overly-negative feedback and a lot of confusion when asked to grade another student without knowing the correct answer. Overall, it’s a fine class. It’s front-loaded, smoothly-run, and generally fun, but you’re not likely to come out of it with many new skills that can be directly applied to anything. As with most courses, though, it’s what you make of it.


    Semester:

    This is one of those classes that seems to have a very divided opinion. I’m in the class-is-a-gigantic-waste-of-time camp. I appreciate the enthusiasm of the professor. That’s nice. But everything about the class felt like a joke to me. The content of the class is super hand-wavy and not really tied to anything useful (as far as I can tell). The projects were a little fun at first, but they only use the course content in a superficial way. For me, the writing was a terrible use of time and energy. The only thing I learned while writing for this class is how to write against the given rubric. If you enjoy learning interesting ideas/concepts/techniques and demonstrating your newfound knowledge by building cool things, I would look elsewhere.


    Semester:

    This is a very well run course. The TAs and the prof are always active on Piazza ready to help. We had regular office hours meet twice a week up until the last project. Even though there was a disconnect between the RPM projects and the course contents, the 3 RPM projects itself was very interesting and thought provoking. There is a Alt project after the first mandatory RPM project that deals with chat bot which I believe is more relevant than RPMs. Expect lots of writing in this class. I struggled with the writing assignments in the beginning but managed through later as I adjusted to the rhythm. In all there are 3 writing assignments, 3 projects with the project reflection associated with them, a mid term and a final exam. If you hate writing, this class may not be for you. Projects can use Python or Java. I would recommend brushing up your Python skills, especially Pillow and numpy for RPMs and NLTK for chat bot. This is a great first course to take and will set you up for the rest of your OMSCS journey. Good Luck!!!


    Semester:

    The class has 3 assignments, 3 projects, and a midterm and final.

    The assignments, midterm and final have no coding at all.

    It’s good to know going into it that this class is heavy on writing. In total I wrote 48 pages for this class across 8 papers.

    The projects have two parts: coding and writing a reflection paper. The code is focused on creating an agent that can solve the Raven’s Progressive Matrices IQ test. Don’t be afraid if your agent can’t solve all the problems, getting 50-75% of the problems right is usually good enough to get an A. The reflections are about the agent’s problem solving process, performance, and relation to human cognition.

    Grading is competitive. If you stay above the mean, you get an A. In my semester the mean was ~81%, so 84% was an A.


    Semester:

    KBAI is an awesome course, very well organized, the instructors and TAs are really good and supportive. The course work is challenging and pleasant to follow. Although the course is not very difficult, the workload is high due to the large number of assignments and projects. Be ready to write a lot, I’ve written more than a hundred pages of reports for the projects and assignments. I would add that the videos contents are a little detached from the projects, you’ll have to do some effort to connect them. I would like to have more intimately connected projects to work with the subjects given in the videos, but that’s not a big problem. Finally, there is an alternative project which is a great way of learning more, but be ready to work much more than those in the regular path. Also, keep in mind that the alternative project is much more open ended and unstructured, meaning that you will have less guidance from instructors and TAs.


    Semester:

    This is one of the best courses in this program. It is very well organized, and the professors are probably two of the best in the program. Throughout the course, you will build an AI agent which can solve puzzles used in measuring IQ. You are given the option of using either Python or Java; I advise that you stick with Python, and this is coming from someone who has expert knowledge in Java. You will be writing a ton of reports in this course, with diagrams and all, and you will spend lots of hours coding. Grades are curved at the end, and the professor reiterates that he wants you to learn and not worry about what grade you are going to get. The midterm and final are both take home, but be prepared to put about 20 hours into completing each.


    Semester:

    Good concept for a class, but the lectures have almost nothing to do with the projects. The projects are different variations of the same project. There is no code feedback, so you’ll have a much easier time if you’re already proficient in the language you use. Similarly, if you struggle with the first or second project, you’re in trouble because they keep building on the previous and they become harder. Many had to completely start from scratch which can be frustrating.

    There’s a lot of writing to be done between assignments/projects/exams and at some point it starts to feel like a lot of bsing. The class has great potential, but lacks a bit in execution.


    Semester:

    It was okay, but David Joyner was awesome. The content is a little light, compared to other courses, but you learn a decent amount. It probably would be best to take this before ML or AI, although it probably won’t prepare you much for those.


    Semester:

    I loved the class initially, which waned over time to just a friendly affection. What I loved initially was the content, the lecture quality, and the quizzes. The project seemed fun at first blush, but I struggled with the vagueness of it. If your personality is to overdo things, then there’s really no limit to the time you can dump into the project because there aren’t any guardrails, so to speak. I also loved the writing assignments. Those, however, became tedious towards the end of the class. It was more of the same and you don’t really get any feedback from TAs on your designs. You mostly get student feedback, which I thought was often polarized and rarely educational. (I do like the student feedback aspect though - very unique. ) Going back to the project, I felt that getting a high score by any means necessary was the way to get points, then you rationalize your approach with AI language. I tried to use lesson concepts initially and got mediocre results, but I felt that I learned a lot. Then I realized I wasn’t playing the same game everyone else was and adopted more productive methods, but less AI-ish, so to speak. So, in the end, I liked the class, but did not love it.


    Semester:

    I really liked this course. The course lectures were pretty interesting and were supplemented by some optional readings. Definitely do the optional readings to get a better understanding of the material. This course has an iterative project that has you solving Ravens Progressive Matrices. Starting out can be fairly overwhelming, but I found the project to be incredibly interesting and enjoyable to work on. My only issue with the course is the amount of writing involved. You have to write papers of varying length for 3 Assignments, Two Exams, and Each of your Projects. It can be a lot and towards the end I was definitely feeling a little writers fatigue from it.


    Semester:

    It’s an interesting class, but the difficulty of the course is subjective. It’s a balanced class where you will write alot of papers as well code alot. The exams are open book, open notes, essay based, and that reduced a lot of stress of not having to cram everything. During the semester, we worked on a project to solve a visual analogy test known as ravens progressive matrix. The project was only hard in the beginning during the first phase, afterwards, it was fairly simple. If you’re enthusiastic and figure out some of the tricks in the beginning of the project, then this class might actually be pretty easy for you.


    Semester:

    The content of the course is quite interesting and the video lectures deliver the content well. The written assignments were thought-provoking and the coding projects were challenging at times but doable. Knowing Python definitely gives an advantage. What I liked most about the course was the instructor’s and TAs’ passion for the content and interest in student learning. There were regular requests for student feedback on the course, and previous feedback seems to have been integrated fairly quickly (giving students the chance to do an alternate project for both projects 2 and 3). This course is very much what you put into it. You can get a B with minimal effort, assuming you are a good programmer, or you can spend 20+ hours a week diving deeper and reviewing the optional readings. I took the course for the enjoyment of it and got a lot out of it. The final exam topic alone was so interesting that I spent several hours researching after my paper was already submitted.


    Semester:

    Workload varied between project time (3-4 weeks) and the writing weeks (1 week). Be prepared to dedicate ~2 hours a week to watching lectures.

    There is a ton of writing in this course. You have to write a paper for everything. 3 assignments, 3 projects, midterm, and a final. All include writing a paper, so be prepared to write. Seriously. You will write ~13, 000 words throughout this course.

    The projects all revolve around solving the Raven’s Progressive Matrices. It was pretty repetitive, but I learned a lot while doing it (by reading papers and trying out different theories. ) I don’t recommend doing the verbal approach and just starting with the visual. There are plenty of resources out there on getting up to speed with it. It’s worth overcoming that burden sooner rather than later.

    The lectures are pretty high level and they only apply for the writing assignments. Overall this is a theoretical course so there aren’t a lot of hard lines for anything. It leaves a lot in the open for you to think and go your own way. This can be frustrating for some people as students in general like hard lines as it gives us something to measure against.

    There were parts of this class I didn’t like, but overall it was a solid class. The rubric is very structured and they are timely with releasing grades.


    Semester:

    This class was too high level for me. I expected more concrete details and being assigned tasks that required applying the topics learned in class for the projects. The examples in the lectures were so contrived and just kinda weird that I didn’t feel interested to explore the readings or any other resources in more detail.

    The projects were all about solving Raven’s Progressive Matrices which got really repetitive. In the end, I felt like I was trying different hacks to solve the problem, without actually using any KBAI topics. There was also a lot of writing, which didn’t really help my understand of the subject.

    They did try something new with alternate projects this semester (building a chat bot), but the project was too open-ended and was not defined well enough for me to attempt. Perhaps this will improve in future semesters.


    Semester:

    First, you will get stressed because of the project and writings especially if you are not familiar to coding. But at the end, you will learn a lot and discover yourself as a very creative human being. Lot of fun if you are ready to enjoy and love challenges!


    Semester:

    Best class ever!! Everyone in OMSCS should take this course.


    Semester:

    This was my first OMSCS class and I enjoyed it. I never did AI during undergrad and felt this was a good intro to AI. This class is well organized and the professor, TA and student participation on Piazza and slack was very good. Lectures were interesting, expect to spend more time on projects and write-ups.


    Semester:

    This course is good in general, but definitely they have to change the main project, which is solving RPMs. You can hack it with 2 or 3 out of 20 methods that you learn in class. Even without watching the lectures, you can get a good score on the project. You only need to watch the videos to do the essays (exams were essays too btw).


    Semester:

    1. Be prepared to write. (Images/Charts and obviously making sense gets you good grades)
    2. Python (numpy/pillow) libraries are your lifeline. If you have used them life can become easy.
    3. RPM problem’s can be daunting and you may eventually get overwhelmed. Nonetheless, a really interesting course.
    4. Professor Ashok and TA’s are really active in Piazza.

    Really enjoyed it.


    Semester:

    I liked the class. I felt a little bit tired at the end of been working on the same problem (i. e. Ravens Progressive Matrices RPM) for the projects.

    • Writing There is substantial amount of writing as for every project you write a reflection. Assignments are also writing.
    • Projects All projects were solving RPMs with increasing complexity. Very little could be used from the class material to solve the project. The biggest challenge in the projects is the computer vision part of it where you need to interpret images to detect analogies between them.
    • Exams All writing as well. This is where you can put to practice the material learned in class. But of course, it’s all theoretical.


    Semester:

    Video lectures - presented at a high level. You watch them for an hour and feel none the wiser for it, and they definitely do not prepare you for assignments/project. I found that if you want to learn the subject, it is a much better use of your time to review the ‘optional’ reading. Project - Based on solving the RPM problems, split into 3 iterations. Students are given very little constructive feedback between iterations. Submission results in Bonnie give very little feedback as well - some students were getting timeouts, memory errors, other errors - but system returns nothing specific and TAs were not helpful on Piazza. The real complexity of this project is not KBAI - it is Computer Vision (they don’t allow you to use CV libs yet it’s not listed as a prerequisite) Assignments - I actually like writing, so these I enjoyed. It is a lot of writing, and I found that looking at the Winston book really helped me learn the concepts. At first I thought just watching lectures would be enough, but the lectures don’t actually teach you anything of substance to answer these assignment questions. Midterm/Final - Essentially a more advanced version of the assignments. Our questions were about chatbots, and a metacognition component that could explain our RPM agent’s decisions. Fun if you like writing, and they definitely chose good subjects.

    The tragic thing is that this course has so much potential, as the subject matter IS interesting and all over the news. You saw the excitement at the beginning of the semester on Piazza in the active discussions. Those fizzled pretty fast. I do hope to improve the course offering they 1) eliminate RPM as a project and replace it with something that actually uses/teaches the kbai concepts 2) redo the lectures to actually teach the material (with proper level of detail)


    Semester:

    Good survey course on the relationship between knowledge and intelligence. The strength of the class is it’s thoughtful structure – lessons are well laid out, supplemental reading material allows you to dig as deeply as you’d like. This is not an overly technical class, mostly theory (some of it of the hand-waving-magic type). Pizza very active with students, TAs and Professor.

    Other posts have covered the amount of writing (3 assignments, 3 project reflections, mid-term, final) – you can either dread these or look at them as a chance to explore and refine your understanding of the material. There was an alternate project - chatbot - offered after the mid-term which I worked on – very rewarding but double the workload of what it replaced.

    If you are specializing in Interactive Intelligence this is a must-take. If you are new to OMSCS you may love or hate this class based on your interest in the material and willingness to write prose vs code.


    Semester:

    I started this class, loving it. The project was addicting and I was competitive with myself as well as others to get the best score. In this class, you will implement an agent to take an IQ test called the Raven’s Progressive Matrices test. You will be given two sets of problems to learn from, one graded and the other not. There will be two similar sets of questions that you’ll get when submitted to the autograder, here to, one graded, one not. Then came the writing, there is a lot of writing in this class. Three project reflections, three assignments on nothing related to the class, a midterm and a final. Totally 15, 000+ words on the minimum, and if you want to secure a good grade, at least 20, 000. This not only became a drain, but a bother to complete. The lectures had little to do with the class, and the depth was nonexistent. I feel that I learned little, while just enjoying the programming and creativity. However, the TAs were lenient in grading and very understanding. As a whole, we started to somewhat complain that our midterm and final essays were high level architectures with little value, so they offered an alt-final, where students could develop their midterm NLP chatbot design into a real program, I can’t image many other teachers agreeing to offer a second final for students who didn’t feel they were learning enough. This really shows the type of education that GT is offering, as well as this class. I hope they sort out the kinks in this class, it has the potential to be a great class.


    Semester:

    Like several of the other reviews I’ve read, I have similar feelings regarding the lecture material vs. the projects.

    The largest portion of the grade comes from the projects which require solving Raven’s Progressive Matrices problems. I found the projects to be pretty entertaining, and they definitely helped me hone my basic image manipulation and Python skills, but the knowledge required to solve the problems was almost completely independent of anything learned in the lectures. That being said, the lectures were fairly interesting, but they also seemed to be taught at a pretty high-level. I feel like I came out of this class with a slightly better general understanding of what they were trying to teach, but I have no idea how I would apply any of it. That being said, the production value of the lectures was great, in my opinion. They were easy to follow along with, and the little exercises kept me engaged (this is my first OMSCS class, so perhaps this is the same for the other classes as well - I don’t have a comparison).

    The assignments and exams were all written papers, which is fine with me. I didn’t love it, but I didn’t hate it either. I feel that was appropriate for the material in this course.

    Overall, I would recommend this course if you’re interested in AI, specifically relating to human thought. The TAs and professors were exceptional (Ashok is a great instructor who clearly has a passion for this subject). However, the slighly disjointed structure of learned material vs. the application of that material left a bit to be desired. It was all very interesting content to me, but it felt a bit shallow.

    I selected 6 hrs/week as an estimated average. Some weeks were heavier than others, and then there were weeks when I didn’t really do much at all. The course was pretty easy, in my opinion.


    Semester:

    The course is really interesting. The assignments I liked a lot, how they were related to the classes. But the projects it seemed to me that lacked the applicability of the concepts learned in class. It is not complicated but the worload is big.


    Semester:

    A lot of reviewers talk about the practicality of it, however I thought the syllabus was really clear. The lectures were meant to be at a 1000 foot level, but there was enough follow up resources in T-square (resource section) to continue learning about each area. I also rented the recommended book from Amazon, and this enhanced the class for me as well. You get as much as you put in with this class.


    Semester:

    If you’ve seen the Walking Dead, 7th season – “Easy Street”. That sums this class up

    I wanted to like this class… I really did. But if I see another Raven’s Progressive Matrix I’m gonna explode.

    The projects basically don’t follow the lectures… and my god do they get boring. The whole semester is devoted to just solving RPMs. Solving these basically comes down to using some voodoo image analysis that doesn’t correlate to anything in the lectures. You could solve them by doing shape extraction and building a semantic network… but they don’t allow OpenCV for the shape recognition. I really don’t understand that – leave that as an exercise for CV or CP, not KBAI.

    The writing isn’t really that bad… but for each project you write yet ANOTHER reflection on solving RPMs. AND the final exam is about solving RPMs.


    Semester:

    I want to start with the positives. Some of the lectures in the course really are interesting. I especially liked the topics of incremental concept learning, common-sense reasoning, diagnosis, and some of the videos on biology-inspired design. I also think that while writing all of those papers does get a bit old, it lets you think creatively and try to apply the topics which were learned in lectures. The experience ends up being a bit shallow since you are writing a single paper on something and then moving on, but I guess it is hard to expect more from a course that covers so many topics. The do provide a ton of extra material for you to go read on your own, and some people do that extra work and seem like they get much more out of the class if you are willing to put in the effort.

    A lot of the negative comments others make about this course are definitely valid. Some of the lecture material is just not deep enough, and I find myself tuning it out. This is my 6th course in the program, and I haven’t had that problem very often. In addition, the three-part Ravens Matrices project gets old. I also feel like the “no image processing experience is required” is technically true, but I feel it would be awfully useful to have that experience. But the biggest problem with the projects is that it is hard to apply what was learned in the lectures beyond the first couple of lessons. I don’t think this is specific to the problem being solved, but it is the nature of the requirements and the amount of time you have.

    On a final optimistic note, I think that the alternative project 3 that was proposed is much more suitable for the course and its content. I hope they continue to have a Ravens Matrices project in the beginning of the course, but move on to the conversation agent for the second two projects. I think this would line up nicely with the ordering of lectures.

    In the end I’d say I liked this class, but it was far from my favorite.


    Semester:

    Pedagogically, this is one of the finest courses I’ve ever taken. The professor and TA’s (real and robotic) are fabulous, the organization and tooling is first rate. But the overall experience is a mixed bag. There’s an awful lot of high-level hand-wavy abstract AI concepts that I am certain I will never use again. On the other hand, there very challenging projects solving these Raven’s Progressive Matrices that you may, barely, use one hundredth of one of the course concepts but probably will just use math. It’s a great course, but I wish it were more filling.

    Lots of essays. If you can write well, you will dominate this course. New for Fall 2016 is an optional alternative final project based on the Alexa challenge – the kind of innovations the professor brings to the course. I just wish the level of the course were more relevant to… life?


    Semester:

    I was very excited to take this course after seeing much of the positive feedback from various sources. With one month to go, I do not think I would recommend this course over other courses which have deeper roots in math. The lectures are full of high level concepts and the ideas seem very familiar. It feels like a lot of the material is stuff that most students should already know, but with new terminology.

    The Ravens project was interesting for the first and second iteration. Doing the verbal approach in the first felt like a direct application of the earlier AI concepts. Attempting the visual approach for the second felt less so. I have not started on the third part, but I have ideas on what to implement at this point, and it might not be based on any of the concepts in this course. There are some students that will be creating an AI chatbot for their third project, and they may find more success in using the material from this course. It feels like the Ravens agent does not have a feedback loop to improve itself and is therefore lacking in the learning portion of an AI agent.

    There is a bit of writing required for this course. The reflection papers that are required with each project submission are not so bad, since the students write about what they implemented and relate it back to the class topics. The stand alone assignments were slightly aggravating, because you talk about the general topics and how they could potentially be used to solve difficult problems. The mid-term felt the same. It was difficult to judge how in depth to go into the problems. And it was also tough to know if the solutions were implementable. It would have been nice to do smaller coding assignments and write on those experiences. Although, I may be in the minority with this feeling, because from the peer feedback system I came across a number of nice papers filled with figures and well thought out solutions.


    Semester:

    The organization of the course is the only thing good about it. The instructors and TAs are readily available and fairly well coordinated.

    Unfortunately, the content of the course itself is terrible. The majority of the lesson content is a blatant ripoff of basic CS101 material renamed to make it sound like ‘AI’ (they explain the ‘similarity’ by noting that object oriented programming and AI theory were developed at the same time… this is NOT actual AI theory). The content that is there uses trivial examples, with significant hand-waving (ignore the man behind the curtain) of anything that would require them to actually have detail.

    The course projects (building a program that can solve Ravens Progressive Matrices) which make up the majority of your grade have absolutely nothing to do with the course material.

    TIP: Use the two methods from Agent 3 in this paper to do you projects if you take the class, you’ll save yourself a ton of headaches. http://www. davidjoyner. net/blog/wp-content/uploads/2015/05/JoynerBedwellGrahamLemmonMartinezGoel-ICCC2015-Distribution. pdf

    The various papers (3 1000 word assignments, 3 1500 word project reflections, a 2000 word midterm, and a 3000 word final) will consume most of your time. All of the papers will involve you trying to shove a square peg into a round hole (trying to coerce lecture topics into a paper that they have no business being used in) just to satisfy the grading rubric.

    Grading is fairly lenient, but make no mistake, the class itself is worthless.


    Semester:

    A really great course with fun lectures and fantastic projects. The exams did a great job of making us synthesize what we’d learned. I actually enjoyed them. :)


    Semester:

    Overall I thought this was a good course and I learned ALOT.

    Programming - This courses didn’t necessarily require you to have a superb background in programming. I did pretty well despite my lack of programming experience.

    Projects/Lectures - The projects were both doable and enjoyable, and although the lectures were somewhat entertaining, I did not think that they were too helpful to complete the projects.

    Assignments/Project Reflections/Tests - The assignments were a lot more time-consuming than expected. There is going to be lots of writing for assignments, project reflections, and tests. I personally thought that the grading was very generous overall for all writing assignments.

    Grading - Grading was very generous. You basically get an ‘A’ above mean. IMO, your grade highly correlates with the time you spend on this course.


    Semester:

    I loved it, but it wasn’t perfect. For one, the lectures covered a lot of high-level concepts that weren’t even relevant to the projects. The projects, I felt, were certainly interesting, but in most cases you’re just reaching for the hacky solution that will get the best score. This isn’t necessarily great if the objective is learning about the concepts, and it isn’t necessarily fair for those less hacky of us, either. However, Joyner is a champion, and he made this course a joy. TA’s are very involved on Piazza and there were a lot of interesting discussions going on. My favorite of OMSCS so far, but like I said, I might give this 5 stars but it isn’t perfect. I felt the course was overly slanted towards projects in grading, to be honest.


    Semester:

    I personally learned a lot in the class as I was new to the field. The TAs and instructors are very supportive. However, I felt opinions about the class depends on expectation from students. Unlike other classes, the structure is a bit different and focusing more on conceptual aspect of AI. For those students expecting to do more hands-on exercises to learn technical aspects of AI then, I can see how people may not be happy with the class. The project is interesting and has great flexibilities to try out many different things. If you decided to implement a few killer solutions, it’s also easy to get by and get good grades. Although the class encourages you to try new interesting ideas, I felt the project itself a bit constrained as it doesn’t allow much interactions with outside world so much to try a concept we learned in the class. That could be an improvement area.


    Semester:

    KBAI was my first course in OMSCS, and it was awesome. Until you do KBAI, AI seems magic. After you do KBAI, AI seems algorithmic :). You will know how Watson nailed Jeopardy.

    It is also one of the most time consuming courses with assignments (in plural) literally every week. Then there are 3 projects, which you will do better if you start early.

    KBAI is an amazingly organized class - with Instructor and TAs very active in Piazza. Rubric for assignments, projects and exams (they are open book) are well defined, and the feedback (from peers and Instructors) are very qualitative.


    Semester:

    Lots of high level concepts were taught. We apply these concepts to problems within writing assignments. We only implement maybe one or two concepts in the projects. These assignments and projects were a bit frustrating to me because 1) there is a lot of writing involved and I struggle with writing. Heck, I haven’t written so much as I did in when I got my undergraduate’s degree. 2) We don’t get to implement more of the concepts we learn and are stuck working with similar material for all three projects. 3) Grading seems to be inconsistent with graders and many times they don’t provide feedback about why they knocked points off. I did, however, enjoy the professor and TA’s enthusiasm to respond to our questions and provide statistics to graded work and that sort of thing. I also was happy to see many individuals participating in the Piazza forums, creating interesting discussions about KBAI in general. I’d recommend this course to be taken in the beginning of your OMSCS journey since it is a very smoothly run course (there were some hiccups, but nothing big), and you get to practice your java or python skills!


    Semester:

    This is the only course in OMSCS which I found disappointing so far. Instructor and TA are great and helpful. However, I didn’t felt I learnt anything much. Main reasons being:

    1. Lectures give interesting overview but they lack the depth compared to other courses that I took in previous semesters.
    2. In project work, visual approach is mandatory by the end and it involves mostly ad-hoc heuristics for RPM problems rather than any widely applicable AI algorithms. So you don’t get hands on practice of learnt concepts. However, in textual approach I was able to implement some general technique based on learnt concepts, avoiding most hard coding or ad-hoc heuristics.
    3. Assignments are just essays about possible applications of techniques. So you again lack hands-on exposure. With 3 projects (with reflection write-up), assignments and peer feedback, it felt more like busy work.


    Semester:

    I want to echo a few other reviews here. In terms of logistics, this class has to be one of the most well run course in OMSCS. However, I didn’t like the material that much. For the written assignments, once you learn how to get good grade, it becomes rather tedious. I use visual for all the projects which make them become rather easy. My result is great for P1 and P2, but for P3 I don’t really care any more because after the first two I feel like I learn as much as I can from the project.

    I can’t help feeling like I walk away from this course not learning a lot. I didn’t spend a lot of time exploring outside of the lecture. In fact, I did barely the minimum. Other people seems to have a really good experience though!


    Semester:

    This is a fun class to take. The lectures were an interesting overview and jived well with what you might read in the news about AI (like self-driving cars, etc. ).

    The programming projects were a little time-consuming for me (as someone with minimal programming background) but doable, and very interesting. I ended up solving some Raven’s matrices with “artificial intelligence” that I couldn’t solve myself.

    As for lessons learned: I postponed using visual representation in projects as long as I could (it is optional in Projects 1 and 2 but you must use it in Project 3) but it turned out it was far easier than using the verbal description.


    Semester:

    This is my 7th OMSCS course and, overall, this is a decent class. I’m glad I took it over the summer as the pacing and workload fit the compressed summer schedule well. While I didn’t find coursework to be all that challenging, it was time consuming. Dr. Joyner does a wonderful job of managing the class and communicating via Piazza. The lectures are informative and thought-provoking, but there’s not a whole lot of depth. Perhaps the suggested readings were intended to supply the depth, but I didn’t find them necessary for success in the course. Similar to what a few other reviewers have posted, my biggest complaint about this course was that I didn’t feel like I applied the lecture topics to the projects. I’m fairly confident I would have implemented my agent in the exact same way without having watched any of the lectures.


    Semester:

    The professor is likeable and the lectures are pleasant to watch. Because of that, I feel bad saying anything negative. But the truth is, I don’t feel like I learned much from this course. The lectures are very lightweight and theoretical. It’s like reading a popular news article on the topics. Then you jump straight from that to the project, which is “Design a human level artificial intelligence agent from scratch. “ The project is very interesting, but almost nothing from the lectures translates into designing the actual agent, which will be the bulk of the work for the entire semester.


    Semester:

    As my first class in the program, this was a great way to get started. I coded in java and had decent time with the three projects. The written assignments sometimes felt like they were graded arbitrarily so make sure to stick the grading rubrics and use the keywords to ensure you get credit. It was hard to keep up with the videos especially if you were trying to do the project at the same time. I would recommend this class to others as a first course especially if it is in a normal semester and not summer. If you are comfortable with coding java or python this course will likely be easy for you. If you a beginner in python or java like I was, you will need to take some prep classes or you will be stressed. Great class - fun topic!


    Semester:

    This is a fun class with a very active professor (Ashok Goel). However, some of the material is covered at a superficial level only (no implementable algorithms) and the project can be very demanding. But overall, it was a nice course.


    Semester:

    This is my second OMSCS course. This course focuses on the process of human cognition and methodologies to design artificial intelligence to imitate human cognition. This course addressing the topic of artificial intelligence from a methodological standpoint rather than discussing the algorithms and frameworks for implementations. It is important to set your expectation straight before jumping into this course. David Joyner is an exceptionally good teacher. GATech is lucky to have him.

    Though solving the Raven’s Progressive Matrices in course project is fun, I have to say this course is pedagogically flawed. First, in the project work, you never really got the opportunity to implement the learnt methods. The problems are getting more and more difficult as the course progress, the absolute majority of the course participates (including myself) has to code more and more complex and specific rule sets, which is tedious and boring. Instead of solving more complex problems, I would be happier to stay with simpler ones but try more advanced methods, e. g. , learning by correcting mistakes, version space, to build my agent with learning capabilities. There are reviews saying you do not have to watch the course video to be able to work with the project, which is true to some extent. Second, the assignments are the worst part of the course. For example, you are asked to design a self-driving agent using one of the method discussed in the lecture in 1000 words and one of the grading rubric is on the feasibility of the proposed solution. Self-driving car is not even in mass production, how can we describe a feasible proposal in 1000 words? The most funny part is the TA’s feedback, which goes like: How well does the assignment describe the problem it is attempting to solve?: 5 …. Though I got really good grades, I am very sure that I learned nothing from the assignments. I was really close to quit this course after reading the TA’s feedback to my first assignment.


    Semester:

    I took this course because of the overwhelmingly positive reviews. Unfortunately, my optimism might have blinded me. The course left me disappointed. A full semester later, I can probably summarize what I learned in this course in just a few pages.

    The lectures and assignments were structured in a way that reminded me of a 100 level course I took in my undergrad. The lectures were very high level, and the assignments required us to write about vague AI based solutions to known problems without getting into any implementation. The project was fun and challenging, but I didn’t need any of the knowledge I learnt from the course.

    Overall, take the course if you’ll be satisfied with a very basic introduction to AI, or if you want an easy A.


    Semester:

    This is a decent course. The workload is decent, you have to write assignment papers and reflections. Programming wise you can use Java or Python. I have a CS background and it started out a bit difficult, but after learning more and being able to see examples after the fact really makes the process much easier and fun. If you are into AI or agents or even the cognitive process then you’ll enjoy this class. The lectures gave great examples and were easy to follow. You really didn’t have to read much outside of watching the lectures.

    I struggled a bit with their system for turning in projects, but once I got it solved it was a non-issue. Overall I’d say it is a decent class to take for the summer - if you don’t have a strong CS background I wouldn’t recommend taking the class as an “easy” secondary class.


    Semester:

    I’m in the camp of dissatisfied people. Be aware that this is not an AI course, this is rather an introductory knowledge-representation course. The course is not hard and you can make it fun but it is up to you. The lectures are mere overview of the topics, my undergrad AI course gave me much deeper knowledge on AI. You’re on your own discovering the topics; lots of readings are presented so you can dig deeper if you’d like. Which is nice. But I would go as far as don’t even waste your time watching lectures if the title sounds familiar to you - for example there is a lecture on classification but it does not go into any mathematical or implementation detail whatsoever. If you’ve taken an AI, ML or CV class before (or you’ve read a few pages on wikipedia about statistical classification), you already know more than it is presented in the class. Written assignment are fine, they are short and as the class doesn’t, neither are you required to go into technical details. The grading of the papers is a bit of a lottery, depends a lot on the reviewer. I got points taken away for totally contradicting reasons between two assignments. The coding homework is fun but barely has anything to do with the class materials. Turns out you better off implementing stuff on your own (hardcoding lots of stuff) and later claim that this for cycle is ‘learning by recording cases’ and those if conditionals are ‘decision trees’ or whatever. So all in all interesting ideas are presented, coding can be fun (but time consuming if you’re not good at Python), the papers are not hard and grading is generous but there is no connection between these. Requirements are not always clear and you never really know where you at performance-wise which caused frustration for some. You can easily get a B or A in this class with very small effort - papers can be done in an hour or two, you can skim through videos quickly and the 3 programming assignments can be done during a weekend. Rest of it is up to you.


    Semester:

    I really loved this class. Professor Goel is amazing!! He is very active on piazza and sometimes I wondered whether he slept at all :) Piazza threads are super organized, so if when there were close to 10, 000 posts, you could read what was relevant to you. I have no ML or AI background, given that I found the lectures very informative, some students in the class who had taken ML didn’t like the contents much! The lectures make the concepts look very easy because they use very simple daily life example but when you want to write the assignment on a useful AI problem, it is very very tough!! The projects are solving RPM puzzles; while it was enjoyable and rewarding to write python programs that solve complex visual analogy puzzles, I felt let down that I couldn’t use any of the AI concepts that we learnt in them. At the end of each video David Joyner does gives tips on how the techniques could be used in RPM puzzle but even then it was difficult applying them. Videos talk a lot about learning and reasoning but we were given no guidance on how to write such a program. From Spring 2016, the course work is cut down a bit, we only had 3 assignments, 3 projects, 1 midterm and 1 final. We get 3 weeks for doing the project and 1 week for assignments. Midterm and final are both open ended and open book and are given 1 week each. I have given 15 hours/week but I think you can do with 10 hours/week if you are very goal oriented and super focused unlike me. Whatever be your specialization, I think you should take this course to get the most professional OMSCS experience!!


    Semester:

    I really can’t understand why so many people enjoyed this class. It seemed like we were being encouraged to be creative by having deliberately ambiguous assignment descriptions. Yet, when I put my own spin on things, my grades didn’t come out well. I felt like I was guessing at requirements, and was extremely uncomfortable writing my essays as a result. In the end, I had a sense of what the TAs look for (though it’s hit-or-miss depending on who you get), and I wrote to that. Beware if you have a different thought than what’s accepted! The word count in the assignments is a lie. You need to double or triple it, add about six or seven diagrams and probably some pseudo-code. I got burned on the first reflection because it was too short and I didn’t understand what they were looking for. The class was hard because in a sense, the ideas were too simple. I didn’t feel like I was learning anything and so I didn’t even know what I could write about. I didn’t like Dr. Goel. He didn’t seem respectful of the fact that I was having difficulty understanding what the requirements were. I felt like I was guessing, and he would just disagree when I attempted an idea (but not give me any clues as to how to continue). It seemed lazy, like he didn’t actually want to think about my problem–but then, why even respond? The TAs were fine, and helped me out with some of the issues I had. Their feedback on my assignments was insufficient, but they actually helped me with some of my questions and seemed to care about how well my Raven’s solutions were going. In the end, I was disappointed and I think I may have wasted four months banging my head against the wall, trying to find meaning in a class that just doesn’t have any.


    Semester:

    This course is tons of fun. Can’t say I have ever had a final/midterm that I enjoyed as much as this class. The assignments/tests are written in such a way to encourage creativity. The projects are challenging like a puzzle. It is not too hard/time consuming. I could finish the normal assignments easily/effectively in an afternoon. The projects took more time, but were not too bad, and there was a lot of reuse between the three projects. However I can see how the projects could get bad if you get overly ambitious (unless you’re into to that).

    Only down side is the course is mostly theory. I do not think I learned too many applicable skills. Even so I highly recommend it.


    Semester:

    This course requires a lot of theory and lots of essay writing. Dr. Goel is amazing as he really does a great job trying to always improve the class. I did not get the pleasure of having David as the TA but I hear he is equally amazing. Dr. Goel makes this an extraordinary class and really keeps one engaged. The head TA we had, Lallith, did a great job as well. There are numerous positives and I want list them all here other than to say that the positives way out weight the negatives. But will here are my two negatives. One, the third project emphasizes the use of visual viewing of the images which you end up focusing on solving the problem visually instead of utilizing any AI techniques you learned in the class. People with a visual programming background have an advantage on project 3 I think. Note it shouldn’t affect your grade to much just feel I spent way more time trying to understand visual programming then I did learning to apply AI techniques on project 3. Two, there is alot of writing and essays. Some of the essay questions become fairly hard to apply using the items you learned in class. Alot of the AI techniques overlap and are fairly theoretical. On top of this, it is graded by a random TA. There is no secondary grader and your scores are left to the arbitrary TA who reviews it. On top of this I had in some cases great detail about why I was scored a certain way and then in others it was a single sentence. There is alot of writing and it spreads the TAs pretty thin but would be nice if a second pair of TA eyes could review a paper. Note, I am not complaining of my score they did a pretty good job but just seems a bit arbitrary. The work load is pretty high and can be made higher depending how much detail you want to give. The instructor is down right amazing and enjoys challenging the students and himself. Overall I highly recommend the class and most will do fine as long as real effort is made. Grade is curved.


    Semester:

    This class can be fun to tinker with, but ultimately I don’t think I learned anything useful in this class.

    The professor and TAs were incredible. They are very engaged, obviously passionate about the class, and ran a very smooth ship. But, this class was too much fluff for my taste. I remember when I was in undergrad, there were different versions of physics classes of varying difficulty for different majors. The easiest version was for humanity majors, which was mostly high-level and conceptual, and was dubbed “physics for poets”. I felt this class was “AI for poets”. But, it seems a lot of students don’t share my sentiment and loved this class. I suspect those from a more math heavy background might find this class boring.

    The class is pretty easy and is a good candidate to pair with a harder class. Because there is a good deal of writing, I suspsect students who don’t speak English as a first language may struggle a little more with this aspect.


    Semester:

    This was a truly exceptional class! The professor is absolutely in love with the material and very engaging. TAs kept Piazza tidy and helpful and were reasonably available. The material is interesting by itself and the course project (which, at time of writing, occurs over three installments which build on each other) is very fun and challenging. The midterm and final exam were remarkably creative and enjoyable. The smaller writing assignments were also fun and engaging. If you want to get a lot from this class (and there’s a ton to get), take it by itself or with a light class so that you can spend a lot of time delving into and working with the material. Also, don’t get hung up on the word-count suggestions in the writing - just write a cohesive answer to the given question(s) and you’ll be fine.

    If you don’t have a strong (if any) background in code, this is probably not a terrific course to start with (look into SDP as a refresher/starter course), though some classmates reported little-to-no prior experience and came out fine in the end - just be prepared to dedicate several hours outside of class to developing your software skills and get into a study group with other students who can mentor you.


    Semester:

    This was easily one of the best courses I’ve ever taken! The concepts in the lectures are explained very well, the time requirement for the lectures isn’t insane, and David Joyner and the TAs were extremely helpful. The writing assignments are thought provoking and not at all overwhelming. The Ravens Matrices project is definitely hard, but you have all semester to work on it, and after you get the basics of it set up it’s actually a lot of fun. I think this was the most enjoyable course so far.


    Semester:

    This course, even after adjustment, has a heavy workload of both writing (a surprising amount of that, actually) and coding. As someone without a formal CS background, I found the coding extremely challenging, especially because the push is always to be perfect - and in this course, that’s very difficult to do. That said, my Pythonic prowess is significantly higher after having taken this course, and I was incredibly proud of the progress I made both in knowledge of course material and coding over the duration of the term. This class was wonderful; the lecture material and written assignments dovetailed perfectly, the core concepts were really interesting, and the instructor/TAs were very engaged. I do highly recommend learning some basic image processing (even how to use Pillow functions would help) before coming into the class. This was an incredibly well-structured class, and I enjoyed it tremendously, despite all the hard work.


    Semester:

    My favorite course in OMSCS. On the surface it’s very easy, and if you wanted to you could get through it with an A with minimal work. But it’s like a great puzzle - you don’t want to quit at 80% just because 80% = A (as an example). You want to solve the whole thing. If you love puzzles and challenges, this class will make you progressively strive for inventive new ways to solve problems.


    Semester:

    Absolutely one of the best courses I’ve EVER taken in academia. Taking this class first in OMSCS has really reflected well towards the whole program. The instructors and TAs really deserve recognition for this. Maybe it’s because the course material is just so darn interesting, but WOW, I’ve never felt this inspired to learn. The assignments are thought provoking, and the project is an absolute blast.

    I disagree with what others have to say about needing to be a “python expert”. I program in. NET at my day job, and found the jump to be fairly easy. It absolutely helps if you’re a strong programmer, however. If you’re not, what are you doing in a masters computer science course anyways?

    A minor critique about the class - maybe less writing assignments, and more programming assignments. Often throughout the class I wished I was given time to implement some of the ideas you write about. Also, the project is amazing, but I think they need to reexamine their policy on what external libraries you can use. I’ve felt like the project is more a visual processing assignment than an AI one.


    Semester:

    I feel like a pariah, because I wasn’t very impressed with this course. I appreciate the work that went into making it and the support from staff is unparalleled in the program, but the lectures didn’t go into any kind of detail, and there wasn’t any real discussion on the performance of the topics presented. Overall, I left the class without any confidence that I could actually apply anything outside of the class. The written assignments were worthless because the feedback was trivial, the readings were overwhelming, and the project was neat but ultimately felt pointless because the code was basically a one-off script that wouldn’t have much value to any other problem domain. In the end it was demoralizing because I was surrounded by folks who absolutely loved the class, and I just couldn’t drink the kool-aid. It’s not a bad choice as an elective class, but I can’t promise you’ll really learn anything.


    Semester:

    This has been a very rewarding class, and I highly recommend it. I agree with other posters that the time commitment varies quite a bit with ~25 hours on project weeks and 5-10 hours on weeks with papers due.

    Although you don’t need any advanced image processing techniques, it would definitely help if you are already familiar with NumPy/Python and what you can achieve with it. I think taking CV and CP last semester really helped me.

    The Piazza forum is very active, and there is constantly a good sharing of ideas and approaches. Make sure you make good use of this resource.

    I paired this class with ML4T, and that has turned out very manageable. KBAI is very front-loaded if you take the visual only approach immediately in the projects, and ML4T is very back-loaded so I’ve been able to mostly focus on one class or the other without many conflicts.


    Semester:

    The course is quite interesting - it approaches AI from the point of view of minimal training data. It covers a number of approaches on how to create AI knowledge, largely from rule based systems.

    I enjoyed the course and received accolades for my work. The course is extremely well organized, enjoyable and fun.

    However, I think the course is a little heavy on the paper writing side.

    The project doesn’t map entirely well to the material taught, especially in the second half. I really enjoyed the challenge of the project, which is done in 3 phases.

    I would recommend this class, its a great contrast to machine learning.


    Semester:

    The “Time” box doesn’t let me put in a range, but this course varied for me. Weeks when I wasn’t working on the project, ~5-10 hours was enough to keep up. Weeks when I was working on the project, more like 20-25 was required.

    This was a really interesting course. I would rate the lectures and papers A+, moderately challenging while extremely interesting and informative, ie. the perfect class in my opinion.

    The only thing I didn’t love about the class is the project. You’re given a single challenge and then three attempts to build an AI agent that can handle it. It’s the same problem (taking a visual IQ test) each time, but the difficulty is increased as time goes on.

    The first version of the project was interesting and pretty fun. But by the second time I was getting a little tired of it, and now I’m working on v3 and I’m not so excited about it.

    The reason is, I feel the project has devolved into a test of my image processing skills rather than an test of knowledge-based AI programming. I didn’t mind that on a single project, but I wish we’d gotten to try something different for p2 and p3 instead of the same thing just harder.

    However, in the scheme of things, the project isn’t too bad and the class remains really fun. The Piazza forum is extremely active, and Dr. Goel is highly responsive and engaging with the students.

    This was my first class in OMSCS and I thoroughly enjoyed it. The first few weeks confirmed all my excitement for this program. I’d highly recommend this course for anyone with an interest in the subject, and also for first-semester students (but take it by itself!).


    Semester:

    It might be the reason why I got frustrated with ML the next semester. So much writing with this class that I made up for the lack of it in ML by dropping the course and writing a 50k word book.

    In all seriousness though, this course was exemplary for interaction for student-student and student-teaching staff. I liked the peer review, even when it was a slog, because it helped me to see the range of students in the course and not just from the snippets of conversation on Piazza. Also requiring this interaction felt like we were doing something, rather than just posting problems to Piazza.


    Semester:

    This is a well-put-together and rewarding class. The instructors put a lot of work into structuring the lectures, projects, and assignments in a way that really engages.

    The only real complaint I have is that they don’t seem to actually read the student code. Many of the projects they choose as exemplary are nigh-unreadable messes pulled from a wide variety of source material rather than a carefully-crafted reflection of the students’ own work. While this is not a class in development practices, I’d like to see some enforced in the work the instructor touts as an example other students should follow.


    Semester:

    I thought this class was very professionally constructed (the video lectures, etc. ) It covers a wide breadth of KB AI topics, and you go through them fairly quickly. The projects were challenging yet doable. I was really thankful that the instructor provided all of the course slides, notes, past exams on T-Square. I also found the peer feedback system very useful - it was great see other students approaches, and getting comments on your papers. Like others have stated, you have to write quite a bit in this class. Overall this is exactly what I had hoped for in this graduate program - excellent quality and quite challenging.


    Semester:

    Enjoyed the course. Learnt the theory behind AI agents. The overall structure in developing the agent from one level to another was really interesting. Don’t miss the lectures since you will learn the lot of terminologies and concepts in designing an agent.


    Semester:

    This was an enjoyable class. Overall, I’m glad I took this one as my first in the program.

    For me, the bulk of the time was spent on writing, including thinking about topics, drafting, and editing. In a perfect world, I would prefer to trade some of the writing time and spend it on the optional reading assignments instead. To illustrate the volume, the word count heuristics from the teaching team led to about 15k words in total across all the assignments. I recommend front loading and starting with a strong, steady pace early in the semester.

    The work included a mix of written assignments, code/applied projects, project write ups, exams, and peer feedback. This mixture resulted in a nice balance to the grading, with no one assignment making up the bulk of the course grade. The balance of broad topical coverage with more deep dives in the assignments was also good.

    The teaching team was really great, and the feedback and grades on assignments were returned in a very timely manner. Piazza provided plenty of interesting reading and interaction for those so inclined, from both the teaching team and the students. There were plenty of office hours, and even some optional sessions with external professors on relevant topics.


    Semester:

    This was a well designed course, learned a decent amount though didn’t go too in-depth into any particular methodology, mainly focuses on giving students a wealth of different reasoning methods to learn and pull from. The projects are good and well-suited for the course. There is more writing than I expected, six ~4-page assignments, three ~8-page project reflections, along with two ~8-page exams. The scheduling of the exams left something to be desired. The weekend after submitting a project worth a good percentage of our grade, we needed to write a long essay as our exam, also worth a good portion of our grade. Made worse one of the exams was due the weekend after Thanksgiving.


    Semester:

    This is a survey course in KBAI so lots of material without getting in depth. Personally I liked that. If you are comfortable writing technical papers you will be fine in this course as all assignments and exams are written. The writing do take up some times. The RPM project is good but I thought it did not really offer to apply any real AI techniques since grading counts on how many of RPM you are getting right instead of what technique you have used - a bit disappointing. Lectures are easy to understand. Professor and TA’s are great and goes above and beyond to help (they held office hours on weekends!). Overall, it’s a good class but have room for improvement.


    Semester:

    Very, very interesting course that is incredibly rewarding to complete. It does take some work and thinking, but is doable assuming you have the time to put into it.

    I felt the course papers were excellent opportunities to write things down and synthesize what was going on. The final exam was the same way. The assignments are a bit challenging at times, but are again doable and you will learn during them :)

    Definitely take this course!


    Semester:

    Very engaging course with really good interactive lectures. It’s important to build a good foundation from your first assignment and limit having to completely re-factor your project code. There were also a few additional assignments that were a bit time consuming, but helped to reinforce the material.


    Semester:

    The lectures were thought by Dr. Goel, but the primary instructor was David Joyner. These notes are copy & pasted from the Piazza forum of the course.

    I did not like this course very much. Disliked the flow of the lectures, had a hard time following what Dr. Goel tried to explain and could not relate lecture content to the projects really. Has been the most frustrating class so far in my curriculum. I really liked the organization and effort that went into the interactive exercises, the overall communication, grading and the friendly frequent contact. David’s been a great instructor.

    The whole educational strategy of this course is brilliant. I would love seeing it applied to other courses.

    I can appreciate how the KBAI class falls into the “academic-style thought” bucket. I admit, I might have approached the class from a wrong angle, even though it said so right on the labelling.

    But then I doubt the validity of your airplane analogy. Of course the airplane project would not touch upon every subject, but conversely the lectures should instruct how to actually design such a plane. Or at least point to the right resources, tutorials or books. I just thought it would not hurt to slide in a lecture or two that examines the design and implementation of a couple of cool and interesting classic or modern AI agents (maybe a simple one right in the first week to illustrate what we’re talking about, a more complex one in the middle and an advanced one at the end). I would argue it would strengthen the understanding of the high level concepts being thought.


    Semester:

    Knowledge Base is the key phrase for this class. The emphasis is how to identify, use, retain and re-use knowledge from the real world. This class taught me about data structures other than the standard collections, arrays, b-tree and linked-list methods for storing and cataloging information. Prof. Goel and David Joiner are exceptional instructors and the material is well presented. The TAs were also very good and active in the Piazza forums. The only negatives are the assignments and projects got to be a little boring because even though you are using different methodologies, you are still solving the same problems over and over throughout the semester. Also, there is a lot of material so the class moves at a quick pace. I would have liked to posted more in the forums but time was a bit of a constraint. I did read a lot of the posts and most were insightful - Piazza definitely adds to the class experience. I highly recommend this class - you will definitely think differently about A. I. and data representations after taking this course.


    Semester:

    A bit of a challenge, but very rewarding. I wish there was a bit more variety in the programming assignments, and there is a lot more writing than I expected. One key for all of the writing assignments (including the project reflections) is to include lots of examples and state your assumptions.

    TA’s and professor are all very involved and want to interact with students, which makes the course more enjoyable.


    Semester:

    Couldn’t wait for the class to end. If you love to write then this class is for you! There is a writing assignment almost every week and it regurgitates the same topic for some. When you’re not writing you’re working on your project. Oh, you also have a write up for that. Don’t believe if anyone says that you only need to do the minimum amount for the papers. The students that are held in high regard for assignments turn in 2x to 3x what is required and everyone else is held to that standard. Th project is ongoing and does not really offer any opportunity to develop meaningful AI algorithms that you learn in class. There is hardly anytime to write a great AI agent because you spend so much time writing. That’s what I really couldn’t stand about the class, too much talking about theory and not enough time spent on actually implementing the ideas. I’m sure there are students that will argue my experience, but I want to actually program to see what they are talking about actually works in the real world. I felt the lectures were too high level and the examples were at the grade school level. So it was really difficult to find value in the lectures. This is not a critique against the professor and the TA’s they are great! It just that the material could have been presented better. If you’re looking to learn some cool AI techniques, you’re not going to find them here. This class is really an intro to cognitive AI, nothing more. It is broad sweeping with no real substance.


    Semester:

    The material is easy enough to understand and given a ‘full length’ semester, this class would be much more enjoyable. I took it in the Summer Semester and it was definitely ‘jam packed’, requiring my full-time attention. I would recommend the class during either the normal Fall or Winter schedules, but not during the reduced timeframe Summer schedule. My ‘30 hours per week’ would probably be less had the course been spread over the normal amount of time.

    I would seriously recommend either taking the CP or CV class before taking this class or have a decent amount of experience using Python’s PIL image module. Without this background, you’ll be at a disadvantage with the projects. I spent a lot of time learning image processing and went down a lot of dead-ends on my projects because I wasn’t prepared for the visual processing aspect of the projects. IMHO, taking CP or CV should be a prerequisite of the class, or at least strongly encouraged.

    David Joyner is an excellent and enthusiastic teacher, unlike some in this program who seem totally ‘checked-out’. He actively participates in the forums and discussions and adds a lot to the educational experience.


    Semester:

    Really interesting class, a lot of fun. Basically spending a whole class on a puzzle you just want to perfect.


    Semester:

    This class was not extremely challenging, but it was a lot of fun and I learned a great deal. Dr. Goel was a great instructor and our TA, David Joyner, were absolutely wonderful and very responsive on the forums. The projects were of very reasonable difficulty while still providing many learning opportunities.


    Semester:

    Well this class is fun. Building an agent is great. i am super tired taking this class with work. this is my first OMSCS class so i dont have any reference to other classes. But there are lots of essays. I took the class because it looks like lots of programming. It is lots of programming but also lots of essay. you have to write an essay every week


    Semester:

    This class is definitely fun. You get to build an AI Agent to solve some IQ problems. I thought the IQ problems solving was to be done theoretically only when I skimmed through the syllabus. Turn out the agent (written in Python or Java, your choice) really runs and you are given grades based on the number of correct answers.


    Semester:

    This class is fun because of many different reasons, but mainly because of great support that the professor and TA David provide. They are absolutely brilliant at their job. One can learn a lot from them. Additionally, lecture video’s are very good, topics are covered in depth, and references are given wherever required. So, if someone’s interested in KBAI, or AI in general, he should definitely take this.


    Semester:

    This class is fantiastic. The programing assignments do take some work, but they aren’t impossible.


    Semester:

    This is an awesome course. The TA and Prof are amazing and are very informative and you learn a lot. I put ‘Somewhat Easy’ on the sheet, because it is to me, but I also have a background undergrad in CS, so the programming is not a problem to me. I am also very interested in the topics covered, so I may be more inclined to enjoy the class more. The topics are extremely easy to understand and assignments are graded and returned at a very fast rate. I cannot rate this class high enough. I really hope the same TA and Proff does another course. I will not hesitate to take it.


    Semester:

    I have somewhat of a differing opinion of the previous answers. At first, I thought the class was really cool. You learn how to write a program that models human intelligence. You learn many different concepts of knowledge representation, problem solving, and machine learning. In the first project, you learn how to write a program to solve basic IQ test style questions. However, there are 4 projects in the class, and each project is just the same project, just with harder IQ questions. Grading is completely results based (how many did it solve?), so in the interest of solving as many problems as I could, I have not delved deep into the advanced concepts that we have learned in lecture, because if you’re even somewhat busy, you’re just going to apply the concepts that will solve the most problems in the least amount of time it takes to write (instead of spending the time to apply as many concepts as it takes to solve all the problems). I would much rather have the class have slightly smaller projects that are different each time (like the problems covered in the lectures are way more interesting to me) more specialized toward a concept that forces you to apply new concepts. Another problem I have with this class is the sheer amount of writing we have to do. I’ve never taken an engineering class where we literally have to write a paper every week. The amount of writing isn’t much, but as someone who has gotten used to writing only for project reports, it really sucks.


    Semester:

    Well run class with good discussion and interesting subject matter. I think the writing assignments have helped me understand the lectures better. Regarding the project work, I like the approach as it seems reflective of what you would do if developing a ‘real world’ agent. I think going from relatively easy to more difficult problems helps to apply additional concepts to solve them and build on the past. This is my 3rd course in the program and ranks as my favorite, in a pretty tight race.


    Semester:

    Best designed class I’ve ever taken, undergraduate or graduate. Lessons are incredibly well done with banter between Ashok and David, Piazza is RIDICULOUSLY active, assignments are relatively short and can be completed in 4-6 hours, but happen every week. Keeping up with the material is key. The projects are challenging, but the grading is sufficient that deliberate effort over 2-3 weeks, 5-8 hours a time, is enough to get an A or B, assuming you are already thoroughly competent in Python or Java.


    Semester:

    Very well designed class. The lecture load is reasonable - about 90 minutes per week - but the four projects are fairly open ended and you could sink as much time as you like into them. To get a B in the class, I’d say expect to spend approximately 5 hours per week on the projects. To get an A, I’d say a minimum of 10, but that could vary. In addition, there are 8 written assignments which are fairly straightforward (“In 500 words, how would you apply technique X to the project”). One thing I have to emphasize is how much work the TAs and instructors are putting into building a community here - it feels a lot like being on campus due to the level and amount of discussion going on.


    Semester:

    Loved this class. A lot of papers to write but the programming project is very interesting and fun. The summer course was condensed which may have made the amount of work more intense (something large due almost every week) but I learned a lot and I highly recommend this class. As others have, I’d also recommend going with Python over Java.


    Semester:

    I’m really liking the class and think it’s really worth it. It’s as demanding as you want it to be, it’s pretty flexible. Each week you learn new topics, by every Sunday you must write a short essay on how any topic that you have learned so far, can be applied to solve a problem called ‘Raven’s progressive matrices’. It’s pretty flexible because you will learn more topics than what you can write essays for, so it’s flexible given that you choose what topic to write on, the essay helps you develop your understanding of the topic. Then, every 3 weeks you write an agent (java or python) that actually solves the problem, you can code it however you want it. The midterm was take home, you are given a whole week to complete it, but it can be done in less than a day. There’s lots of paths to be taken to further explore what is being learned bu that’s up to your motivation and availability. All projects are solo.


    Semester:

    I love this class. The difficulty rating is really because it takes a bit of work and figuring out things. You are designing an agent which you work on throughout the semester. My advice is keep it simple. I would say it is a survey course in that you get an overview of lots of techniques and can choose what you want to do for your agent. Also, on the weeks that a midterm or a project isn’t due, you have to write mini papers on how you would apply one of the many techniques to the project. Just be sure to keep up with lectures the best you can, stay involved in the class and don’t procrastinate. In the early weeks, I think I spent more time on my agent just because I was a bit unsure but there have been weeks that I spent 5 hours on the class. Some of the lectures are an hour long so I’d dedicate at least 10 hours/week to the class, preferably closer to 15 just in case.


    Semester:

    This class is not that difficult but it is very time consuming. You will definite learn. There are written assignements EVERY WEEK even the weeks that you have a programming assignment which can take a couple of days to code, you have to make a report about your program. So plan for many hours. Other than that I personally love the class and the instructors are some of the best I ever had. They are very passionate for what they do and they do put a lot of work into each lesson, forum post, etc. Take it, you will be in for a ride.


    Semester:

    This class is not that hard if you feel reasonably confident with your programming. If you have trouble problem solving with code, this class will be hard for you. The assignments are fun, but a bit repetitive. You have to write a paper each week, I think a small coding example of what was learned would have been more useful.


    Semester:

    This class is not that bad in my opinion. Initially it can be overwhelming( first project) but once I got over that it was not too difficult. I feel like this is a class that rewards you for working. to the point to where you won’t study, or read for 20 hours only to miss on small concept that will mess you up. I feel like this is fair and if David is in here then you will love him. Highly recommend.


    Semester:

    This is a lovely lovely AI class. The projects are great. The homeworks give you a lot of freedom on how to cover several topics. The teaching team is AWESOME. Dave Joyner (the TA), was nominated for a big TA distinction.


    Semester:

    If you have basic knowledge of AI and feel comfortable programming in either Java or Python, this class isn’t that hard. It’s the best executed/managed class so far in my 3rd semester in this program. The teaching is great in conveying difficult concepts into practical examples. Like many already stated, the TA (David Joyner) is amazing. Highly recommended course!


    Semester:

    The TA and professor are the most involved of any OMSCS course I have taken so far (well, maybe 8802 self-driving car comes close). They really fostor a great collaborative atmosphere in the forums, which is a striking difference to CS6290. The lectures are all entertaining, but there is a lot of material that they cover. There was more writing in this class than I have had in other classes, but its been okay. The projects are open-ended and you can spend as much time as you want on them. I usually got my projects to a point where I could turn them and get a decent grade very quickly, but then spend a lot of time improving them afterwards to try to solve more problems. The take-home midterm (haven’t taken the final yet… ) was actually quite time consuming but was really interesting.


    Semester:

    This is the class to take if you want to get a headstart in AI. The support and engagement has been phenomenal. Projects(4 in total) are open ended and you end up learning a lot. The class also has 8 essays(~500 words) and two exams and asks you to apply the concepts you have learnt in the class. Overall, a fun class and one must opt for this class.


    Semester:

    This is my first OMSCS class. I recommend it. This class has time-consuming programming projects for the perfectionist. In order to solve all the problems, I had to sometimes spend 25+ hours just on the coding portion. However, to get an A, you do not to do this much work. The lectures and topics are easy to grasp. The midterm and final are take home. The TA and Professor are very involved: I personally met with the TA during office hours a few times. The projects are partially auto-graded which makes for predictable grading. The weekly essays all have the same, predefined rubric, so you can know what your grade is going to be if you apply yourself.


    Semester:

    I had a blast taking this course and learned a lot. The main focus of the course is a set of related projects that last the length of the course. The projects are open-ended in that you can use any methods you want for them, and the concepts taught in the course are meant to give you ideas to try implementing on your own. There are also assignments in the form of short papers explaining how you might apply a concept from the course to the projects, and take-home exams that similarly require exploring the concepts in-depth. Overall the instructors seem to really care about designing the course to give students the best learning experience possible and encourage creativity. You do not need to have any previous AI experience to take this course, and it’s not very math-heavy compared to other AI courses I have taken. You will also have a much easier time on the projects if you are proficient in writing Python or Java code, a lot of the project involves coming up with and trying your own ideas for algorithms so being able to implement a new idea quickly is helpful. If you do end up having a hard time on the projects, the minimum performance for getting a decent grade is very reasonable. Overall if you like thinking creatively, want to study how machines and humans can approach reasoning and enjoy working on projects this is a great course.


    Semester:

    This has been the most awesome OMSCS course thus far, very challenging with lots of JAVA (or Python) programming. In the first project you’ll be pulling your hair off, after that things ‘click’ and that’s when the fun begins. I learned a lot from this course.


    Semester:

    Enjoyable and challenging course which really gets your mind hooked on AI. You need to be comfortable with either Java or Python to complete the programming projects of which there are four. The final one involves some computer vision/image processing work so be prepared to learn about it on your own if you haven’t done such work before. There is also a lot of writing required; eight written assignments, two exams and each programming project has to be accompanied by a design report. The quality of teaching and the TA support was excellent. The workload was substantial but ultimately manageable. Make sufficient time to watch and study the lectures which cover the topics in the text BOOK (AI by Patrick Winston) extensively. Some people took this course together with another one but I wouldn’t recommend doing that unless you are able to study full-time. If you start your programming assignments early, you should be able to do well in this course.

    To counter the negative points made elsewhere on this page about having to write an essay every week, I would say that yes there is some writing involved but it’s not really that much since they only ask for about 500 words per essay. The purpose of the essays is to give you a chance to think through how you will apply a specific AI technique to the programming assignments and dry-run your ideas in your mind before you start coding.


    Semester:

    This was definitely the best-managed course I’ve taken thus far and the instructors were very caring. However, I’m less excited about its content than some other reviewers. The class takes you through a ton of interesting topics but doesn’t delve deep into them at all. I thought the projects and/or assignments would account for that but there was little connection between the projects and the course material. In fact, if you try to apply many of the lecture concepts to your agent you’ll likely spend more time than other students and up with an underperforming agent because they simply aren’t a good fit. The projects are fun in of themselves if a bit repetitive. A poll was taken on how much time students spent on the first project and it spanned from 10-50+ hours, with the mean seemingly somewhere in the 20s. It seems that students with deeper algorithmic programming experience found the projects pretty easy, while others struggled monumentally. The assignments are just written essays that involve describing/applying a given technique, kind of like thought exercises, without actually building anything and therefore resulting in a ton of wiggle room. Long story short: I don’t feel like I learned much in this course, esp. considering the time commitment.


    Semester:

    This is my first semester so I’ve only got one other class to compare to, but KBAI is amazing. The projects are incredibly interesting, as are the readings (mostly… The stefik book is tedious, but there’s only 3 readings). Prof. Goel and David are great presenters in the video lectures - and they are both very responsive and helpful on the Piazza forums. KBAI is also extremely well-organized compared to my other class. ProctorU was not used, which is always a plus.


    Semester:

    Professors are really good. but there is a disconnect between what is taught in video lectures vs the grading. The grading is heavyly based upon the assignments. The lectures only provides a very high level conceptual overview and were little helpful in doing the assignments. Even if you are good in Java or Python, you may still be struggling in doing the assignments.


    Semester:

    A well designed class. If you are ever interested to implement an intelligent agent program, in this class you will do so to solve IQ puzzles. This is my first class in the program. I certainly had alternating moments of a-ha’s and banging my head against the wall. The challenge and disconnect is really between attempting to do something great versus maintaining good grade. If you attempt to implement using one of the more advanced techniques, you will likely get a little discouraged on the actual result. Therefore, most people stayed with brute force algorithmatic approach. Warning, if you never had image processing related experience, the visual compoenent will be more involved! Professor Goel and David are amazingly active in PIazza discussion and the TA’s are responsive. 1 week turnaround on project/assignment. The final is fair, mostly concepts application and design.


    Semester:

    This is a well run class and the instructors and professor are very involved. The syllabus was clearly articulated and it was easy to know what was expected. That said, I feel like I didn’t learn that much especially considering the amount of work I put in. Nothing was very difficult, but it was very time consuming. I’d venture that you could put in much less work and still do well. The programming projects are interesting, but become repetitive. As alluded to above, if you have some algorithmic development under your belt, you can do better than average without even thinking about a KBAI algorithm. There was a ton of writing for the class. I think I will hit 80 pages of turned in essays/design reports/exams. This semester there were 5 1000 word essays, 4 1500 word design reports, and 2 ~2500 word exams. However, I think you’d be hard pressed to cover the questions in the depth required by the rubric at those lengths; I was usually at least double the suggested length. Mostly these assignments are rehashing lecture material at a high level. I think this course would have been much better had they selected 3-4 topics and gone in depth on each with a tailored project.


    Semester:

    This was the most fun class I’ve taken yet in grad school (out of 8 courses). You get what you put into this class, you can either regurgitate the material (and get a decent grade) - or innovate a little and get an excellent grade! The teaching is the best I’ve seen in the OMCSC program by leaps and bounds - mostly because of the professor/instructor combo of Ashok Goel and David Joyner. One neat thing they do in this class is list and save exceptional submissions. Unlike the above comment, I thought this was a good introductory course for a broad amount of material. I enjoy writing assignments, so I didn’t mind that particular aspect of the course. Make sure you know Java or Python (2 or 3) a bit, the projects are intense though have a forgiving curve.


    Semester:

    The professor and the TA’s are by far the most engaged in the whole OMSCS. Great course, great organization. BUT, the assignments are boring, the first 2 projects are very interesting and interesting, the last two are repetitive. The final exam was quite boring too. I started the semester very interested in the subject, I ended it with a total lack of interest for KBAI, and all because of the assignments and projects. I found myself not applying anything I learned in the second half of the semester. Great professor and great TA’s.


    Semester:

    I took this class as one of my two first OMSCS classes, and I thought it was a fabulous introduction to the program. Drs. Goel and Joyner are very serious about the course and very skilled at course management, meaning that you get a clear notion of what you ought to be doing to succeed, and how you are supposed to use the various tools (Piazza, lectures,… ) effectively. It also means that you get great feedback through the peer review system, and timely assignment grades (which was a problem in my other course). They work to stagger due dates and they publish all due dates at or near the beginning of the term (in the initial syllabus, in fact), which makes it possible for you to plan well if you have other classes or major work commitments. In terms of learning, you get out of the class more or less what you put into it. I didn’t have time to implement the number of alternative algorithms I really wanted to on the projects (particularly the later ones), but that wasn’t necessary to get a decent grade. In terms of the subject matter, I loved what the course covered, but I am biased since AI is my area of particular interest. I felt that coding the agent was fun but that students without some prior exposure to image processing datastructures were at a disadvantage. You will find this class easy if you: are efficient and good at expressing ideas in writing, are fluent at coding in Java or Python, and have sat in on an image processing course at some point in time (it’s fine if you think you’ve forgotten everything). If one of those doesn’t hold true for you, expect to put in a bit more time than my estimate.


    Semester:

    This was a well-run course and if you are at all interested in AI it is a must-take. Grading of written assignments seemed somewhat arbitrary but the curve is generous; it would be very difficult not to earn at least a B if you do all the assignments. The projects aren’t terribly difficult and I actually found them to be a lot of fun. One thing I really enjoyed is that when I did the projects I could see the progress I was making in the form of the number of questions my agent was getting correct.


    Semester:

    I echo others in regards to the quality of the course and instructors. Really top notch. Writing essays wasn’t so much fun but after the first couple of assigments I realized that the quality matters more than the quantity. Short, well illustrated papers were the theme of the published exemplary assignments. Start the projects early. There will be a lot of trial and error. Write unit tests if possible - saves a lot of headache. Use a version control and commit progress regularly. Simpler approaches often work better but if you do try advanced concepts (recommended if you have the time), don’t forget to mention it in the report for bonus points.


    Semester:

    Yeaaa I’m gonna have a very different opinion here. I absolutely hated this class. I got an A, so it’s not sour grapes, but it was an absolute waste of time. I’ll list the pros and cons:

    Pros:

    1. Excellent TA and instructors, obviously cared about the class, very very involved in Piazza, and excellent to talk to.
    2. Easy A. Projects are not that hard if you’re confident in programming, and are really easy in terms of grading. Last two projects had means in the 60s(which is also the threshold for an A), and I ended with grades in the high 80s with a couple of hours of effort.

    Cons:

    1. Way too many things. I don’t really understand why you need 4 projects, 5 assignments, a midterm and a final?? Oh wait and also peer feedback/participation. I spent way too much time on this class for nowhere close to enough gain.
    2. Grading is a joke. a. Project grading is virtually completely based on how many problems your agent solves, which de-incentivzes you to try anything creative. b. Assignment/midterm/final grading is absurd. I did well on them all, but it seems to completely arbitrary. I would get a below mean grade on an assignment with a comment ‘Good job’, or points docked off with no explanation, or a really good score on an obviously half-assed assignment.
    3. Peer feedback is quite useless. Started off well for maybe one assignment, after which point it became obvious that people were just doing it to get your participation grade, and not really reading the assignments. Not to mention they made it compulsory to do peer feedback for assignments that you didn’t even attempt.
    4. Content is useless. Ah, this was my biggest gripe with this course. The material taught in the class did not seem practical at all. Maybe I’m amazingly misunderstanding the course material, but it seems to be mostly common sense that they somehow manage to come up with more and more terminology for. And I don’t mean trying to understand how common sense works, no, I mean the concepts that they understand seemed hardly worthy of a class. If you look at any practical AI, it’s machine learning and mathematical approaches. I think I learned absolutely nothing in this class.
    5. Projects are unrelated to course content. I got excellent grades on all the projects, but I saw basically no relation to the content taught in the class. I would have done equally well had I not watched a single video(except for the project report, where I had to shoehorn concepts to the actual project)


    Semester:

    By far my favorite class in the OMSCS program so far. Lectures are well structured. Assignments and exams are mostly written high level designs using different AI concepts. Projects themselves require lots of programming, my only complaint is that you can do well on all the projects while only using concepts learned in the first few weeks, there doesn’t seem to be a good way to apply the advanced topics covered later in the course. Feedback on assigntments was also spotty. Instructor participation on Piazza is great and incredibly helpful.


    Semester:

    This course is very high level and abstract. You need to write about ‘vaporware’ to demonstrate your understanding of the concepts. Written Assignments 20%, Written Final 20%, Written Peer Feedback 15%. Projects coding 27%, written project reflection 18%. You can see that 73% of your grades are based on writing. The course material are not very difficult, but since they are so abstract it’s hard to articulate. You need to spend a lot of time ‘thinking’ about what to write. This course is time consuming (compare to ios, aos and ai robotic), especially in the summer. But from what I heard ML is even more so. Conclusion: if you have no problem writing about abstract topics and apply high level ideas to your written assignments, then you will love it. If you want concrete homework (programming, math, calcuation) then you might hate it. You have work due almost every week.


    Semester:

    As mentioned above, this class is very abstract. I had a lot of fun building and agent and even writing about and discussing KBAI concepts. But it is time-consuming. My least favorite part is the video lectures. I have some background in Neuroscience and math, so the lectures lacked depth compared to what I already know about the topics in this course. David is by far the biggest asset this course has. He’s a great instructor and is very focused on helping as many students succeed as possible. That being said, your success is depending upon your own creativity and work ethic. If you’re not yielding good results and get stuck, bring up a discussion on Piazza to ask for help.


    Semester:

    If you integrate all the comments above, I think you’ll have a fairly accurate view of the course. The main negatives for some people were the amount of writing required (which I actually liked), the relative shallowness of topic coverage in the lectures, and the disconnect between lecture material and the projects. For me those were greatly outweighed by the interesting material, the fun of the projects, and the teaching ability of the instructors. I was enormously impressed by the responsive and productive communication between everyone, instructors and students alike. This was my 7th OMSCS course, and it felt more like a community than any other I’ve taken (the runner-up was 6475 last semester). The piazza forums are always active and helpful, and I enjoyed the small but chatty hipchat group. A few people complained about all the peer feedback, but I thought it was great to see what others were doing and to get feedback on my own work.


    Semester:

    The projects were a lot of fun. It does require a pretty a basic understanding of programming. Do not worry about lack of knowedge about image manipulation. I had zero experience with dealing with images and I did pretty well. The essays suck, its writing about how you would design a program to solve some problem. Very abstract and it was hard for me to go into details. The video lectures are interesting but very high level. I would have liked to see greater depth. The projects was where it was at as it was the most enjoyable (and most time consuming). You can write your programs in either Java or Python. Go with Python, even if you have zero experience in Python and lots of experience in Java. Python is an easy language to pick up and the image manipulation library you have access to blows Java out of the water. Extremely fun class, even if its a lot of work. Highly recommend


    Semester:

    Very fun projects. Very nice and helpful staff and classmates. Easy and difficult at the same time. Easy because at least half the class is guaranteed an A, so you only have to be average to get an A. Hard if you want to do things properly and solve most or all of the Raven’s problems. You get a choice between a visual (image processing) and a verbal (hashlike input processing) agent for the first two projects. If I could do it again, I’d do the projects visually from the get-go. Visual isn’t much harder, is way more fun and less annoying, saves you from redoing things later and gives you more time to fine-tune your agent. Also, if it’s all the same to you, between Java and Python, pick Python. Those guys seem to get way more useful library methods for image processing than the Java camp.


    Semester:

    Prepare yourself to have a lot of writing. Started the projects as soon as possible, don’t be comfortable with verbal approach only, try to get to visual approach quickly so you can have to improve your project instead of being overwhelmed from learning image processing ( PIL or AWT) if you don’t have experience with these two.


    Semester:

    Very time-consuming. Lots of writing, but definitely helpful when organizing thoughts and ideas. Project is very challenging but very rewarding as well. Extremely well-run.


    Semester:

    This is defnitely fun and challenging class and well structured one. Its a great experience. Its bit of a work too. You will have to get organized from the very begining. The course concepts are not too difficult. The assignments and final exam is a lot of writing, about 1000-1500 words but its not hard. The projects are little hard to start with but you get to see exemplary projects after each submission and that will help you improve your scripts. The instructors and TA are very helpful. There is a lot of communication between students and teachers which keeps you engaged in the class. There are open discusssions on assignments and projects without giving away any answers and the staff encourages that a lot. The grading is pretty lenient, if you have been performing close to class average you will get an A grade. The point is to never give up and keep working hard.


    Semester:

    Extremely well organized and run. Piazza is a huge help! The lectures are easy to understand and most interesting to learn. The assignments and exams require a lot of thinking and writing. We had 3 assignments and 3 projects - something every forthnightly and had peer feedbacks every week. It was time consuming but fun and plenty to learn. Start projects early. The visual approach seemed daunting but turned out quite okay. It’s definitely helpful if you had some background of image processing in Java or Python. Note - not all packages are allowed!


    Semester:

    Awesome class overall. Like others have mentioned, this class is extremely well organized and run. I really enjoyed working on the projects as well. One tip for the projects - start the visual method early in the semester. I regret not doing so and did poorly on the final project. Also, there are a lot of written essays for this class which can be somewhat tedious. I highly recommend this class to others.


    Semester:

    Every week you should submit a 1000+ words essay or a programming project with a 1500+ words reflection. If your major is Modern English Language, I’d say this class is ideal for you. The project may be done in a very sophisticated way or a very simply way, according to your knowledge and implement methods. Won’t recommend this.


    Semester:

    There is a fair amount of writting in this class. The first paper is the most stressful. After the first paper exemplary papers are posted so that you can get a gauge of what the instructors are after. The projects require quite a bit of work, but are feasible with proper planning. A nice aspect of this class is that all of the projects build on one another so you won’t be starting from scratch for them.


    Semester:

    Above descriptions are pretty much on the money - I really like this class, fun challenge to write an agent to solve a visual intelligence test. As above say, go visual ASAP, you won’t be working any harder than those who don’t. But then you will be much better positioned for the more advanced work, which goes visual. Can’t use CV2, which was my first thought after Comp Photo. But it was no loss, better to start thinking differently. At least skim the papers, you will get ideas. Would have liked one assignment to be something on fractal or affine methodology. Assignments got old, but they made sure I watched the videos, and read the ‘not’ required text.


    Semester:

    I loved this class. The TA is the best!! The lectures are great. The programming projects take up most of your time. No prereqs needed.