Go to:
Logótipo
You are here: Start > EIC0026

Logic Programming

Code: EIC0026     Acronym: PLOG

Keywords
Classification Keyword
OFICIAL Programming

Instance: 2009/2010 - 1S

Active? Yes
Web Page: http://paginas.fe.up.pt/~eol/LP/0910
Responsible unit: Department of Informatics Engineering
Course/CS Responsible: Master in Informatics and Computing Engineering

Cycles of Study/Courses

Acronym No. of Students Study Plan Curricular Years Credits UCN Credits ECTS Contact hours Total Time
MIEEC 8 Syllabus since 2007/2008 4 - 5 56 135
MIEIC 125 Syllabus since 2009/2010 3 - 5 56 135

Teaching language

Portuguese

Objectives

Get acquainted with Logic Programming and Constraint Logic Programming paradigms and with Prolog programming language.
Develop competences for abstract reasoning and for representing problems in a declarative manner.
Recognize problem categories for which (constraint) logic programming is appropriate.
Practice of Prolog and Constraint Logic Programming techniques.
Development of complete Prolog applications with connection to other programming languages.
Development of the programming competences required in other disciplines related to Artificial Intelligence.

Program

INTRODUCTION TO LOGIC PROGRAMMING. Prolog history and foundations. Prolog applications. Logic programming systems. Logic programming theorectical foundations.
LOGIC PROGRAMMING. Basic concepts. Predicates, clauses, facts, rules, queries, logic variables and instantiation. Database programming style. Recursive programming. Logic programming computational model. Tracing and search trees. Resolution and unification.
PROLOG LANGUAGE. Prolog execution model. Comparison with conventional languages. Goals and rule’s ordering. Recursive programming and Backtracking. Operators and arithmetic. Structure inspection. List processing. Meta-Logic predicates. Control: Cuts and negation. Extra-logic predicates.
ADVANCED PROLOG. Non deterministic programming. Incomplete data structures. Meta-Interperters. Search techniques. Defined clause grammars.
LOGIC PROGRAMMING METHODOLOGY: General principles for logic programming. How to think in Prolog? Programming style. Program debugging. Efficiency and optimization.
CONSTRAINT LOGIC PROGRAMMING. Constraints and Constraint Satisfaction. Finite domain constraints. Constraint Logic Programming (CLP). Search control: Variable and value ordering. CLP problems modelling. Constraint programming systems. Constraint programming using Sictsus Prolog.

Mandatory literature

Sterling, Leon; The Art of Prolog. ISBN: 0-262-69163-9
Marriot, Kim; Programming with constraints. ISBN: 0-262-13341-5
Clocksin, W. F.; Programming in prolog. ISBN: 0-387-58350-5

Complementary Bibliography

Torres, Delfim Fernando Marado; Introdução à programação em lógica. ISBN: 972-8021-93-3
Bratko, Ivan; Prolog programming for artificial intelligence. ISBN: 0-201-40375-7
O.Keefe, Richard A.; The craft of Prolog. ISBN: 0-262-15039-5

Teaching methods and learning activities

Theoretical classes are used for exposition of the main (constraint) logic programming concepts, presentation and discussion of practical examples.
Practical classes are used to solve programming exercises and for assisting students on their practical assignments.

Software

Sicstus Prolog - http://www.sics.se/sicstus/
SWI-Prolog - http://www.swi-prolog.org/

keywords

Physical sciences > Computer science > Programming
Physical sciences > Mathematics > Mathematical logic
Technological sciences > Engineering > Knowledge engineering
Physical sciences > Computer science > Cybernetics > Artificial intelligence

Evaluation Type

Distributed evaluation with final exam

Assessment Components

Description Type Time (hours) Weight (%) End date
Attendance (estimated) Participação presencial 52,00
Final Exam Exame 3,00
Practical Assignment 1 (LP) Trabalho escrito 40,00
Practical Assignment 2 (CLP) Trabalho escrito 15,00
Study (Exercices) Teste 15,00
Total: - 0,00

Amount of time allocated to each course unit

Description Type Time (hours) End date
Study (Theory) Estudo autónomo 10
Total: 10,00

Eligibility for exams

Students approve in practical evaluation if they don’t exceed the fault limit and get a minimum of 30% grade in the required practical assignments.

Calculation formula of final grade

Final Grade = 50% * Practical Assignments + 50% * Exam
- Exam – Examination Final Grade
- Practical Assignments - Practical Assignments Final Grade.

Practical Assignments = 15%*Mid1 + 50%*Final1 + 35%*Assignment2

- Mid1 – Grade of the Assignment 1 intermediate report.
- Final1 – Final grade of assignment 1 (Report, Demonstration and Oral Presentation).
- Assignment2 - Final grade of assignment 2 (Report and Demonstration).

Minimum grade required in final examination to be approved is 6 (out of 20).

Examinations or Special Assignments

No exams or special assignments. The course has 50% of practical evaluation required to all students. Practical assignments must be performed in the appropriate semester following the rules available at the course website.

Special assessment (TE, DA, ...)

Practical evaluation is required for all students to attain frequency. Students must perform and present two practical assignments (see course website for details). The practical assignments are evaluated as described in the course website (report+demonstration+oral presentation). Students’ registered using special frequency modes, without obligation to attend to the practical classes, must arrange with the teachers the evaluation sessions to present their practical assignments.

Classification improvement

Students may perform exams to improve their grade in the appropriate periods. Practical evaluation may only be improved in the appropriate semester.

Observations

Although there are no special pre-requisites, knowledge acquired in Programming Fundamentals, Programming, Algorithms and Data Structures and Complements of Programming and Algorithms is useful for Logic Programming.
Recommend this page Top
Copyright 1996-2025 © Faculdade de Engenharia da Universidade do Porto  I Terms and Conditions  I Accessibility  I Index A-Z  I Guest Book
Page generated on: 2025-06-24 at 13:23:00 | Acceptable Use Policy | Data Protection Policy | Complaint Portal