Strumenti Utente

Strumenti Sito


Principles for Software Composition

PSC 2017/18 (375AA, 9 CFU)

Lecturer: Roberto Bruni
web - email - phone 050 2212785 - fax 050 2212726

Office hours: Wednesday 15:00-17:00 or by appointment


The objective of the course is to present:

  • different models of computation,
  • their programming paradigms,
  • their mathematical descriptions, both concrete and abstract,
  • some intellectual tools/techniques for reasoning on models.

The course will cover the basic techniques for assigning meaning to programs with higher-order, concurrent and probabilistic features (e.g., domain theory, logical systems, well-founded induction, structural recursion, labelled transition systems, Markov chains, probabilistic reactive systems, stochastic process algebras) and for proving their fundamental properties, such as termination, normalisation, determinacy, behavioural equivalence and logical equivalence. Temporal and modal logics will also be studied for the specification and analysis of programs. In particular, some emphasis will be posed on modularity and compositionality, in the sense of guaranteeing some property of the whole by proving simpler properties of its parts.


There are no prerequisites, but the students are expected to have some familiarity with discrete mathematics, first-order logic, context-free grammars, and code fragments in imperative and functional style.


Main text:

Other readings:

External resources:


The evaluation will be based on written and oral exams.

The written exam is not necessary if the two (written) mid-terms exams are evaluated positively.

  • First (written) mid-term exam: to be announced
  • Second (written) mid-term exam: to be announced

Registration to written exams (mandatory): Exams registration system

In the written exam the student must demonstrate

  • knowledge: his/her knowledge of the course material
  • problem solving: the ability to solve some exercises, and
  • organisation: the ability to organise an effective and correctly written reply.

During the oral exam the student must demonstrate

  • knowledge: his/her knowledge of the course material, and
  • understanding: the ability to discuss the reading matter thoughtfully and with propriety of expression.


  • Lecture canceled:
    The lecture of friday 23/03 is canceled. It will be rescheduled in March.
  • as the course starts:
    Each student should send an email to the professor from his/her favourite email account with subject PSC17-18 and the following data
    (by doing so, the account will be included in the class mailing-list, where important announcements can be sent):
    1. first name and last name (please clarify which is which, to avoid ambiguities)
    2. enrolment number (numero di matricola)
    3. bachelor degree (course of study and university)
    4. your favourite topics in computer science (optional)


N Date Time Room Lecture notes Links
1 Tue 20/02 14:00-16:00 L1 Introduction to the course
2 Thu 22/02 11:00-13:00 L1 Preliminaries:
formal semantics, logical systems, derivations
- Fri 23/02 14:00-16:00 C Canceled
3 Tue 27/02 14:00-16:00 L1 Preliminaries:
signatures, unification problem
4 Thu 01/03 11:00-13:00 L1
5 Fri 02/03 14:00-16:00 C

magistraleinformatica/psc/start.txt · Ultima modifica: 22/02/2018 alle 10:49 (36 ore fa) da Roberto Bruni