Informazioni sul corso

CFU: 40 ore (5 CFU)

Docente: Francesco Tarquini

Bio del Docente: L’Ing. Francesco Tarquini è nato in Abruzzo ad Avezzano, il primo maggio del 1979, ha frequentato il liceo Scientifico Vitruvio Pollione di Avezzano presso il quale si è diplomato appena maggiorenne. Nel 2005 si è laureato in Ingegneria Elettronica presso L’Università dell’Aquila e successivamente, nel 2009 ha conseguito il titolo di Dottore di Ricerca (Ph.D.) in Ingegneria Elettrica e dell’Informazione sempre presso la stessa Università. Il Dr. Tarquini è collaboratore scientifico presso il DISIM - Dipartimento di Ingegneria e Scienze dell'Informazione e Matematica e presso il centro di Eccellenza DEWS dell’Università degli studi di L’Aquila. Nella sua attività di ricerca e di sviluppo si occupa di sistemi informativi geografici (GIS), di applicazioni location based e map based, applicazioni web e per dispositivi mobili (smartphone e tablet) e sull’integrazione di questi ultimi con le reti di sensori wireless. Nel 2012, inseme ad altri 2 colleghi fonda la bite srl, società che si occupa principalmente di sviluppo software con particolare attenzione la mondo del mobile, e nel 2018 è co-founder di nExpecto srl spin-off accademico specializzato nella gestione di flussi umani.

Obiettivi: Il corso si pone l'obiettivo di fornire ai discenti tutti gli strumenti per progettare e realizzare una vasta gamma di applicazioni per dispositivi andorid in grado di comunicare attraverso la rete internet e di sfruttare le risorse peculiari dei singoli dispositivi (gps, sensori, fotocamera etc.)

Prerequisiti: Programmazione ad Oggetti, linguaggio Java, conoscenze di base sulle basi di dati e del linguaggio SQL, Conoscenze di base di xml

Contenuti:

  • OS Android Architecture: architettura del sistema operativo, componenti principali, utilizzo dell’ambiente di sviluppo
  • Design Patterns: definizione dei design pattern più utilizzati e loro implementazione: Singleton, MVC, MVVM
  • View and Widget (User Interfaces): interazione dell’utente, creazione delle schermate e dei frammenti, elenchi, notifiche, menu
  • Thread and Background Service: thread java e services android, broadcast receiver, worker manager and jobs
  • Storage Methodologies: operazioni di storage su file, utilizzo dei database SQLite e tecniche ORM
  • Connectivity: utilizzo della rete internet, chiamate HTTP, socket, bluetooth e parsing dei formati XML e JSON
  • Location methodologies: utilizzo del framework location e della localizzazione mediante Play Services, realizzazione di applicazione map-based

Capacità indotta dal corso: Il discente alla fine del corso sarà in possesso di tutte le conoscenze necessarie per sviluppare un'applicazione Andoird connessa con il mondo estreno, (in grado di scambiare dati con un server remoto) e che faccia uso delle risorse interne del dispositivo, quali sensori vari (gps, accellerometro etc), fotomera e altri specifici dei dispositivi.

Metodi didattici: Il corso ha una duplice natura Teorica e Pratica. In ogni lezione saranno spiegati teoricamnte una serie di argomenti utilizzando delle slide di supportoe successivamente saraà realizzata un apiccola applicazione che metta in pratica quanto visto teoricamente.

Verifica dell'apprendimento: L'apprendimento viene verificato tramite l'elaborazione di un progetto di gruppo ed un successivo esame orale.

Piano Formativo