Logic Programming (Programmazione Logica) 2008-2009
This course is an introduction to logic programming. Topics that will be covered are unification, proof search, recursion, tail-recursion, the occurs-check, the closed world assumption, backtracking, the cut, and definite clause grammars. The theory will be illustrated using the programming language Prolog. As programming is something which cannot be learned without actually doing it, all course sessions will have a lecture part and a practical part.
The aim of the course is to give the student both theoretical background and hands-on experience in logic programming. The practical part will show the student how straightforward it is to use Prolog to tackle problems in AI and Natural Language Processing. After the course, the student will be familiar with the most important concepts of logic programming, will have mastered techniques to write (simple) Prolog programs, and has an idea to which type of problems logic programming can be applied.
True - Prolog is a relatively old programming language. But despite the popularity of more trendy languages such as Java, it is still used in industrial applications. Did you know, for example, that Prolog is used to program a spoken dialogue system used by NASA astronauts in the International Space Station?
Lectures are every Friday from 14:00-18:00 in the Aula Seminari (via Salaria 113, terzo piano).
The next lecture is on Nov 21.
We will use the following course materials:
Learn Prolog Now! can be ordered via (for example) amazon.co.uk
. SWI Prolog is freely available software and runs on linux, mac and windows.
Lecture 1 (Oct 10): Facts, Rules and Queries LPN1.ppt
Lecture 2 (Oct 10): Unification and Proof Search LPN2.ppt
Lecture 3 (Oct 17): Recursion LPN3.ppt
Lecture 4 (Oct 24): Lists LPN4.ppt
Lecture 5 (Nov 7) : Arithmetic LPN5.ppt
Lecture 6 (Nov 7): More Lists LPN6.ppt
Lecture 7 (Nov 21): Definite Clause Grammars LPN7.ppt
Lecture 8 (Nov 21): More Definite Clause Grammars LPN8.ppt
Lecture 9 (Nov 28): A Closer Look at Terms LPN9.ppt
Lecture 10 (Nov 28): Cuts and Negation LPN10.ppt
Lecture 11 (Dec 5): Database Manipulation and Collecting Solutions LPN11.ppt
Lecture 12 (Jan 16): Working with Files LPN12.ppt
Extra: Horn Clauses Horn.ppt
Crediti: 6. Ci sono 12 moduli. Ogni modulo è seguito da una semplice prova in itinere. Per acquisire i crediti lo studente è tenuto a svolgere tutte le prove, superandone in modo soddisfacente almeno 10.
The course will partly be taught in English.
bos AT di DOT uniroma1 DOT it
Via Salaria 113 - 3° Piano, studio 345b.