Presentare i principali concetti della teoria dei linguaggi formali e la loro applicazione alla classificazione dei linguaggi di programmazione. Introdurre le principali tecniche per l'analisi sintattica dei linguaggi di programmazione. Imparare a riconoscere la struttura di un linguaggio di programmazione e le tecniche per implementarne la macchina astratta. Conoscere il paradigma orientato agli oggetti e un altro paradigma non imperativo.
Curriculum
scheda docente
materiale didattico
[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).
Slide del corso a cura del docente
Programma
Il corso di Linguaggi di Programmazione ha come obiettivo quello di presentare i principali concetti della teoria dei linguaggi formali e la loro applicazione alla classificazione dei linguaggi di programmazione. Introdurre le principali tecniche per l'analisi sintattica dei linguaggi di programmazione. Imparare a riconoscere la struttura di un linguaggio di programmazione e le tecniche per implementarne la macchina astratta. Conoscere il paradigma orientato agli oggetti ed altri paradigmi non imperativi.Testi Adottati
[1] Maurizio Gabbrielli, Simone Martini, Linguaggi di programmazione - Principi e paradigmi, 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).
Slide del corso a cura del docente
Bibliografia Di Riferimento
[4] Kip R Irvine, Assembly Language for X86 Processors. Pearson, (2015). [5] Bruce Tate, Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages Pragmatic Bookshelf . (2010). [6] Daniel P. Friedman, Mitchell Wand, Essentials of Programming Languages. MIT Press, (2008).Modalità Erogazione
Lo svolgimento prevede lezioni frontali (fortemente consigliate), esercitazioni, seminari, simulazioni e laboratoriModalità Valutazione
La valutazione prevede una prova scritta sugli argomenti del corso più la implementazione di un progetto software e della relativa documentazione concordato con il docente
scheda docente
materiale didattico
[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).
Slide del corso a cura del docente
Programma
Il corso di Linguaggi di Programmazione ha come obiettivo quello di presentare i principali concetti della teoria dei linguaggi formali e la loro applicazione alla classificazione dei linguaggi di programmazione. Introdurre le principali tecniche per l'analisi sintattica dei linguaggi di programmazione. Imparare a riconoscere la struttura di un linguaggio di programmazione e le tecniche per implementarne la macchina astratta. Conoscere il paradigma orientato agli oggetti ed altri paradigmi non imperativi.Testi Adottati
[1] Maurizio Gabbrielli, Simone Martini, Linguaggi di programmazione - Principi e paradigmi, 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).
Slide del corso a cura del docente
Bibliografia Di Riferimento
[4] Kip R Irvine, Assembly Language for X86 Processors. Pearson, (2015). [5] Bruce Tate, Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages Pragmatic Bookshelf . (2010). [6] Daniel P. Friedman, Mitchell Wand, Essentials of Programming Languages. MIT Press, (2008).Modalità Erogazione
Lo svolgimento prevede lezioni frontali (fortemente consigliate), esercitazioni, seminari, simulazioni e laboratoriModalità Valutazione
La valutazione prevede una prova scritta sugli argomenti del corso più la implementazione di un progetto software e della relativa documentazione concordato con il docente