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.
Curriculum
scheda docente
materiale didattico
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.
[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 provided by the lecturer.
Mutuazione: 20410427 IN490 - LINGUAGGI DI PROGRAMMAZIONE in Scienze Computazionali LM-40 LOMBARDI FLAVIO
Programma
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.
Testi Adottati
[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 provided by the lecturer.
Modalità Erogazione
Lecture attendance is strongly suggested. There will also be seminars, simulations, lab sessions and exercise solving sessionsModalità Frequenza
Active participation is strongly encouragedModalità Valutazione
Evaluation is based on a written exam (16 questions in about 2h time) plus the implementation of a software project (and its documentation) selected FCFS from a list published by the lecturer.
scheda docente
materiale didattico
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.
[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 provided by the lecturer.
Mutuazione: 20410427 IN490 - LINGUAGGI DI PROGRAMMAZIONE in Scienze Computazionali LM-40 LOMBARDI FLAVIO
Programma
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.
Testi Adottati
[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 provided by the lecturer.
Modalità Erogazione
Lecture attendance is strongly suggested. There will also be seminars, simulations, lab sessions and exercise solving sessionsModalità Frequenza
Active participation is strongly encouragedModalità Valutazione
Evaluation is based on a written exam (16 questions in about 2h time) plus the implementation of a software project (and its documentation) selected FCFS from a list published by the lecturer.