Mobile computing

A.A. 2025/2026
9
Crediti massimi
96
Ore totali
SSD
INF/01
Lingua
Italiano
Obiettivi formativi
L'insegnamento ha lo scopo di presentare le problematiche caratteristiche dei dispositivi mobili e le relative soluzioni. A tale scopo l'insegnamento mostrerà come applicare, al contesto dei dispositivi mobili, quanto gli studenti hanno già appreso in altri insegnamenti del corso di laurea, tra cui interazione uomo-macchina, sistemi operativi, reti di calcolatori, basi di dati e web. Particolare attenzione sarà data agli aspetti inerenti lo sviluppo di applicazioni per dispositivi mobili.
Risultati apprendimento attesi
Lo studente conoscerà le soluzioni adottate per risolvere i principali problemi dei dispositivi mobili e relativi ai sistema operativi, alle reti di comunicazione, alle tecniche di trattamento dell'informazione e allo sviluppo di applicazioni. Lo studente sarà inoltre in grado di sviluppare applicazioni prototipali per dispositivi mobili.
Corso singolo

Questo insegnamento non può essere seguito come corso singolo. Puoi trovare gli insegnamenti disponibili consultando il catalogo corsi singoli.

Programma e organizzazione didattica

Edizione unica

Responsabile
Periodo
Primo semestre

Programma
PRIMO MODULO: Fondamenti del Mobile Computing
- Caratteristiche del mobile computing (3 ore di didattica frontale)
- Sistemi operativi per dispositivi mobili (3 ore di didattica frontale)
- Reti e architetture (3 ore di didattica frontale)
- Tecniche per l'acquisizione della posizione outdoor e gestione dei dati spazio-temporali (3 ore di didattica frontale)
- Analisi e progettazione della user experience (3 ore di didattica frontale)
- Progettazione interna del codice (3 ore di didattica frontale)
- Tecniche di sviluppo di applicazioni per dispositivi mobili (3 ore di didattica frontale)
- Testing e debugging di applicazioni per dispositivi mobili (3 ore di didattica frontale)
24 ore di didattica frontale (8 lezioni da 3 ore)

SECONDO MODULO: sviluppo di applicazioni mobile Cross-Platform
- Introduzione a React (2 ore di didattica frontale, 1 ora di esercitazione)
- Composizione delle componenti in React (2 ore di didattica frontale, 1 ora di esercitazione)
- Introduzione a React Native (2 ore di didattica frontale, 1 ora di esercitazione)
- Composizione delle componenti e organizzazione del codice in React Native (2 lezioni, ciascuna da 1 ora di didattica frontale e 2 ore di lavoratorio)
8 ore di didattica frontale, 7 ore di laboratorio

TERZO MODULO: sviluppo Android
Programmazione Android in Kotlin
- Introduzione a Kotlin (1 ora frontale, 2 di laboratorio)
- Kotlin Object Oriented (2 lezioni, ciascuna di 1 ora frontale, 2 di laboratorio)
- Introduzione alla programmazione Android in Kotlin (1 ora frontale, 2 di laboratorio)
- Composizione di componenti e sviluppo della View (1 ora frontale, 2 di laboratorio)
- Sviluppo del model (Repository, chiamate di rete e memorizzazione persistente) (2 lezioni, ciascuna da 1 ora frontale, 2 di laboratorio)
- Calcolo della posizione e mappe (1 ora frontale, 2 di laboratorio)
8 ore di didattica frontale, 16 ore di laboratorio

Supporto allo svolgimento del progetto
- La progettazione della GUI (1 ora frontale, 2 di laboratorio)
- Implementazione della View (2 lezioni, ciascuna di 1 ora frontale, 2 di laboratorio)
- Implementazione del Model (1 ora frontale, 2 di laboratorio)
- Implementazione della gestione degli eventi e del ViewModel (1 ora frontale, 2 di laboratorio)
- Implementazione della comunicazione di rete (1 ora frontale, 2 di laboratorio)
- Implementazione della memorizzazione persistente (1 ora frontale, 2 di laboratorio)
- Implementazione del calcolo della posizione e delle mappe (1 ora frontale, 2 di laboratorio)
- Esercitazione guidata (3 lezioni, ciascuna da 3 ore di lavoratorio)
8 ore di didattica frontale, 25 ore di laboratorio
Prerequisiti
È fortemente consigliato il superamento degli esami di Sistemi Operativi, Basi di Dati e Web, Reti, Programmazione 1 e 2, Applicazioni web e cloud.
Prima dell'inizio dell'insegnamento lo studente deve essere in grado di saper scrivere un programma, meglio se in Java e di saper creare pagine web dinamiche, meglio se usando le tecnologie HTML, CSS e JavaScript.
Metodi didattici
Il modulo di fondamenti del mobile computing prevede lezioni frontali.
Il modulo di sviluppo cross platform prevede principalmente lezioni frontali, con qualche esercitazione in aula.
Il modulo di sviluppo Android prevede circa un terzo delle ore svolte in modo frontale e le rimanenti ore svolte come laboratorio durante il quale gli studenti svolgono in aula esercizi proposti dal docente. Parte delle ore di laboratorio viene anche dedicata a supportare gli studenti nello svolgimento del progetto d'esame.
Materiale di riferimento
Il docente fornisce dispense e le slide delle lezioni, che costituiscono la base del materiale da studiare. Le slide stesse includono puntatori a risorse online da consultare per lo studio.
Modalità di verifica dell’apprendimento e criteri di valutazione
L'insegnamento è organizzato in tre moduli: fondamenti del mobile computing (circa 3CFU), sviluppo cross platform (circa 1,5CFU) e sviluppo Android (circa 4,5 CFU). Sono previste due prove d'esame, una per i primi due moduli, una per il terzo.
La prima prova (primi due moduli) prevede un esame scritto o orale.
Per la seconda prova (terzo modulo) gli studenti devono svolgere un progetto (sia con tecnologia Android che cross platform) a casa, possibilmente in gruppo. Durante una prova d'esame in aula, ciascuno studente deve apportare al progetto le modifiche richieste dal docente.
Ciascuna prova ha una votazione da 1 a 31. Per superare l'esame dell'intero insegnamento lo studente deve ottenere una votazione maggiore o uguale a 18 in ciascuna prova. Il voto finale è calcolato come la media dei voti delle tre prove. Se il voto finale è maggiore di 30, sarà verbalizzato il voto di "30 e lode".
INF/01 - INFORMATICA - CFU: 9
Laboratori: 48 ore
Lezioni: 48 ore
Docente: Mascetti Sergio
Turni:
Turno
Docente: Mascetti Sergio
Docente/i
Ricevimento:
Su appuntamento
Dipartimento di Informatica, via Celoria, 18, Stanza 7009 (settimo piano)