Presentazione

Organizzazione della Didattica

DM270
INFORMATICA ORD. 2014


6

Corsi comuni

 

Frontali Esercizi Laboratorio Studio Individuale
ORE: 48 0 0 102

Periodo

AnnoPeriodo
I anno1 semestre

Frequenza

Facoltativa

Erogazione

Convenzionale

Lingua

Italiano

Calendario Attività Didattiche

InizioFine
02/10/201719/01/2018

Tipologia

TipologiaAmbitoSSDCFU
caratterizzanteDiscipline informaticheINF/016


Responsabile Insegnamento

ResponsabileSSDStruttura
Dott.ssa CRAFA SILVIAINF/01Dipartimento di Matematica

Altri Docenti

Non previsti.

Attività di Supporto alla Didattica

Non previste.

Bollettino

Conoscenze di programmazione e di programmazione ad oggetti.

Il corso presenta alcune tecniche avanzate dei moderni linguaggi di programmazione ed affronta il tema piu' generale dell'analisi dell'impatto sociale delle nuove tecnologie informatiche. Lo studente svilupperà la capacità di comprendere, ragionare e valutare alcune delle nuove tecniche di programmazione e svilupperà la capacita' di analisi critica del ruolo della tecnologia nella società contemporanea.

Lezioni frontali con esercizi ed approfondimenti di argomenti di ricerca tramite articoli scientifici.

Nella prima parte il corso presenta alcune tecniche avanzate dei moderni linguaggi di programmazione, tra cui: l'uso dei sistemi di tipi per ragionare sui programmmi, concetti avanzati di programmazione orientata agli oggetti (typing strutturale, type checking dinamico, mixins), l'integrazione della programmazione funzionale con la programmazione ad oggetti, cenni di programmazione concorrente asincrona e reattiva. Questi concetti saranno affrontati in modo fondazione e visti all'opera in uno studio ragionato dei linguaggi Scala e Java8. Nella seconda parte del corso gli studenti saranno esposti all'analisi e alla discussione di alcuni casi concreti di riflessione sull'impatto sociale delle nuove tecnologie.

Sono previste una prova scritta e una seconda prova che consiste nella discussione orale di un tema di approfondimento o in alternativa nella realizzazione di un progetto software.

La prova scritta valuta l'acquisizione dello studente degli aspetti fondazionali affrontati durante il corso. La seconda prova valuta la capacita' dello studente di analizzare e valutare aspetti avanzati delle tecnologie informatiche e del loro impatto sulla societa'.

B.C. Pierce, Types and Programming Languages. : The MIT Press, 2002 M. Odersky, L. Spoon, B. Venners, Programming in Scala. : Artima, 2016