# COMPUTATIONAL LOGIC AND LOGIC PROGRAMMING

 Title ΥΠΟΛΟΓΙΣΤΙΚΗ ΛΟΓΙΚΗ ΚΑΙ ΛΟΓΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / COMPUTATIONAL LOGIC AND LOGIC PROGRAMMING Code NIS-06-02 Faculty Sciences School Informatics Cycle / Level 1st / Undergraduate Teaching Period Spring Coordinator Nick Bassiliades Common Yes Status Active Course ID 40002952

### Programme of Study: PPS-Tmīma Plīroforikīs (2019-sīmera)

Registered students: 33
OrientationAttendance TypeSemesterYearECTS
GENIKĪ KATEUTHYNSĪYPOCΗREŌTIKO KATA EPILOGĪ635

 Academic Year 2018 – 2019 Class Period Spring Faculty Instructors Nick Bassiliades 52hrs Weekly Hours 4 Class ID 600121324
Course Type 2016-2020
• Scientific Area
• Skills Development
Course Type 2011-2015
Specific Foundation / Core
Mode of Delivery
• Face to face
Erasmus
The course is also offered to exchange programme students.
Language of Instruction
• Greek (Instruction, Examination)
Prerequisites
General Prerequisites
Basic knowledge of discrete mathematics, Basic knowledge of programming, Basic knowledge of data structures
Learning Outcomes
Knowledge: Familiarization with Mathematical Logic principles, Familiarization with using Logic as a Programming Languages, Training on Prolog programming language. Skills: Representing and solving logical expressions. Programming with the Prolog programming language.
General Competences
• Apply knowledge in practice
• Retrieve, analyse and synthesise data and information, with the use of necessary technologies
• Make decisions
• Work autonomously
• Work in teams
• Advance free, creative and causative thinking
Course Content (Syllabus)
Mathematical Logic (Propositional calculus, normal forms, inference mechanisms, resolution principle, predicate calculus, variables and quantifiers, variable substitution and unification). From Logic to Logic Programming (Kowalski form, Horn clauses). Logic Programming (Basic concepts, history, Prolog language). Syntax of Logic programs (Queries, Rules, Predicates, Complex Terms). Unification. Execution control mechanism. Recursion. Lists. Number representation (arithmetic operations, comparison, mathematical functions). String handling. Input/Output. Variable Goals. Term type testing. Term construction/decomposition. Cut (effect on the computation tree, usage). Negation as failure. Solution management. Clause management. Programming methodology. Logic Programming Applications.
Keywords
mathematical logic, computational logic, logic programming, Prolog
Educational Material Types
• Slide presentations
• Book
• Programs
Use of Information and Communication Technologies
Use of ICT
• Use of ICT in Course Teaching
• Use of ICT in Laboratory Teaching
• Use of ICT in Communication with Students
Description
Powerpoint slides, Multimedia Programming guide, Prolog programming language demonstration
Course Organization
Lectures39
Tutorial13
Project69
Exams3
self-study26
Total150
Student Assessment
Description
Written exams (75%), Programming Projects (25%)
Student Assessment methods
• Written Exam with Multiple Choice Questions (Summative)
• Written Exam with Short Answer Questions (Summative)
• Written Assignment (Formative, Summative)
• Written Exam with Problem Solving (Summative)
Bibliography
Course Bibliography (Eudoxus)
- ΣΑΚΕΛΛΑΡΙΟΥ, Η., ΒΑΣΙΛΕΙΑΔΗΣ, Ν., ΚΕΦΑΛΑΣ, Π., ΣΤΑΜΑΤΗΣ, Δ., 2016. Τεχνικές Λογικού Προγραμματισμού. [ηλεκτρ. βιβλ.] Αθήνα:Σύνδεσμος Ελληνικών Ακαδημαϊκών Βιβλιοθηκών. Διαθέσιμο στο: http://hdl.handle.net/11419/777 - Μανόλης Μαρακάκης, “Prolog: Προγραμματισμός σε Λογική για Τεχνητή Νοημοσύνη”, ΕΚΔΟΣΕΙΣ ΝΕΩΝ ΤΕΧΝΟΛΟΓΙΩΝ, ISBN: 978-960-6759-98-7, 2014. - Σημειώσεις-Διαφάνειες διδάσκοντος για το μάθημα. - Πολυμεσικός οδηγός εκμάθησης Prolog.