28871 - SOFTWARE PER LE TELECOMUNICAZIONI T-A

Anno Accademico 2023/2024

  • Docente: Daniele Tarchi
  • Crediti formativi: 6
  • SSD: ING-INF/03
  • Lingua di insegnamento: Italiano

Conoscenze e abilità da conseguire

Al termine del corso lo studente è introdotto agli aspetti di programmazione orientata allo sviluppo di servizi e applicazioni per le telecomunicazioni su sistemi mobili.

Contenuti

Il corso di Software per le Telecomunicazioni e Laboratorio T-1 è costituito da tre moduli, di cui il Modulo 1 e 2 sono erogati in serie, mentre il Modulo 3 in parallelo ai precedenti.

Il corso di Software per le Telecomunicazioni T-A è costituito dai Moduli 1 e 2 del corso Software per le Telecomunicazioni e Laboratorio T-1.

Il Modulo 1, da 30 ore, è orientato all'introduzione dei linguaggi di programmazione per la successiva implementazione e sviluppo dei servizi di telecomunicazioni. Java è il linguaggio di programmazione utilizzato

  • Introduzione al corso. Il software nelle Telecomunicazioni. I Sistemi operativi mobili.
  • Ambiente di Sviluppo.
  • Introduzione a Java
  • Gli operatori Java.
  • Selezioni e iterazioni in Java.
  • I metodi in Java.
  • Gli array in Java.
  • Classi e oggetti in Java.
  • Ereditarietà in Java
  • Le interfacce in Java
  • Le eccezioni in Java
  • Le telecomunicazioni e le applicazioni. I paradigmi di comunicazione (Client/Server, Peer-to-Peer). Cenni ai protocolli. Il protocollo HTTP
  • Le librerie Java I/O e Java Net
  • Accesso ai File in Java
  • Implementazione di Socket di rete

Il Modulo 2, da 30 ore, è orientato all'implementazione e sviluppo dei servizi di telecomunicazioni. Android è il sistema operativo di riferimento per lo sviluppo delle applicazioni .

  • L'ambiente di Sviluppo: Android Studio; Installazione; Hello World App. Il sito Android Developer. Gli esempi su Android Developer.
  • Creazione di una app base interattiva
  • Le Risorse in Android: Risorse statiche; Utilizzo delle risorse a run time
  • Le Activity Android.
  • Gli intent espliciti; Esercitazione sulla creazione di una app multi-schermo
  • Gli intent Impliciti. Esercitazione sulla creazione di una app che sfrutta i servizi di sistema Android
  • La User Interface: View e Layout; Esercitazione sulla creazione della User Interface
  • Gestione della persistenza: Salvataggio delle preferenze; Esercitazione sul salvataggio delle preferenze.
  • I sensori in Android: Gestione dei sensori diretti; I sensori indiretti. Esercitazione sulla gestione dei sensori.
  • Gestione dei File in Android
  • Accesso al Web in Android; download di immagini.

Il Modulo 3, da 30 ore, è mutuato dal corso di Laboratorio di Software per le Telecomunicazioni T, alla cui pagina si rimanda per i contenuti.

Testi/Bibliografia

Le slide delle lezioni saranno rese disponibili su Virtuale.

Testi di consultazione per il modulo 1:

  • Quentin Charatan, Aaron Kans, "Java in Two Semesters - Featuring JavaFX", Fourth Edition, Springer Nature Switzerland, 2019
  • Massimo Carli, “Android 9 – Guida per lo sviluppo di applicazioni mobili”, Apogeo, 2019
  • Michael Burton, "Android App Development For Dummies", 3rd Edition, Wiley, 2016
  • James F. Kurose, Keith W. Ross "Reti di calcolatori e internet - Un approccio top-down", 8th Edition, Pearson, 2022

Guida di riferimento per lo sviluppo Android:

  • http://developer.android.com

Metodi didattici

Lezioni frontali e in laboratorio orientate all'implementazione delle nozioni impartite a lezione.

In considerazione della tipologia di attività e dei metodi didattici adottati, la frequenza di questa attività formativa richiede la preventiva partecipazione di tutti gli studenti ai moduli 1 e 2 di formazione sulla sicurezza nei luoghi di studio, in modalità e-learning.

Modalità di verifica e valutazione dell'apprendimento

La verifica dell'apprendimento verrà svolta attraverso un esame scritto a cui seguirà la discussione del progetto sviluppato attraverso la presentazione di una app Android funzionante.

L'esame scritto sarà volto alla verifica dell'apprendimento delle basi della programmazione Java. La verifica avviene su piattaforma EOL tramite test con quiz a risposta multipla e domande aperte, per un totale di 14 quesiti, il cui punteggio dipende dalla difficoltà di ogni domanda. Il tempo a disposizione dello studente per la prova scritta è di 70 minuti. Durante la prova non è ammesso l'uso di materiale di supporto quale: libri di testo, appunti, supporti informatici. Il punteggio massimo ottenibile fornendo tutte risposte esatte e complete è quindi pari a 31. La prova si intende superata con un punteggio minimo di 18/30.

Gli studenti potranno organizzarsi in gruppi di due/tre componenti, ai quali sarà assegnato un progetto di app Android che dovranno sviluppare. E' fatta salva la possibilità agli studenti di proporre un progetto di app da concordare con il docente.

All'esame orale gli studenti dovranno fare una breve presentazione (circa 5 minuti) della propria app utilizzando un approccio Elevator Pitch, per illustrare obiettivo, architettura, maggiori complessità e sfide future del progetto sviluppato. Seguirà un colloquio individuale in cui ogni studente dovrà illustrare la porzione di codice sviluppata.

Il voto finale sarà composto dalla media della prova scritta, della valutazione del progetto Android e dalla valutazione relativa al modulo di Laboratorio di Software per le Telecomunicazioni T

Strumenti a supporto della didattica

PC Windows/Linux/MacOS per l'installazione degli applicativi di sviluppo

Orario di ricevimento

Consulta il sito web di Daniele Tarchi

Consulta il sito web di Davide Borsatti

SDGs

Imprese innovazione e infrastrutture Partnership per gli obiettivi

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