Welcome to OMS CS7637: Knowledge-Based AI!

Welcome! This is the landing page for the Georgia Tech OMS CS7637 class on Knowledge-Based AI.

This page provides general information about the course as a whole. If you are interested in information specifically about one particular offering of the course, such as a particular semester’s syllabus, calendar, and assignments, click Current Semester above.

About the Course

This is a core course in artificial intelligence. It is designed to be a challenging course, involving significant independent work, readings, assignments, and projects. It covers structured knowledge representations, as well as knowledge-based methods of problem solving, planning, decision-making, and learning. For additional information on the course, we invite you to read a journal article on the course and watch our talk to the GVU Brown Bag.


This course requires substantial programming as well as significant writing. To succeed in this course, you should be able to answer ‘Yes’ to the following questions:

  • Are you confident with computer programming in Python (or Java)?
  • Are you strongly familiar with basic concepts of data structures and object-oriented programming, such as inheritance and polymorphism?
  • Are you strongly familiar with basic concepts of algorithm design, such as algorithms for sorting, searching, and matching?
  • Are you comfortable with writing essays, totaling almost 20,000 words throughout the semester?
  • Are you willing to deeply engage with your classmates through discussions on the Piazza forum, Peer Feedback, and sharing of exemplary assignments?
  • Are you willing to work independently on challenging design, programming and reflection projects all on your own?
  • Are you able to read papers on your own that go beyond the video lessons?
  • Are you able to meet fixed deadlines for assignments with no possibility of any extension?
  • Are you willing and able to spend significant amounts of time and energy on a regular basis to this course?
  • Are you ready to adhere to the Georgia Tech code of academic conduct?

If your answer is not a strong “Yes” to all  of these questions, this course may not be appropriate for you. If your answer is “No” to any of these questions, this course likely is not appropriate for you.

Learning Goals

The class is organized around three primary learning goals. First, this class teaches the concepts, methods, and prominent issues in knowledge-based artificial intelligence. Second, it teaches the specific skills and abilities needed to apply those concepts to the design of knowledge-based AI agents. Third, it teaches the relationship between knowledge-based artificial intelligence and the study of human cognition.

Learning Strategies

This structure of this course is driven by several pedagogical motivations:

  • Learning by example: Each topic is taught through examples of the way in which humans and artificial intelligence agents approach certain problems, often building from human thought toward AI agents and subsequently referring back to human cognition.
  • Learning by doing: you will participate in the reasoning within each particular lesson, and subsequently tie the topic back to a broader problem.
  • Project-Based Learning: This class has three projects, each of which build on the previous one, and the overall goals and motivations of KBAI are presented through these projects.
  • Personalization: Individualized feedback will be given on your performance on the exercises, assignments, projects, and tests. Additionally, you are welcome and encouraged to proceed at your own pace throughout the lessons, including viewing them outside of the designed order to better align with your interests.
  • Collaborative Learning: We encourage collaboration and the development of communities of practice surrounding the course material and projects. We are excited to see you borrow one another’s ideas and build on them, as well as spin off your own study groups.
  • Peer-to-Peer Learning: During this class you will give your peers feedback on their work on the same assignments you complete. This lets you see additional approaches to the problems, provides you extra feedback, and puts you in the position of a teacher, which has been shown to be a pedagogically useful role reversal.
  • Self-Reflection: At the conclusion of each lesson, we ask each student to reflect on what they learned in the class. Each design project requires the writing of a project reflection that explains and critiques, and reflects on the student’s work on the project.
  • Authenticity: The project that you will explore in this class is an open research question in the AI and Cognitive Systems research communities. Two students from our lab have completed dissertations working on these questions in the past two years, and we have had papers published on these topics within the past several months.

Learning Outcomes

At the conclusion of this class, you will be able to accomplish three primary tasks. First, you will be able to design and implement a knowledge-based artificial intelligence agent that can address a complex task using the methods discussed in the course. Second, you will be able to use this agent to reflect on the process of human cognition. Third, you will be able to use both these practices to address practical problems in multiple domains. The journal article mentioned earlier provides a more detailed account of learning goals, strategies and outcomes of this course.