Back to the computer science and engineering home page.
Department of
Computer Science
and Engineering

Course Info
Textbooks and Readings
Homework Policy
Grading Policy
Student Access

Your Grades

Useful Links

CSE560 Artificial Intelligence
Winter 2017


Peter Heeman

Tuesday/Thursday 4:00 to 5:30pm
First class: Tuesday January 10

Gaines Hall Room 5

3 credits

Course Description

This course surveys the foundations and applications of symbolic approaches to artificial intelligence. The approach emphasizes the formal basis of automated reasoning and includes an introduction to programming in Prolog. Fundamentals covered include search, knowledge representation, automated inference, planning, non-monotonic reasoning, and reasoning about belief. Applications include expert systems, natural language processing and agent architectures.

This course is a prerequisite for CSE561 Dialogue, Multi-agent systems, and CSE562 Natural language processing.

If you have questions about the course and whether you have the right background for it, please contact me.


The textbook for the class is listed below. The website for the textbook is here. Chapter 1 is available in PDF format from their website. The book is also on reserve in the library.



An important dimension to this course is learning Prolog, which is a logic programming language, especially suited symbolic Artificial Intelligence. Logic programming languages are very different from procedural languages, such as C.

The Computer Science and Engineering department has several versions of Prolog available. Quintus prolog is available on the department machine church (invoked with the command prolog). Sicstus prolog is also available (invoked with the command sicstus.

Students with PC's, especially part-time students, might find it benefitial to install a Prolog on their own machine. There are several public domain Prolog interpreters available. I use SWI-Prolog on my notebook computer, which runs on Windows95. Source code is available for SWI-Prolog, and I have heard that you can build the executable for running on Linux (with the gcc compiler). Alternatively, Amzi has a version that can be installed on Linux.


Homework is due at the beginning of class and is due in hardcopy. Email homework is only acceptable for students taking the class remotely, or if they are unable to attend the class in which it is due. Emailed homework must be in a single PDF file. Tar files and Zip files are not acceptable.

Grading Policy

Assignments and Projects 50%
Midterm 25%
Final 25%

Your marks so far are here.


The syllabus is still under construction.

Students must read the assigned readings before class.

Tue Jan 10 (Class 1) Lecture 1 Introduction. Chapter 1
Thu Jan 12 Class canceled due to weather
Tue Jan 17 Class canceled due to weather
Representation and Reasoning System
Thu Jan 19 (Class 2) Lecture 2 Syntax and Semantics
Chapter 2.1-2.5
Homework 0: tcl python
Answers: tcl python
Tue Jan 24 (Class 3) Lecture 3 Ground Proof Procedures
Chapter 2.5-2.7
Thu Jan 26 (Class 4) Lecture 4 Proofs with Variables
Chapter 2.7-2.8
Homework 1: tcl python
Answers: tcl python
Tue Jan 31 (Class 5) Adding Function Symbols
Chapter 2.8
Using Definite Knowledge
Thu Feb 2 (Class 6) Lecture 5 Recursion and Lists
Chapter 3.1-3.6
Homework 2: tcl python
Answers: tcl python
Tue Feb 7 (Class 7) Lecture 6 Breath, Depth-first Search and Prolog
Chapter 4.1-4.4
Thu Feb 9 (Class 8) Lecture 7 Search in Prolog & A* Search
Chapter 4.5-4.6
Homework 3: tcl python
Code:hw3standard.tcl or
Answers: tcl python
Knowledge Engineering
Tue Feb 14 (Class 9) Lecture 8 Meta Interpreters
Chapter 6.1-6.4,6.7
Beyond Definite Knowledge
Thu Feb 16 (Class 10) Lecture 9 Equality
Chapter 7.1-7.2
Homework 4: tcl python
Code:hw4standard.tcl or
Answers: tcl python
Tue Feb 21 (Class 11) Lecture 10 Integrity Constraints & Horne Clauses
Chapter 7.3,7.5
Thu Feb 23 (Class 12) Review for midterm
Mon Feb 27 Midterm Covers Chapters 1 - 4. Topics. Last year's midterm and answers.
Tue Feb 28 (Class 13) Lecture 11 Complete Knowledge Assumption, Quantification
Chapter 7.4,7.6,7.7
Thu Mar 2 (Class 14) Continued Homework 5: tcl, python
Answers: tcl python
Actions and Planning
Tue Mar 7 (Class 15) Lecture 12 Situation Calculus, Strips, Event Calculus
Chapter 8.1-8.3
Thu Mar 9 (Class 16) Lecture 13 Simple Planning
Chapter 8.3
Homework 6: tcl, python
Answers: tcl python
Tue Mar 14 (Class 17) Lecture 14 Partial Order Planning From Russell and Norvig Textbook
Assumption Based Reasoning
Thu Mar 16 (Class 18) Lecture 15 Default Reasoning
Chapter 9
Homework 7: tcl, python
Answers: tcl python
Tue Mar 21 Review for final
Thu Mar 23 Final Exam Topics. Last year's final. Answers. Homework 8 Bonus: tcl, python

Useful Links

Student Access

Our program is committed to all students achieving their potential. If you have a disability or think you may have a disability (physical, learning, hearing, vision, psychological) which may need a reasonable accommodation please contact Student Access at (503) 494-0082 or e-mail to discuss your needs. You can also find more information at < href=""> Because accommodations can take time to implement, it is important to have this discussion as soon as possible. All information regarding a student’s disability is kept in accordance with relevant state and federal laws.