Code |
14336
|
Year |
2
|
Semester |
S2
|
ECTS Credits |
6
|
Workload |
PL(30H)/T(30H)
|
Scientific area |
Informatics
|
Entry requirements |
N/A
|
Mode of delivery |
Face to face
|
Work placements |
Not applicable.
|
Learning outcomes |
This course presents the main concepts of Logic in its computational aspect, i.e., accompanied by algorithms and computational techniques. Therefore, the learning objectives focus on Understanding the Fundamentals of Programming Logic, Learning the Syntax and Semantics of Prolog, developing Declarative Programming Skills, Construction Rule-Based Systems, Application in Artificial Intelligence and Expert Systems, Logical Problem Solving, developing Practical Projects and Understanding the Efficiency and Limitations of Prolog.
|
Syllabus |
Introduction to the course: reflection on the fundamental concepts related to problem-solving by computer and on programming paradigms. Introduction to Logic Programming: Characterization of the logical paradigm; Basic definitions: predicates, terms, and clauses; Unification; Proof Tree and Search Tree; Search strategies and "Backtracking"; Operational explanation of control predicates; Prolog System: Interaction with the outside, reading and writing; Verification of the fundamental properties of a Proof System (inference machine); Predefined predicates; Recursive Data Structures: lists, trees, and graphs; Grammar and language processing; Expert systems.
|
Main Bibliography |
Teaching Material: Available at the Curricular Unit's Moodle Webpage.
Books: Mordechai Ben-Ari. Mathematical Logic for Computer Science. Springer, 3rd edition, 2012. Michael Huth and Mark Ryan. Logic in Computer Science: Modelling and reasoning about systems. CUP, 2004. Jon Barwise and John Etchmendy. Language, Proof, and Logic. CSLI, 2nd Edition, 2011 D. van Dalen. Logic and Structure. 5th Edition, Springer Verlag, Berlin, Germany, 2013.
Adicional: -Shawn Hedman. A First Course in Logic: An Introduction to Model Theory, Proof Theory, Computability, and Complexity. Oxford Texts in Logic, 2004.
|
Teaching Methodologies and Assessment Criteria |
The contents of this course unit are presented in theoretical lectures (expository and interactive method), and its practical aspect is explored in practical laboratory classes. Each type of class has two hours of contact per week. The practical classes are guided by laboratory manuals that students execute on laboratory computers. The practical exams and the proposed individual and group assignments are designed so that students develop the technical abilities described in the objectives by designing and implementing labs. The theoretical and practical components are assessed using three main elements: - Labs 25% - 5 values; - Practical Exams 50% - 10 values; - Project 25% - 5 values.
|
Language |
Portuguese. Tutorial support is available in English.
|