Corso di Laboratorio di Applicazioni Mobili, A.A. 2011/2012

Corsi di Laurea in Informatica per il Management (corso a scelta)

Docente: Luciano Bononi

| Orario Ricevimento Studenti | Orario Lezioni | Contenuti del Corso | Esami del Corso | Materiale del Corso | FAQs |

Le lezioni del corso sono iniziate Lunedi 20 Febbraio 2012.

Il materiale del corso per la parte relativa alla programmazione di dispositivi ANDROID si trova in questa area web
(Android Lessons)


Orario delle lezioni del corso di Laboratorio di Applicazioni Mobili

Le informazioni sull'orario definitivo sono pubblicate sul portale del Corso di Laurea e, per quello che riguarda il corso di Laboratorio di Applicazioni Mobili anche in questa pagina. Le lezioni sono iniziate regolarmente Lunedi 27 Settembre 2012. Il calendario provvisorio per l'A.A. 2011/2012 è il seguente:

Lunedi (Monday), ore 13.30-15.30, Aula M1, (Mineralogia 1).
Martedi (Tuesday), ore 13.30-15.30, Aula M1, (Mineralogia 1).
Giovedi (Thurssday), ore 16.30-18.30, Aula M1, (Mineralogia 1).
Le lezioni di laboratorio saranno tenute in laboratorio e nelle aule di lezione.


Torna all'inizio pagina

Contenuti del corso di Sistemi e Reti Wireless

Il corso costituisce una novità dell'offerta formativa, mirata all'introduzione allo sviluppo di applicazioni mobili per dispositivi basati su tecnologia iOS e Android. Da questo anno 2012 il corso di Laurea in Informatica per il Management attiva questo corso (come corso a scelta, visto che il corso entrerà a regime solo dal 2014, collocato al terzo anno della laurea triennale in Informatica per il Management.) Per la parte iOS, il corso prende spunto dal famoso corso creato e tenuto all'Università di Stanford e largamente diffuso su iTunes University: "Developing Applications for iOS". In questo senso, il corso offre una panoramica introduttiva dei temi di Programmazione di dispositivi iOS4 e iOS5 (iPhone, iPad, iPod Touch), ridotta nei contenuti rispetto al corso di Stanford. Tuttavia, molto materiale utilizzato é tratto dal corso di Stanford (al quale vanno tutti i crediti del materiale formativo). In questo modo si vuole favorire l'approfondimento dei temi (per le persone interessate, che possono fruire delle lezioni estese del corso di Stanford su iTunes University) e si vuole favorire la possibilità di studiare i contenuti, anche da remoto, per studenti impossibilitati alla frequenza continua del corso e del laboratorio. La parte relativa al corso su piattaforma Android é invece prodotta in originale da parte dei docenti del corso, e realizza un'introduzione allo sviluppo di applicazioni su smartphone e tablet PC dotati del sistema operativo Android. Maggiori dettagli sul contenuto del modulo del corso su Android sono contenuti nell'area Android. Al termine del corso, lo studente conosce gli aspetti tecnologici e metodologici e gli strumenti per lo sviluppo di applicazioni per dispositivi mobili, su piattaforme iOS (iPhone, iPad, iPod Touch) e Android. Conosce inoltre la gestione di dispositivi dotati di interfacce utente innovative, multi-touch, gestione eventi, la programmazione objectiveC, Eclipse e Android SDK, design patterns, interfacciamento dati esterno, sensori e geo-localizzazione, servizi di networking, debugging e test di applicazioni. Conosce infine: - le problematiche delle applicazioni eseguite in contesto wireless mobile; - le piattaforme piĆ¹ importanti per lo sviluppo di applicazioni mobili; - le API dei device interni; - la gestione della multimedialità in contesto wireless mobile; - iPhone SDK e Android SDK; - come progettare e implementare una applicazione (in particolare con il design model Model-View-Control) nei due ambienti di sviluppo. Il corso offre agli studenti la possibilità di affrontare temi di tesi di laurea di carattere progettuale, che dovranno essere richieste e concordate con il docente.
Alcuni dei temi trattati nel corso includono:
Panoramica sugli aspetti tecnologici dei dispositivi iPhone, iPod Touch e iPad. Panoramica aspetti tecnologici dei dispositivi Android. iOS technology layers: Core OS, Core Services, Media, Cocoa Touch. iOS e iOS SDK. Strumenti di sviluppo per la piattaforma iOS: Xcode, Interface Builder, Simulator, Instruments. Componenti applicazioni Android, Applications, Activities, Activity stack, tasks, Intents. ObjectiveC. Java e XML. Inizializzazione degli oggetti e gestione della memoria. Proprietà, Protocolli e Categorie in Objective-C. Cocoa design pattern, Model-View-Controller. Target, Action, Outlets. Singleton, Notification, Delegate. Foundation Framework e UIKit (Cocoa Touch). Interfaccia utente, UIWindow e UIView. Creazione di una UIViewController e gestione applicazioni MultiViews, controllers e views. Gestione eventi Touch e Multi-touch, gestures. Input di testo e gestione del testo. Strumenti e modelli per la persistenza dei dati su iOS. CoreData e Table Views. Interfacciamento con dati esterni (e web). Implementazione delle mappe e servizi di geo-localizzazione. Sensore di movimento e accelerometro. Interfacce ruotabili e ridimensionabili. Networking services. Debugging e Testing delle applicazioni per iOS. App Store. Torna all'inizio pagina

