PROGRAMMAZIONE DI INTERFACCE

Settore: INF/01Codice: 257AACrediti: 6Semestre: 1
Docenti: Cisternino Antonio, Gervasi Vincenzo

Obiettivi di apprendimento

Conoscenze

Il corso si propone di introdurre lo studente alla programmazione di interfacce grafiche. Al termine del corso sarà in grado di scrivere interfacce GUI basate sul modello di rendering immediato e a retention (sia native che con HTML5). Sarà inoltre a conscenza degli elementi di base della grafica 3D, utile per comprendere le differenze con la grafica e intraprendere ulteriori studi su argomenti collegati a questo tipo di visualizzaizone. Saranno inoltre forniti cenni su dispositivi di input non convenzionali e su elementi di design dell'interazione.

Modalità di verifica delle conoscenze

Lo studente sarà valutato con due prove individuali di programmazione, una durante il corso (midterm) l'altra alla presentazione di un progetto finale consistente nello sviluppo di un'applicazione grafica. L'esame si concluderà con una prova orale in cui sarà presentata l'applicazione sviluppata e saranno discussi i vari argomenti trattati nel corso.

 

Metodo:

  • Esame orale finale
  • Test scritti

 

Ulteriori informazioni:

L'esame richiede che gli studenti superino la prova intermedia (mid-term) per poter accedere all'esame orale. In caso di non superamento della prova sarà possibile partecipare ad una nuova durante ciascun appello di esame.

Capacità

Lo studente sarà in grado di sviluppare sia applicazioni grafiche che componenti grafici. In particolare saprà:

  • programmare usando il framework WindowsForms come esempio di toolkit grafico
  • programmare componenti grafici
  • programmare sistemi di animazione
  • programmare sistemi grafici interattivi in HTML5 (JavaScript, CSS e DOM)
  • Comprendere il sistema di gestione degli eventi e la programmazione ad eventi
  • Gestire sistemi di coordinate omogenee e le trasformazioni affini della vista
Modalità di verifica delle capacità

Durante il corso lo studente sarà incoraggiato a sviluppare componenti grafici con complessità crescente in preparazione della verifica intermedia e finale.

Comportamenti

Lo studente acquisirà la capacità di comprendere i meccanismi che vengono poi utilizzati per realizzare applicazioni grafiche in modo da scrivere applicazioni che usino in modo appropriato le risorse del sistema.

Modalità di verifica dei comportamenti

Lo sviluppo di un'applicazione grafica a scelta dello studente utilizzando un framework grafico a scelta come progetto finale incoraggia la rielaborazione delle tecniche e dei concetti di base esaminati durante il corso mediante la loro applicazione in un ambiente differente da quello usato a lezione.

Prerequisiti

  • Programmazione ad oggetti.
  • Algebra matriciale.
  • Trigonometria.
  • Equazioni di base del moto.

Indicazioni metodologiche

Le lezioni sono frontali

 

Attività di apprendimento:

  • Seguire le lezioni
  • Partecipazione a seminari
  • Preparazione di una relazione scritta
  • Partecipazione a discussioni
  • Studio individuale
  • Esercitazioni pratiche individuali

Programma

Il corso è dedicato alla comprensione dei modelli di programmazione di applicazioni grafiche. Inizialmente si apprende rapidamente come realizzare applicazioni grafiche componendo componenti grafici e facendo uso della programmazione ad eventi. Successivamente si impara la prorgammazione di componenti grafici in framework tradizionali. Sono introdotti elementi relativi alle trasformazioni affini di coordinate del piano, con particolare attenzione relativa alle coordinate omogenee. Si analizzano poi i tratti essenziali della pipeline di rendering (clipping e rastering) e della gestione degli eventi da parte del sistema grafico. Viene introdotta la grafica a retention portando come esempi UWP e HTML5. Il corso da una breve introduzione ai fondamenti della grafica 3D. Sono toccati durante il corso anche elementi di interaction design, animzaione e gestione di gesture.

Bibliografia

Codice reso a disposizione durante le lezioni.

Capitoli del libro "Fondamenti di grafica tridimensionale interattiva",  Riccardo Scateni, Paolo Cignoni, Claudio Montani, Roberto Scopigno.

Non frequentanti

Il corso ha una natura molto pratica e gli esempi svolti in classe possono essere riprodotti utilizzando il codice reso disponibile sul sito del corso. La parte più fondazionale è coperta da capitoli di libro.

Modalità di esame

Progetto intermedio (MidTerm) da svolgere in autonomia in una settimana. Progetto finale con lo sviluppo di un'applicazione grafica a scelta dello studente e prova orale.

http://rotor.di.unipi.it/cisterni/ium

Pagina del corso

http://rotor.di.unipi.it/cisterni/ium

Fonte: ESSETRE e Portale esami