Mobile computing

A.A. 2020/2021
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
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
- SO e sviluppo su dispositivi mobili
- Reti e architetture
- Analisi e progettazione di applicazioni per dispositivi mobili (progettazione delle interfacce e dell'organizzazione interna del codice)
- Tecniche per l'acquisizione della posizione outdoor e gestione dei dati spazio-temporali
- 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 con apache cordova
- Ripasso di Javascript
- Javascript object oriented
- Sviluppo di web app single-page responsive
- Comunicazione di rete
- Interfaccia grafica
- Sviluppo con Apache Cordova e PhoneGap
- 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 con apache cordova).

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"
Sono previste due modalità distinte, a scelta dello studente.

Modalità 1: progetto comune a tutti gli studenti (modalità consigliata per la maggior parte degli studenti).
Durante il corso il docente presenta un progetto che gli studenti sono tenuti a svolgere. Ci sarà un solo progetto, comune alle due parti (apache-cordova e Android).
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.

Modalità 2: progetto personalizzato.
Gli studenti possono proporre al docente un progetto. A lavoro ultimato, gli studenti sostengono una prova orale nella quale presentano il lavoro svolto.
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)