CSCE476/876, Spring 2008: Course Syllabus

General Information

Prereq: CSCE310, Data structures and algorithms.

Course description: Introduction to the basic principles, techniques and tools now being used in the area of computational. Lecture topics will include problem solving, knowledge representation and reasoning, search, expert systems, and planning and action. More advanced topics may be included depending on class interests and performance. Programming will be done in Common Lisp using Allegro Common Lisp (ACL) and its programming environment.

Lectures: Monday, Wednesday, Friday, from 11:30 p.m. to 12:20 p.m.
Location: Avery Hall, Room 118.

Make-up Class/Recitation: Wednesday from 5:00 p.m. to 5:50 p.m.
Location: Avery Hall, Room 28D (to be confirmed) and Room 109.

Instructor:   Prof.  Berthe Y. Choueiry
      Office location: Room 123B, Avery Hall,
      choueiry AT, tel: (402)472-5444.
      Office hours: Monday/Wednesday 12:30-01:30 p.m. or by appointment.

TA:   Mr. Jamie Schirf
      email: jschirf AT
      Office location: Room 123A, Avery Hall
      Office hours: @ Student Resource Center on Tuesday, Thursday 5:00-6:00 p.m. and Friday 10:30-11:30 p.m.

Textbooks (check the bookstore):

Contact Us

For a quick response, send your questions to cse476 AT Your message will be forwarded to the TA and the instructor and they will respond to you ASAP.

You may also choose to drop us a note in the Anonymous Suggestion Box

Protocol of the Course

This course syllabus is our 'contract' and we will abide by it.

The course consists of lectures by the instructor, 3 times per week.


Required and recommended reading (as indicated in the Class schedule)

AIMA (textbook) will be followed in a more or less linear fashion.  The content of the course will be dynamically adapted to students performance. Chapters to be studied may encompass:  Chapter: 1, 2, 3, 4, 5, 6 (partially), 7, 9, and 10 (quickly) and, time permitting, 11, 13, and/or 14. Sections from these and other chapters may be dropped or added during the course.  Regularly check the class schedule.

Programming, theoretical, and library-search assignments:

Programming assignments must be done in Common Lisp (advice: use Allegro Common Lisp on Linux) and turned in using the UNIX handin program on We will not set-up a web handin account. Pen+paper assignments must be given to the instructor in class. All assignments (including programming and pen+paper assignments)  must be turned in before the lecture on the due date. Late homework are subject to a 20% deduction per day (including week-ends), any second after the due date counts as an entire day.  Students are kindly requested to indicate how much time they approximately spend on each exercise; this information will be aggregated and used for planning purposes, it does not affect grading and the evaluation of individuals.

Surprise quizzes:

