Università degli studi dell'Insubria

PROGRAMMAZIONE DI DISPOSITIVI MOBILI

A.A. di erogazione 2018/2019
Insegnamento opzionale

Laurea triennale in INFORMATICA (A.A. 2017/2018)
Docenti
Anno di corso: 
2
Tipologia di insegnamento: 
Affine/Integrativa
Settore disciplinare: 
INFORMATICA (INF/01)
Crediti: 
6
Ciclo: 
Secondo Semestre
Ore di attivita' frontale: 
56
Dettaglio ore: 
Lezione (40 ore), Laboratorio (16 ore)

Obiettivo di questo corso è presentare nel dettaglio gli aspetti relativi alla programmazione dei dispositivi mobili. Il corso parte dalla discussione delle architetture dei dispositivi mobili e delle caratteristiche peculiari della programmazione di tali dispositivi. Vengono quindi presentate le più comuni architetture software e viene discusso nel dettaglio il caso di Android. Vengono analizzati i principali framework che costituiscono il sistema Android e i servizi che possono essere integrati all’interno delle applicazioni con particolare attenzione alle API di Google. Vengono quindi presentati esempi di applicazione, sulla base dei quali viene compiuta un’analisi del processo di sviluppo delle applicazioni.

Al termine del corso lo studente
- possiede le conoscenze necessarie alla comprensione degli aspetti più evoluti del framework di Android, all’utilizzo delle sue componenti e dei servizi. Lo studente ha inoltre le conoscenze necessarie ad affrontare individualmente lo studio di altri framework di sviluppo di applicazioni mobili.
- è in grado di progettare, sviluppare e testare applicazioni per dispositivi mobili basate su Android e di comprendere i framework disponibili per l’integrazione di servizi.
- è in grado di scegliere in autonomia di giudizio le soluzioni più adatte alla realizzazione di una specifica applicazione.
- è in grado di comunicare in modo compiuto e con la corretta terminologia le caratteristiche di un framework di programmazione per dispositivi mobili e di discutere le scelte architetturali alla base dei progetti realizzati.

Prerequisiti: 

L'insegnamento non ha prerequisiti obbligatori ma per un proficuo apprendimento sono necessarie le seguenti conoscenze e abilità:
- conoscenza dettagliata dell’architettura degli elaboratori,
- conoscenza della programmazione in linguaggio Java e delle strutture dati fondamentali.
che sono impartite negli insegnamenti di ARCHITETTURA DEGLI ELABORATORI e PROGRAMMAZIONE.

I contenuti del corso sono di seguito elencati.
Introduzione ai dispositivi mobili. Architetture e ambienti di sviluppo. Caratteristiche distintive della programmazione di dispositivi mobili (usabilità, robustezza, …). Lezioni ore 8;
Programmazione, elementi di base: basi di dati, protocolli di comunicazione, formati di rappresentazione dati, programmazione event-driven. Lezioni ore 8;
Architettura SW di Android e subframeworks. Lezioni ore 8;
Progettazione e realizzazione di interfacce. Sviluppo di applicazioni. Lezioni ore 8;
Sviluppo di servizi, gestione dei thread, accesso e gestione alle informazioni. Lezioni ore 8;
Utilizzo di servizi (Google API). Lezioni ore 4;
Processo di sviluppo e testing. Lezioni ore 4.

Tipologia delle attività didattiche
Il corso si articola in lezioni frontali (32 ore) che servono a capire cos'è la programmazione dei dispositivi mobili, ed esercitazioni (24 ore) per imparare a programmare un dispositivo mobile.
Gli argomenti trattati nella maggior parte delle lezioni sono oggetto di esercitazioni che comprenderanno la dimostrazione dal vivo degli strumenti di sviluppo (principlamente AndroidStudio).

Gli obiettivi formativi del corso verranno raggiunti attraverso lezioni frontali in cui verranno presentati vari aspetti che riguardano la programmazione dei dispositivi mobili.
Data la caratteristica fortemente applicativa del corso, le lezioni frontali saranno intervallate da esercitazioni svolte presso un laboratorio attrezzato.
Il laboratorio permette una manipolazione concreta degli argomenti trattati a lezione attraverso la possibilità di poter
scegliere e decidere la soluzione migliore ad un determinato problema.
La frequenza alle lezioni seguita dallo studio dell'argomento trattato, è fortemente consigliata per poter afrontare l'esercitazione ad essa connessa.

