| Politecnico di Torino | |||||||||||||||||
| Anno Accademico 2014/15 | |||||||||||||||||
| 01PPQPG Servizi ICT innovativi |
|||||||||||||||||
|
Corso di Laurea Magistrale in Ingegneria Gestionale - Torino |
|||||||||||||||||
|
|||||||||||||||||
|
|||||||||||||||||
| Esclusioni: 02NWE; 02LUI; 01PCE; 02POJ; 02KSY; 03AQR; 01QGD; 34CWH; 01JEF; 01PQV; 01PQT; 05ENL; 03BYK; 01PDZ; 01KSU |
|||||||||||||||||
|
Presentazione
Questo corso si propone di completare la formazione dello studente nel campo dei sistemi ICT (Information & Communication Technologies) affrontando aspetti fondamentali per la creazione di soluzioni informatiche innovative, quali la loro capacità di adattarsi a dispositivi mobili e la loro sicurezza.
Per quanto riguarda le tecniche e le metodologie di progetto e sviluppo di applicazioni per dispositivi mobili, verranno studiati gli aspetti relativi all’esistenza di vincoli di progettazione correlati alle caratteristiche dei dispositivi, alla disponibilità di soluzioni alternative per l’interazione con l’utente, alla possibilità di sfruttare informazioni di localizzazione ed alle criticità associate alla gestione delle basi di dati e delle comunicazioni di rete. Verrà usata come principale piattaforma di riferimento l’ambiente di sviluppo rappresentato dal sistema Android, con collegamenti all’ecosistema iOS. Per quanto riguarda la sicurezza informatica, saranno forniti cenni in merito alle debolezze ed agli attacchi che riguardano i moderni sistemi di rete, considerando aspetti sia tecnologici che organizzativi. Si passerà quindi ad esaminare brevemente le principali tecniche di protezione, al fine di valutarne l’applicabilità a casi specifici e di fornire strumenti utili alla progettazione di una soluzione di sicurezza per un’applicazione ICT. |
|
Risultati di apprendimento attesi
- Conoscenza dei principi basilari della programmazione su dispositivi mobili. Capacità di applicare tali principi alla progettazione di soluzioni applicative concrete per piattaforme diverse.
- Conoscenza delle caratteristiche di base ed avanzate dell’ambiente Android. Capacità di applicare la conoscenza delle peculiarità delle tecniche di programmazione in ambiente Android alla soluzione di problemi complessi. - Conoscenza dei problemi chiave di sicurezza in ambiente ICT. Capacità di analizzare un’architettura ICT per identificarne punti di forza e di debolezza relativamente alla sua sicurezza. - Conoscenza delle principali soluzioni disponibili per proteggere i sistemi ICT. Capacità di tracciare ad alto livello le linee guida di un sistema di protezione per una soluzione informatica e loro applicazione a casi di studio concreti. |
|
Prerequisiti / Conoscenze pregresse
Conoscenza della programmazione ad oggetti. Capacità di programmare in linguaggio Java. Fondamenti delle reti di calcolatori (cablate e wireless) e della rete Internet (e relative applicazioni).
|
|
Programma
Programma di massima delle 53 ore di lezione:
- Programmazione su dispositivi mobili, tecnologie abilitanti (2 ore) - Introduzione ad Android e confronto con altre piattaforme, es. iOS (2 ore) - Ambiente di sviluppo ed emulatore, progettazione e realizzazione di applicazioni (2 ore) - Il linguaggio Java, dal mondo desktop a quello mobile (3 ore) - Componenti della piattaforma e gestione delle risorse (3 ore) - Gestione degli eventi, interazione con l’utente, definizione dell’interfaccia grafica (6 ore) - Persistenza: dati locali al dispositivo ed accesso a database esterni (9 ore) - Comunicazioni di rete (3 ore) - Mappe, servizi di localizzazione ed altre funzionalità avanzate (6 ore) - Debolezze delle reti e dei sistemi di elaborazione (3 ore) - Tecniche base per la protezione delle informazioni, sicurezza di rete e delle applicazioni (9 ore) - Soluzioni di sicurezza in ambito mobile (5 ore) |
|
Organizzazione dell'insegnamento
Il corso include 27 ore di esercitazioni di laboratorio. Le esercitazioni mirano a sperimentare le funzionalità principali dell’ambiente Android e a supportare lo sviluppo delle capacità relative alla risoluzione di problemi di progettazione e codifica in questo, ma anche altri, ambienti. Tali esercitazioni considerano anche gli aspetti di sicurezza, e prevedono lo svolgimento di esercizi specifici di approfondimento delle parti teoriche, propedeutici alla predisposizione del lavoro di gruppo eventualmente oggetto dell’esame.
|
|
Testi richiesti o raccomandati: letture, dispense, altro materiale didattico
Testi richiesti o raccomandati: letture, dispense, altro materiale didattico
In aggiunta al materiale utilizzato dal docente in aula ed in laboratorio (lucidi, dispense, progetti Java, ecc.), reso disponibile in formato elettronico tramite il Portale della Didattica, potrà essere utile consultare alcuni testi per approfondire determinati aspetti del corso. In particolare, per la parte di applicazioni su dispositivi mobili: - M.Carli, "Sviluppare applicazioni per Android", Apogeo, 2011. - M.Carli, "Android, Guida per lo sviluppatore", Apogeo, 2010. - M. Carli, "Android 4, Guida per lo sviluppatore", Apogeo, 2013 - M.Gargenta, "Learning Android", O’Reilly, 2011. - J.Steele, N.To, "The Android Developer’s Cookbook: Building Applications with the Android SDK", Addison-Wesley, 2011. Per la parte di sicurezza informatica: - W. Stallings, "Crittografia e sicurezza delle reti", McGraw-Hill, 2007. - C.Pfleeger, S.Pfleeger, "Sicurezza in informatica", Pearson, 2004. - R.Anderson, "Security Engineering: A Guide to Building Dependable Distributed Systems", Wiley, 2008. |
|
Criteri, regole e procedure per l'esame
L’esame consiste in una prova scritta che verte su tutto il programma. La prova scritta può essere interamente sostituita con un lavoro di gruppo che preveda la realizzazione di un’applicazione per dispositivi mobili concordata con il docente in grado di interagire in maniera sicura con l’utente e con il contesto esterno, oltre che di accedere alle informazioni ed ai servizi utili ai fini di risolvere un particolare problema e/o soddisfare una determinata esigenza.
|
|
Altre informazioni N.B la scheda insegnamento su web contiene anche altre informazioni quali Appelli di esami, link alla procedura di prenotazione, Orari delle lezioni etc. |
| Orario delle lezioni |
| Statistiche superamento esami |
|
|