Foundations of Computing - LINGUAGGI (2014/2015)

Course code
4S02789
Name of lecturer
Massimo Merro
Number of ECTS credits allocated
6
Academic sector
INF/01 - INFORMATICS
Language of instruction
Italian
Period
I sem. dal Oct 1, 2014 al Jan 30, 2015.
Web page
http://profs.sci.univr.it/~merro/linguaggi.html

To show the organization of the course that includes this module, follow this link * Course organization

Lesson timetable

I sem.
Day Time Type Place Note
Monday 11:30 AM - 1:30 PM lesson Lecture Hall I  
Wednesday 10:30 AM - 12:30 PM lesson Lecture Hall I  
Thursday 8:30 AM - 10:30 AM lesson Lecture Hall I  

Learning outcomes

The aim of the course is to present the structural, operational approach to programming language semantics. A number of paradigmatic untyped and typed languages will be introduced. The entire course will focus on the concepts of operational semantics and type system. Formal techniques for verifying the behaviour of programs will be introduced.

Syllabus

Induction:
(i) Mathematical induction over the natural numbers;
(ii) Structural induction;
(iii) Rule induction.
Operational semantics:
Big step and small step semantics for simple languages including
(i) Exp, Bool, languages for arithmetic and Boolean expressions
(ii) the imperative language of while commands While
(iii)the functional languages Fun and Lambda and simple variations on them; call-by-name and call-by-value semantics.
Typing:
(i) Typing assignments for the functional languages Fun and Lambda
(ii) Progress and preservation.
(iii) For Lambda you should be familiar with the computational consequences of using types; in particular the need for explicit fixpoint operators.

Assessment methods and criteria

The examination consists of a written and oral test.