20410427 - IN490 - PROGRAMMING LANGUAGES

Introduce the main concepts of formal language theory and their application to the classification of programming languages. Introduce the main techniques for the syntactic analysis of programming languages. Learn to recognize the structure of a programming language and the techniques to implement its abstract machine. Study the object-oriented paradigm and another non-imperative paradigm.

LOMBARDI FLAVIO

teacher profile | teaching materials

Mutuazione: 20410427 IN490 - LINGUAGGI DI PROGRAMMAZIONE in Scienze Computazionali LM-40 LOMBARDI FLAVIO

Programme

The objective of Linguaggi di Programmazione course is to introduce main formal language theory concepts and results as well as their application for programming language classification.
Most relevant approaches for syntactic analysis of programming languages are introduced. Learning how to recognize the structure of a programming language and the implementation techniques for the abrstract machine.
Understanding the Object Oriented paradigm together with other non imperative approaches.


Core Documentation

[1] Maurizio Gabbrielli, Simone Martini,Programming Languages - Principles and paradigms, 2/ed. McGraw-Hill, (2011).
[2] Dean Wampler, Alex Payne, Programming Scala: Scalability = Functional Programming + Objects, 2 edizione. O’Reilly Media, (2014).
[3] David Parsons, Foundational Java Key Elements and Practical Programming. Springer- Verlag, (2012).
Course Slides

Type of delivery of the course

Lecture attendance is strongly suggested. There will also be seminars, simulations, lab sessions and exercise solving sessions

Type of evaluation

Evaluation is based on a written exam plus the implementation of a software project.

LOMBARDI FLAVIO

teacher profile | teaching materials

Mutuazione: 20410427 IN490 - LINGUAGGI DI PROGRAMMAZIONE in Scienze Computazionali LM-40 LOMBARDI FLAVIO

Programme

The objective of Linguaggi di Programmazione course is to introduce main formal language theory concepts and results as well as their application for programming language classification.
Most relevant approaches for syntactic analysis of programming languages are introduced. Learning how to recognize the structure of a programming language and the implementation techniques for the abrstract machine.
Understanding the Object Oriented paradigm together with other non imperative approaches.


Core Documentation

[1] Maurizio Gabbrielli, Simone Martini,Programming Languages - Principles and paradigms, 2/ed. McGraw-Hill, (2011).
[2] Dean Wampler, Alex Payne, Programming Scala: Scalability = Functional Programming + Objects, 2 edizione. O’Reilly Media, (2014).
[3] David Parsons, Foundational Java Key Elements and Practical Programming. Springer- Verlag, (2012).
Course Slides

Type of delivery of the course

Lecture attendance is strongly suggested. There will also be seminars, simulations, lab sessions and exercise solving sessions

Type of evaluation

Evaluation is based on a written exam plus the implementation of a software project.