This course presents the theory of artificial intelligence, and application of the principles of artificial intelligence to problems that cannot be solved or cannot be solved efficiently by standard algorithmic techniques. Topics include search strategies, production systems, heuristic search, expert systems, inference rules, computational logic, natural language processing, knowledge representation, and knowledge-based systems. Predicate calculus is discussed. An aritificial intelligence language is presented as a vehicle for implementing concepts of artificial intelligence. Prerequisite: COMP 445. (DEMAND)