There will be surprise quizzes throughout the semester  (with a frequency inversely proportional to students'  attendance).  Quizzes will address all material covered during the lectures and/or appearing in the required reading.  No books or personal notes are allowed during the quizzes, unless explicitly specified. Quizzes cannot be made up.


There will be a pre-test, a mid-term and a final. Tests cannot be taken in advance. Tests cannot be made up except by instructor's permission.
Unless specified, tests are closed-book exams. Students may  however use a one 81/2"x11" sheet as crib sheet. Students may use both sides of the sheet and write as small as they like. Crib sheets must be handwritten. No photocopies, typewritten paper, electronic/mechanical reproductions will ever be allowed. Further, students must handin their crib sheet with their exam.


Attendance is not mandatory. But students are responsible for the material covered and announcements (such as lists of terms for glossary) made during the class. Also, there will be surprise quizzes during the regular class and the recitation.
Bonuses will be awarded to students who attend all lectures, interact lively, and participate in discussion in class.


It is the students responsibility to ensure an account on the department's unix server or PCs (with Linux), in order to run xemacs (editor) and Allegro Common Lisp (ACL), the programming environment.

Some communications with the class will be carried over email. It is the students responsibility to ensure that their email account on is working properly.

Discussions among students, instructor, and TA are encouraged. Homework however are a strictly individual activity: no sharing is permitted (unless when specified by instructor). Unethical behavior will be heavily sanctioned (e.g., a null grade on the task).

Always acknowledge any help received from other individuals.

Always fully reference material used (e.g., encyclopedia, book, paper, journal, web site).

Grading Policy

Grade Distribution

Grade Conversion



[94, 97[


[90, 94[


[87, 90[


[84, 87[


[80, 84[


[75, 80[


[67, 75[


[60, 67[


[57, 60[


[54, 57[


[51, 53[




How to Secure a Good Final Grade


A bonus will be awarded to students who attend all lectures.


Students who return, every Monday before class, a glossary of terms listed in handouts will be credited for up to 8% bonus, computed proportionally to the list of terms they return. Rules for glossary:

Additional Work

Closely monitor your grade. If you feel that your grade is slipping, contact the instructor immediately. We may be able to assign to you an additional task to put you back on the right track.

Books on Reserve at the Math Library in Avery


Artificial Intelligence, A Modern Approach (AIMA), by Russell Norvig. Second Edition.
Artificial Intelligence, 3rd Edition.  Winston. ISBN 0201533774.
Essentials of Artificial Intelligence. Ginsberg. ISBN 1-558s60-22-6.  Call number Q335.G55 1993.
Artificial Intelligence: A New Synthesis. Nilsson. ISBN 1-55860-535-5. Call number Q335.N496 1998.
Paradigms of Artificial Intelligence Programming. Norvig. ISBN 1-55860-191-0. Call number QA76.6.N687.
Artificial Intelligence. Structures and Strategies for Complex Problem Solving. Luger and Stubblefield


Common Lisp, The Language, Second Edition. Guy L. Steele, Jr. Digital Press, ISBN: 1555580416
LISP, 3rd Edition. Winston & Horn. ISBN 0-201-08319-1.
ANSI Common Lisp; Graham. ISBN 0-13-370875-6.
Paradigms of Artificial Intelligence Programming. Norvig. ISBN 1-55860-191-0. Call number QA76.6.N687.
Object Oriented Common Lisp. Slade. ISBN 0-13-605940-6 Call number QA76.64 .S576

Other Topics

Foundations of Constraint Satisfaction by Edward Tsang.
A mathematical introduction to logic by Enderton, Herbert B, CALL NO. QA9 .E54 1972.

Other (AI) References

The MIT Encyclopedia of the Cognitive Sciences, call number BF311 .M556 1999, LIB USE ONLY.
Encyclopedia of artificial intelligence, 1992, SECOND EDITION,call number Q335 .E53, LIB USE ONLY.
Section on "General AI Information" in "AI Resources."
Dictionary of Algorithms, Data Structures, and Problems
Online resources (wikipedia) and web search engines (Google, Altavista, etc.)

Online Resources

On-line tutorials

Common Lisp Educational Resources.
Colin Allen & Maneesh Dhagat Lisp Primer
Online Tutorial to Common Lisp , Adaptive Remote Tutor.
An Introduction and Tutorial for Common Lisp, by Marty Hall
A few good examples on how to create and manipulate classes.  Catch of Jason Steele (Spring'2000).


Usenet newsgroup: comp.lang.lisp
Contributed by Eric Moss (S02): Parenthetically Speaking (with Kent M. Pitman)
Free copy of ACL6.2.
Franz Inc. by David Cooper Jr.:
Understanding Common Lisp (Basic Lisp techniques, pdf document).
Common Lisp, The Language, Second Edition. Guy L. Steele, Jr. Digital Press, ISBN: 1555580416, also on Reserve at the Math Library.
Allegro Common Lisp (ACL) online documentation. Slow (local on cse: Introduction, Contents, Index). Quicker (link to Franz's web page Introduction).
Successful Lisp: How to Understand and Use Common Lisp, by David B. Lamkins
COMMON LISP: An Interactive Approach, by Stuart C. Shapiro
Common Lisp: A Gentle Introduction to Symbolic Computation, by David S. Touretzky
LISP FAQ by  Mark Kantrowitz.
... and much more from the Association of Lisp Users' page.

Finally, a touch of poetry: Only LISP Can Make a Tree.

Last modified: Fri Mar 7 10:29:54 CST 2008