Esami del corso di Laboratorio di Applicazioni Mobili

Il corso prevede lo svolgimento di un progetto individuale, relativo alla realizzazione di un'applicazione iOS o Android, e nella discussione delle scelte progettuali e di realizzazione del progetto in un seminario aperto agli studenti. L'applicazione del progetto e la data del seminario devono essere preventivamente concordati con il docente, preferibilmente inviando una e-mail con subject "Proposta progetto esame corso LAM A.A.2011/2012" all'indirizzo bononi@cs.unibo.it. Se il seminario viene approvato, il candidato deve produrre una presentazione di 20 minuti (supportata da circa 25 slide) oltre che una relazione in formato elettronico (pdf, ps, html) equivalente ai contenuti verbali della presentazione, e contenente tutti i riferimenti a materiale, codice realizzato e fonti documentali.
La data del seminario viene fissata alla prima data utile dal momento della richiesta di sostenere da parte del candidato, individuata in una serie di finestre di discussione progettuale nell'arco dell'anno (circa una giornata ogni 15 giorni). Per poter richiedere di sostenere la prova di esame i candidati devono inviare una e-mail con subject "Richiesta data presentazione progetto corso LAM A.A.2011/2012" all'indirizzo bononi@cs.unibo.it, allegando alla mail la relazione (ma non le slide) in uno dei formati consentiti. La data della prova viene quindi concordata via e-mail, e pubblicata sul newsgroup per consentire alle persone interessate di partecipare. La prova si tiene presso il mio ufficio oppure in una delle aule seminari del Dipartimento di Scienze dell'Informazione, in Mura Anteo Zamboni 7. Alla prova di esame (demo/presentazione del progetto/seminario) viene inoltre collegato un esame orale (costituito da domande e veloci esercizi) su tutto il programma del corso.
L'esito del seminario (e della discussione del progetto) e della prova orale determinano l'eventuale superamento dell'esame e la proposta di voto finale.

Ad ogni prova di esame ci si deve sempre presentare muniti di un documento valido corredato da una foto recente che permetta l'identificazione del candidato.
Torna all'inizio pagina

Materiale del corso di Sistemi e Reti Wireless

Questa sezione della pagina del corso raccoglierà le notizie e il materiale relativo al modulo di lezioni. Il materiale qui raccolto non costituisce un indice esaustivo degli argomenti trattati, ma semplicemente una raccolta di slide e strumenti usati a lezione. Alcuni dei concetti presentati a lezione vengono integrati dal materiale fornito.

Il materiale del corso per la parte relativa alla programmazione di dispositivi ANDROID si trova in questa pagina (Android Lessons)


Di seguito trovate il materiale usato per le lezioni sulla piattaforma iOS (Materiale rimosso a un anno dal termine del corso)

Prima serie di slide (slide full credits Stanford CS193P. This work by Stanford University is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License. Based on a work at cs193p.stanford.edu)

Seconda serie di slide (slide full credits Stanford CS193P. This work by Stanford University is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License. Based on a work at cs193p.stanford.edu)

Calculator Walkthrough (slide full credits Stanford CS193P. This work by Stanford University is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License. Based on a work at cs193p.stanford.edu)

Terza serie di slide (slide full credits Stanford CS193P. This work by Stanford University is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License. Based on a work at cs193p.stanford.edu)

Collector Walkthrough (slide full credits Stanford CS193P. This work by Stanford University is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License. Based on a work at cs193p.stanford.edu)

Quarta serie di slide (slide full credits Stanford CS193P. This work by Stanford University is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License. Based on a work at cs193p.stanford.edu)

Quinta serie di slide (slide full credits Stanford CS193P. This work by Stanford University is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License. Based on a work at cs193p.stanford.edu)

Sesta serie di slide (slide full credits Stanford CS193P. This work by Stanford University is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License. Based on a work at cs193p.stanford.edu)

Settima serie di slide (slide full credits Stanford CS193P. This work by Stanford University is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License. Based on a work at cs193p.stanford.edu)

Ottava serie di slide (slide full credits Stanford CS193P. This work by Stanford University is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License. Based on a work at cs193p.stanford.edu)

Nona serie di slide (slide full credits Stanford CS193P. This work by Stanford University is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License. Based on a work at cs193p.stanford.edu)

Decima serie di slide (slide full credits Stanford CS193P. This work by Stanford University is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License. Based on a work at cs193p.stanford.edu)


In questa pagina, in continuo aggiornamento, sono raccolte le risposte alle domande frequenti che mi sono state rivolte via e-mail (Frequently Asked Questions, FAQs).

Alcuni testi consigliati (utili per approfondire temi specifici, ma non necessariamente da acquistare) per il corso sono i seguenti (maggiori informazioni saranno fornite a lezione).

  • Bill Dudney, Chris Adamson, Sviluppare applicazioni con iPhone SDK, Apogeo 11/2009, ISBN: 978-88-503-2895-6

  • Massimo Carli, Android(tm) Guida per lo sviluppatore, Apogeo 02/2010, ISBN: 978-88-503-2921-2

  • altri eventuali testi e documentazione su Web sarà indicata in seguito

Torna all'inizio pagina