Corsi di Laurea Corsi di Laurea Magistrale Corsi di Laurea Magistrale
a Ciclo Unico
Scuola di Scienze
INFORMATICA
Insegnamento
ASPETTI AVANZATI DEI LINGUAGGI DI PROGRAMMAZIONE
SCP6076358, A.A. 2017/18

Informazioni valide per gli studenti immatricolati nell'A.A. 2017/18

Principali informazioni sull'insegnamento
Corso di studio Corso di laurea magistrale in
INFORMATICA
SC1176, ordinamento 2014/15, A.A. 2017/18
N0
porta questa
pagina con te
Crediti formativi 6.0
Tipo di valutazione Voto
Denominazione inglese ADVANCED TOPICS IN PROGRAMMING LANGUAGES
Sito della struttura didattica http://informatica.scienze.unipd.it/2017/laurea_magistrale
Dipartimento di riferimento Dipartimento di Matematica
Obbligo di frequenza No
Lingua di erogazione ITALIANO
Sede PADOVA
Corso singolo È possibile iscriversi all'insegnamento come corso singolo
Corso a libera scelta È possibile utilizzare l'insegnamento come corso a libera scelta

Docenti
Responsabile SILVIA CRAFA INF/01

Dettaglio crediti formativi
Tipologia Ambito Disciplinare Settore Scientifico-Disciplinare Crediti
CARATTERIZZANTE Discipline Informatiche INF/01 6.0

Modalità di erogazione
Periodo di erogazione Primo semestre
Anno di corso I Anno
Modalità di erogazione frontale

Organizzazione della didattica
Tipo ore Crediti Ore di
Corso
Ore Studio
Individuale
Turni
LEZIONE 6.0 48 102.0 Nessun turno

Calendario
Inizio attività didattiche 02/10/2017
Fine attività didattiche 19/01/2018

Commissioni d'esame
Nessuna commissione d'esame definita

Syllabus
Prerequisiti: Conoscenze di programmazione e di programmazione ad oggetti.
Conoscenze e abilita' da acquisire: 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.
Modalita' di esame: 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.
Criteri di valutazione: 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'.
Contenuti: 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.
Attivita' di apprendimento previste e metodologie di insegnamento: Lezioni frontali con esercizi ed approfondimenti di argomenti di ricerca tramite articoli scientifici.
Eventuali indicazioni sui materiali di studio:
Testi di riferimento:
  • B.C. Pierce, Types and Programming Languages. --: The MIT Press, 2002. Cerca nel catalogo
  • M. Odersky, L. Spoon, B. Venners, Programming in Scala. --: Artima, 2016. Cerca nel catalogo