Politecnico di Torino | |||||||||||||||||
Anno Accademico 2012/13 | |||||||||||||||||
01PFPOV Mobile application development |
|||||||||||||||||
Corso di Laurea Magistrale in Ingegneria Informatica (Computer Engineering) - Torino |
|||||||||||||||||
|
|||||||||||||||||
|
|||||||||||||||||
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 |
|