Modalita' di verifica dell'apprendimento: 

L’esame si svolgerà in forma scritta, con quesiti formulati in modo da verificare le conoscenze ed i risultati di apprendimento attesi, e attraverso lo sviluppo e discussione di un prototipo di progetto sviluppato nel framework di Android.
Lo scopo della prova è quello di verificare che lo studente abbia compreso le caratteristiche distintive della programmazione di dispositivi mobili effettuando le giuste scelte architetturali nello sviluppo del progetto; imparato ad utilizzare i componenti principali del framework di Android e dei servizi di Google.

La prova scritta, tramite quiz a scelta multipla, potrà essere sostenuta in due modalità:
- al termine del corso, durante le sessioni d’esame saranno organizzate delle prove d’esame sull’intero programma del corso;
- durante le ore di esercitazione e al termine di un particolare argomento trattao. La media dei voti ottenuti durante queste prove parziali, verrà riportata al punteggio finale che varia nell'intervallo [0, 24].

Per poter superare l'esame lo studente deve:

- rispondere ai quiz a scelta multipla su argomenti trattati a lezione. I quiz vengono resi disponibili tramite la piattaforma Moodle durante la prova d'esame o durante le esercitaioni, in uno dei laboratori di informatica disponibili (voto minimo 16, voto massimo 24).
- sviluppare un progetto scelto tra l'insieme dei progetti disponibili. Lo studente potrà proporre una sua idea di progetto che però dovrà essere discussa con il docente prima di procedere con lo sviluppo. Questa prova consiste in una presentazione del progetto (attraverso l'utilizzo di un portatile o PC in cui è installato AndroidStudio e il progetto) e in una discussione sugli argomenti che toccano il progetto. Le tracce di progetto sono indicative e non è richiesta la realizzazione di un'app completa, lo studente dovrà dimostrare che il lavoro fatto sia proporzionale ai 6 CFU del corso. Questa seconda prova verrà fatta lo stesso giorno dell'appello, subito dopo i quiz.
Il progetto è di centrale importanza per il superamento dell'esame e consente di ottenere un massimo di 12 punti per consentire anche a chi ha superato i quiz con 18 di arrivare a 30.
Il punteggio finale sarà dato dalla somma dei due voti arrotondati per difetto. Ad esempio, se si supera il quiz con 18.5 e il progetto con 10 allora il voto finale sarà pari a 28.

Il progetto potrà essere presentato anche da coloro che non hanno superato la prima prova (quiz). In questo caso il voto del progetto non potrà più essere cambiato.

Il docente deve avere la possibilità di scaricare il progetto attraverso un link tipo dropbox, drive, Github, etc., entro 3 giorni della data degli appelli d'esame.

Il materiale didattico è disponibile sul sito di e-learning: Slide, dispense, esempi di applicazioni.

Mutuazioni

Cerchi il programma? Potrebbe non essere ancora stato caricato o riferirsi ad insegnamenti che verranno erogati in futuro.
Seleziona l‘anno in cui ti sei immatricolato e troverai le informazioni relative all'insegnamento del tuo piano di studio.

A.A. 2018/2019

Anno di corso: 2
Curriculum: PERCORSO COMUNE
Anno di corso: 3
Curriculum: PERCORSO COMUNE

A.A. 2017/2018

Anno di corso: 3
Curriculum: PERCORSO COMUNE

A.A. 2016/2017

Anno di corso: 2
Curriculum: PERCORSO COMUNE
Anno di corso: 3
Curriculum: PERCORSO COMUNE

A.A. 2015/2016

Anno di corso: 2
Curriculum: PERCORSO COMUNE
Anno di corso: 3
Curriculum: PERCORSO COMUNE

A.A. 2014/2015

Anno di corso: 2
Curriculum: PERCORSO COMUNE
Anno di corso: 3
Curriculum: PERCORSO COMUNE

A.A. 2013/2014

Anno di corso: 3
Curriculum: PERCORSO COMUNE

A.A. 2012/2013

Anno di corso: 2
Curriculum: PERCORSO COMUNE

A.A. 2011/2012

Anno di corso: 3
Curriculum:

A.A. 2010/2011

Anno di corso: 2
Curriculum: