Mobile computing

A.A. 2021/2022
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.
Programma e organizzazione didattica

Edizione unica

Responsabile
Periodo
Primo semestre
Le lezioni sono erogate in diretta online, nelle modalità stabilite sul sito del corso. Le lezioni sono inoltre registrate e rese disponibili sul sito del corso.
Programma
PRIMA PARTE: Fondamenti di 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

SECONDA PARTE: sviluppo Android
- Introduzione alla programmazione android
- sviluppo delle view
- sviluppo del model
- sviluppo del controller
- Thread
- Comunicazione di rete
- Acquisizione della posizione
- Memorizzazione persistente

TERZA PARTE: sviluppo di applicazioni mobile Cross-Platform
- Ripasso di Javascript
- Javascript object oriented
- Sviluppo di web app single-page responsive
- Comunicazione di rete
- Interfaccia grafica
- 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
Saper scrivere e mettere a punto un programma, meglio se in Java. Saper creare pagine web dinamiche, meglio se usando le tecnologie HTML, CSS e JavaScript.
Metodi didattici
La parte di fondamenti prevede lezioni frontali. Le parti di sviluppo 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 ciascuna parte del programma (fondamenti di mobile computing, sviluppo Android, sviluppo di applicazioni cross-platform).

Modalità d'esame per "Fondamenti di Mobile Computing"
E' prevista una prova scritta nelle sessioni di gennaio, febbraio o giugno. Le prove consistono in domande (a scelta multipla e aperte). Negli appelli di luglio e settembre sarà possibile superare la parte di fondamenti solo con una prova orale.

Modalità d'esame per "Sviluppo di applicazioni con apache cordova" e "Sviluppo Android"
Durante il corso il docente presenta un progetto che gli studenti sono tenuti a svolgere. Ci sarà un solo progetto, comune alle due parti (Android e cross-platform).
Durante una prova di laboratorio, sarà chiesto agli studenti di modificare il proprio progetto in aula. Il docente valuterà dunque il lavoro svolto in aula.
INF/01 - INFORMATICA - CFU: 9
Laboratori: 48 ore
Lezioni: 48 ore
Docente: Mascetti Sergio
Docente/i
Ricevimento:
Su appuntamento
Dipartimento di Informatica, via Celoria, 18, Stanza 7009 (settimo piano)