20801963 - FUNCTIONAL PROGRAMMING

Knowledge of the functional programming paradigm, its underlying concepts and basic techniques used in modern functional languages. Acquisition of programming abilities in the programming language objective Calm.
teacher profile | teaching materials

Programme

Basic features of the functional programming paradigm. Introduction to the language Objective Caml.
Design and implementation of recursive programs. Definition and use of higher order functions.
Data structures: lists, trees, graphs. Implementation of backtracking algorithms. The module system of Objective Caml (structures and signatures). Parser generators. Study of an application: propositional logic.


Core Documentation


See the course web site: http://cialdea.dia.uniroma3.it/teaching/pf/

M. CIALDEA MAYER, C. LIMONGELLI. INTRODUZIONE ALLA PROGRAMMAZIONE FUNZIONALE. ESCULAPIO 2002.
(alternatively, M. Cialdea Mayer, Introduzione alla programmazione funzionale con Objective Caml (lecture notes))

M. Cialdea Mayer, Introduzione alla logica proposizionale (lecture notes)

THE OBJECTIVE CAML SYSTEM. DOCUMENTATION AND USER'S GUIDE.


Type of delivery of the course

Live lessons and exercitations

Type of evaluation

The written exam lasts approximately 2 hours. The exercises proposed aim at testing the students' understanding of the notions introduced in the course and their ability to write programs in the used functional language. The texts of the exams of the last years can be found in the course web page: http://cialdea.dia.uniroma3.it/teaching/pf/.