CS 7637: Knowledge-Based Artificial Intelligence—Cognitive Systems

Instructional Team

David Joyner
David Joyner
Instructor, Course Developer
Ashok Goel
Ashok Goel
Creator
Ida Camacho
Ida Camacho
Head TA

Overview

The twin goals of knowledge-based artificial intelligence (AI) are to build AI agents capable of human-level intelligence and gain insights into human cognition.  

The learning goals of the Knowledge-Based AI course are to develop an understanding of (1) the basic architectures, representations and techniques for building knowledge-based AI agents, and (2) issues and methods of knowledge-based AI. The main learning strategies are learning-by-example and learning-by-doing. Thus, the course puts a strong emphasis on homework assignments and programming projects. The course will cover three kinds of topics: core topics such as knowledge representation, planning, constraint satisfaction, case-based reasoning, knowledge revision, incremental concept learning, and explanation-based learning; common tasks such as classification, diagnosis, and design; and advanced topics such as analogical reasoning, visual reasoning, and meta-reasoning.

More information is available on the CS 7637 course website.

Course 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.

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.

Preview

Sample Syllabus

Fall 2019 syllabus and schedule

Note: Sample syllabi are provided for informational purposes only. For the most up-to-date information, consult the official course documentation.

Course Content

To access the public version of this course's content, click here, then log into your Ed Lessons account. If you have not already created an Ed Lessons account, enter your name and email address, then click the activation link sent to your email, then revisit that link.

Before Taking This Class...

Suggested Background Knowledge

A good course on computer programming such as CS 1332 or Udacity’s CS 101 is beneficial for students. An introductory course on Artificial Intelligence, such as Georgia Tech's CS 3600 or CS 6601, is recommended but not required.

To succeed in this course, you should be able to answer “yes” to the following four questions:  

  1. Are you comfortable with computer programming?
  2. Are you familiar with concepts of data structures and object-oriented programming, such as inheritance and polymorphism?
  3. Are you familiar with concepts of algorithms, such as sorting and searching algorithms?
  4. Are you confident with either Java or Python?
Technical Requirements and Software
  • Browser and connection speed: An up-to-date version of Chrome or Firefox is strongly recommended. We also support Internet Explorer 9 and the desktop versions of Internet Explorer 10 and above (not the metro versions). 2+ Mbps is recommended; the minimum requirement is 0.768 Mbps download speed.
  • Operating system:
    • PC: Windows XP or higher with latest updates installed
    • Mac: OS X 10.6 or higher with latest updates installed
    • Linux: any recent distribution that has the supported browsers installed

Academic Integrity

All Georgia Tech students are expected to uphold the Georgia Tech Academic Honor Code. This course may impose additional academic integrity stipulations; consult the official course documentation for more information.