en
Politecnico di Torino
Anno Accademico 2012/13
01PFPOV
Mobile application development
Corso di Laurea Magistrale in Ingegneria Informatica (Computer Engineering) - Torino
Docente Qualifica Settore Lez Es Lab Tut Anni incarico
Malnati Giovanni ORARIO RICEVIMENTO A2 IINF-05/A 45 15 0 0 12
SSD CFU Attivita' formative Ambiti disciplinari
ING-INF/05 6 D - A scelta dello studente A scelta dello studente
Esclusioni:
01NRD; 01NPZ; 01NRJ; 01NRL; 01BIT; 01NWA; 02JGR; 01NRK
Presentazione
Il corso intende insegnare gli elementi fondamentali del progetto dello sviluppo di applicazioni mobile. Esso esplora i principi e le sfide legate a tale ambito applicativo, focalizzandosi sulle piattaforme per smartphone Android e iOS. Tali piattaforme stanno continuamente evolvendo e diventando parte sempre più importante dell’ecosistema mobile. I contenuti comprendono uno studio dettagliato dell’architettura soggiacente ed un ricco insieme di esempi pratici che coprono i diversi aspetti dell’utilizzo di dispositivi mobili.
Risultati di apprendimento attesi
Il corso permetterà agli studenti di progettare e sviluppare applicazioni di media complessità su piattaforme mobili.
Le attività di laboratorio e la struttura del corso saranno organizzati per conseguire i seguenti obiettivi formativi:
1. Padroneggiare il modello di programmazione ad eventi usato nei framework applicativi per dispositivi mobili
2. Essere in grado di analizzare e progettare un’adeguata esperienza utente per un’applicazione mobile
3. Essere in grado di scrivere e mettere in campo un’applicazione basata su un framework applicativo mobile
4. Conoscere e saper far leva sugli aspetti tipici della programmazione per dispositivi mobili e lato server e sviluppare applicazioni in grado di incorporare entrambi gli approcci per realizzare in modo efficiente ed efficace un dato compito applicativo
5. Acquisire esperienza pratica nello sviluppo, nel test e nella correzione di applicazioni mobili (sia locali che basate su elementi di rete)
Prerequisiti / Conoscenze pregresse
Sistemi operative; programmazione ad oggetti; programmazione concorrente e distribuita.
Programma
Introduzione all’ecosistema mobile
Storia e tendenze del mercato, della tecnologia e delle attese
Che cosa rende unico i sistemi mobili
Problemi non funzionali (usabilità, gestione dell’energia, disomogeneità dei dispositivi)
Applicazioni native e web
Rassegna dei principali sistemi operativi mobili

Il sistema operativo Android
Architettura di Android
Installare gli strumenti di sviluppo
Principali componenti Android
Attività e loro ciclo di vita
Risorse di un’applicazione
Creazione di interfacce utente
Reagire alle azioni degli utenti

Linee guida nel progetto di interfacce mobili
Esperienza dell’utente e progetto dell’interazione
Strategie di progetto di un applicazione
Linee guida per l’esperienza utente

Principali API Android
Programmazione concorrente
Grafica e animazioni
Dati e memorizzazione
Accesso alla rete e al web
Multimedia
Sensori
Servizi
Introduzione a iOS
Architettura generale
Il linguaggio ObjectiveC
Il framework CocoaTouch

Sviluppo multipiattaforma
Framework applicativi web per dispositivi mobili
PhoneGap
Organizzazione dell'insegnamento
Il corso sarà tenuto alternando lezioni in aula a esercitazioni di laboratorio. Le lezioni esporranno i concetti teorici e le conoscenze più generali legate allo sviluppo di applicazioni mobili. Si useranno ampi esempi per illustrare i principi esposti.
Testi richiesti o raccomandati: letture, dispense, altro materiale didattico
Android wireless application development, by Shane Conder and Lauren Darcey. 2nd ed., Addison-Wesley, 2011
Designing Mobile Interfaces, by Steven Hoober and Eric Berkman, O’Reilly, 2012
Slide e materiale forniti dal docente
Criteri, regole e procedure per l'esame
Esame scritto e valutazione orale degli esercizi proposti in laboratorio. Questi comprendono un progetto finale, in cui gli studenti, a gruppi, dovranno progettare ed implementare una soluzione completa di un problema dato. Questo aiuterà gli studenti a maturare una comprensione più profonda del processo di sviluppo software, trovandosi a partecipare a tutti gli aspetti del relativo ciclo di vita.
Orario delle lezioni
Statistiche superamento esami

Programma definitivo per l'A.A.2012/13
Indietro