PSU CS 441/541: Artificial Intelligence

Fall 2013

Instructor: Bart Massey <bart@cs.pdx.edu>
TA: TBA
Time: Tuesday/Thursday 14:00-15:50 (2:00-3:30 PM)
Meeting Location: FAB 10
CRN: 11036 (441), 11045 (541)
URL: http://moodle.svcs.cs.pdx.edu/cs541-fall2013

As always, this is a tentative syllabus. Everything here is subject to vast change with little notice.

About This Course

CS 441/541 is a first course in artificial intelligence. The fluent ability to write programs and a strong understanding of computing are necessary prerequisites: students must have previously completed PSU CS 202 (Programming Systems) and CS 311 (Discrete Math) or equivalent, as well as their prerequisites. Prior completion of CS 300 (Software Engineering) and CS 350 (Algorithms) is not prerequisite, but is highly recommended.

Course Description

This course is intended to familiarize students with the recognized techniques of modern artificial intelligence. In particular, it is intended that students will be able to construct real-world programs utilizing these techniques, as well as be able to identify appropriate techniques for novel situations. This is a survey course; there are a variety of other courses in artificial intelligence at PSU and elsewhere that take individual topics from the course to greater depth.

Course Goals

The catalog says the course goals are for students to be able to:

  1. Describe several real-world applications of AI.
  2. Describe and implement AI search techniques for heuristic problem-solving and game playing, and describe their strengths and limitations.
  3. Describe and implement various AI knowledge-representation techniques.
  4. Design software agents that use Bayesian techniques to learn and reason under uncertainty.
  5. Design software agents that use reinforcement learning techniques.
  6. Design simple genetic algorithms.
  7. Describe some of the major approaches to current-day research on natural-language processing, computer vision, analogy-making, and robotics.
  8. Summarize major philosophical and ethical questions regarding AI.

Course Mechanics

This course will proceed via lectures and project-oriented homework.

Communication

The course website (see above) will be the focus of communication. Students are encouraged to contact the instructor anytime by email for an appointment if there are things that seem worth discussing. Special and/or regular office hours will be instituted if demand warrants.

Lectures

The course lectures will cover a variety of topics, and may include guest lectures. Please attend them all; they are required and should be useful.

Readings

The course textbook

Artificial Intelligence: A Modern Approach (3rd ed.)/i>
Stuart Russell and Peter Norvig
Prentice Hall 2009
is available at the bookstore. It is quite expensive, but should serve as a valuable reference for the rest of your career. If you must, you may instead find a used second edition somewhere: the content is not that different. I will, however, be assuming everyone has the third edition.

There may be additional readings as the course progresses.

Coursework

The coursework will consist of regular readings, as well as several programming projects.

Grading

Due to the size of the course and the volume of material to be covered, novel grading methods may be employed, including automatic grading, self-grading, and cross-grading with other students

441 vs 541

The graduate students taking CS 541 will have additional requirements for some of their projects. All students, graduate and undergraduate, will be expected to be able to attend lecture during the entire class period.

Laboratory

Currently, the CS laboratory facilities consist of machines in the Linux Lab and Windows Lab. However, work may be done on any of the Departmental boxes remotely. Those with home or laptop boxes are encouraged to use them—make sure they're adequately backed up, though.

Academic Honesty

If you do something that violates the University's or the Department's Student Conduct code, I will pursue this violation vigorously. In particular, it is not permitted to plagiarize (use other people's ideas, text, or code without acknowledgment). If you have questions, please contact me for clarification.

Last modified: Tuesday, 1 October 2013, 12:11 AM