My review of KBAI (CS7637) Knowledge based Artificial Intelligence
Grade: A
Difficulty: 2/10
Rating: 2/10
Time commitment: 10 hours/week
-------------------------------
Overall
I took this course in my first semester, together with Computer Networks (CS6250).This is a survey course broadly covering various KBAI concepts. Often they are super abstract. At many points it feels like a cognitive science course, rather than a computer science course, which is not necessarily a bad thing as you get to study how these disciplines overlap in the context of AI.
Overall, the workload is somewhat time consuming, but not hard at all. No hard math, no hard algorithms (although you get to implement some in the project).
Assignments
-
Homework assignments:
- Each assignment asks you to write a report (just a few pages) about a topic corresponding to the weekly lecture. You will need to discuss it using the language/concepts from the lecture.
-
Midterm/final exams:
- Proctored & timed exams. Multiple choice format. Open-book, open-notes, open-internet, no live interaction with other human beings. These are mostly control-F exercise.
-
Project:
- A semester long project that splits into a few milestones. All about solving the RPM (raven's progressive matrix) puzzles. They test your solver against in-sample and out-of-sample data to decide the score. A lot of programming in python (or java). The project can be super time consuming. It took me 40 hours on the first milestone, then approx. 10 hours for each of the rest.
Grading
Generally lenient & reasonable. As long as you can allocate enough time, it's an easy A.Thoughts
Personally, I didn't like this course overall.-
What I liked:
- I enjoyed the coding part of the project, which gives you a non-trivial and interesting logic problem (RPM puzzle), then gives you freedom to explore various approaches to solve it.
- The course is well organized. The assignment instructions are clear and well communicated.
-
What I didn't like:
- The lecture videos are extremely abstract. They give you a 2000 feet view of KBAI concepts, while the project is a 2 feet view exercise. They feel sooo disconnected. I could just work on RPM solver as an interesting logic problem without ever watching any of the lecture, and be totally fine. Then what are students even learning ? In contrast, for example, a course like CS6200 GIOS does an excellent job of connecting the lecture content to the coding projects. It really makes a difference in the learning outcome.
- The course has a lot of writing. Often it feels like I'm writing something for the sake of writing something. But it's a matter of teaching style (pedagogy).
-
KBAI is a Joyner course:
- KBAI is taught by prof. David Joyner. Any Joyner course is a great first course to ease into the program, because his course is always impressively well organized. There are a handful of courses in the program that are poorly managed, but not his course. Another defining characteristic of a Joyner course is an insane amount of writing assignment, which has a polarized reception. Regardless, every student should take at least one Joyner course. He is a teacher who truly cares about student experience.