Covering both algorithmic and programming methods, this example-based text explains the theoretical concepts underlying artificial intelligence. Mathematical theorem-proving methods and their applications are examined in detail as well as more complex aspects such as expert systems and programming languages like LISP and PROLOG. This book should be of interest to undergraduate students taking courses in artificial intelligence.