Course Objectives:

The goal of this course is to understand important problems, challenges, concepts and techniques from the field of Artificial Intelligence. In order to achieve this, students learn how to analyze, design, and program intelligent agents of varying complexities. These agents gather information from their environment, convert it into a suitable internal representation (which may be augmented with information provided by the designer or other sources), analyze their internal knowledge to determine suitable actions, and finally execute some actions.

More specifically, after successful completion of the course, students should:

1.      be familiar with classical examples of artificial intelligence

2.      identify and describe critical aspects of intelligence in humans and in computer-based systems

3.      discuss characteristics of programs and systems that can be considered "intelligent"

4.      describe the main problem solving methods used in AI programs

5.      employ the use of heuristics in search problems and games

6.      represent, process and retrieve knowledge and information in various ways

7.      apply the fundamentals of artificial intelligence programming techniques using a modern programming language


Course Description:

Topics to be covered in this course include: Introduction and AI principles, State Space Search and Problem Solving, Knowledge Representation and Prolog Programming, Introduction to Expert Systems, Machine Learning and Natural Language Processing