30h Th, 25h Pr, 50h Proj.
Number of credits
Language(s) of instruction
Organisation and examination
Teaching in the second semester
Units courses prerequisite and corequisite
Prerequisite or corequisite units are presented within each program
Learning unit contents
Classically a program is a piece of procedural knowledge. Allowing a more declarative style is often useful in artificial intelligence and other areas. First order logic is introduced here as a declarative programming technique. PROLOG is viewed as a partial but convenient implementation of the principles of logic programming.
Learning outcomes of the learning unit
Basic principles of logic programming.
Basic programming techniques in Prolog.
Automated deduction in Prolog.
From functional programming to logic programming: code improvement and simplification.
Verification of program correctness with respect to their specifications.
Elementary applications in artificial intelligence (puzzles, riddles, one- or two-player games).
Prerequisite knowledge and skills
INFO0054-1 Functional Programming
A good theoretical and practical knowledge of mathematical logic and proficiency in functional programming are needed to take this course.
Planned learning activities and teaching methods
Prolog programming - exercises
Mode of delivery (face-to-face ; distance-learning)
2nd quadrimester, Tuesday at 8:30 (B28, room 1.123).
Recommended or required readings
Slides are available.
P. Gochet et P. Gribomont, Logique, volume 3: Méthodes pour l'intelligence artificielle (chapitres 10, 11 et 12), Hermès, Paris, 2000.
L. Sterling and E. Shapiro, The Art of Prolog, MIT Press, 1994 (2nd ed).
I. Bratko, Prolog Programming for Artificial Intelligence, Prentice Hall, 2000 (3rd ed).
Assessment methods and criteria
Homeworks. Final examination.
Pascal Gribomont <email@example.com>
Samy Aittahar <firstname.lastname@example.org>