Politecnico di Torino | |||||||||||||||||
Anno Accademico 2017/18 | |||||||||||||||||
01PFPOV, 01PFPBG, 01PFPBH Mobile application development |
|||||||||||||||||
Corso di Laurea Magistrale in Ingegneria Informatica (Computer Engineering) - Torino Corso di Laurea Magistrale in Communications And Computer Networks Engineering (Ingegneria Telematica E Delle Comunicazioni) - Torino Corso di Laurea Magistrale in Ict For Smart Societies (Ict Per La Societa' Del Futuro) - Torino |
|||||||||||||||||
|
|||||||||||||||||
|
|||||||||||||||||
Presentazione
The course aims at teaching the fundamentals of mobile application design and development. It explores the principles and the challenges in designing and developing for this peculiar kind of devices, focusing on smart phone platforms such as Android and iOS. These platforms are continuously growing and becoming active and important participant in the wider mobile ecosystem. The material will be presented through a thorough study of the architecture, and a rich set of practical examples that covers all aspect of the mobile device usage.
|
Risultati di apprendimento attesi
This course will allow students to design and develop medium-complexity applications on mobile platforms.
The assignments and structure of the class is organized to accomplish the following learning objectives: 1. Be competent in programming in the event-based model used in application frameworks for mobile devices 2. Be able to analyze and design a suitable user experience for a mobile application 3. Be able to write and deploy an application using a mobile computing software framework 4. Be able to describe and leverage the differences in software development between mobile device programming and server application programming, and develop applications that incorporate both programming methods to efficiently construct a single application task 5. Get hands-on experience of development, test, and debugging techniques for mobile applications (both stand-alone and server-based ones). |
Prerequisiti / Conoscenze pregresse
Operating systems; Object oriented programming; concurrent and distributed programming.
|
Programma
Introduction to the mobile ecosystem (6h)
• History and trends in market, technology, expectations • What makes mobile unique • Non functional issues (usability, energy management, device non homogeneity) • Native vs. web applications • Overview of main mobile operating systems Guidelines for mobile application design (6h) • User experience and interaction design • App Design Strategies • User Experience Guidelines The Android Operating System (27h) • Android architecture • Toolchain setup • Activities and their life-cycle • Application resources • Views, adapters, fragments, and the action bar • Multithreading • 2D Graphics and animations • Networking and Web • OpenGL ES • Multimedia • Services Introduction to the iOS Operating System (15h) • General architecture • The ObjectiveC language • The CocoaTouch framework • Multimedia, networking and multithreading Multiplatform development (6h) • Mobile web applications and frameworks • Cross-platform native frameworks |
Organizzazione dell'insegnamento
This course will be conducted using a combination of formal class lectures and hands-on assignments. Lectures will cover theoretical concepts and backgrounds related to Mobile application development. Extensive examples will be used to illustrate the taught principles.
|
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 • Teacher-provided slides and material |
Criteri, regole e procedure per l'esame
Written examination (55%) and oral evaluation of coursework assignments (45%). These will include a final project, where student teams will design and implement a complete solution of a given application. This will help them develop a strong understanding of the software development process by participating in all aspects of its development life cycle.
|
Orario delle lezioni |
Statistiche superamento esami |
|