Scheda programma d'esame
LINGUAGGI DI PROGRAMMAZIONE CON LABORATORIO
MARCO BELLIA
Anno accademico2018/19
CdSMATEMATICA
Codice063AA
CFU9
PeriodoSecondo semestre
LinguaItaliano

ModuliSettore/iTipoOreDocente/i
LINGUAGGI DI PROGRAMMAZIONE CON LABORATORIOINF/01LEZIONI81
MARCO BELLIA unimap
Programma non disponibile nella lingua selezionata
Learning outcomes
Knowledge

The student who completes the course successfully will be able to understand the main concepts concerning programming languages and their implementation. In particular, the student will be able to assess the semantics of a language. He or she will also be able to properly evaluate the characteristics of each language and to understand ita adequacy with respect to a given application area. Finally, in the laboratory a focus will be offered on functional languages.

Assessment criteria of knowledge

The student will be assessed on his/her demonstrated ability to discuss and elaborate on the course contents using the appropriate terminology. - In the written exam (2 hours, at most 6 questions), the student must demonstrate his/her knowledge of the course material concerning the theory part and his/her ability in problem solving, in order to produce a correct and formally written reply. - During the oral exam the student must be able to demonstrate his/her knowledge of both parts of the course, being able to discuss the content of the written exam, and the solution proposed for the laboratory report.

Methods:

  • Final oral exam
  • Final written exam
  • Laboratory report

Further information:
The written exam will be the main one, integrated by an oral exam and a discussion of the laboratory report.

Teaching methods

Delivery: face to face

Learning activities:

  • attending lectures
  • individual study
  • Laboratory work
  • Practical

Attendance: Advised

Teaching methods:

  • Lectures
  • laboratory
Syllabus

The theory part of the course starts covering the basics of (regular) automata and languages, serving as an introduction to a brief tour on compilers and intepreters. It will then move to present both the denotational and the operational semantics of a simple language, built on stages based on data types (booleans, functions, commands). Finally, the correspondence of the two semantics will be shown. The laboratory part of the course introduces a functional language, showing to the students its use for implementing interpreters and static analyzers.

Bibliography

Recommended reading includes the following works; further bibliography will be indicated during the lectures. Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman. Compilers: Principles, Techniques, and Tools. Addison Wesley, 1986. Maurizio Gabbrielli, Simone Martin. Linguaggi di programmazione: Principi e paradigmi (Italian Edition) Paperback McGraw-Hill Italia, 2011. Hanne Riis Nielson, Flemming Nielson. Semantics With Applications: A Formal Introduction. Wiley, 1992.

Ultimo aggiornamento 24/10/2018 17:03