20410427 - IN490 - LINGUAGGI DI PROGRAMMAZIONE

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

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 (fortemente consigliate), esercitazioni, seminari, simulazioni e laboratori

Modalità 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

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 (fortemente consigliate), esercitazioni, seminari, simulazioni e laboratori

Modalità 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

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 (fortemente consigliate), esercitazioni, seminari, simulazioni e laboratori

Modalità 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