Declarative Programming


The theory is lectured every Wednesday from 13:00 till 15:00
The exercise sessions are organized after the lectures (from 15:00 till 17:00) . 


This course explores the use of "declarative languages" for programming. Such programming languages enable specifying the characteristics of a solution to a problem, rather than specifying the steps that have to be followed to come to this solution. The system itself will find the solution using a general-purpose problem solving procedure. In most declarative programming languages, the problem is specified by means of assertions in a logic. The problem solving strategy is a proof procedure which can be queried for answers that follow from the assertions. We will explore the theoretical underpinnings of the declarative programming paradigm, the diveristy among the programming languages that different logics and proof procedures gives rise to and their applications in the domain of artificial intelligence for which they are particulary well-suited.

The official course description can be found here.
More details van be found on the Pointcarre page of the course.
Exercises webpage


The exam consists of a written test about the entire course (theory and exercises) and an oral defense of an individually completed programming project. The end result is calculated as the average of the results on both parts.


Peter Flach, "Simply Logical: Intelligent Reasoning by Example", J. Wiley & Sons, 1994 , ISBN 0471 94152 2 
This book is currently out of print, but available for free on-line.


Slides will appear on the Pointcarre page of the course.