This course will present advanced topics in Artificial Intelligence (AI). We will begin by defining the term "software agent” and discussing how software agents differ from programs in general. We will then take a look at those problems in the field of AI that tend to receive the most attention. Different researchers approach these problems differently. In this course, we will focus on how to build and search graph data structures needed to create software agents, an approach that you will find useful for solving many problems in AI. We will also learn to "break down” larger problems into a number of more specific, manageable sub-problems.

In the latter portion of this course, we will review the study of logic and conceptualize the differences between propositional logic, first-order logic, fuzzy logic, and default logic. After learning about statistical tools commonly used in AI and about the basic symbol system used to represent knowledge, we will focus on artificial neural network and machine learning, which are essential components of computational and statistical methods, and theoretical computer science. The course will then conclude with a study of the Turing machine and a discussion of the questionable claims that human thinking is a symbol manipulation.