Informazioni Generali

Risultati dell'apprendimento

Metodologie, principi e tecnologie per la progettazione ed implementazione di sistemi e servizi software distribuiti a larga scala, inclusi i sistemi e servizi Cloud.

CFU

9 CFU, 90 ore di didattica frontale distribuite in 6 ore a settimana

Prerequisiti

Il corso presuppone una conoscenza dei protocolli di rete, della progettazione e programmazione di applicazioni software e di rete (linguaggi C, Python e Java), dell'organizzazione e gestione di basi di dati, dell'infrastruttura Web.

Orario delle lezioni

Orario valido dal 24/9/2018 al 19/1/2019 (primo semestre)
  • Lunedì dalle 9:30 alle 11:15, aula B9 edificio didattica
  • Mercoledì dalle 11:30 alle 13:15, aula C6 edificio didattica
  • Venerdì dalle 9:30 alle 11:15, aula C8 edificio didattica

Docente

Valeria Cardellini
Tel.: 067259 7388
E-mail: img (è necessario specificare [SDCC] nell'oggetto della mail)
Ufficio: stanza D1-17, corpo D dell'edificio "Ingegneria dell'Informazione", primo piano.
Orario di ricevimento:
  • martedì dalle 9:00 alle 11:00 in ufficio.


Avvisi

  • new 12 gennaio 2019 - Disponibili le soluzioni di alcuni esercizi sulla consistenza proposti nelle prove d'esame passate (Consistenza_soluzioni.pdf)
  • 5 gennaio 2019 - Disponibili i lucidi relativi alla presentazione dell'esercizio facoltativo in Go (EsercizioGo.pdf).
    La scadenza per la consegna dell'esercizio è venerdì 18 gennaio, vedere l'ultimo lucido per le indicazioni sulla consegna.
  • 21 dicembre 2018 - La seconda prova in itinere si terrà lunedì 14 gennaio 2019 (vedi Appelli).
  • 12 dicembre 2018 - La lezione di mercoledì 19 dicembre non si terrà.
  • 5 dicembre 2018 - La lezione di lunedì 10 dicembre non si terrà e verrà recuperata martedì 11 dicembre dalle 11:30 alle 13:15 in aula B16.
  • 3 dicembre 2018 - Aggiunti i lucidi 53, 54 e 58 in ConsistenzaSD.pdf
  • 3 dicembre 2018 - La lezione di recupero di martedì 4 dicembre si terrà in aula B16 dalle 11:30 alle 13:15.
  • 28 novembre 2018 - Aggiunti i lucidi da 29 in poi in SincronizzazioneSD.pdf
  • 26 novembre 2018 - La lezione di recupero di martedì 27 novembre si terrà in aula B16 dalle 11:30 alle 13:15.
  • 23 novembre 2018 - Modificati i lucidi 23 e 26 in SincronizzazioneSD.pdf
  • 22 novembre 2018 - Argomenti della prima prova in itinere: fino agli algoritmi di sincronizzazione fisica inclusi.
  • 12 novembre 2018 - Aggiunte le slide da 84 in poi in Virtualizzazione.pdf
  • 7 novembre 2018 - Aggiunte le slide da 53 in poi in Virtualizzazione.pdf
  • 28 ottobre 2018 - La lezione di lunedì 29 ottobre non si terrà a causa della sospensione in detta giornata dell’attività didattica dell’Università degli Studi di Roma "Tor Vergata" per l'allerta meteo.
  • 27 ottobre 2018 - Aggiunta la slide 46 in ComunicazioneSD_2.pdf
  • 22 ottobre 2018 - La prima prova in itinere si terrà lunedì 26 novembre (vedi Appelli).
  • 22 ottobre 2018 - Disponibili gli esempi di programmazione RPC (vedi Programmazione RPC).
  • 18 ottobre 2018 - Fissate le date degli appelli invernali (vedi Appelli).
  • 6 ottobre 2018 - Aggiunte le slide da 28 in poi in IntroSD.pdf
  • 23 settembre 2018 - Per la registrazione al corso, usare Delphi oppure inviare una email alla docente.

Materiale Didattico

Testi consigliati

Testi "classici" sui sistemi distribuiti:

Testi che trattano in modo esteso i sistemi e le applicazioni Cloud:

Calendario e lucidi delle lezioni

Giorno Argomento Lucidi Ultima modifica
24/9/2018 Organizzazione del corso
Introduzione ai SD
Organizzazione.pdf
IntroSD.pdf
24/9/2018
6/10/2018
26/9/2018 Introduzione ai SD vedi lezione precedente
28/9/2018 Introduzione al Cloud computing IntroCloud.pdf 6/10/2018
1/10/2018 Architetture dei SD: stili
(lezione tenuta dal Dr. Matteo Nardelli)
ArchitettureSD.pdf 10/10/2018
3/10/2018 Introduzione al Cloud computing vedi lezione del 28/9
5/10/2018 Architetture dei SD: architetture di sistema, architetture centralizzate, reti P2P non strutturate vedi lezione dell'1/10
8/10/2018 Architetture dei SD: reti P2P non strutturate e strutturate vedi lezione dell'1/10
10/10/2018 Architetture dei SD: reti P2P strutturate e sistemi self-* vedi lezione dell'1/10
12/10/2018 Comunicazione nei SD: introduzione e semantica della comunicazione ComunicazioneSD_1.pdf 18/10/2018
15/10/2018 Comunicazione nei SD: RPC vedi lezione del 12/10
17/10/2018 Comunicazione nei SD: Java RMI ed esempio Compute Engine vedi lezione del 12/10
19/10/2018 Introduzione a Go e RPC in Go Go.pdf 22/10/2018
22/10/2018 Introduzione a Go e RPC in Go: esempio RPC in Go
Comunicazione nei SD: MOM
vedi lezione del 19/10
ComunicazioneSD_2.pdf

27/10/2018
24/10/2018 Comunicazione nei SD: esempi di sistemi MOM, multicast di rete vedi lezione del 22/10
26/10/2018 Comunicazione nei SD: AMQP, protocolli di gossiping vedi lezione del 22/10
31/10/2018 Virtualizzazione: introduzione, livelli
Soluzione di prove d'esame passate
Virtualizzazione.pdf
 
12/11/2018
 
5/11/2018 Virtualizzazione: di sistema vedi lezione del 31/10
7/11/2018 Virtualizzazione: resizing e migrazione di VM, container vedi lezione del 31/10
9/11/2018 Virtualizzazione: Docker, tool per l'orchestrazione di container Docker.pdf
vedi lezione del 31/10
16/11/2018
 
12/11/2018 Virtualizzazione: unikernel, storage, cluster
Sincronizzazione e coordinazione nei SD: introduzione, tempo fisico, sincronizzazione fisica
vedi lezione del 31/10
SincronizzazioneSD.pdf
 
28/11/2018
14/11/2018 Docker: esempi
Microservizi e serverless: introduzione, SOA
vedi lezione del 9/11
Microservice+serverless.pdf
 
22/11/2018
16/11/2018 Docker: esempi
Microservizi e serverless: caratteristiche, evoluzione
vedi lezione del 9/11
vedi lezione del 14/11
 
 
19/11/2018 Sincronizzazione e coordinazione nei SD: algoritmi di sincronizzazione fisica
Soluzione di prove d'esame passate
vedi lezione del 12/11
 

 
21/11/2018 Sincronizzazione e coordinazione nei SD: clock logico scalare e vettoriale, multicasting totalmente e causalmente ordinato
Soluzione di prove d'esame passate
vedi lezione del 12/11
 

 
23/11/2018 Microservizi e serverless: serverless computing
Soluzione di esercizi su sincronizzazione fisica e di prove d'esame passate
vedi lezione del 14/11
 

 
26/11/2018 Prima prova intermedia
27/11/2018 Sincronizzazione e coordinazione nei SD: mutua esclusione nei SD vedi lezione del 12/11
28/11/2018 Sincronizzazione e coordinazione nei SD: algoritmo di Maekawa, algoritmi di elezione, distributed event matching vedi lezione del 12/11
30/11/2018 Consistenza nei SD: introduzione, modelli di consistenza data-centrica ConsistenzaSD.pdf 5/12/2018
3/12/2018 Consistenza nei SD: consistenza finale, teorema CAP vedi lezione del 30/11  
4/12/2018 Consistenza nei SD: protocolli di consistenza
Esercizi su clock logici
vedi lezione del 30/11
 
 
 
5/12/2018 Consistenza nei SD: protocolli di consistenza data-centrica, esempi di consistenza in sistemi Cloud, replicazione
Soluzione di prove d'esame passate
vedi lezione del 30/11
 
 
 
7/12/2018 Tolleranza ai guasti nei SD: dependability, modelli, TMR TolleranzaSD.pdf 12/12/2018
11/12/2018 Tolleranza ai guasti nei SD: consenso distribuito, Paxos vedi lezione precedente
12/12/2018 Tolleranza ai guasti nei SD: Raft, algoritmo dei generali bizantini
Presentazione dell'esercizio facoltativo in Go
vedi lezione del 7/12
EsercizioGo.pdf

5/1/2019
14/12/2018 Tolleranza ai guasti nei SD: 2PC, 3PC, ripristino vedi lezione del 7/12
17/12/2018 Tolleranza ai guasti nei SD: multicast affidabile
Sistemi distribuiti e Cloud per storage: introduzione, GFS
Soluzione di prove d'esame passate
vedi lezione del 7/12
CloudStorage.pdf
 
 
5/1/2019
 
21/12/2018 Sistemi distribuiti e Cloud per storage: GFS, data store NoSQL vedi lezione del 17/12
7/1/2019 Sistemi distribuiti e Cloud per storage: esempi
Sistemi Web distribuiti: Web cluster
vedi lezione del 17/12
SistemiWeb.pdf

10/1/2019
9/1/2019 Sistemi Web distribuiti: Web cluster e multi-cluster
Correzione della prima prova intermedia
vedi lezione del 7/1
 

 
11/1/2019 Sistemi Web geografici per content delivery
Presentazione dei progetti
Soluzione di prove d'esame passate
CDN.pdf
 
 
14/1/2019
 
 
14/1/2019 Seconda prova intermedia

Articoli

I seguenti articoli approfondiscono ed integrano gli argomenti trattati a lezione; la loro lettura è raccomandata.

When I talk to researchers, when I talk to people wanting to engage in entrepreneurship, I tell them that if you read research papers consistently, if you seriously study half a dozen papers a week and you do that for two years, after those two years you will have learned a lot. This is a fantastic investment in your own long term development. (Andrew Ng, Inside The Mind That Built Google Brain: On Life, Creativity, And Failure)

Introduzione ai SD

  • A. Rotem-Gal-Oz, "Fallacies of distributed computing explained". (pdf)
  • M. van Steen and A.S. Tanenbaum, "A brief introduction to distributed systems", Computing, vol. 98, no. 10, pp. 967-1009, 2016. (pdf)
  • S. Vinoski, "Rediscovering distributed systems", IEEE Internet Computing, Vol. 18, No. 2, Mar.-Apr. 2014. (pdf)
  • J. Hodges, "Notes on distributed systems for young bloods", 2013. (html)

Introduzione al Cloud Computing

  • M. Armbrust et al., "Above the clouds: A Berkeley view of cloud computing", EECS Department, University of California Berkeley Technical Report No. UCB/EECS-2009-28, Feb. 2009. (pdf)
  • S.A. Baset, "Cloud SLAs: Present and future", SIGOPS Oper. Syst. Rev., Vol. 46, No. 2, pp. 57-66, July 2012. (pdf)
  • N. Herbst, R. Krebs, G. Oikonomou, G. Kousiouris, A. Evangelinou, A. Iosup, S. Kounev, "Ready for rain? A View from SPEC Research on the future of cloud metrics", SPEC Research Group - Cloud Working Group, Standard Performance Evaluation Corporation (SPEC), Technical Report SPEC-RG-2016-0, 2016. (pdf)
  • P. Mell, T. Grance, "The NIST definition of cloud computing", Sept. 2011. (pdf)

Architetture dei SD

  • P.T. Eugster, P.A. Felber, R. Guerraoui, A.-M. Kermarrec, "The many faces of publish/subscribe", ACM Computing Surveys, Vol. 35, No. 2, pp. 114-131, June 2003. (pdf)
  • H. Balakrishnan, M.F. Kaashoek, D. Karger, R. Morris, I. Stoica, "Looking up data in P2P systems", Communications of the ACM, Vol. 46, No. 2, pp. 43-48, Feb. 2003. (pdf)
  • W. Emmerich, "Software engineering and middleware: a roadmap", Prof. of the Conference on The Future of Software Engineering, pp. 117-129, 2000. (pdf)
  • I. Stoica, R. Morris, D. Liben-Nowell, D.R. Karger, M.F. Kaashoek, F, Dabek, H. Balakrishnan, "Chord: a scalable peer-to-peer lookup protocol for Internet applications", IEEE/ACM Trans. Netw., Vol. 11, No. 1, pp. 17-32, Feb. 2003. (pdf)
  • J.O. Kephart, D.M. Chess, "The vision of autonomic computing", IEEE Computer, Vol. 36, No. 1, Jan. 2003. (pdf)
  • D. Weyns, B. Schmerl, V. Grassi, S. Malek, R. Mirandola, C. Prehofer, J. Wuttke, J. Andersson, H. Giese, K. Göschka, "On patterns for decentralized control in self-adaptive systems", In Software Engineering for Self-Adaptive Systems II, 2013. (pdf)
  • Examples of self-adaptive software systems

  • V. Cardellini, E. Casalicchio, V. Grassi, S. Iannucci, F. Lo Presti, R. Mirandola, "MOSES: a framework for QoS driven runtime adaptation of service-oriented systems", IEEE Transactions on Software Engineering, Vol. 38, No. 5, Sept./Oct. 2012. (pdf)
  • P. Jamshidi, A. Ahmad, and C. Pahl, "Autonomic resource provisioning for cloud-based software", Proc. of SEAMS '14, 2014. (pdf)

Comunicazione nei SD

  • E. Petron, "Remote Procedure Calls", Linux Journal, Oct. 1997. (html)
  • Trail: RMI (The Java tutorials) (html)
  • T. Treat, "You cannot have exactly-once delivery", 2015. (html)
  • A. A. Donovan, B. W. Kernighan, ch. 1 of "The Go Programming Language", Addison-Wesley, 2015. (pdf)
  • M. Castro, P. Druschel, A-M. Kermarrec, A. Rowstron, "Scribe: A large-scale and decentralised application-level multicast infrastructure", IEEE Journal on Selected Areas in Communications, Oct. 2002. (pdf)
  • P. Th. Eugster, R. Guerraoui, A.-M. Kermarrec, L. Massoulie, "From epidemics to distributed computing", IEEE Computer, Vol. 37, No. 5, pp. 60-67, May 2004. (pdf)
  • A.-M. Kermarrec, M. van Steen, "Gossiping in distributed systems", ACM Operating System Review, Vol. 41, No. 5, Oct. 2007. (pdf)
  • M. Jelasity, "Gossip", In Self-Organising Software: From Natural to Artificial Adaptation, Springer, pp. 139-162, 2011. (pdf)
  • M. Portmann, A. Seneviratne, "The cost of application-level broadcast in a fully decentralized peer-to-peer network", Proc. of ISCC 2002, 2002. (pdf)
  • K.P. Birman, M. Hayden, O. Ozkasap, Z. Xiao, M. Budiu, Y. Minsky, "Bimodal multicast", ACM Trans. Comput. Syst., Vol. 17, No. 2, pp. 41-88, May 1999. (pdf)

Virtualizzazione

  • K. Hwang, J. Dongarra, G.C. Fox, "Virtual machines and virtualization of clusters and data centers", chapter 3 of Distributed and Cloud Computing, Morgan Kaufmann, 2011. (pdf)
  • J. Daniels, "Server virtualization architecture and implementation", Crossroads, Sept. 2009. (pdf)
  • J.E. Smith, R. Nair, "The architecture of virtual machines", IEEE Computer, pp. 32-38, May 2005. (pdf)
  • OS-level virtualization

  • D. Bernstein, "Containers and cloud: from LXC to Docker to Kubernetes", IEEE Cloud Computing, Vol. 1, No. 3, pp. 81-84, Sept. 2014. (pdf)
  • C. Pahl, "Containerisation and the PaaS Cloud", IEEE Cloud Computing, Vol. 2, No. 3, pp. 24-31, May 2015. (pdf)
  • C. Wang, "Containers 101: Linux containers and Docker explained", InfoWorld, 2016. (html)
  • J. Guo, "Demystifying container vs VM-based security: Security in plaintext", Google Cloud blog, 2017. (html)
  • Performance of hypervisors, containers, and LV approaches

  • J. Hwang, S. Zeng, F. Wu, T. Wood, "A component based performance comparison of four hypervisors", Proc. of IFIP/IEEE Integrated Network Management Symposium (IM 2013), May 2013. (pdf)
  • J. Li, Q. Wang, D. Jayasinghe, J. Park, T. Zhu, C. Pu, "Performance overhead among three hypervisors: an experimental study using Hadoop benchmarks", Proc. of IEEE Big Data, 2013. (pdf)
  • B. Xavier, T. Ferreto, L. Jersak, "Time provisioning evaluation of KVM, Docker and unikernels in a cloud platform", Proc. of IEEE/ACM CCGrid '16, 2016. (pdf)
  • F. Manco, C. Lupu, F. Schmidt, J. Mendes, S. Kuenzer, S. Sati, K. Yasukata, C. Raiciu, F. Huici, "My VM is lighter (and safer) than your container", Proc. of SOSP '17, 2017. (pdf)

Architetture a microservizi e serverless

  • J. Lewis, M. Fowler, "Microservices", 2014. (html)
  • P. Jamshidi, C. Pahl, N. C. Mendonça, J. Lewis and S. Tilkov, "Microservices: The Journey So Far and Challenges Ahead", IEEE Software, Vol. 35, No. 3, 2018. (pdf)
  • M. Roberts, "Serverless Architectures", 2018. (html)

Sincronizzazione nei SD

  • L. Lamport, "Time, clocks and the ordering of events in a distributed system", ACM Communications, Vol. 21, No. 7, pp. 558-565, July 1978. (pdf)
  • M. Raynal, M. Singhal, "Logical time: Capturing causality in distributed systems", IEEE Computer, Feb. 1996. (pdf)
  • C. Baquero, N. Preguiça, "Why logical clocks are easy", ACM Queue, Jan. 2016. (pdf)

Consistenza e replicazione nei SD

  • E. Brewer, "CAP twelve years later: how the "rules" have changed", IEEE Computer, Feb. 2012. (pdf)
  • D.K. Gifford, "Weighted voting for replicated data", Proc. of the 7th ACM Symposium on Operating Systems Principles, Dec. 1979. (pdf)
  • W. LLoyd, M. Freedman, M. Kaminsky, D. Andersen, "A short primer on causal consistency", USENIX; login, 2013. (pdf)
  • D.B. Terry, A.J. Demers, K. Petersen, M.J. Spreitzer, M.M Theimer, B.B. Welch, "Session guarantees for weakly consistent replicated data", Proc. of the 3rd Int'l Conference on Parallel and Distributed information Systems, pp. 140-150, 1994. (pdf)
  • W. Vogels, "Eventually consistent", Communications of the ACM, Vol. 52, No. 1, pp. 40-44, Jan. 2009. (pdf)
  • F. Dabek, R. Cox, F. Kaashoek, R. Morris "Vivaldi: A decentralized network coordinate system", Proc. of ACM SIGCOMM '04, 2004. (pdf)

Tolleranza ai guasti nei SD

  • A. Avizienis, J.-C. Laprie, B. Randell, C. Landwehr, "Basic concepts and taxonomy of dependable and secure computing", IEEE Trans. on Dependable and Secure Computing, 2004. (pdf)
  • L. Lamport, "Paxos made simple", ACM SIGACT News, Vol. 32, No. 4, Dec. 2001. (pdf)
  • D. Ongaro and J. Ousterhout, "In search of an understandable consensus algorithm", Proc. of USENIX Annual Technical Conference 2014, 2014. (pdf)
  • The Paper Trail, "Consensus Protocols: Paxos", 2009. (html)

Sistemi di Cloud storage

  • G. DeCandia, D. Hastorun, M. Jampani, G. Kakulapati, A. Lakshman, A. Pilchin, S. Sivasubramanian, P. Vosshall, W. Vogels, "Dynamo: Amazon's highly available key-value store", Proc. of the 21 ACM SIGOPS Symposium on Operating Systems Principles (SOSP '07), pp. 205-220, 2007. (pdf)
  • S. Ghemawat, H. Gobioff, S.-T. Leung, "The Google File System", Proc. of the 19th ACM SIGOPS Symposium on Operating Systems Principles (SOSP '03), 2003. (html)
  • H. Hu, Y. Wen, T.-S. Chua, X. Li, "Toward scalable systems for Big Data analytics: a technology tutorial", IEEE Access, Vol. 2, pp. 652-687, 2014. (html)

Sistemi Web distribuiti

  • V. Cardellini, E. Casalicchio, M. Colajanni, P.S. Yu, "The state of the art in locally distributed Web-server systems", ACM Computing Surveys, Vol. 34, No. 2, pp. 263-311, June 2002. (pdf)
  • R. Nishtala, H. Fugal, S. Grimm, M. Kwiatkowski, H. Lee, H.C. Li, R. McElroy, M. Paleczny, D. Peek, P. Saab, D. Stafford, T. Tung, and V. Venkataramani, "Scaling Memcache at Facebook", Proc. of 10th USENIX Conference on Networked Systems Design and Implementation (NSDI'13), pp. 385-398, 2013. (pdf)

Sistemi Web geografici per content delivery

  • B.M. Maggs and R.K. Sitaraman, "Algorithmic nuggets in content delivery", SIGCOMM Comput. Commun. Rev., July 2015. (pdf)
  • R.K. Sitaraman, M. Kasbekar, W. Lichtenstein, and Manish Jain, "Overlay networks: an Akamai perspective", In Advanced Content Delivery, Streaming, and Cloud Services, John Wiley & Sons, 2014. (pdf)
  • R. Torres, A. Finamore, Jin Ryong Kim, M. Mellia, M.M. Munafo, S. Rao, "Dissecting video server selection strategies in the YouTube CDN", Proc. of IEEE 31 Int'l Conf. on Distributed Computing Systems (ICDCS '11), pp. 248-257, June 2011. (pdf)

Video

Video di presentazioni utili per approfondire alcuni argomenti avanzati del corso.

Programmazione RPC

Esempi SUN RPC
Argomento Codice
Square
(tratto da Stevens, "Network Programming Vol. 2")
square.zip
Echo
echo.zip
Average
(tratto da E. Petron, "Remote Procedure Calls")
avg.zip
Remote directory listing
(tratto da "ONC+ Developers Guide")
rls.zip

Esempi Java RMI
Argomento Codice
Echo
echo_rmi.zip
Compute engine
http://docs.oracle.com/javase/tutorial/rmi

Esempi RPC in Go
Argomento Codice
Operazioni aritmetiche
arithmetic.zip

Altri link utili

I seguenti link forniscono delle fonti per approfondimenti.


Programma provvisorio

Introduzione ai sistemi distribuiti
Introduzione al Cloud computing
Architetture per sistemi distribuiti
Comunicazione nei sistemi distribuiti
Introduzione alla programmazione in Go
Virtualizzazione
Architetture a microservizi e serverless
Coordinazione e sincronizzazione nei sistemi distribuiti
Consistenza e replicazione nei sistemi distribuiti
Tolleranza ai guasti nei sistemi distribuiti
Sistemi e servizi per content delivery
Data storage nel Cloud
Amazon Web Services
Esempi di sistemi e servizi distribuiti e Cloud

Esami

Modalità di esame

L'esame si compone di:

  • Prova scritta;
  • Progetto e relativa discussione;
  • Prova orale facoltativa.
Prova scritta

La prova scritta verte sugli argomenti dell'intero corso e prevede domande a risposta aperta ed esercizi. Si raccomanda di sostenere la prova scritta prima del progetto.

In alternativa alla prova scritta, si terranno due prove scritte intermedie. Tali prove intermedie possono essere sostenute soltanto dagli studenti immatricolati al primo anno della Laurea Magistrale nell'A.A. 2018/19 e dagli studenti immatricolati in anni precedenti e che optano per il programma dell'A.A. 2018/19.
Se entrambe le prove intermedie saranno superate positivamente, verrà proposto un voto finale per la prova scritta. Non è possibile recuperare le prove intermedie in modo parziale.
Non ci sono vincoli sulla partecipazione alle prove (eccetto la prenotazione obbligatoria per le prove scritte).
Tuttavia, la partecipazione ad una prova scritta comporta la rinuncia automatica ad un voto sufficiente conseguito in una prova scritta precedente.
Gli studenti immatricolati in anni precedenti all'A.A. 2018/19 e che intendono sostenere le prove intermedie devono comunicarlo alla docente.

Prova orale facoltativa

La prova orale è facoltativa e verte su tutto il programma del corso. E' possibile sostenere la prova orale facoltativa in un appello diverso da quello in cui si è sostenuto la prova scritta, purchè nella stessa sessione.
E' possibile sostenere la prova scritta e l'eventuale prova orale in una stessa sessione e posticipare la discussione del progetto ad un'altra sessione.

Progetto

Prove scritte di anni precedenti

Appelli

  • I prova intermedia
    Lunedì 26 novembre 2018, ore 9:00 aula 2 edificio Didattica.
    Per la prenotazione, usare il servizio di prenotazione su Delphi entro giovedì 22 novembre.
    In caso di problemi con il servizio, inviarmi una e-mail entro il 22 novembre, indicando nel subject [SDCC prenotazione I intermedia] e nel testo cognome, nome e numero di matricola.
    Testo
  • II prova intermedia
    Lunedì 14 gennaio 2019, ore 9:30 aula B3 edificio Didattica.
  • I appello sessione invernale
    Prova scritta: lunedì 4 febbraio 2019, ore 9:00 aula B6 edificio Didattica.
  • II appello sessione invernale
    Prova scritta: martedì 26 febbraio 2019, ore 9:00 aula B6 edificio Didattica.
  • I appello sessione estiva
  • II appello sessione estiva
  • I appello sessione autunnale
  • II appello sessione autunnale