Academic Year 2015/2016
This 64-hour course aims to provide a rational view over the fundamental concepts of programming languages, relating them to the different computational models and to the problem of language translation and recognition. More precisely, we discuss the main formal methods for language definition, in terms of syntax and semantics, for both programming languages and specification languages, and relate them to different computational models. The main techniques for language evaluation and recognition are also presented. Students will then be able to define reasonably simple languages understanding their properties, implementing the corresponding interpreters, and evaluating the pros and cons of different choices/computational paradigms in application design. Multi-paradigm and multi-language issues are also presented.
Please refer to the course's web portal for up-to-date information.
Powerpoint slides (whose PDF
printouts are available from the teacher's Web portal before
the corresponding lecture) are projected and discussed during class
hours. Exercises are continuously interleaved with theoretical
concepts and immediately discussed. Autonomous lab activities
are welcome and promoted by suggesting ideas and possible
The exams consists of an oral discussion; if the student also selected the extra Work Project in this subject, the oral discussion will also include the presentation and discussion of the corresponding work project.
The teacher's web portal provides updated information, copy of the slides projected and discussed during the lecture hours, some extra material, and suggested books.
Links to further information
See the website of Enrico Denti