Politecnico di Torino | |||||||||
Anno Accademico 2012/13 | |||||||||
01OWGPG Servizi informatici innovativi |
|||||||||
Corso di Laurea Magistrale in Ingegneria Gestionale - Torino |
|||||||||
|
|||||||||
|
|||||||||
Presentazione
Questo corso si propone di completare la formazione dello studente nel campo dei sistemi ICT (Information and 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 per applicazioni su 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 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 un sistema informatico o per un’applicazione di rete. |
Prerequisiti / Conoscenze pregresse
Conoscenza della programmazione ad oggetti. Capacità di programmare in linguaggio Java. Conoscenza delle reti di calcolatori (cablate e wireless) e della rete Internet (e relative applicazioni).
|
Programma
- Programmazione su dispositivi mobili, gestione delle risorse, tecnologie abilitanti, introduzione alla piattaforma Android
- Ambiente di sviluppo ed emulatore, progettazione e realizzazione di applicazioni - Gestione degli eventi, interazione con l’utente - Gestione dei dati e comunicazioni di rete, multimedialità e funzionalità avanzate - Il processo di pubblicazione dell’applicazione - Soluzioni per piattaforme mobili diverse, es. iOS - Debolezze delle reti e dei sistemi di elaborazione - Tecniche base per la protezione delle informazioni, sicurezza di rete e delle applicazioni |
Organizzazione dell'insegnamento
Il corso include 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
Il materiale usato dal docente a lezione sarà reso disponibile in formato elettronico sul sito web del corso.
Inoltre può 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.Gargenta, "Learning Android", O’Reilly, 2011. - J.Steele, N.To, "The Android Developer’s Cookbook: Building Applications with the Android SDK", Addison-Wesley Professional, 2011. Per la parte di sicurezza informatica: - W. Stallings, "Crittografia e sicurezza delle reti", Prentice-Hall. - C.Pfleeger, S.Pfleeger, "Sicurezza in informatica", Prentice-Hall. - R.Anderson, "Security Engineering: A Guide to Building Dependable Distributed Systems", Wiley. |
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 lavori di gruppo che prevedano la realizzazione di una applicazione per dispositivi mobili concordata con il docente in grado di interagire in maniera sicura con l’utente e con il contesto esterno per risolvere un particolare problema applicativo.
|
Statistiche superamento esami |
|