Go to:
Logótipo
You are in:: Start > CC3012

Programming in Logic

Code: CC3012     Acronym: CC3012     Level: 300

Keywords
Classification Keyword
OFICIAL Computer Science

Instance: 2016/2017 - 1S Ícone do Moodle

Active? Yes
Web Page: http://www.dcc.fc.up.pt/~ines/aulas/1617/PL/PL.html
Responsible unit: Department of Computer Science
Course/CS Responsible: Bachelor in Computer Science

Cycles of Study/Courses

Acronym No. of Students Study Plan Curricular Years Credits UCN Credits ECTS Contact hours Total Time
L:B 0 Official Study Plan 3 - 6 56 162
L:CC 21 Plano de estudos a partir de 2014 2 - 6 56 162
3
L:M 7 Official Study Plan 2 - 6 56 162
3
L:Q 0 study plan from 2016/17 3 - 6 56 162
MI:ERS 17 Plano Oficial desde ano letivo 2014 2 - 6 56 162

Teaching language

Suitable for English-speaking students

Objectives

- Provide students with fundamental concepts of logic programming
- Allow students to understand programs written in any logical language
- Explain the relationship between logic programming and mathematical logic
- Foster in students the motivation for logic programming
- Introduce students to applications of logic programming practices
- Involve students in practical projects lin ogic programming
- To relate Logic Programming with other disciplines of the course

Learning outcomes and competences

After completing the course, students should be able to:
- Identify what kinds of problems logic programming should be applied
- Understand the limitations of logical languages and their implementations
- Know how to develop relatively complex programs
- Know how to solve complex problems using logi programming
- Be very familiar with the syntax and semantics of the Prolog language
- To be able to make a connection between Logic Programming and other disciplines in the course

Working method

Presencial

Pre-requirements (prior knowledge) and co-requirements (common knowledge)

Previous knowledge of mathematical logic and artificial intelligence may help, but these are not required.

Program

- Introduction to logical languages.
- Differences between logical, functional and procedural languages.
- Introduction to Prolog.
- Relationship between Prolog and logic.
- Relationship between Prolog and search algorithms.
- Relationship between Prolog and databases (Datalog).
- Syntax and Semantics of Prolog.
- Basic data types.
- Manipulation of lists. Recursion.
- Lists differences.
- Programming practices in Prolog.
- Search space Control. Cut perator (cut).
- Debugging of Prolog programs.
- Constraint Satisfaction (Constraint Logic Programming)
- Prolog Implementation (WAM machine).
- Advanced Programming in Prolog.

Mandatory literature

Sterling Leon; The art of prolog. ISBN: 0-262-19250-0
Bratko Ivan 1946-; Prolog programming for artificial intelligence. ISBN: 978-0-201-14224-2 pbk

Teaching methods and learning activities

- Theoretical classes
- Practical classes
- Lists of exercises
- Intermediate tests
- Group work

Using Moodle for intermediate tests and lists of exercises.

Evaluation Type

Distributed evaluation with final exam

Assessment Components

designation Weight (%)
Exame 60,00
Trabalho prático ou de projeto 40,00
Total: 100,00

Eligibility for exams

Al students are eligible to attend the final exam.

Calculation formula of final grade

Evaluation will be done by adding up the results of the project and exam. According to the majority decision, there could be scores associated with the intermediate tests.

Internship work/project

It consists of theoretical and practical activity. Students must deliver implementation and an explanatory report. If time permits, they will make the presentation of their projects.
Recommend this page Top
Copyright 1996-2024 © Faculdade de Ciências da Universidade do Porto  I Terms and Conditions  I Acessibility  I Index A-Z  I Guest Book
Page created on: 2024-11-09 at 16:03:44 | Acceptable Use Policy | Data Protection Policy | Complaint Portal