Vai al contenuto principale
Oggetto:
Oggetto:

PROGRAMMAZIONE MOBILE: ANDROID

Oggetto:

MOBILE PROGRAMMING: ANDROID

Oggetto:

Anno accademico 2023/2024

Codice attività didattica
CPS0553
Docente
Marino Segnan (Titolare dell'insegnamento)
Corso di studio
Corso di laurea magistrale in Comunicazione, ICT e media (Classe LM-59)
Anno
1° anno, 2° anno
Periodo
Primo semestre
Tipologia
Affine o integrativo
Crediti/Valenza
6
SSD attività didattica
INF/01 - informatica
Erogazione
Tradizionale
Lingua
Italiano
Frequenza
Facoltativa
Tipologia esame
Orale
Tipologia unità didattica
corso
Prerequisiti
un corso di Informatica Generale, conoscenza della programmazione di base con linguaggi orientati agli oggetti
Oggetto:

Sommario insegnamento

Oggetto:

Obiettivi formativi

L' insegnamento introduce  principi  e tecniche basilari della programmazione con il sistema operativo Android utilizzando il framework Flutter. L’obiettivo principale e' di rendere in grado allieva ed allievo, dati i requisiti funzionali di una applicazione destinata al sistema Android, di costruire una soluzione software realizzata tramite le seguenti attivita':

  • Definizione delle funzionalita'/casi d’uso necessari
  • Analisi "build or reuse" per scoprire se le funzionalita' richieste siano gia' disponibili tramite servizi del sistema 
  • Definire ed organizzare in pagine il layout dell' interfaccia utente
  • Definire la navigazione tra le pagine dell'App
  • Costruire le classi di controllo che gestiscono gli eventi ricevuti dall' App ed aggiornano l' interfaccia utente

Sara' privilegiata la ricerca di una una soluzione efficace piu' che efficiente, considerate le peculiarita' dell'ambiente tipico di esecuzione del software.

The course introduces basic principles and techniques of programming with the Android operating system using the Flutter framework. The main objective is to enable the student, given the functional requirements of an application intended for the Android system, to build a software solution created through the following activities:

  • Definition of necessary functionalities/cases.
  • "Build or reuse" analysis to find out if the required features are already available through system services
  • Definition and organization in pages of the user interface layout
  • Definition of the navigation of the App
  • Implementation of the control classes in charge of managing the events received from the App and updating the user interface

The search for an effective vs. efficient solution will be privileged, considering the peculiarities of the typical software execution environment.

 

Oggetto:

Risultati dell'apprendimento attesi

Al termine dell’insegnamento sono attese le seguenti competenze:

  • Conoscere i concetti di base del sistema Android, fra i quali : il ciclo di vita di una App , i meccanismi messi a disposizione per la costruzione dell'  interfaccia grafica, la collaborazione tra applicazioni residenti sul dispositivo. la comunicazione con servizi remoti , l' uso dei sensori ambientali tramite le interfacce messe a disposizione dal sistema.
  • Applicare le conoscenze acquisite per realizzare App soddisfacenti i requisiti piu' importanti peculiari all'ambiente Mobile
  • Valutare, tramite prototipazione, quali siano le migliori soluzioni implementative per il progetto in corso sviluppo tra le varie alternative possibili, sia dal punto di vista dell' interfaccia utente che dell'uso di risorse del dispositivo.
  • Proseguire autonomamente tramite ricerca su Web nell' approfondimento di tematiche specifiche, vista la sostanziale impossibilita' di conoscere completamente un sistema di notevole complessita' ed in costante evoluzione.

At the end of the course, the student will:

  • Know the basic concepts of the Android system, including the life cycle of an App, the mechanisms made available for the construction of the graphic interface, and the collaboration between applications residing on the device. communication with remote services, and the use of environmental sensors through the interfaces made available by the system.
  • Apply the acquired knowledge for implementing an App fulfilling the most important requirements of Mobile environments
  • Evaluate, through prototyping, what are the best solutions for the developed project among the many conceivable, both from the user interface standpoint and device resource usage
  • Continue autonomously using the web search in the learning of specific knowledge, given the practical unfeasibility of knowing an environment of big complexity and subject to continuous evolution  

 

Oggetto:

Programma

  • L' ambiente di sviluppo integrato "Android Studio".
  • Cenni ai concetti di base del sistema Android: Attivita', Intenti, Viste, ciclo di vita di vita di un App, layout tramite configurazione della user interface
  • Il framework  Flutter e l' approccio "costruttivo" tramite Widget per la realizzazione dell' interfaccia utente
  • Introduzione al linguaggio Dart
  • I vari tipi di Layout
  • La navigazione tramite "routes",
  • Implementazione dele classi controller
  • Comunicazione remota HTTP/JSON con altri sistemi
  • Accesso al database

  • The "Android Studio" integrated development environment.
  • Basic concepts of the Android system: Activities, Intents, Views, Application life cycle, user interface configuration
  • The Flutter framework and the construction through Widgets of the user interface
  • Introduction to the Dart language
  • The properties of the Layout Widgets
  • Navigation by means of "routes"
  • the implementation of the controller classes
  • HTTP / JSON remote communication with other systems
  • database access

 

Oggetto:

Modalità di insegnamento

Il materiale didattico e' disponibile su un sito Moodle al seguente indirizzo web

https://elearning.unito.it/scuolacle/course/view.php?id=3659

Il materiale consiste di  libri in formato elettronico, cartelle contenenti progetti Software di esempio.presentazioni in formato "Google Slides". Queste ultime contengono, oltre al testo, commenti in formato audio e video illustrativi.

Delle 36 ore del corso 6 sono dedicate alla teoria e 30 alle esercitazioni.

Si seguono  le lezioni e si svolgono esercitazioni sul proprio Personal Computer. Il contenuto del materiale sul sito Moodle e' molto simile a quello che viene esposto durante la lezione.  Data la complessita' dei concetti esposti, le parti teoriche si alternano piu' volte in una singola  lezione alle esercitazioni.

Compatibilmente con le eventuali limitazioni in vigore per la prevenzione dei contagi, le lezioni si svolgono in presenza altimenti  tramite strumenti di Web Conference.

In entrambi i casi la lezione viene registrata e resa disponibile sul sito Moodle. 

Le pratiche sopra descritte mirano a ridurre il divario fra le opportunita' messe a disposizione fra chi frequenta e e chi non frequenta.

The teaching material is available on a Moodle website at the following web address

https://elearning.unito.it/scuolacle/course/view.php?id=3659

The material consists of books in electronic format, folders containing sample Software
projects, and presentations in "Google Slides" format. The latter contains, in addition to the
text, explanatory comments in audio and video format.
The 36 teaching hours are split between 6 for theory and 30 for exercise.
The student follows the lessons and carries out exercises on his Personal Computer.
The content of the material on the Moodle site is very similar
to what is presented during the lesson.
Given the complexity of the concepts exposed, the theoretical parts alternate several times
in a single lesson with exercises.
Compatible with the limitations in force for the prevention of infections,
the lessons are held in the presence of others through Web Conference tools
In both cases, the lesson is recorded and made available on the Moodle website.
The practices described above aim to reduce the gap between the opportunities made available
between attending and non-attending students.

 

Oggetto:

Modalità di verifica dell'apprendimento

Si implementera' il progetto di una semplice App Android su tema proposto dall'insegnante, seguendo le linee guida illustrate durante le esercitazioni.  La valutazione avverra' in base ai seguenti criteri, elencati in ordine di importanza decrescente:

  1. La App e' efficace, i requisiti sono stati interpretati letteralmente
  2. la App e' efficiente, realizza con il minimo numero di comandi i bisogni dell'utente
  3. la App e’ curata nell’estetica dell' interfaccia utente
  4. la App dispone di funzionalita' aggiuntive

E' possibile realizzare il progetto in gruppi al massimo di 3 persone, ma si richiede una qualita' dell'elaborato proporzionalmente maggiore

The pupil will implement the project of a simple Android App on a theme proposed by the teacher, following the guidelines illustrated during the exercises. The evaluation will be based on the following criteria, listed in order of decreasing importance:
  1. The App is effective, the requirements have been interpreted literally
  2. the App is efficient, it realizes the user's needs with the minimum number of commands
  3. the App is treated in the aesthetics of the user interface
  4. the App has additional features
It is possible to carry out the project in groups of up to 3 people, but a proportionately higher quality of the implementation is required

 

Oggetto:

Attività di supporto

 
 
 
 
 
 

Testi consigliati e bibliografia



Oggetto:
Altro
Titolo:  
The busy coder's guide to Android Development
URL:  
Obbligatorio:  
No


Oggetto:
Altro
Titolo:  
Introduzione a Flutter
URL:  
Obbligatorio:  
No


Oggetto:
Altro
Titolo:  
Il linguaggio Dart
URL:  
Obbligatorio:  
No
Oggetto:

Il materiale didattico e' identico per chi frequenta echi  non frequenta.

Siccome il sistema Android e' in rapida evoluzione, e' molto difficile trovare libri cartacei che non diventino

rapidamente obsoleti. Viene fornito qui di seguito un link ad un tutorial on-line :

https://www.tutorialspoint.com/android/android_tutorial.pdf

Questo e' invece il link alla documentazione on-line ufficiale:

https://developer.android.com/

Questo e' il link Sito piu' importante di Domande e Risposte  su Android:

https://stackoverflow.com/

The teaching material is identical for attending and non-attending students.

Since the Android system is rapidly evolving, it is very difficult to find paper books that do not become quickly obsolete. A link to an online tutorial is provided below:

https://www.tutorialspoint.com/android/android_tutorial.pdf

This is instead the link to the official online documentation:

https://developer.android.com/

Questions and answers site on Android:

https://stackoverflow.com/

 



Oggetto:

Note

Occorre essere muniti di un proprio PC su cui installare l'ambiente di sviluppo

"Android Studio"

The student must have a personal computer on which the development environment 

"Android Studio" can be installed.

Oggetto:
Ultimo aggiornamento: 27/09/2023 14:04
Location: https://www.didattica-cps.unito.it/robots.html
Non cliccare qui!