Erhalte wöchentliche Updates über Udacity in Deutschland, Österreich und der Schweiz: Abonniere jetzt unseren Newsletter.


Approx. 7 weeks

Assumes 6hrs/wk (work at your own pace)

Built by
Join thousands of students

Start Free Course

Start Free Course
You get
Instructor videos
Learn by doing exercises

Course Summary

This class is offered as CS7637 at Georgia Tech where it is a part of the Online Masters Degree (OMS). Taking this course here will not earn credit towards the OMS degree.

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.

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.

Why Take This Course?

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.

Prerequisites and Requirements

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?

See the Technology Requirements for using Udacity.


Unit 1: Introduction to KBAI and Cognitive Systems.

  • Where Knowledge-Based AI fits into AI as a whole
  • Cognitive systems: what are they?
  • AI and cognition: how are they connected?

Unit 2: Fundamentals

  • Semantic Networks
  • Generate & Test
  • Means-Ends Analysis
  • Problem Reduction
  • Production Systems

Unit 3: Common Sense Reasoning

  • Frames
  • Understanding
  • Common Sense Reasoning
  • Scripts

Unit 4: Planning

  • Logic
  • Planning

Unit 5: Learning

  • Learning by Recording Cases
  • Incremental Concept Learning
  • Classification
  • Version Spaces & Discrimination Trees

Unit 6: Analogical Reasoning

  • Case-Based Reasoning
  • Explanation-Based Learning
  • Analogical Reasoning

Unit 7: Visuospatial Reasoning

  • Constraint Propagation
  • Visuospatial Reasoning

Unit 8: Design & Creativity

  • Configuration
  • Diagnosis
  • Design
  • Creativity

Unit 9: Metacognition

  • Learning by Correcting Mistakes
  • Meta-Reasoning
  • AI Ethics

Instructors & Partners

instructor photo

Ashok Goel

Ashok Goel is a professor of Computer Science and Cognitive Science at Georgia Tech in the School of Interactive Computing. His lab, the Design & Intelligence Lab, is at the forefront of conducting research into computational design, discovery, and creativity. The goals of his research are to understand human creativity in conceptual design of complex systems as well as scientific problem solving, to develop interactive tools for aiding people in such creative tasks, and to invent computational systems that are themselves creative.

instructor photo

David Joyner

David Joyner completed his Ph.D. in Human-Centered Computing at Georgia Tech specializing in delivering automated feedback and assessment to students in exploratory learning environments. He joined Udacity to develop exercises, projects, and (one day!) entire courses that adapt to the learner's ability and progress.