Tu sei qui

Fondamenti dei linguaggi di programmazione

Fondamenti di Linguaggi di Programmazione
Corso di Laurea Triennale in Informatica F004

SCV0364 (SCV0073)
Docente: Mauro Ferrari


CFU SSD LEZIONI ANNO LINGUA
6 INF/01 48 II o III Italiano


Obiettivi dell’insegnamento e risultati di apprendimento attesi

Conoscenza e capacità di comprensione (knowledge and under standing)
Lo scopo di questo corso è fornire agli studenti una solida conoscenza della programmazione funzionale, delle sue applicazioni, e dei suoi punti di forza e di debolezza. Al fine di raggiungere questi obiettivi, il corso sarà basato sul linguaggio di programmazione Scala, un moderno linguaggio funzionale eseguito su JVM ampiamente utilizzato a livello industriale. Scopo del corso è anche quello di mostrare come il paradigma di programmazione funzionale possa essere efficace da un punto di vista del software engineering – offrendo ottimo supporto per la scrittura di programmi concisi, riutilizzabile e sicuri.

Capacità di applicare conoscenza e comprensione (applying knowledge and understanding)
Lo studente imparerà a modellare i problemi dal punto di vista della programmazione funzionale e a sviluppare programmi in Scala attraverso un uso efficace e consapevole delle caratteristiche del linguaggio.

Autonomia di giudizio e abilità comunicative
Ci si aspetta che uno studente sviluppi la capacità di giudicare quale sia il paradigma di programmazione più adatto ad un dato contesto applicativo.

Capacità di apprendere
La conoscenza delle caratteristiche dei linguaggi funzionali permette allo studente di analizzare in profondità le caratteristiche di altri linguaggi di programmazione, e di arricchire la propria competenza tecnica in modo autonomo.

Prerequisiti
Programmazione, Algoritmi e strutture dati.

Contenuti e programma del corso

  • Introduzione alla programmazione funzionale.
  • Classi, oggetti, tipi di base e operazioni.
  • Strutture di controllo predefinite
  • Funzioni e closures
  • Meccanismi di astrazione, composizione ed ereditarietà
  • Implementazione delle strutture dati
  • Attori e concorrenza

Tipologia delle attività didattiche
Lezioni frontali, 48 ore.

Testi e materiale didattico

  • Libro di testo: Martin Odersky, Lex Spoon, Bill Venners. Programming in Scala: A Comprehensive Step-by-Step Guide, Third Edition. Artima Press, 2016
  • Altro materiale (disponibile sul sito di e-learning): Slides, dispense, esempi di applicazioni.

Modalità di verifica dell’apprendimento
Esame scritto e orale. Lo scritto (durata di 2 ore) consiste in domande relative agli argomenti trattati nel corso e in esercizi di programmazione nel linguaggio di riferimento. In caso di esito positivo della prova scritta lo studente è ammesso alla prova orale che consiste nella discussione dello scritto e un approfondimento sugli argomenti trattati nel corso.

Orario di ricevimento
Il ricevimento studenti si svolge su richiesta degli studenti.

Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer