Vai al contenuto principale
Se prosegui nella navigazione del sito, ne accetti le politiche:
  • Condizioni di utilizzo e trattamento dei dati
Prosegui
x
e-Learning - UNIMIB
  • Home
  • My Media
  • Altro
Ascolta questa pagina con ReadSpeaker
Italiano ‎(it)‎
English ‎(en)‎ Italiano ‎(it)‎
 Login
e-Learning - UNIMIB
Home My Media
Percorso della pagina
  1. Area di Scienze
  2. Corso di Laurea Triennale
  3. Informatica [E3102Q - E3101Q]
  4. Insegnamenti
  5. A.A. 2025-2026
  6. 3° anno
  1. Programmazione di Dispositivi Mobili
  2. Introduzione
Insegnamento Titolo del corso
Programmazione di Dispositivi Mobili
Codice identificativo del corso
2526-3-E3101Q135
Descrizione del corso SYLLABUS

Syllabus del corso

  • Italiano ‎(it)‎
  • English ‎(en)‎
Esporta

Obiettivi

Il corso ha i seguenti obiettivi specifici:

  • Conoscenza e capacità di comprensione (DdD 1): Comprendere i principi di progettazione di app per dispositivi mobili, incluse le best practice architetturali, applicare tali conoscenze in ambito Andorid
  • Conoscenza e capacità di comprensione applicate (DdD 2): Saper applicare principi di programmazione e progettazione di applicazioni mobili in casi reali di medie dimensioni per piattaforma Android.

Contenuti sintetici

Progettazione e sviluppo di applicazioni mobili. Sviluppo di applicazioni per dispositivi Android.

Programma esteso

1) Introduzione alla progettazione e allo sviluppo di applicazoni mobili
- Sviluppo di applicazioni mobili
- Opportunità di mercato
- Requisiti tecnici per Apple (iOS), Google (Android)
- Sfide: dimensioni limitate dello schermo, problemi di memoria e frammentazione
- Cenni a framework cross-platform (e.g., Flutter, React Native, Apache Cordoba, Sencha, Corona, Xamarin)
2) Progettazione di un'applicazione Android
- Principi di Clean Architecture: separazione in livelli (dominio, dati, presentazione), inversione delle dipendenze, modularizzazione e testabilità.
-Architettura consigliata da Google: uso di MVVM, Repository pattern, componenti Jetpack (ViewModel, LiveData, Room, Navigation), separation of concerns.
- Progettazione Mobile First e Cross-device synchronization
3) Sviluppo di applicazioni per dispositivi Android
- Introduzione alla piattaforma Android
- Ambiente di sviluppo: Android Studio, Google Software Development kit e le versioni, Genymotion e debugger
- Ciclo di vita di un'applicazione: le Activity e i Fragment
- Layout e widget di base ed avanzati
- La concorrenza: threads e task asincroni
- Oltre l'aspetto grafico: Content provider e Service
- Background Task
- Pubblicazione di un'applicazione sul Google Play Store
-Testing

Prerequisiti

Programmazioe ad oggetti con Java e programmazione distribuita

Modalità didattica

Lezioni e esercitazioni in aula. Laboratori assistiti con supporto del tutor e materiale ausiliario.
Le lezioni in classe e le attività di laboratorio prevedono una modalità erogative e interattiva.
Il corso sarà erogato in italiano.

Materiale didattico

Slide e esercizi svolti in aula
Documentazione ufficiale Android – https://developer.android.com

Periodo di erogazione dell'insegnamento

Primo semestre

Modalità di verifica del profitto e valutazione

Consegna di un progetto pratico e discussione orale dello stesso.

La consegna consiste di un documento di descrizione del progetto, del software e la relativa documentazione. La discussione verterà sulla soluzione programmativa adotatta sul progetto.

Il progetto sarà valutato rispetto alla completezza della solzione proposta, alla progettazione della soluzione e alla user experience.

Orario di ricevimento

Su appuntamento.

Esporta

Aims

The course has the following specific learning objectives:

  • Knowledge and understanding (DdD 1): Understand the design principles of mobile applications, including architectural best practices, and apply this knowledge in the Android environment.
  • Applying knowledge and understanding (DdD 2): Be able to apply programming and design principles to develop medium-scale real-world mobile applications for the Android platform.

Contents

Design and development of mobile applications. Development of applications for Android devices.

Detailed program

1) Introduction to the design and development of mobile applications
- Development of mobile applications
- Market Opportunities
- Technical requirements for Apple (iOS), Google (Android)
- Challenges: limited screen size, memory problems and fragmentation
- Notes to cross-platform framework (e.g., Flutter, React Native, Apache Cordoba, Sencha, Corona, Xamarin)
2)Designing an Android Application
- Principles of Clean Architecture: separation into layers (domain, data, presentation), dependency inversion, modularization, and testability.
- Google-recommended architecture: use of MVVM, Repository pattern, Jetpack components (ViewModel, LiveData, Room, Navigation), and separation of concerns.
- Mobile-First design and cross-device synchronization
3) Development of applications for Android devices
- Introduction to the Android platform
- Development Environment: Android Studio, Google Software Development kit and versions, Genymotion and debugger
- Life cycle of an application: Activities and Fragments
- Basic and advanced layouts and widgets
- The competition: asynchronous threads and tasks
- Beyond the graphic aspect: Content providers and services
- Background Task
- Publish an application on the Google Play Store
-Testing

Prerequisites

Object-oriented programming with Java and distributed programming

Teaching form

Lectures and recitations. Practice labs with tutor support and auxiliary leaning material.
The in-class lectures and practice labs follow the "modalità erogativa" and "modalità interattiva" modes.
The course will be given in Italian.

Textbook and teaching resource

Lecture slides and in-class exercises
Official Android documentation – https://developer.android.com

Semester

First semester

Assessment method

Assignment of a practical project and oral discussion of the project.
The artifacts of the project must include a project description document, the software and its documentation. The oral discussion will focus on the solution adopted on the project.

The project will be evaluated with respect to the completeness of the proposed solution, the design of the solution, and the user experience.

Office hours

On appointment.

Entra

Scheda del corso

Settore disciplinare
INF/01
CFU
8
Periodo
Primo Semestre
Tipo di attività
Obbligatorio a scelta
Ore
0
Tipologia CdS
Laurea Triennale
Lingua
Italiano

Staff

    Docente

  • FB
    Federico Bergamini
  • Elena Masserini
    Elena Masserini
  • Daniela Micucci
    Daniela Micucci
  • LR
    Lorenzo Rovida
  • FS
    Fabio Sartori

Opinione studenti

Vedi valutazione del precedente anno accademico

Bibliografia

Trova i libri per questo corso nella Biblioteca di Ateneo

Metodi di iscrizione

Iscrizione manuale

Non sei collegato. (Login)
Politiche
Ottieni l'app mobile
Powered by Moodle
© 2025 Università degli Studi di Milano-Bicocca
  • Privacy
  • Accessibilità
  • Statistiche