CPSC 444 Artificial Intelligence Spring 2013

CPSC 444 Course Information

Course Description

This course serves as an introduction to some of the major problems and techniques in the field of artificial intelligence. AI is too big of a field to hope to cover everything in one semester, but we will address the question of what artificial intelligence is and look at some of the subfields of AI in greater depth. Particular topics to be covered include artificial life, problem solving, reasoning and planning, machine learning, and philosophical issues related to AI. Other topics may be covered if time permits. Emphasis will be placed on practical applications of the material and hands-on experience with the techniques.


CPSC 327 or CPSC 329 or permission of instructor. Comfort with programming in Java is essential.

Course Web Page

You are expected to regularly consult the course web page for announcements, assignments, and most handouts.


There is no required textbook. Material will be handed out in class or posted on the course webpage.

Aims and Objectives

The upper-level CS electives introduce various areas of computer science, with the goal of broadening a student's exposure to the field. They also serve as applications of the fundamentals of the discipline introduced in the core CS courses, reinforcing those concepts.

By the end of this course, the successful student will be able to:

  • define what "artificial intelligence" is, and name and describe the major problems within AI
  • name and describe specific techniques, and what kinds of problems they are suited for (including examples)
  • implement specific techniques
  • discuss some of the philosophical issues related to AI


Most programming in this course will be done in Java. PROLOG and Lisp are the traditional languages used in AI, and we may cover a little of these languages during the term.

Valid HTML 4.01!