Sistemi mobili e wireless - Mobile and Wireless Systems

Programma dell'insegnamento - Corso di laurea in Informatica Magistrale internazionale

 

Docente

Prof. Stefano Burigat

Indirizzo e-mail

stefano.burigat@uniud.it

Indirizzo Pagina Web Personale

http://www.dimi.uniud.it/burigat

Crediti

6 CFU

Finalità

Il corso vuole fornire le competenze necessarie alla progettazione ed alla realizzazione di applicazioni e servizi per dispositivi mobili quali smartphone e tablet. Verranno esplorati gli aspetti peculiari che caratterizzano e distinguono l'ambito mobile rispetto a quello desktop, verranno esaminate le diverse categorie di dispositivi mobili con particolare riferimento alle tecnologie wireless attuali e future (ad esempio, UMTS, LTE, WiFi) che ne supportano la comunicazione dati, verranno analizzate le piattaforme esistenti per lo sviluppo di applicazioni e servizi mobili, verranno studiate le tecniche utilizzate per progettare ed implementare applicazioni e servizi all'utente su dispositivi mobili, con particolare riferimento alle soluzioni web-based ed alla piattaforma Android.

Conoscenze e abilità da acquisire

CONOSCENZA E COMPRENSIONE
Al termine del corso, gli studenti possiedono:
- una buona conoscenza delle peculiarità del contesto mobile rispetto a quello desktop
- una buona conoscenza degli aspetti tecnici caratterizzanti i dispositivi mobili e la comunicazione wireless tra dispositivi mobili
- una più che buona conoscenza delle tecnologie disponibili per la realizzazione di applicazioni e servizi per dispositivi mobili
- una più che buona capacità di identificare le soluzioni d'interfaccia più appropriate per applicazioni e servizi per dispositivi mobili
- una più che buona conoscenza dei dettagli implementativi fondamentali relativi alle applicazioni e servizi mobili per la piattaforma Android

CAPACITA' DI APPLICARE CONOSCENZA E COMPRENSIONE
Al termine del corso, gli studenti sanno applicare le conoscenze acquisite al fine di:
- identificare le tecnologie più appropriate per lo sviluppo di applicazioni e servizi mobili nell'attuale contesto di mercato
- identificare le soluzioni tecniche e progettuali più appropriate per lo sviluppo di applicazione e servizi mobili usabili
- implementare applicazioni e servizi mobili usabili ed efficaci per la piattaforma Android

Programma

INTRODUZIONE
Aspetti della mobilità: user mobility e device mobility. Wireless vs. mobile. Esempi di scenari mobili e wireless. Mobile vs. desktop application design.

DISPOSITIVI MOBILI
Tipi di dispositivi mobili. Caratteristiche e limitazioni dei dispositivi mobili: CPU, GPU, memoria, display, input, alimentazione, connettività. Principali piattaforme mobili e loro caratteristiche: Apple iOS, Google Android, Windows Phone. Strumenti di sviluppo.

COMUNICAZIONI WIRELESS
Cenni agli aspetti fisici della comunicazione wireless. Reti cellulari: GSM, GPRS, UMTS, LTE. Reti wireless IEEE 802.11. Tecnologie di localizzazione: GPS, Infrarossi, WiFi, Reti cellulari, RFID, self-contained sensor based systems.

PROGETTAZIONE E SVILUPPO DI APPLICAZIONI MOBILI
Sviluppo di applicazioni e servizi mobili web-based: differenze rispetto alla progettazione e sviluppo di applicazioni native. Tecnologie utilizzabili (HTML5, CSS3).  
Sviluppo di applicazioni Android: strumenti di sviluppo (Android SDK, Eclipse, ADT plugin, emulatore, DDMS), ciclo di vita delle applicazioni Android, componenti di un'applicazione Android (activity, service, content provider, broadcast receiver), intents, interfacce utente (XML layouts, views, widgets, menus), data storage and retrieval (preferenze, file, database), location services, multithreading, servizi.
Design pattern per la progettazione di applicazioni e servizi mobili (funzionalità di navigazione, tutorial, anti-pattern comuni).

Prerequisiti

Al fine di poter proficuamente seguire la parte del corso relativa alla progettazione e sviluppo di applicazioni mobili, è opportuno avere conoscenza delle nozioni di base relative alle tecnologie web (parte web-based) e di programmazione ad oggetti (parte Android).

Bibliografia

Materiale fornito dal docente.

Modalità d'esame

L'esame consiste di un progetto di design e sviluppo di un'applicazione/servizio per dispositivi mobili che sfrutti le tecnologie trattate a lezione.

Orario di ricevimento

Venerdì, dalle 15.00 alle 16.00

****************************************************************************************************

Aims

The course aims to provide the skills necessary to design and develop mobile applications and services for devices such as smartphones and tablets. We will explore the unique aspects that characterize the mobile domain compared to the desktop domain, we will examine the different categories of mobile devices with specific attention to current and future wireless technologies (eg UMTS, LTE, WiFi) that support data communication, we will analyze existing mobile platforms and we will study the techniques used to design and develop applications and services for mobile devices, with a specific focus on web-based solutions and the Android platform.

Program

INTRODUCTION
Aspects of mobility: user mobility, device mobility. Wireless vs. mobile. Examples of mobile and wireless scenarios. Mobile vs. desktop application design.

MOBILE DEVICES
Overview of the different types of mobile device. Characteristics and limitations of mobile devices: form factor, CPU, GPU, display, memory, battery. Major mobile platforms and their features: Apple iOS, Google Android, Windows Phone. Development tools.


WIRELESS COMMUNICATION
Electromagnetic spectrum, signals and frequencies, antennas, signal propagation, modulation, media access. Cellular networks: GSM, GPRS, UMTS, LTE. Wireless LANs: IEEE 802.11. Location-sensing technologies: GPS, Infrared, Wi-Fi, cellular networks, RFID, ZigBee. GPS Features and limitations. Improving localization accuracy: AGPS/DGPS. Self-contained sensor based systems.

MOBILE APPLICATION DESIGN AND DEVELOPMENT
Development of web-based mobile applications and services: differences with respect to the design and development of native applications. Web-based technologies (HTML5, CSS3). Guidelines for the design of web-based mobile applications and services.
Android application development: development tools (Android SDK, Eclipse ADT plugin, emulator, DDMS), life cycle of Android applications, components of an Android application (activity, service, content provider, broadcast receiver), intents, user interfaces (XML layouts, views, widgets, menus), data storage and retrieval, networking, telephony, graphics, animation, multimedia, location services, sensors. Guidelines for the design and development of Android mobile applications.

Prerequisites

Basic knowledge of web-based technologies and object-oriented programming notions is needed to profitably attend the part on mobile application development.

Bibliography

Materials provided by the instructor

Exam

Design and development of a mobile application/service making use of the technologies presented during the course.