Giorno | Ora | Tipo | Luogo | Note |
---|---|---|---|---|
lunedì | 8.30 - 11.30 | lezione | Aula I | |
martedì | 14.30 - 16.30 | laboratorio | Laboratorio didattico Laboratorio Ciberfisico | dal 14-mar-2017 al 9-giu-2017 |
martedì | 16.30 - 18.30 | lezione | Aula I |
Scopo del corso è la presentazione della programmazione e verifica di sistemi software, con particolare attenzione agli aspetti di concorrenza e mobilità. Vengono inizialmente presentati i costrutti sintattici, la loro semantica e gli strumenti per la programmazione concorrente, i problemi conseguenti e le possibilità di verifica di correttezza tramite strumenti automatici. Viene quindi presentata la programmazione di servizi web concorrenti basati su servlet. Infine viene descritta la programmazione di software mobile, tipicamente accoppiato a dei servizi web, in cui la concorrenza ha un utilizzo ormai sempre più esteso. Il corso utilizza il linguaggio Java e il framework Android come contesti concreti in cui sviluppare le soluzioni software.
Programmazione concorrente: motivazioni e problemi
Modello della memoria di Java
Costrutti e libreria per la concorrenza in Java
Verifica di sistemi concorrenti: annotazione del codice e analisi statica
Programmazione di servizi web con servlet Java
Programmazione mobile: problemi specifici
Interfacce mobili e relativa usabilità
Design pattern per interfacce mobili
Componenti Android e intenti
Interfacce utente in Android
Concorrenza in Android
Il pattern MVC in Android
Il pattern master/detail in Android
Consumo di servizi web da Android
Autore | Titolo | Casa editrice | Anno | ISBN | Note |
G. Blake Meike | Android Concurrency (Edizione 1) | Addison-Wesley | 2016 | 978-0-13-417743-4 | Testo di supporto per approfondimento, non essenziale |
Bill Phillips et al. | Android Programming - The Big Nerd Ranch Guide (Edizione 2) | Big Nerd Ranch | 2015 | 978-0134171456 | Testo di supporto per approfondimento, non essenziale |
Brian Goetz et al | Java Concurrency in Practice (Edizione 1) | Addison-Wesley | 2015 | 978-0-321-34960-6 | Testo didattico consigliato, essenziale per seguire il corso |
Sviluppo di un'applicazione concorrente in Android. Presentazione e discussione orale sul codice dell'applicazione.