PROGRAMMAZIONE DI SISTEMI MOBILI (1° MODULO)
cod. 1006703

Anno accademico 2022/23
3° anno di corso - Secondo semestre
Docente
Simone CIRANI
Settore scientifico disciplinare
Sistemi di elaborazione delle informazioni (ING-INF/05)
Ambito
"altre conoscenze utili per l'inserimento nel mondo del lavoro"
Tipologia attività formativa
Altro
24 ore
di attività frontali
3 crediti
sede: PARMA
insegnamento
in ITALIANO

Modulo dell'insegnamento integrato: PROGRAMMAZIONE DI SISTEMI MOBILI

Obiettivi formativi


Introduzione allo sviluppo su piattoforme mobili.
Architettura delle piattaforme mobili e componenti chiave.
Programmazione su Piattaforma iOS.

Prerequisiti


Prerequisiti:
- Programmazione di base (algoritmi e strutture dati)
Le seguenti voci sono fortemente consigliate:
- Esperienza con la programmazione orientata agli oggetti
- Design pattern

Contenuti dell'insegnamento


La finalità del corso è quella di affrontare i principi di base per lo sviluppo su piattaforme mobili di ultima generazione.
In particolare verrà fornita allo studente la capacità di comprendere:
- i principi e gli aspetti chiave della programmazione in ambiente mobile
- le caratteristiche delle due principali piattaforme principali per smartphone e tablet: Android e iOS.

Lo studente imparerà ad applicare tali competenze e sarà capace di programmare semplici applicazioni su smartphone in ambiente iOS ed Android.

Programma esteso


- Introduzione al Mobile Computing. Introduzione all'Objective-C.
Mobile Computing & Development Introduzione: architettura del sistema mobile e sfide di sviluppo.

- Objective-C - parte I: Nozioni di base sul linguaggio Objective-C, Classi e oggetti, Metodi, Variabili di istanza e proprietà, Binding dinamico e introspezione, Foundation Framework.

- OOP con Objective-C
Objective-C - parte II: Creazione di oggetti, Gestione della memoria, Automatic Reference Counting, Protocolli, Categorie.

- Sistema operativo iOS e UIKit
iOS SDK: sistema operativo iOS, iOS SDK, Tools of the trade, Model-View-Controller, Pattern di interazione MVC, View Controller.
Viste e controlli UIKit: ciclo di vita di ViewController, UIColor, UIFont, NSAttributedString, view e control: UILabel, UIButton, UISlider, UISwitch, UITextField, UITextView, NSNotificationCenter, notifiche tastiera

- Controller di ViewController
MVC multipli, UINavigationController , Segues, UITabBarController

- Concurrency & Networking
Blocchi di concorrenza e rete, concorrenza, networking: blocchi, concorrenza e multi-threading, Grand Central Dispatch (GCD), networking, UIImage e UIImageView.

- Scroll View, Table View, Collection View, Web View
Scroll views, Table views, Data source e Delegate, Table view cells, Collection views, Web views

- CoreLocation e MapKit, sensori e multimedia, auto-layout
Core Location e Map Kit: Core Location, Recupero della posizione dell'utente. Geocoding, MapKit, Annotazione di mappe, Segue programmatiche, Utilizzo di JSON.

- Sensori e Multimedia: Core Motion, Audio&Video:
Media Player, System Sound Services, AVFoundation, Fotocamera e Libreria Foto. Auto-Layout.

Bibliografia


Programming iOS 7
by Matt Neuburg
O'Reilly Media - December 2013

iOS 7 Programming Fundamentals
by Matt Neuburg
O'Reilly Media - October 2013

Metodi didattici


Didattica frontale ed esercitazioni.

Modalità verifica apprendimento


Progetti individuali di fine corso per piattaforme Android ed iOS.

Altre informazioni

- - -

Obiettivi agenda 2030 per lo sviluppo sostenibile

- - -

Referenti e contatti

Numero verde

800 904 084

Segreteria studenti

E. segreteria.ingarc@unipr.it

Servizio per la qualità della didattica

Manager della didattica:
Elena Roncai
T. +39 0521033663
E. servizio dia.didattica@unipr.it 
E. del manager elena.roncai@unipr.it

Presidente del corso di studio

Gianluigi Ferrari
E. gianluigi.ferrari@unipr.it

Delegato orientamento in ingresso

Giovanna Sozzi
E. giovanna.sozzi@unipr.it

Delegato orientamento in uscita

Guido Matrella
E. guido.matrella@unipr.it

Docenti tutor

Boni Andrea
E. andrea.boni@unipr.it
Caselli Stefano
E. stefano.caselli@unipr.it
Cucinotta Annamaria
E. annamaria.cucinotta@unipr.it
Nicola Delmonte
E. nicola.delmonte@unipr.it
Mucci Domenico
E. domenico.mucci@unipr.it
Saracco Alberto
E. alberto.saracco@unipr.it
Ugolini Alessandro
E. alessandro.ugolini@unipr.it
Vannucci Armando
E. armando.vannucci@unipr.it

Delegati Erasmus

Paolo Cova
E. paolo.cova@unipr.it
Corrado Guarino
E. corrado.guarinolobianco@unipr.it
Walter Belardi
E. walter.belardi@unipr.it

Referente assicurazione qualità

Massimo Bertozzi
E. massimo.bertozzi@unipr.it

Studenti tutor

SPAGGIARI Davide E. davide.spaggiari@unipr.it
MUSETTI Alex E. alex.musetti@unipr.it
BERNUZZI Vittorio E. vittorio.bernuzzi1@studenti.unipr.it
NKEMBI Armel Asongu E. armelasongu.nkembi@unipr.it
BASSANI Marco E. marco.bassani@unipr.it
ZANIBONI Thomas E. thomas.zaniboni@unipr.it
BOCCACCINI Riccardo E. riccardo.boccaccini@unipr.it
MORINI Marco E. marco.morini@unipr.it
SHOZIB Md Sazzadul Islam E. mdsazzadulislam.shozib@studenti.unipr.it