CSCE421/821, Spring 2008: Course Syllabus

General Information

Prereq: CSCE310, Data structures and algorithms.

Course description: Constraint satisfaction has emerged as a powerful approach to articulate and solve many problems in computer science, engineering, and management.  It is now the basis for new programming languages and innovative commercial systems for production scheduling, product configuration, personnel planning and timetabling, etc.  The course will review the foundations of constraint satisfaction and the basic mechanisms for constraint propagation.  It will cover aspects of modeling and representation, and will examine islands of tractability and methods for theoretical and empirical evaluation of problem `difficulty.'  If time permits, we will examine new methods for decomposition and symmetry identification, designed to overcome the complexity barrier and to support interactions with users.

Lectures: Monday and Wednesday from 3:30 p.m. to 4:45 p.m.
Location: Avery Hall, Room 111.

Make-up Class/Recitation: Monday from 5:00 p.m. to 5:50 p.m.
Location: Avery Hall, Room 28D and Room 112.

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

TA:   Mr. Jamie Schirf
      email: jschirf AT cse.unl.edu
      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.

Textbook:
"Constraint Processing" by Rina Dechter, 1st edition. The textbook will not be followed sequestially, but should be used for reference.

For quick response, email cse421@cse.unl.edu.  Your message will be forwarded to both TA and instructor.

Important note: The GTA allocated to this class does not have extensive experience in the subject matter and will mainly help with administrative matters. All questions will have to be made to the instructor during office hours, make-up class, by email, or by appointment. We will follow a `peer-correction system' by which students grade each other's (glossaries and) homework with help from the TA and under close monitoring by the instructor.

Topics include but are not restricted to:

Support:

Protocol of the Course

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

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

Workload

Required and recommended reading:

As indicated in the Class schedule. The content of the course will be dynamically adapted to students interests and performance.

Programming, theoretical, and library-search assignments:

Programming assignments homework must be turned in using the UNIX handin program on cse.unl.edu and turned in before class on the due date. (Note that we will not use web handin.) Pen-and-paper assignments must be given to the instructor right before the lecture on the due date. Late homeworks are subject to a 20% deduction per day (including week-ends), any second after the due date counts as an entire day. Programming assignments can be done in any programming language. When code and data structures are provided for guidance, they will be mostly in Common Lisp (advice: use Allegro Common Lisp on Linux or a sun workstation). 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 by the required reading. No books or personal notes are allowed during the quizzes, unless explicitly specified. Quizzes cannot be made up.

Tests:

There will be a pre-test only. The pre-test cannot be made up except by instructor's permission.

Search Competition:

Students will receive code and data that model a real-world application, all in LISP. Students will choose some search mechanism and implement it in the language of their choice. Results will be compared, winner will receive a gift certificate for a book.

Project research, report, and presentation:

The project can be either a literature study/survey or the implementation of algorithms.; A presentation to the class is mandatory. The grade will take into account the quality of the research, report, and presentation.

Attendance

Because the course heavily relies on class discussion, attendance is mandatory. A student cannot miss more than four sessions including make-up class/recitation. Advanced notice to the instructor for each absence is required. Attendance is taken. Students are responsible for the material covered and announcements made during the class. Also, there will be surprise quizzes.
Bonuses will be awarded to students who attend all lectures,in teract lively, and participate in discussion in class.

Alerts

It is the students responsibility to ensure an account on the department's computers.

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

97%

A+

