Logic Programming

Semester:
6ο
Course Type:
Elective Specialization courses (ΠΜ-E)
Track:
CS (Computer Science)
Code:
ΥΣ05
ECTS:
6
TEACHING HOURS per week
Theory:
3
Seminar:
1
Laboratory:
-
Specializations
Foundations of Computer Science (Ε1):
-
Data and Knowledge Management (Ε2):
B Βασικό
Software (Ε3):
-
Hardware and Architecture (Ε4):
-
Communications and Networking (Ε5):
-
Signal and Information Processing (Ε6):
-
Related Courses
Course Content

Procedural and declarative programming. Logic programming as an instance of declarative programming. The Prolog programming language. Syntax of programs. Lists. Operators. Arithmetic. Control of backtracking. Negation in Prolog. Built-in predicates. Handling of data structures. Applications of Prolog in search problems, symbolic processing, natural language understanding and meta-programming. Expert systems and logic programming. Theory of logic programming. Interpretations and models. Model theoretic semantics. Fixpoint semantics. Unification. SLD-resolution. Operational semantics. Constraint logic programming. Implementation techniques of logic programming systems. Parallel logic programming. Logic programming for knowledge representation. Knowledge representation – methodologies and implementations using Prolog. Knowledge-based systems – the expert systems case. Deductive databases – the Datalog case. Logic programming and the World Wide Web.

LITERATURE AND STUDY MATERIALS - READING LIST

Panagiotis Stamatopoulos, Isambo Karali, “Logic Programming: Lecture Notes”, 2011.
Panagiotis Stamatopoulos, "Logic and Functional Programming", Hellenic Academic Libraries Link, 2016. http://hdl.handle.net/11419/3587.