EECS 3401 3.0
Introduction to Artificial Intelligence and Logic Programming
Fall 2017

Department of Electrical Engineering & Computer Science,
York University

Course Description

Artificial Intelligence (AI) deals with how to build systems that can operate in an intelligent fashion. In this course, we examine fundamental concepts in AI: knowledge representation and reasoning, search, constraint satisfaction, reasoning under uncertainty, etc. The course also introduces logic programming, a programming paradigm based on predicate logic, where one specifies problems in a declarative way and one can use the language to search for a solution. Students will learn how to develop programs in Prolog to solve AI problems.

The course covers the following topics:

Learning Outcomes

What's New


Prof. Yves Lespérance
Office: LAS 3052A
Tel: 736-2100 ext. 70146
Email: lesperan "at"


Monday and Wednesday from 14:30 to 16:00 in CB 121 (CB is Chemistry Building).

Instructor Office Hours

Monday and Wednesday from 16:30 to 17:30, in LAS 3052A.


Russell, S.J. and Norvig, P., Artificial Intelligence: A Modern Approach, 3rd edition Prentice Hall, 2010.
Authors' web site, Publisher's web site.

Clocksin, W.F. and Mellish, C.S., Programming in Prolog, (5th edition), Springer Verlag, New York, 2004.

The textbooks are strongly recommended; they are available at the York University Bookstore.


General prerequisites; LE/EECS2011 3.00, SC/MATH1090 3.0.

Tentative Evaluation Scheme

Assignements (4 @ 6% each)      24%
Midterm test       26%
Final exam       50%
Total 100%

Tentative Schedule

Academic Honesty

It is important that you look at the departmental guidelines on academic honesty. Although you may discuss the general approach to solving a problem with other people, you should not discuss the solution in detail. You must not take any written notes away from such a discussion. Also, you must list on the cover page of your solutions any people with whom you have discussed the problems. The solutions you hand in should be your own work. While writing them, you may look at the course textbook and your own lecture notes but no other outside sources.

Readings and Lecture Transparencies

Additional References

Other good AI textbooks:

Poole, D. and Mackworth, A. Artificial Intelligence, Foundations of Computational Agents, Cambridge University Press, 2010.

Poole, D., Mackworth, A., Goebel, R. Computational Intelligence, A Logical Approach,, Oxford University Press, New York, 1998.

Nilsson, N.J., Artificial Intelligence: A New Synthesis,, Morgan Kaufmann, San Francisco, 1998.

On knowledge representation:

Ronald J. Brachman and Hector J. Levesque, Knowledge Representation and Reasoning, Elsevier/Morgan Kaufmann 2004, ISBN 1-55860-932-6

Baral, C. Knowledge representation, reasoning, and declarative problem solving. Cambridge University Press, Cambridge/New York, 2003.

Genesereth, M.R. and Nilsson, N.J. Logical foundations of artificial intelligence. Morgan Kaufmann, Los Altos, CA, 1987.

On reasoning about action:

Reiter, R., Knowledge in Action: Logical Foundations for Specifying and Implementing Dynamical Systems, MIT Press, 2001. York Library eCopy, Book home page.

On Prolog:

Bratko, I. Prolog Programming for Artificial Intelligence 4th Edition, Pearson Education Canada, 2012.

Sterling, L.S. and Shapiro, E.Y. The Art of Prolog, Second Edition, MIT Press, 1994.

Running SWI-Prolog in the Prism Lab

Getting Prolog

About Prolog