SISTEMI ORIENTATI AD INTERNET
cod. 18305

Anno accademico 2018/19
2° anno di corso - Primo semestre
Docente
Michele AMORETTI
Settore scientifico disciplinare
Sistemi di elaborazione delle informazioni (ING-INF/05)
Ambito
Ingegneria informatica
Tipologia attività formativa
Caratterizzante
48 ore
di attività frontali
6 crediti
sede: PARMA
insegnamento
in ITALIANO

Obiettivi formativi

Conoscenze e capacità di comprendere - Mediante le lezioni frontali tenute durante il corso, lo studente acquisirà i metodi e le conoscenze necessari a comprendere il funzionamento di Internet. Lo studente apprenderà le principali tecnologie Web e il linguaggio di programmazione JavaScript. Lo studente apprenderà inoltre i principi e le tecnologie delle architetture orientate ai servizi, nonché i principi della progettazione e sviluppo di applicazioni Cloud. Infine, lo studente acquisirà competenze sulle principali architetture e protocolli dei sistemi peer-to-peer.
Capacità di applicare conoscenza e comprensione - Mediante le lezioni frontali e le esercitazioni pratiche svolte in classe relativamente ad alcuni argomenti del programma, lo studente apprenderà come applicare le conoscenze acquisite in un contesto reale di progettazione. In particolare, lo studente imparerà a: sviluppare pagine Web dinamiche, sviluppare applicazioni Web, progettare e realizzare servizi Web, progettare e realizzare applicazioni cloud, progettare e realizzare applicazioni di tipo peer-to-peer.
Autonomia di giudizio - Lo studente dovrà essere in grado di comprendere e valutare in maniera critica le principali tipologie di sistemi orientati ad Internet.
Capacità comunicative - Tramite le lezioni frontali e il confronto con il docente, lo studente acquisirà il lessico specifico inerente i sistemi orientati ad Internet. Ci si attende che, al termine del corso, lo studente sia in grado di trasmettere, in forma orale e in forma scritta, i principali contenuti del corso, quali idee, problematiche ingegneristiche e relative soluzioni.
Capacità di apprendimento - Lo studente che abbia frequentato il corso sarà in grado di approfondire le proprie conoscenze in materia di sistemi orientati ad Internet attraverso la consultazione autonoma di testi specialistici, riviste scientifiche o divulgative, anche al di fuori degli argomenti trattati strettamente a lezione, al fine di affrontare efficacemente l’inserimento nel mondo del lavoro o intraprendere percorsi di formazione successivi.

Prerequisiti

- - -

Contenuti dell'insegnamento


1. Internet
2. Tecnologie Web di base
3. JavaScript
4. Architetture
orientate ai servizi e applicazioni cloud
5. Sistemi peer-to-peer

Programma esteso


1. Internet (4 ore) 1.1. Periferia della rete 1.2. Centro della rete 1.3. Ritardo, perdita di pacchetti e throughput 1.4. Stack protocollare 1.5. Applicazioni di rete 1.6. Cenni storici 2. Tecnologie Web di base (8 ore) 2.1. HTTP 2.2. Apache HTTP Server 2.3. HTML, CSS, XML e JSON 2.4. Motori di Ricerca 2.5. MVC 3. JavaScript (16 ore) 3.1. JavaScript lato client (basi del linguaggio, window object, DOM, eventi, AJAX, JQuery, storage, scripted graphics, tool di sviluppo, WebRTC) 3.2. JavaScript lato server (Node.js) 4. Architetture orientate ai servizi e applicazioni cloud (8 ore)
4.1. Concetti generali sulle SOA 4.2. Servizi di tipo SOAP 4.3 Servizi di tipo REST 4.4. Microservizi 4.5. OpenStack, sviluppo di applicazioni cloud 5. Sistemi peer-to-peer (12 ore) 5.1. Caratterizzazione qualitativa e quantitativa dei sistemi P2P 5.2.
Problematiche di progettazione dei sistemi P2P 5.3. Modelli HM, DUM,
DSM e LM 5.4. Sistemi peer-to-peer di tipo HM: SoulSeek, Napster, eMule, BitTorrent 5.5. Sistemi peer-to-peer di tipo DUM: Gnutella, Mute, Freenet 5.6. Sistemi peer-to-peer di tipo DSM: Kademlia, Chord 5.7. Sistemi peer-to-peer di tipo LM: Skype 5.8. Blockchain e Bitcoin

Bibliografia


M. Amoretti, dispense in inglese sugli argomenti del corso.
J. Kurose, K.
Ross, "Computer Networking: A Top Down Approach", ed. Addison-
Wesley, 2012.
D. Flanagan, "JavaScript - The Definitive Guide", ed. O’Reilly, 2011. M. Cantelon, M. Harter, T. J. Holowaychuck, N. Rajlich, "Node.js in action", ed. Manning, 2014.

Metodi didattici

Le attività didattiche saranno condotte privilegiando lezioni frontali in cui il docente spiega gli argomenti mostrando delle slide e scrivendo sulla lavagna. Alcune ore saranno dedicate ad esercitazioni pratiche sullo sviluppo di software per i sistemi orientati ad Internet. Il materiale didattico (comprendente slide, dispense, codice sorgente, articoli scientifici) verrà caricato con cadenza settimanale sulla piattaforma Elly. Per scaricare il materiale didattico è necessaria l’iscrizione al corso online. Si ricorda agli studenti non frequentanti di controllare il materiale didattico disponibile e le indicazioni fornite dal docente tramite la piattaforma Elly.

Modalità verifica apprendimento


La valutazione degli apprendimenti prevede due momenti: 1) una prova scritta della durata di 2 ore, articolata su domande aperte relative agli argomenti teorici del corso; 2) un progetto di sviluppo software basato sulle tecnologie illustrate durante il corso; è prevista la stesura di una breve relazione e la presentazione orale del lavoro svolto. La prova scritta è valutata con scala 0-30. Il progetto è valutato con scala 0-30. I due punteggi vengono mediati a formare il voto finale, con peso 0.4 per la prova scritta e 0.6 per il progetto. Non sono previste prove in itinere.

Altre informazioni

- - -

Obiettivi agenda 2030 per lo sviluppo sostenibile

- - -

Referenti e contatti

Numero verde

800 904 084

Segreteria studenti

E. segreteria.ingarc@unipr.it

Servizio per la qualità della didattica

Manager della didattica: 
Elena Roncai
T.+39 0521 903663
E. servizio dia.didattica@unipr.it
E. del manager elena.roncai@unipr.it

 

Presidente del corso di studio

Stefano Cagnoni
E. stefano.cagnoni@unipr.it
 

Delegato orientamento in ingresso

Agostino Poggi
E. agostino.poggi@unipr.it
 

Delegato orientamento in uscita

Francesco Zanichelli
E. francesco.zanichelli@unipr.it
 

Docenti tutor

Agostino Poggi
E. agostino.poggi@unipr.it

Delegati Erasmus

Luca Consolini
E. luca.consolini@unipr.it
 

Responsabile assicurazione qualità

Francesco Zanichelli
E. francesco.zanichelli@unipr.it

Studenti tutor

Andrea Tagliavini
E. andrea.tagliavini@unipr.it