2 Days

Course Description

What do self-driving cars, face recognition, web search, industrial robots, missile guidance, and tumor detection have in common?

They are all complex real world problems being solved with applications of intelligence (AI).

This course will provide a broad understanding of the basic techniques for building intelligent computer systems and an understanding of how AI is applied to problems.

You will learn about the history of AI, intelligent agents, state-space problem representations, uninformed and heuristic search, game playing, logical agents, and constraint satisfaction problems.

Hands on experience will be gained by building a basic search agent. Adversarial search will be explored through the creation of a game and an introduction to machine learning includes work on linear regression.


The course deals with a broad range of artificial intelligence (AI) topics. It introduces the programming languages for artificial intelligence Prolog and Lisp. The course begins with an introduction to AI applications, predicate calculus, and state space search. Then it delves into some central areas of artificial intelligence such as heuristic strategies, problem solving, knowledge representation, expert systems, and machine learning. Throughout the course, the student will frequently be required to work with examples.

Unit 1: Artificial Intelligence and Predicate Calculus

An introduction to artificial intelligence and predicate calculus. It presents AI roots and applications, and explains the concepts related to propositional and predicate calculus.

Unit 2: AI Programming Languages: Prolog and Lisp

The main concepts related to the AI programming languages Prolog and Lisp. It presents the syntax, data types, and control mechanisms for both languages.

Unit 3: Graph Theory and Strategies for State Space Searches

Concepts related to graph theory and finite state machines. It presents state space search algorithms and reasoning strategies.

Unit 4: Heuristic Search Algorithms

Heuristic search issues and applications. It presents algorithms such as hill-climbing, dynamic programming, and best-first search.

Unit 5: Control and Implementation of State Space Searches

Issues related to the control and implementation of state space search. It presents recursion-based searching and discusses architectures such as production and blackboard systems.

Unit 6: Knowledge Representation

Concepts and issues related to knowledge representation. It discusses ontologies and agent-based systems.

Unit 7: Expert Systems and Problem Solving

The expert systems model for problem solving. Other models for problem solving such as case-based reasoning, model-based reasoning, and hybrid models are discussed.

Unit 8: Introduction to Machine Learning

An introduction to machine learning. It presents the basic concepts and algorithms for both the symbol-based and connectionist models for machine learning.