69775 - LABORATORIO DI RETI E PROGRAMMAZIONE DISPOSITIVI MOBILI

Scheda insegnamento

SDGs

L'insegnamento contribuisce al perseguimento degli Obiettivi di Sviluppo Sostenibile dell'Agenda 2030 dell'ONU.

Imprese innovazione e infrastrutture

Anno Accademico 2021/2022

Conoscenze e abilità da conseguire

Al termine del corso lo studente è in grado di progettare e gestire un'infrastruttura di rete per uso aziendale e di configurare e programmare applicazioni per dispositivi mobili. In particolare, lo studente acquisirà, mediante lezioni in aula ed esperienza pratica in laboratorio, le conoscenze necessarie al dimensionamento, configurazione e messa in opera di una rete privata di telecomunicazioni e alla progettazione e sviluppo di applicazioni per dispositivi mobili quali smartphone e tablet PC. Le esercitazioni pratiche in laboratorio rappresentano una parte consistente del corso.

Contenuti

Il corso ha l'obiettivo di fornire le competenze fondamentali per il progetto, l'amministrazione, il monitoraggio e la gestione di reti aziendali basate sui protocolli TCP/IP, e per lo sviluppo di applicazioni per dispositivi mobili.

Gli argomenti specifici affrontati sono i seguenti:

  • Cenni al sistema operativo Linux come piattaforma per l'amministrazione di reti
  • Strumenti software per l'analisi dei protocolli: wireshark, tcpdump
  • Cenni alle problematiche di sicurezza nelle reti, protocollo SSH
  • Indirizzamento e pianificazione delle reti IP, subnetting
  • Configurazione di interfacce di rete e di server DHCP
  • Gestione di switch Ethernet e configurazione di LAN virtuali (VLAN)
  • Inoltro di pacchetti IP, strumenti per implementare firewall e NAT
  • Studio e configurazione di una implementazione open-source di router IP
  • Introduzione alla programmazione di dispositivi mobili
  • Programmazione «ibrida» di app (in contrapposizione alla programmazione nativa e alle web-app)
  • Elementi di HTML5, Javascript, CSS come strumenti per lo sviluppo di app
  • Utilizzo di software open-source (Apache Cordova) per lo sviluppo di app mediante le tecnologie web
  • Utilizzo di plugin che consentono di sfruttare le funzionalità del dispositivo mobile
  • Sviluppo di applicazioni in laboratorio

Testi/Bibliografia

M. L. Merani, M. Casoni, W. Cerroni,  Hands-On Networking. From Theory to Practice, Cambridge University Press, UK, 2009, ISBN-13: 9780521869850.

Dispense fornite dal docente. 

Comandi man e info del sistema operativo Linux. 

Documentazione on-line suggerita dal docente. 

Metodi didattici

Il corso consiste in lezioni frontali, per introdurre argomenti specifici e approfondirne gli aspetti più operativi, ed esercitazioni pratiche in laboratorio. Particolare enfasi è data alle esercitazioni, che sono essenziali per poter acquisire una comprensione completa anche degli aspetti pratici relativi al progetto e alla gestione di reti di telecomunicazioni e alla programmazione di applicazioni per dispositivi mobili.

Allo scopo di motivare lo studente e stimolarne l'interesse, ciascuna esercitazione è strutturata in modo da conseguire determinati obiettivi pratici che sono anche funzionali allo svolgimento di quelle successive. Le esercitazioni sono inoltre pensate per stimolare la capacità degli studenti a lavorare in gruppo.

Modalità di verifica e valutazione dell'apprendimento

La verifica finale consiste in due parti:

  • Modulo 1: una prova scritta, in cui si chiede di eseguire il progetto di una rete di telecomunicazioni, dal piano di indirizzamento alla configurazione degli apparati;
  • Modulo 2: un prova scritta e pratica. La prova scritta consiste nel rispondere ad una serie di domande a risposta multipla sulle tecnologie web; la prova pratica consiste nella scrittura di codice per applicazioni mobili.

Entrambe le prove presuppongono l'applicazione dei concetti teorico/pratici appresi durante il corso. Le esercitazioni di laboratorio sono fondamentali per poter superare la verifica finale con successo, grazie alle capacità di "problem solving" affinate durante le sessioni pratiche.

Strumenti a supporto della didattica

Software per l'analisi dei protocolli.

PC dotati di sistema operativo Linux e software per la gestione di servizi di rete.

Switch Ethernet.

Software per lo sviluppo di applicazioni mobili.

Videoproiettore per lezioni in aula.

Orario di ricevimento

Consulta il sito web di Walter Cerroni

Consulta il sito web di Enrico Paolini