[94, 97[

A

[90, 94[

A-

[87, 90[

B+

[84, 87[

B

[80, 84[

B-

[75, 80[

C+

[67, 75[

C

[60, 67[

C-

[57, 60[

D+

[54, 57[

D

[51, 53[

D-

<=51

F

Reminder from the College of Arts & Sciences: a C (2.0) is the minimum passing grade in a PASS/NO PASS course (NOT a C-) as well as the lowest grade one can receive and still count the class toward a major.

How to Secure a Good Final Grade

Make a Presentation

Give a presentation of a research paper in class: 10% per presentation. Maximum 2 presentations per student. One presentation must be made by April 11, 2008, and one by April 25, 2008.

Critical Summary

Write a critical summary of research papers/topics discussed in class: 5% per summary. Maximum 4 summaries per student. Two summaries must be submitted by April 11, 2008 and two by April 25, 2008.

Write up

Write a chapter of a textbook: 20% per chapter. Maximum 2 chapters per student. One write-up must be submitted by April 11, 2008 and one by April 25, 2008.

Attendance

A bonus will be awarded to students who attend all lectures, interact lively, and participate in class discussions.

Glossaries

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

Constraint Processing

Foundations of Constraint Satisfaction by Edward Tsang.

AI

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

Lisp

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

Logic

A mathematical introduction to logic by Enderton, Herbert B, CALL NO. QA9 .E54 1972.

(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

Puzzles Built @ the ConSystLab

Interactive Minesweeper. Built by K. Bayer and J. Snyder.
Interactive Sudoku Solver. Built by Ch. Reeson.

Benchmark Problems

Coloring Australia map: In the xml format of CP Competition (courtesy of Ken Bayer).
The list of benchmark problems usually used in the CP Solvers programming competetion. Check also the related tools.
The organizers of the International Workshop on Constraint Propagation and Implementation organize a Solver Competition and make available the benchmark problems used during the competition. Such as the ones used in the 2005 competition. Such problem instances are typically written using the new standards for representing CSP instances: an XML representation and also a table representation.
(Seems gone for now..) CLib: Configuration Benchmarks Library.

Archives and On-Line Systems

A list of Constraint Solvers
Pointers to various generators from the ConSystlab web page.
Various models of random generators in Java by Bart Craenen
The ECLiPSe Constraint Logic Programming System
Random generator in C at LIRMM
Random generator in Common Lisp by Patrick Prosser
Random generator in C courtesy of Fahiem Bacchus (and P. van Run).
JACK: a library providing constraint programming and search for Java (high-level language, generic search engine, and a visualization tool).

Main publication venues

Conferences:

Constraint Programming (CP), AAAI, IJCAI, ECAI, FLAIRS, etc.

Journals:

AI Journal (index at the Love Library, online access access), Constraints (index at the Love Library, online access).

Constraint Processing

CP Online
Yahoo Group: Constraints, Association for Constraint Programming
AI Topics of the American Association for Artificial Intelligence
Web search engines (Google (scholar), CiteSeer, Altavista, etc.)

Industrial companies and start-ups

COSYTEC I2 TechnologiesRed Pepper (PeopleSoft, Oracle), Blue Pumpkin, , Ilog, Trilogy, Parc Technologies Ltd (now CISCO), Carmen Systems, Firepond, On Time Systems Inc., ConfigWorks., etc.

Research Centers

Cork Constraint Computation Center (4C), Microsoft Research (Cambridge), Monterey Bay Aquarium Research Institute, PARC, NASA Ames, (to be completed)

Courses

Constraint Networks (2001 and 2007) by Rina Dechter
Constraint Programming Approach to AI Applications, by Michela Milano
Foundations of Constraint Satisfaction, ESSLI 2002, by Roman Barak
Constraint Programming: online textbook by Roman Barták.
Reasoning Methods in AI (CS329A, CS227): courses by Pandu Nayak.
Constraint Satisfaction Problems (CSC2512F): course by Fahiem Bacchus
Tutorial on Constraint Programming, by Barbara Smith.
Lecture notes by David McAllester.
Bacchus' Constraint Programming Bibliography

Academic Research Groups

Constraint Systems Laboratory at UNL
LIA@EPFL
APES Group in the UK.
Cork Constraint Computation Center (4C) of Freuder in University College Cork, Ireland.

Latex Resources

From Joel Gompert: Getting memory-efficient, pretty-looking, robust graphics with very fancy robust labels into LaTeX
From Ryan Lim: The not so short introduction to LaTex2x
Last modified: Sun Jan 27 21:29:02 CST 2008