Corsi di Laurea Corsi di Laurea Magistrale Corsi di Laurea Magistrale
a Ciclo Unico
Scuola di Scienze
INFORMATICA
Insegnamento
PROGRAMMAZIONE CONCORRENTE E DISTRIBUITA
SC01122886, A.A. 2018/19

Informazioni valide per gli studenti immatricolati nell'A.A. 2016/17

Principali informazioni sull'insegnamento
Corso di studio Corso di laurea in
INFORMATICA
SC1167, ordinamento 2011/12, A.A. 2018/19
N0
porta questa
pagina con te
Crediti formativi 6.0
Tipo di valutazione Voto
Denominazione inglese CONCURRENT AND DISTRIBUTED PROGRAMMING
Sito della struttura didattica http://informatica.scienze.unipd.it/2018/laurea
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 ARMIR BUJARI INF/01
Altri docenti MICHELE MAURO

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

Organizzazione dell'insegnamento
Periodo di erogazione Primo semestre
Anno di corso III Anno
Modalità di erogazione frontale

Tipo ore Crediti Ore di
didattica
assistita
Ore Studio
Individuale
ESERCITAZIONE 2.25 18 38.25
LEZIONE 3.75 30 63.75

Calendario
Inizio attività didattiche 01/10/2018
Fine attività didattiche 18/01/2019
Visualizza il calendario delle lezioni Lezioni 2019/20 Ord.2011

Commissioni d'esame
Commissione Dal Al Membri
9 a.a 2018/2019 01/10/2018 28/02/2020 BUJARI ARMIR (Presidente)
MAURO MICHELE (Membro Effettivo)
BRESOLIN DAVIDE (Supplente)
CONTI MAURO (Supplente)
FILE' GILBERTO (Supplente)
8 a.a. 2017/2018 01/10/2017 28/02/2019 BUJARI ARMIR (Presidente)
BRESOLIN DAVIDE (Membro Effettivo)
CONTI MAURO (Membro Effettivo)
FILE' GILBERTO (Membro Effettivo)
MAURO MICHELE (Membro Effettivo)

Syllabus
Prerequisiti: Conoscenze di programmazione.
E' propedeutico l'insegnamento di Programmazione ad Oggetti.
Conoscenze e abilita' da acquisire: Il corso presenta il linguaggio Java e la programmazione a diversi livelli di astrazione: la programmazione ad oggetti, la programmazione funzionale, la programmazione concorrente, e la programmazione distribuita.
Modalita' di esame: L'esame consiste in una prova scritta seguita opzionalmente dalla discussione orale dei contenuti del corso.
Criteri di valutazione: La prova scritta valuta l'apprendimento del linguaggio java e la capicita' di realizzare soluzioni corrette per problemi di natura concorrente.
La prova orale valuta non solo la correttezza e la funzionalita' dell'applicazione distribuita realizzata, ma anche la capacita' dello studente di illustrare il programma e giustificarne le scelte di base.
Contenuti: 1. Breve ripasso alla programmazione ad oggetti in Java:
- classi, oggetti, ereditarieta', polimorfismo
- organizzazione delle classi: classi astratte, interfacce, classi interne (statiche, di istanza, anonime, innestate in interfacce)
- grafica e gestione degli eventi.
2. Programmazione funzionale in Java: Lambda e Stream API
3. Programmazione concorrente: thread, scheduling, accesso sincronizzato a dati condivisi, comunicazione tra thread.
4. Programmazione distribuita: stream e serializzazione, socket.
Attivita' di apprendimento previste e metodologie di insegnamento: Il corso prevede lezioni teoriche, lezioni di esercitazioni, e la realizzazione di un progetto che prevede l'uso di tutte le caratteristiche del linguaggio Java viste nel corso.
Eventuali indicazioni sui materiali di studio:
Testi di riferimento:
  • Silvia Crafa, Oggetti, Concorrenza, Distribuzione. Programmare a diversi livelli di astrazione,. --: Editore Esculapio, 2014. Cerca nel catalogo
  • Oracle, Java 8 Lambdas & Stream API. --: --, --.

Didattica innovativa: Strategie di insegnamento e apprendimento previste
  • Lecturing
  • Laboratory
  • Case study
  • Problem solving

Obiettivi Agenda 2030 per lo sviluppo sostenibile
Istruzione di qualita' Citta' e comunita' sostenibili