Mobile computing

A.A. 2022/2023
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
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
- 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.
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 ciascun modulo (fondamenti, sviluppo android, sviluppo cross platform). 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".

Modalità d'esame per "Fondamenti di Mobile Computing"
E' prevista una prova scritta nelle sessioni di novembre (prova in itinere) gennaio, febbraio e 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. Durante la prova d'esame gli studenti non hanno accesso a materiale (cartaceo e elettronico).

Modalità d'esame per "Sviluppo cross platform" 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.
Durante la prova d'esame gli studenti hanno accesso a materiale (cartaceo e elettronico).

Al termine di ciascuna prova il docente verbalizza il voto come voto parziale tramite SIFA. Al termine dell'ultima prova il docente verbalizza il voto tramite SIFA.
INF/01 - INFORMATICA - CFU: 9
Laboratori: 48 ore
Lezioni: 48 ore
Docente: Mascetti Sergio
Siti didattici
Docente/i
Ricevimento:
Su appuntamento
Dipartimento di Informatica, via Celoria, 18, Stanza 7009 (settimo piano)