Politecnico di Torino
Politecnico di Torino
Politecnico di Torino
Academic Year 2017/18
Mobile application development
Master of science-level of the Bologna process in Computer Engineering - Torino
Master of science-level of the Bologna process in Communications And Computer Networks Engineering - Torino
Master of science-level of the Bologna process in Ict For Smart Societies - Torino
Teacher Status SSD Les Ex Lab Tut Years teaching
Malnati Giovanni ORARIO RICEVIMENTO RC ING-INF/05 45 15 0 45 11
SSD CFU Activities Area context
ING-INF/05 6 D - A scelta dello studente A scelta dello studente
Subject fundamentals
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.
Expected learning outcomes
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).
Prerequisites / Assumed knowledge
Operating systems; Object oriented programming; concurrent and distributed programming.
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
Delivery modes
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.
Texts, readings, handouts and other learning resources
• 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
Assessment and grading criteria
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.

Programma definitivo per l'A.A.2017/18

© Politecnico di Torino
Corso Duca degli Abruzzi, 24 - 10129 Torino, ITALY
WCAG 2.0 (Level AA)