Logic Programming
What
versus
How
 

Lessons References Epilog Sierra Forum


Course Overview

Logic Programming is a style of programming based on Symbolic Logic. In recent years, there has been increasing interest in Logic Programming due to applications in deductive databases, automated worksheets, Enterprise Management (business rules), Computational Law, and General Game Playing.

This course is an introduction to Logic Programming theory, current technology, and popular applications. Work in the course takes the form of lectures, readings, online exercises, programming assignments, and a term project.

There will be twenty in-person class sessions - on Tuesdays and Thursdays from 1:30 pm - 2:50 pm. See the table below for a summary of the topics of these sessions. Note that you should attend all sessions, as we will occasionally discuss things in class that are not in the notes.

DateTopicLocationTime
March 31 Introduction TBD 1:30 - 2:50
April 2 Datasets TBD 1:30 - 2:50

April 7 Queries TBD 1:30 - 2:50
April 9 Query Examples TBD 1:30 - 2:50
April 14 Query Evaluation TBD 1:30 - 2:50
April 16 Query Optimization TBD 1:30 - 2:50

April 21 Views TBD 1:30 - 2:50
April 23 View Evaluation TBD 1:30 - 2:50
April 28 Simple Examples TBD 1:30 - 2:50
April 30 Lists, Sets, Trees TBD 1:30 - 2:50

May 5 Operations TBD 1:30 - 2:50
May 7 Quiz TBD 1:30 - 2:50
May 12 Incomplete Data TBD 1:30 - 2:50
May 14 Constraint Satisfaction TBD 1:30 - 2:50

May 19 Applications TBD 1:30 - 2:50
May 21 Worksheets TBD 1:30 - 2:50
May 26 Advanced Logic Programming TBD 1:30 - 2:50
May 28 Past Projects TBD 1:30 - 2:50

June 2 Project Reports TBD 1:30 - 2:50
June 4 Project Reports TBD 1:30 - 2:50

All of the course materials are online here. There are links to lessons, additional readings, the Epilog language, the Sierra interactive development environment, and the Ed Forum. Click the tabs at the top of this page to access this content. The Lessons tab is your friend. Use it. And be sure to check this page frequently, as we will be posting periodic updates here.

If you are desperate for a printed version of the course text, click on the image below to purchase a copy from Amazon.

Note that, as you proceed through the online materials, you may occasionally encounter minor errors or inconsistencies. Apologies in advance for this. We are still working on the course. You may get extra credit for reporting such problems (especially if your reports are not overly irate).


Teaching Staff

Mike Genesereth
Email: genesereth@stanford.edu
Office Hours: Wed 3:00 pm - 4:00 pm
Location: Gates 308


Feedback