COMPUTATIONAL LOGIC AND LOGIC PROGRAMMING

COURSE OUTLINE

Responsible: Nikolaos Spanoudakis

1. GENERAL

SCHOOL School of Engineering
ACADEMIC UNIT Department of Electronic Engineering
LEVEL OF STUDIES Undergraduate
COURSE CODE 0806.9.010.0 SEMESTER 1st
COURSE TITLE Computational Logic and Logic Programming
INDEPENDENT TEACHING ACTIVITIES
if credits are awarded for separate components of the course
WEEKLY
TEACHING HOURS
CREDITS
4 5
Total 4 5
COURSE TYPE
general background, special background, specialised general knowledge, skills development
Scientific Area, Skills Development
PREREQUISITE COURSES None
LANGUAGE OF INSTRUCTION and EXAMINATIONS English
OFFERED TO ERASMUS STUDENTS Yes (in English) — Winter Semester
COURSE WEBSITE (URL) https://eclass.hmu.gr/courses/EE119/

2. LEARNING OUTCOMES

Learning outcomes

Upon successful completion of the course, the student will be able to:

  • Compose programs in the PROLOG programming language
  • Create knowledge representation models using the concept of the predicate
  • Explain the concept of unification and the method for finding the most general unifier of two predicate logic sentences
  • Explain and create recursive definitions
  • Use the list structure of Prolog
  • Explain and use negation as failure
  • Use defeasible logic and argumentation technologies
General Competences

Decision making

Autonomous work

Written communication

Promotion of free, creative and inductive thinking

Time management

Computer use

3. SYLLABUS

Propositional Logic: Syntax and Semantics, Logical Consequence, the Truth Table method and Proof Methods in Propositional Logic (inference rules, axiom schemas, the notion of provability, soundness and completeness). The Resolution Method in Propositional Logic and search strategies. Predicate Logic: Syntax and Semantics, Logical Consequence, Herbrand's theorem and method, Proof Methods in Predicate Logic (inference rules, axiom schemas, soundness and completeness). Unification and the Resolution Method in Predicate Logic. PROLOG: Syntax and program structure, control mechanism, cut and negation, applications.

4. TEACHING and LEARNING METHODS - EVALUATION

DELIVERY
Face-to-face, Distance learning, etc.
Face-to-face theoretical and practical teaching with laboratory exercises
USE OF INFORMATION AND COMMUNICATIONS TECHNOLOGY
Use of ICT in teaching, laboratory education, communication with students

Use of slide presentation software.

Communication with students through an asynchronous e-learning platform.

Use of Prolog software or related software for developing logic programs.

TEACHING METHODS
The manner and methods of teaching are described in detail.
Activity Semester workload
Lectures 39
Laboratory exercises 13
Preparation of Laboratory Assignments 20
Preparation of Individual Assignment 24
Independent Study 50
Examinations 4
Course total 150
STUDENT PERFORMANCE EVALUATION
Description of the evaluation procedure

I. Written final exam (FE) (60%)

- Problem solving

- Multiple-choice questions

- Short-answer questions

- Comparative evaluation of theory elements

II. Laboratory assignments (LA) (20%)

- Oral examination

- Grading of the submitted assignment

III. Written Assignment (WA) (20%)

- Grading of the submitted assignment

The course grade (FE*0.6 + LA*0.2 + WA*0.2) must be at least five (5).

Students may have at most one absence from the laboratory exercises.

The assessment criteria are accessible to students on the course website and are announced in the first lecture.


5. ATTACHED BIBLIOGRAPHY

  • Manolis Marakakis. Prolog: Programming in Logic for Artificial Intelligence, 2nd edition. New Technologies Publications, 2019 (in Greek)
  • Georgios Tourlakis. Mathematical Logic. Crete University Press, 2012 (in Greek)
  • Sakellariou, Ilias, Nikolaos Vassiliadis, Petros Kefalas, and Dimosthenis Stamatis. Logic Programming Techniques. Kallipos Open Academic Editions, 2016 (in Greek).

Foreign-language publications:

  • Michael Genesereth and Vinay K. Chaudhri. Introduction to Logic Programming. Springer, 2020
  • Zach, Richard. Sets, logic, computation: An open introduction to metalogic. (2019). https://slc.openlogicproject.org/

- Related scientific journals:

   Artificial Intelligence (Elsevier)

   Journal of Artificial Intelligence Research

   ACM Transactions on Computational Logic

   Journal of Logic and Computation (OUP)