72787 - PROGRAMMAZIONE DI SISTEMI MOBILE

Anno Accademico 2025/2026

  • Docente: Catia Prandi
  • Crediti formativi: 6
  • SSD: INF/01
  • Lingua di insegnamento: Italiano
  • Modalità didattica: Lezioni in presenza (totalmente o parzialmente)
  • Campus: Cesena
  • Corso: Laurea in Ingegneria e scienze informatiche (cod. 8615)

Conoscenze e abilità da conseguire

Al termine del corso lo studente possiede strumenti teorici e pratici fondamentali per lo sviluppo di applicazioni native su piattaforma iOS e Android, oltre ad un'introduzione alla progettazione e sviluppo di applicazioni performanti per device mobili in contesto ibrido. In particolare, lo studente conosce come progettare e sviluppare l'architettura e le interfacce grafiche delle applicazioni mobile.

Contenuti

1. Progettazione e design di applicazioni mobili (circa il 15% delle ore)

2. Introduzione ad Android (circa il 50% delle ore)

  • Architettura di un'applicazione Android
  • Componenti e risorse

  • Activity e Intent

  • Menu, Dialog e Toast

  • Material design

  • Gestione dei dati

  • Volley

  • Multithreading e servizi

  • Sensori

  • Camera

  • Mappe e GPS

3. Introduzione ad iOS (circa il 30% delle ore)

  • Fondamenti dello sviluppo per iPhone
  • il linguaggio Swift

  • MVVM e SwiftUI

  • UserDefaults
  • Core data

  • Eventi, multi-touch e gesti

  • Multithreading

  • Map kit e GPS

4. Introduzione alle applicazioni mobile ibride e principali tecnologie utilizzate (circa il 5% delle ore)

Testi/Bibliografia

Vista la velocità con il quale il mondo mobile cambia e si aggiorna, non ci sono testi consigliati. Si consiglia quindi di utilizzare il materiale fornito dal docente e presente su Virtuale, incluso il materiale di approfondimento messo a disposizione del docente.

Metodi didattici

Lezioni frontali in aula e lezioni di esercitazione in laboratorio.

In considerazione della tipologia di attività e dei metodi didattici adottati, la frequenza di questa attività formativa richiede la preventiva partecipazione di tutti gli studenti ai Moduli 1 e 2 di formazione sulla sicurezza nei luoghi di studio, [https://elearning-sicurezza.unibo.it/] in modalità e-learning.

Modalità di verifica e valutazione dell'apprendimento

 

Per l’esame finale è richiesto lo sviluppo di un’applicazione nativa in
Android o iOS.
L’app viene valutata con un punteggio massimo di 28 punti.
Può essere svolta singolarmente o (consigliato) in gruppi da 2 persone. Eccezione: gruppi da 3, dopo averlo concordato tramite email con i docenti, possono sviluppare lo stesso progetto nei due OS oppure creare un’unica app con funzionalità avanzate.

Oltre al codice dell’applicazione, andrà consegnata una relazione sotto forma di slide.
Lunghezza: 4 o 5 slide sono sufficienti
Contenuti: scopo dell’app, tecnologie utilizzate (librerie, API, ecc.), mockup e screenshot dell’app.

Non ci sono feature obbligatorie, ma gli studenti possono scegliere quali implementare tra:
• Feature proposte da noi, hanno un range di punti che
saranno assegnati sulla base di:
– Qualità e dettaglio dell’implementazione
– Coerenza con lo scopo dell’app che si sta creando
• Feature aggiuntive o cura particolare nella realizzazione dell'app, sono valutate al momento dell’esame e valgono punti se sono inerenti al corso.

È poi possibile integrare il voto ottenuto con l’applicazione effettuando un approfondimento su un tema relativo al mondo del mobile e ottenendo un massimo di 4 punti aggiuntivi. Il punteggio dipende da: chiarezza espositiva, uso del tempo a disposizione, dettaglio, conoscenze acquisite, ecc.
Su Virtuale è presente una wiki con tutti gli argomenti di approfondimento. Molti sono proposti da noi, ma potrete sceglierne altri concordandoli con i docenti. Salvo eccezioni, un argomento può essere scelto da un solo studente. Nella wiki, è
necessario inserire il vostro nome accanto all’approfondimento scelto, in modo da evitare duplicati.

Il punteggio finale è quindi dato dalla somma:
– Applicazione: obbligatoria, max 28 punti
– Approfondimento: opzionale, max 4 punti, necessario per conseguire voti maggiori di 28.

In particolare, il punteggio finale corrisponde alla seguente valutazione:

18–23:
Lo studente dimostra una conoscenza di base dello sviluppo di applicazioni mobili, limitata a pochi argomenti trattati nel corso. L’applicazione realizzata risulta funzionante ma semplice, con architettura o interfaccia grafica essenziale e scarsa cura nei dettagli tecnici o di design.

24–27:
Lo studente mostra una buona preparazione tecnica e comprensione generale delle piattaforme Android e/o iOS. L’applicazione è coerente e ben strutturata, pur presentando alcune lacune o semplificazioni nell’implementazione o nel design. L’uso delle librerie e delle API è corretto ma non particolarmente approfondito.

28–30:
Lo studente dimostra un’ottima padronanza della progettazione e dello sviluppo di applicazioni mobili. L’app è completa, stabile, curata dal punto di vista architetturale e grafico, con un uso efficace di API, librerie e principi di progettazione nativi. Mostra buone capacità critiche e autonomia nello sviluppo.

30L (con lode):
Lo studente possiede una conoscenza eccellente e approfondita di tutti gli argomenti del corso. L’applicazione si distingue per originalità, complessità, prestazioni e qualità del design. L’elaborato e la presentazione sono di livello professionale, mostrando grande autonomia, creatività e rigore tecnico.

Strumenti a supporto della didattica

Piattaforma Virtuale

Orario di ricevimento

Consulta il sito web di Catia Prandi

SDGs

Istruzione di qualità Lavoro dignitoso e crescita economica Imprese innovazione e infrastrutture

L'insegnamento contribuisce al perseguimento degli Obiettivi di Sviluppo Sostenibile dell'Agenda 2030 dell'ONU.