Nuova ricerca

Claudia CANALI

Professore Associato
Dipartimento di Ingegneria "Enzo Ferrari"

Insegnamento: Internet, Web e Cloud

Ingegneria informatica (MN) (Offerta formativa 2024)

Obiettivi formativi

Il corso mira a fornire i concetti di base sulle architetture e sui protocolli principali delle reti di calcolatori. L'attenzione è concentrata sui livelli dello stack di protocolli TCP/IP, sulle topologie di rete, sulle architetture Web e sui sistemi di Cloud Computing. Verranno forniti inoltre i rudimenti per lo sviluppo e la programmazione di una semplice applicazione Web basata su Django

Prerequisiti

Nessun prerequisito obbligatorio
Fortemente consigliato: Fondamenti di programmazione

Programma del corso

Protocolli Internet (5 CFU)
Internet e reti di calcolatori: panoramica introduttiva alla rete Internet, livelli ISO/OSI.
Livello di applicazione: protocolli HTTP, FTP, posta elettronica, DNS.
Livello di trasporto: protocolli UDP e TCP, trasferimento affidabile dei dati
Livello di rete: protocollo IP, instradamento unicast, broadcast e multicast.
Livello di collegamento: rilevazione e correzione di errori, accesso a mezzo condiviso, Ethernet

Web e Cloud (2 CFU)
- Paradigma client-server
- World Wide Web
- Tecnologie Web Server-side e client-side
- Paradigmi del cloud computing
- Architetture per servizi di Cloud e Edge Computing

Sviluppo Web (2 CFU)
- Principi di sviluppo di una applicazione Web basata sul framework Django

Metodi didattici

Il corso consta principalmente di lezioni frontali con laboratori dedicati a fornire le basi della programmazione Web. Infine si prevedono una o due lezioni a carattere seminariale.

Testi di riferimento

- J. Kurose, K. Ross "Reti di Calcolatori e Internet", 7ma ed. edito da Pearson
- Dispense delle lezioni

Verifica dell'apprendimento

La verifica consisterà in una prova scritta e in un progetto

La parte scritta consisterà in una serie (una quindicina) di domande a risposta multiple più 2-3 domande a risposta aperta

Il progetto consisterà nello sviluppo di un semplice applicativo Web basato su un framework Python (Django) visto a lezione

Il voto dello scritto peserà per il 70% e quello del progetto per il 30% sul voto complessivo

Risultati attesi

Conoscenza e capacità di comprensione. Gli studenti avranno solide conoscenze e capacità di comprensione nei seguenti ambiti:
- protocolli di rete e stack TCP/IP
- architetture client-server e Web
- tecnologie per lo sviluppo Web e Cloud

Capacità di applicare conoscenza e comprensione. Tramite le esercitazioni pratiche lo studente è in grado di applicare le conoscenze acquisite per realizzare semplici applicazioni di rete, incluse piccole applicazioni Web e Cloud

Autonomia di giudizio. Capacità di riconoscere e valutare le caratteristiche e le prestazioni delle applicazioni di rete. Tra gli obiettivi in termini di autonomia di giudizio, particolare rilevanza è attribuita alla stimolazione della capacità dello studente di selezionare gli opportuni metodi e strumenti per risolvere il problema proposto

Abilità comunicative. La prova orale consente allo studente di sviluppare la capacità di esprimere i concetti appresi con linguaggio appropriato e sostenere una discussione in merito agli argomenti trattati. Al termine del corso lo studente deve essere in grado di esporre e rielaborazione i concetti appresi

Capacità di apprendimento. Le attività descritte consentono allo studente di acquisire gli strumenti metodologici per poter autonomamente provvedere all'aggiornamento e all'approfondimento della materia. Tali capacità di apprendimento continuo e autonomo sono necessarie anche a causa delle caratteristiche della disciplina, l'Informatica, in continua e rapida evoluzione.