Logic Programming
Spring 2014
M 09 to 11 PM
Logic programming is a programming paradigm based on formal logic. A program written in a logic programming language is a set of sentences in logical form, expressing facts and rules about some problem domain. Major logic programming language families include Prolog, Answer set programming (ASP) and Datalog.
This introductory course covers the following topics:
Level: 3rd, CS
Place: Hall 5
Credit: 2 Hours
Lab Instructor: Safa Abd Elziz
Grading:
Total=80 ( Written Exam=50, Oral&Lab.=15, Tests=15)
Textbook:
Programming in Prolog 5th ed. (William Clocksin and Christopher S. Mellish)
This introductory course covers the following topics:
- Logical foundations. Introduction to Prolog programming.
- Questions, variables, conjunctions, rules, goals.
- Prolog syntax. Characters, operators, equality and matching, arithmetic.
- Using data structures. Programming techniques on Prolog (Mapping, recursion, accumulators, difference structures).
- Backtracking, generating multiple solutions, the cut.
- Selected examples.
- Unification, computational model of logic programs.
- Constraint logic programming.
- Grammar rules (DCG).
Level: 3rd, CS
Place: Hall 5
Credit: 2 Hours
Lab Instructor: Safa Abd Elziz
Grading:
Total=80 ( Written Exam=50, Oral&Lab.=15, Tests=15)
Textbook:
Programming in Prolog 5th ed. (William Clocksin and Christopher S. Mellish)
Date 10th March.
17th March.
26th March
31th March
7th April
14th April
28th April
5th May
10th May
|
Lecture Lecture 2 (Cont.)
Lecture 3 (Cont.)
|
Assign |
Further reading & references Chapter 3 Source code updated
|