To show the organization of the course that includes this module, follow this link Course organization
The course introduces the basic concepts of programming languages, such as functions, types, memory management, and control. The aim is to give a thorough understanding of the problems encountered in the design of programming languages. With this knowledge, students will be able to understand the advantages and disadvantages in using certain kinds of programming languages and to choose the most appropriate one for a given application.
Virtual machines: interpreters and compilers. Syntactical descriptions of programming languages: context free grammars. Structured operational semantics.
Memory management: scoping rules, functions, procedures, parameter passing, stack of activation records, heap.
Control: structuring of statements, abstraction, exceptions.
Data and types: data types, base types, structured types, type systems, type inference and polymorphism.
Examples of programming paradigms.
|Maurizio Gabbrielli, Simone Martini||Linguaggi di programmazione: principi e paradigmi (Edizione 2)||McGraw Hill||2011||88-386-626|
|T.W. Pratt e M.V. Zelkowitz||Programming languages: Design and implementation (Edizione 3)||Prentice Hall||1999|
Written exam with optional oral exam (mandatory for evaluations greater than 26/30).
Strada le Grazie 15
VAT number 01541040232
Italian Fiscal Code 93009870234
© 2021 | Verona University | Credits