Mobile computing
A.A. 2024/2025
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.
Periodo: Primo semestre
Modalità di valutazione: Esame
Giudizio di valutazione: voto verbalizzato in trentesimi
Corso singolo
Questo insegnamento può essere seguito come corso singolo.
Programma e organizzazione didattica
Edizione unica
Responsabile
Periodo
Primo semestre
Programma
PRIMO MODULO: Fondamenti del Mobile Computing
- Caratteristiche del mobile computing
- Sistemi operativi per dispositivi mobili
- Reti e architetture
- Tecniche per l'acquisizione della posizione outdoor e gestione dei dati spazio-temporali
- Analisi e progettazione di applicazioni per dispositivi mobili (progettazione delle interfacce e dell'organizzazione interna del codice)
- Sviluppo di applicazioni per dispositivi mobili
- Testing, debugging e deploy di applicazioni per dispositivi mobili
SECONDO MODULO: sviluppo Android
- Introduzione alla programmazione android
- sviluppo delle view
- sviluppo del model
- sviluppo del viewmodel
- Gestione dei Thread
- Comunicazione di rete
- Acquisizione della posizione
- Memorizzazione persistente
TERZO MODULO: sviluppo di applicazioni mobile Cross-Platform
- Ripasso di Javascript
- Javascript object oriented
- Introduzione a React
- Introduzione a React Native
- Comunicazione di rete
- Testing e debugging
- Interazione con il sistema operativo, acquisizione e uso della posizione
- Uso dei plugin
- Caratteristiche del mobile computing
- Sistemi operativi per dispositivi mobili
- Reti e architetture
- Tecniche per l'acquisizione della posizione outdoor e gestione dei dati spazio-temporali
- Analisi e progettazione di applicazioni per dispositivi mobili (progettazione delle interfacce e dell'organizzazione interna del codice)
- Sviluppo di applicazioni per dispositivi mobili
- Testing, debugging e deploy di applicazioni per dispositivi mobili
SECONDO MODULO: sviluppo Android
- Introduzione alla programmazione android
- sviluppo delle view
- sviluppo del model
- sviluppo del viewmodel
- Gestione dei Thread
- Comunicazione di rete
- Acquisizione della posizione
- Memorizzazione persistente
TERZO MODULO: sviluppo di applicazioni mobile Cross-Platform
- Ripasso di Javascript
- Javascript object oriented
- Introduzione a React
- Introduzione a React Native
- Comunicazione di rete
- Testing e debugging
- Interazione con il sistema operativo, acquisizione e uso della posizione
- Uso dei plugin
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.
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. I moduli di sviluppo (Android e cross platform) prevedono 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
Sono previste tre prove d'esame, una per ciascun modulo (fondamenti, sviluppo android, sviluppo cross platform).
La prima prova prevede un esame scritto o orale. Per la seconda e la terza prova, 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'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".
La prima prova prevede un esame scritto o orale. Per la seconda e la terza prova, 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'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
Lezioni: 48 ore
Docente:
Mascetti Sergio
Turni:
Turno
Docente:
Mascetti SergioSiti didattici
Docente/i
Ricevimento:
Su appuntamento
Dipartimento di Informatica, via Celoria, 18, Stanza 7009 (settimo piano)