Home » Laurea in Informatica » Corsi » PROGRAMMAZIONE CONCORRENTE E DISTRIBUITA

Laurea in Informatica

Salta il menu di secondo livello

PROGRAMMAZIONE CONCORRENTE E DISTRIBUITA - 6 CFU

Link al sito del corso

Insegnante

Armir Bujari

Periodo

III Anno - 1 Semestre | 02/10/2017 - 19/01/2018

Ore: 48 (18 esercitazione, 30 lezione)

Torna su ▲

Prerequisiti

Conoscenze di programmazione.
E' propedeutico l'insegnamento di Programmazione ad Oggetti.

Conoscenze e abilità da acquisire

Il corso presenta il linguaggio Java e la programmazione a diversi livelli di astrazione: la programmazione ad oggetti, la programmazione concorrente, e la programmazione distribuita.

Modalità di esame

L'esame consiste in una prova scritta seguita opzionalmente dalla discussione orale del progetto obbligatorio. Il progetto consiste in un'applicazione distribuita.

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. Programmazione ad oggetti:
- 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 concorrente: thread, scheduling, accesso sincronizzato a dati condivisi, comunicazione tra thread.
3. Programmazione distribuita: stream e serializzazione, socket, RMI.

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

Torna su ▲