|
NAME : Declarative Programming (PRD) ( versión española |
|
DEPARTAMENT : SISTEMAS INFORMÁTICOS Y COMPUTACIÓN CODE: DSIC |
|
Subject type: Optional |
|
ECTS credits : 5 |
|
Tutor(s) : María Alpuente |
|
Year : 3 Semester: A |
|
Aims : |
|
A wide variety of logics (such as Horn clause logic and equational logic) and formalisms (such as operational semantics, denotational semantics, fixpoint theory, and abstract data types) have been been used to help understand various aspects of modern programming languages. In this course, the instructor presents a series of lectures to introduce such logics and formalisms with the aim of using them to study and analyze programming languages in a wide range of programming paradigms, including functional, logic, visual, and object features. Students are expected to undertake programming projects which will involve understanding and implementing applications in different programming styles. We encourage all students with an interest in programming languages, to participate. |
|
Syllabus: |
|
Theory |
|
1. Introduction: From Logic to Logic Programming 2. Logic Programming Horn Clause Logic: Syntax and Semantics Logic Programming: Operational Semantics, Declarative Semantics, Fixpoint Semantics The Programming Language Prolog Efficient Programming in Prolog 3. Functional Programming Equational Logic and Term Rewriting Systems. Functional Programming: Operational Semantics, Algebraic Semantics The Programming Language Hugs Efficient Programming in Hugs 4. Visual Programming |
|
Practice |
|
1. Development of guided sessions in the laboratory using Sicstus Prolog, Visual Prolog and Hugs. 2. Implementation of a modest software project in Prolog. |
|
Recommended reading : |
From Logic Programming to Prolog. Prentice Hall. 1997.
Introduction to Functional Programming using Haskell. Prentice-Hall, 1998.
Foundations of Logic Programming. Springer-Verlag. 1987.
The Art of Prolog. MIT Press. 1986. |
|
Recommended prerequisites : |
|
Remarks: Evaluation: Theory (70%) + Laboratory (30%) |