73119 - SOFTWARE PER LE TELECOMUNICAZIONI E LABORATORIO T-1

Anno Accademico 2022/2023

  • Docente: Daniele Tarchi
  • Crediti formativi: 9
  • SSD: ING-INF/03
  • Lingua di insegnamento: Italiano
  • Moduli: Daniele Tarchi (Modulo 1) Alessandro Guidotti (Modulo 2)
  • Modalità didattica: Convenzionale - Lezioni in presenza (Modulo 1) Convenzionale - Lezioni in presenza (Modulo 2)
  • Campus: Bologna
  • Corso: Laurea in Ingegneria elettronica e telecomunicazioni (cod. 9065)

Conoscenze e abilità da conseguire

Al termine del corso lo studente è introdotto ai concetti fondamentali per la realizzazione di piattaforme di servizi e applicazioni di telecomunicazioni. Conosce i servizi per terminali fissi e mobili, i servizi di broadcasting e streaming, i servizi basati su interfacce web. È introdotto allo sviluppo di applicazioni software per la realizzazione pratica dei servizi trattati nel Corso di Software per le telecomunicazioni.

Contenuti

Il corso di Software per le Telecomunicazioni e Laboratorio T-1 è costituito da due moduli che vengono erogati in parallelo.

Il Modulo 1, da 60 ore, è orientato all'introduzione dei linguaggi di programmazione per l'implementazione e lo sviluppo dei servizi di telecomunicazioni. Java è il linguaggio di programmazione utilizzato, mentre Android è il sistema operativo di riferimento per lo sviluppo delle applicazioni. Il Modulo 2, da 30 ore, è mutuato dal corso di Laboratorio di Software per le Telecomunicazioni T, alla cui pagina si rimanda per i contenuti. 

I Modulo 1 è organizzato in tre parti.

Parte 1: Introduzione al corso e a Java (circa 20 ore)

  • 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

Parte 2: Introduzione ad Android e allo sviluppo delle app (circa 20 ore)

  • 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.

Parte 3: Le applicazioni di rete e loro implementazione su Java e Android (circa 20 ore)

  • 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
  • Gestione dei File in Android
  • Accesso al Web in Android; download di immagini.

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 Alessandro Guidotti

SDGs

Imprese innovazione e infrastrutture Partnership per gli obiettivi

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