MOBILE APPLICATIONS AND CLOUD COMPUTING
(obiettivi)
Conoscenza e capacità di comprensione.
Il corso mira a fornire le conoscenze necessarie per la comprensione: (i) delle specificità delle app mobile rispetto a app desktop; (ii) dei principali pattern di progettazione per le app mobili; (iii) le principali problematiche legate alla sicurezza; (iv) dell’utilizzo dei principali servizi cloud di backend per applicazioni mobili; (v) delle metodologie di progettazione e sviluppo di semplici servizi di backend dispiegati su cloud; (vi) della classificazione dei modelli di servizio cloud
Capacità di applicare conoscenza e comprensione.
Lo studente dovrà essere in grado di progettare, sviluppare e testare applicazioni native per sistemi operativi android che interagiscano con servizi cloud usando i principali strumenti di sviluppo, test e progettazione ufficiali. Lo studente dovrà essere inoltre in grado di progettare/sviluppare e testare propri semplici servizi dispiegati su piattaforme cloud, di supporto alle applicazioni mobili
Autonomia di giudizio.
In base alle competenze acquisite, lo studente dovrà essere in grado di valutare i vantaggi gli svantaggi delle tecnologie con cui è possibile sviluppare app (applicazioni native, ibride e web based), valutare/ scegliere in modo ottimale e critico le funzionalità di supporto cloud per il funzionamento di applicazioni mobili; giudicare la fattibilità, complessità e le implicazioni di nuove possibili applicazioni, anche indicate da terzi. Inoltre, dovrà essere in grado di aggiornarsi autonomamente in base alle possibili future tecnologie relative ad app mobili o servizi cloud.
Abilità comunicative.
Lo studente dovrà essere in grado di motivare le scelte tecnologiche, metodologiche ed architetturali ad altre persone del settore, nonché di presentare, anche a persone non esperte, il funzionamento e le caratteristiche di possibili nuove applicazioni
Capacità di apprendimento.
Per stimolare la capacità di apprendimento verranno effettuati esercitazioni pratiche sui diversi argomenti trattati e verrà richiesto di usare criticamente informazioni disponibili per specifici problemi su varie piattaforme di discussione (es. Stack Overflow, siti ufficiali, blog, etc.)
|