Politecnico di Torino
Politecnico di Torino
Politecnico di Torino
Academic Year 2016/17
Mobile Platforms and Cloud Services
Master of science-level of the Bologna process in Engineering And Management - Torino
Teacher Status SSD Les Ex Lab Tut Years teaching
Lamberti Fabrizio ORARIO RICEVIMENTO O2 ING-INF/05 44 0 36 0 3
SSD CFU Activities Area context
ING-INF/05 8 D - A scelta dello studente A scelta dello studente
Subject fundamentals
This course aims at completing the studentís knowledge about ICT (Information & Communication Technologies) systems by looking at some important topics that are crucial for the design of advanced ICT applications, such as their ability to be deployed on mobile devices and the possibility to exploit distributed storage and processing resources that can be accessed on-demand according to the paradigms of cloud computing.
With respect to the context related to the design and implementation of applications targeted to mobile devices, aspects pertaining to the existence of design constraints linked to the specificities of the considered devices, to the availability of alternative solutions for user interaction and to critical aspects associated with the management of databases and network communications will be specifically considered. The reference platform will be the well-known Android environment (for smartphones and tablets, as well as for wearable and home devices, etc.), though links with the iOS ecosystem will be outlined.
Concerning content related to distributed systems, private and public cloud solutions will be analyzed, with an overview on virtualization strategies and on technologies for the implementation of Web services as well as of SaaS, PaaS and IaaS infrastructures.
Expected learning outcomes
- Knowledge of the basic principles of computer programming on mobile devices. Ability to apply these principles to the design of concrete software solutions on different mobile platforms.
- Knowledge of the basic and advanced characteristics of the Android environment. Ability to apply the knowledge of the specificities of the Android programming techniques for solving complex problems.
- Knowledge of the core technologies of Web 2.0. Ability to apply these technologies to develop distributed services.
- Knowledge of virtualization approaches and of the private as well as public storage and computing cloud platforms available. Ability to design cloud solutions based on the main commercial and open source technologies, and to integrate them in the context of practical study cases.
Prerequisites / Assumed knowledge
Knowledge of object-oriented programming and Ability to develop programs using the Java language. Fundamentals of computer networks (wired and wireless) and Internet (and related applications). Basics of Web technologies and languages.
The 53 hours of in-class lessons will be tentatively organized as follows:
- Programming on mobile devices, enabling technologies (2 hours)
- Introduction to Android, comparison with other platforms, e.g., iOS (2 hours)
- Development environment and emulator, designing and developing applications (2 hours)
- Java, from the desktop to the mobile world (3 hours)
- Components and resources (3 hours)
- Handling events, managing user interaction, defining the graphics user interface (6 hours)
- Persistence: local and external data (9 hours)
- Networking (3 hours)
- Maps, location services and other advanced features (6 hours)
- Cloud technologies, PaaS, SaaS and IaaS paradigms (3 hours)
- Web services and virtualization (6 hours)
- Private (OpenStack, OpenNebula) and public cloud platforms (Amazon, Google, Microsoft) (4 hours)
- Cloud services and mobility (4 hours)
Delivery modes
The course includes 27 hours at the laboratory. Laboratory sessions will let students experiment the main functionalities of the Android environment and develop problem-solving abilities related to the design and coding of applications in the reference, as well as in other environments. They will encompass also activities aimed at supporting the understanding of the configuration strategies to be adopted for the considered cloud platforms as well as at enabling the development of experimental services relying on such platforms, and will be based on specific exercises that will allow students to improve their understanding of theoretical contents and will prepare them for the project work to be possibly carried out for the examination.
Texts, readings, handouts and other learning resources
In addition to the material used by the teacher in the classroom and in the laboratory (slides, handouts, Java projects, etc.), which is made available on the Portale della Didattica, it might be helpful to consider several texts that could provide further insight in several topics of the course:

- Android 6. Guida per lo Cviluppatore, Apogeo, 2016
- Android Application Development Cookbook, Packt Publishing, 2016
- Android 6 for Programmers: An App-Driven Approach, Pearson, 2015
- Cloud Computing: Concepts, Technology & Architecture, Prentice Hall, 2013
- Architecting the Cloud: Design Decisions for Cloud Computing Service Models (SaaS, PaaS, & IaaS), Wiley, 2014
- Amazon Web Services in Action, Manning, 2015
Assessment and grading criteria
The exam consists of a written test about all topics in the syllabus. It is possible to substitute entirely the written exam with an individual or a team work aimed at the development of a mobile application agreed with the teacher and a possible external subject, capable to interact in an effective way with the user and the surrounding context, as well as of accessing information and cloud services, either available or developed ad-hoc, required to solve a specific problem and/or address a given need.

Programma definitivo per l'A.A.2016/17

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