PROGRAMMI DEL CORSO DI LAUREA IN
Comunicazione multimediale e tecnologie
dell'informazione
a.a. 2012/2013
Algoritmica 1
Docente: Prof. Carla Piazza
Crediti: 6
Finalità :
Il corso si propone di presentare i principali risultati nel campo della
complessità computazionale degli algoritmi con particolare attenzione alle classiche gerarchie di
classi di complessità astratte ed alle tecniche di studio dei problemi nel campo. Ci si propone inoltre
di presentare agli studenti le idee e le nozioni fondamentali relative ai più promettenti ed innovativi
modelli computazionali proposti dalla comunità scientifica.
Programma:
• Classi di complessità . Il teorema di gerarchia sulle classi di complessità . Il Gap theorem. Teorema
di Savitch. Il teorema di Immermann-Szelepscenyi e conseguenze. Riduzioni e completezza. Classi
esterne ad NP.
• Algoritmi. Il problema della riduzione di automi e la bisimulazione. Algoritmo di Hopcroft.
Algoritmo di Paige-Tarjan. Il problema della simulazione (cenni). Strutture dati simboliche.
• Quantum Computing. Classi di complessità quantistica. Algoritmi quantistici.
• DNA Computing. Il modello di Adleman e Lipton. Soluzione di SAT ed altri problemi NP-completi.
Simulazione di macchine di Turing.
Bibliografia:
e dispense.
C.H. Papadimitriou, Computational Complexity , Addison Wesley, 1995.
Modalità d'esame:
Aticoli
L'esame consiste in una prova orale.
Algoritmica 2
Docente: Prof. Alberto Policriti
Crediti: 6
Finalità : Il principale obiettivo del corso è quello di approfondire alcuni degli argomenti studiati
nel corso di Algoritmi e Strutture Dati, introducendo problematiche e strumenti relativi ad alcuni
settori in cui la teoria degli algoritmi gioca oggi un ruolo fondamentale. I temi scelti a questo scopo
sono gli algoritmi su stringhe ed alberi e le relative strutture dati, gli algoritmi paralleli e gli algoritmi
randomizzati. Si accennerà infine alla algoritmica basata su una rappresentazione simbolica dei dati.
La vastità dei campi permetterà , soprattutto per i temi studiati nella seconda e terza parte, solo una
introduzione ma la centralità , la pervasività e l'eleganza delle idee presentate ne giustifica e motiva
il trattamento. Il corso si dividerà quindi in tre parti: nella prima parte si studieranno problematiche
relative al disegno ed utilizzo di algoritmi di string matching e alla analisi della complessità degli
algoritmi. Nella seconda parte si studieranno i principali modelli e architetture parallele, insieme alle
tecniche fondamentali per l'analisi ed il disegno di algoritmi paralleli. Nella terza parte si studieranno i
fondamenti della teoria degli algoritmi randomizzati rivisitando algoritmi noti nella loro versione
randomizzata.
Si prevede, durante la parte finale del corso, un'attività seminariale e di
approfondimento e introduzione alla ricerca.
Argomenti:
• Prima parte : Introduzione. Il problema dello string matching esatto: algoritmi di Knuth-Morris e
Pratt, Rabin e Karp, Boyer e Moore. Suffix trees e applicazioni, algoritmo di Ukkonen e McCreight,
algoritmo di Harel e Tarjan per il calcolo del lowest common ancestor. Algoritmo di Aho e Coarsik. Il
problema dello string matching approssimato: algoritmo di Sellers, algoritmo di Landau e Vishkin,
algoritmo di Chang e Lawler.
• Seconda parte : Sorting networks: introduzione, running time, bitonic e merging algorithms. Modelli
e algoritmi per computers paralleli: il modello PRAM, pointer jumping, teorema di Brent, esempi.
Fixed-connection networks: arrays e alberi, sorting e counting, aritmetica intera.
• Terza parte : Introduzione agli algoritmi randomizzati. Il metodo probabilistico. Strutture dati:
hashing. Algoritmi probabilistici su grafi: all pairs shortest paths e minimum spanning trees.
Bibliografia:
• Appunti delle lezioni.
• Cormen T.H., Leiserson C.E., Rivest R.L Introduction to Algorithms , and C.Stein MIT Press.
• Gusfield D., Algorithms on Strings, Trees and Sequences , Cambridge University Press, 1997.
• Motwani R. and Raghavan P. Randomized Algorithms Cambridge University Press, 1995.
• Quinn M.J.: Parallel computing - Theory and Practice , 2nd Ed. McGraw-Hill, 1994.
Complementi di basi di dati
Docente: Prof. aggr. Nicola Vitacolonna
Crediti: 6
Finalità : Il corso ha lo scopo di far acquisire allo studente una conoscenza approfondita delle teorie
e delle tecniche per la progettazione logica e fisica di basi di dati relazionali. Il corso mira dunque a
fornire solide basi teoriche sulla progettazione di basi di dati e adeguate competenze tecniche inerenti
ad alcune funzionalità avanzate dei sistemi di gestione di basi di dati attuali. Ulteriore obiettivo è
presentare un quadro dello stato dell'arte e delle più recenti tendenze nell'ambito della tecnologia delle
basi di dati. Alla fine del corso lo studente sarà in grado di gestire la progettazione di una base di
dati in tutte le sue fasi, dall'analisi dei requisiti alla manutenzione; sarà in grado di valutare le
prestazioni di una basi di dati e attuare misure di correzione, nonché di implementare correttamente
le opportune politiche di sicurezza e privatezza dei dati; avrà inoltre assimilato i concetti e le
metodologie fondamentali per lo sviluppo di sistemi distribuiti, di supporto alle decisioni e per l'analisi
di dati spazio-temporali.
Programma:
• Teoria della normalizzazione : Teoria delle dipendenze funzionali basata sugli assiomi di
Armstrong. Insiemi canonici di dipendenze funzionali. Algoritmi per il calcolo di chiusure di insiemi di
attributi, per la verifica di equivalenza di insieme di dipendenze funzionali e per il calcolo di coperture
canoniche. Forma normale di Boyce-Codd. Terza forma normale. Algoritmi per la decomposizione di
schemi relazionali. Forme normali superiori: quarta e quinta forma normale, forma normale
dominio-chiave. Estensioni della teoria delle dipendenze funzionali: sistemi formali in presenza di
valori nulli; forme normali per dipendenze d'inclusione.
• Tecniche avanzate di progettazione fisica : ottimizzazione d'interrogazioni. Manipolazione degli
alberi d'interrogazione. Strategie di scelta delle procedure per le operazioni negli alberi
d'interrogazione. Generazione dei piani d'esecuzione. Catalogo e statistiche della base di dati. Fattori di
selettività . Stima dei costi. Algoritmi per il calcolo di una selezione. Algoritmi per il calcolo di un
equi-join: nested-loop join, single-loop join, sort-merge join, hash-join. Caso di studio: analisi dei piani
d'esecuzione in MySQL e PostgreSQL. Osservazioni sull'uso di chiavi surrogate e sul concetto di
denormalizzazione. Altre tecniche di progettazione fisica: partizionamento dei dati e clustering
multidimensionale.
• Sicurezza : problematiche inerenti alla sicurezza nelle basi di dati e misure di controllo. Controllo
degli accessi discrezionale (DAC). Controllo degli accessi vincolato (MAC). Controllo degli accessi
basato sui ruoli (RBAC). Supporto di SQL alla sicurezza: istruzioni grant, revoke, create role. Audit
trail. Caso di studio: sicurezza in MySQL, PostgreSQL e Oracle. Cenni al controllo d'inferenza nelle
basi di dati statistiche.
• SQL e linguaggi di programmazione : Approcci alla programmazione per basi di dati, le procedure
memorizzate, i trigger, SQL embedded statico (interrogazioni semplici e complesse, l'utilizzo dei
cursori) e dinamico (esecuzione immediata ed esecuzione in due fasi), l'utilizzo di librerie di funzioni:
SQL/CLI (Call Level Interface), ODBC e JDBC (cenni). Basi di dati e applicazioni web.
• Basi di dati per il supporto alle decisioni : peculiarità dei sistemi di supporto alle decisioni e
tecniche di progettazione. Preparazione dei dati. Data warehouse e data mart. Schemi dimensionali:
schemi a stella e schemi a fiocco di neve. Processamento analitico online (OLAP). Data mining.
Supporto di SQL: opzioni grouping sets, rollup e cube per la clausola group by. Basi di dati
multidimensionali.
• Basi di dati distribuite : Elementi di base dell'architettura client-server, frammentazione dei dati,
allocazione dei dati, livelli di trasparenza, tipi di sistemi di basi di dati distribuite, elaborazione delle
interrogazioni in basi di dati distribuite, controllo della concorrenza e dell'affidabilità nelle basi di dati
distribuite.
• Basi di dati temporali e spaziali : Modelli dei dati temporali. Istanti e intervalli. Linguaggi
d'interrogazione temporali. Modelli dei dati spaziali. SQL spaziale. Progettazione concettuale e logica
di basi di dati spaziali. Metodi d'indicizzazione di dati spaziali.
Bibliografia:
• Ramez Elmasri e Shamkant Navathe, Fundamentals of Database Systems , sesta edizione,
Addison-Wesley, 2010.
• Chris Date, An Introduction to Database Systems, ottava edizione, Addison-Wesley, 2004.
• Jeffrey D. Ullman, Principles of Database and Knowledge-Base Systems , Vol. 1, Computer Science
Press, 1988.
Modalità d'esame: Prova orale.
Elaborazione del suono
Docente: Prof. aggr. Federico Fontana
Crediti: 6
Finalità : Il design di suoni è fondamentale, nell'informatica contemporanea, per la progettazione
di sistemi multimediali e la realizzazione di interfacce multimodali. L'importanza del suono come
vettore di informazione deriva dal fatto che il sistema uditivo, diversamente da quello visivo, è un
canale sempre aperto e naturalmente capace di discriminare o integrare eventi temporali. In più, questi
stessi eventi sono spesso correlati con informazione di tipo tattile.
L'insegnamento fornisce i
fondamenti e le metodologie di base per elaborare il suono, con particolare riferimento alla sintesi in
tempo reale. Dopo una breve introduzione alla psicoacustica, vengono presentate le principali tecniche
di sintesi di suoni musicali ed ecologici, e della voce. Le stesse tecniche sono infine adoperate
all'interno di applicazioni software per la sintesi interattiva.
Programma: - Elementi di psicoacustica e percezione uditiva. - Discretizzazione di segnali e
sistemi a tempo continuo. - Trasformate di segnali: Fourier, Zeta. - Filtri numerici: filtri del primo e
secondo ordine. - Tecniche di sintesi del suono: Tecniche classiche. Sintesi non lineari e per modelli
fisici (cenni). - Utilizzo di software per la sintesi del suono in tempo reale - Esempi di realizzazioni
di modelli per la sintesi del suono.
Bibliografia:
Introduction
to
http://profs.sci.univr.it/~rocchess/SP/sp.pdf
sound
processing
-
D.
Rocchesso
Modalità d'esame: Esame scritto oppure relazione scritta più esame orale.
Elaborazione e trasmissione video
Docente: Prof. aggr. Christian Micheloni
Crediti: 12
Programma del corso:
• Introduzione - Presentazione del corso e dei concetti base dell'elaborazione di immagini e video.
• Introduzione ai sistemi di elaborazione video - Definizione di un sistema di elaborazione video e
ambiti di applicazione, stato dell'arte dal 1960 ad oggi, architettura generale e brevi cenni alle singoli
moduli del sistema (acquisizione, calibrazione, identificazione dei cambiamenti, localizzazione di
oggetti, classificazione e tracking di oggetti, riconoscimento di eventi).
• Sensori per acquisizione video - Definizione e componenti di un sensore, tipi di sensori(differenze
per scopo, per natura, per tipi di obiettivo, per mobilità ), CCD, CCD a colori, telecamere a infrarossi.
Principali funzioni associate ai sensori (AGC, AWB, BLC).
• Analisi del movimento - Architettura e analisi delle tecniche principali di rilevamento di
cambiamenti: ad isteresi, con voting, di contorni, del geopixel. Tecniche di sogliatura, metodo di Tsai e
dei Numeri di Eulero. Tecniche di aggiornamento dello sfondo. Esempi di identificazione dei
cambiamenti e/o oggetti in movimento in sequenze di immagini.
• Tracking e localizzazione di oggetti - Calibrazione di una telecamera (tecniche lineari e non lineari,
omografia), estrazione di parametri intrinseci ed estrinseci. Proiezione di punti su mappa. Definizione
del problema del tracking di oggetti. Tracking con marker. Algoritmi di tracking di oggetti in
movimento (filtro di Kalman, Condensation, Data Association, Nearest Neighbour, PDA, MHT JPDA).
Tracking basato su regioni, su active contour, su caratteristiche o su modelli.
• Riconoscimento di oggetti in immagini e video - Algoritmi di classificazione di oggetti in
movimento in scene reali. Reti neurali supervisionate e non supervisionate. Il modello del perceptron.
Esempi ed esercizi. Reti neurali di tipo multi-layer percetron. Analisi di eventi e loro interpretazione
spazio-temporale.
• Trasmissione dati multimediali - Definizione delle entità principali necessarie alla realizzazione
del paradigma di trasmissione multimediale. In particolare verrà fatto riferimento alla comunicazione
uomo-macchina ed interpersonale.
• Applicativi per la trasmissione multimediale - Verranno introdotti mediante analisi critica sia i
prodotti open source che commerciali attualmente disponibili. In particolare, si considereranno i server
ed i client audio-video delle principali aziende produttrici quali RealNetworks, Macromedia e Apple.
Per ognuno di tali prodotti si forniranno dei tutorial per la loro gestione ed utilizzo nonché per la
produzione di oggetti multimediali da essi gestibili.
• Linguggi per la trasmissione multimediale - Introduzione al linguaggio di programmazione SMIL
per lo streaming e la presentazione organizzata di sorgenti mediali eterogenee. Verranno proposti
esempi ed esercitazioni per la creazione di siti web interattivi. Introduzione al linguaggio Adobe
ActionScript per la gestione dei flussi video e multimediali. Utilizzo di tale linguaggio per la creazione
di interfacce web per la gestione di flussi sia in streaming live che on-demand. Esercitazioni per lo
sviluppo di una interfaccia per la IPTV.
• Laboratorio - Esercitazioni per l'applicazione delle tecniche introdotte. Particolare enfasi
verrà data alle tecniche di acquisizione video, calibrazione di telecamere e rilevamento del
movimento.
Bibliografia:
Testi consigliati:
[1] Richard Szeliski, Computer Vision: Algorithms and
Applications , 2008
[2] D. Marini, M. Bertolo, A. Rizzi, Comunicazione Visiva Digitale ,
Addison-Wesley, 2002. [3] A. Watt, F. Policarpo, The Computer Image , Addison-Wesley, 1998.
[4] R. Klette, and P. Zamperoni, Handbook of Image Processing Operators , Wiley, 1996. [5]
Materiale fornito dal docente a lezione.
Modalità d'esame:
Prova scritta e progetto.
Grafica 3D interattiva
Docente: Prof. aggr. Roberto Ranon
Crediti: 6
Finalità : Lo scopo del corso è introdurre lo studente ai concetti, agli algoritmi, e alle tecnologie
della grafica 3D interattiva, con esempi pratici in OpenGL. Al termine del corso, lo studente sarà in
grado di:
• comprendere il funzionamento delle applicazioni basate su grafica 3D interattiva, come ad esempio
videogiochi, visualizzazione di dati, e simulazioni;
• progettare e implementare applicazioni di questo tipo, relativamente alla parte grafica.
Programma:
• Introduzione. Il ciclo di rendering 3D interattivo. La pipeline per il real-time rendering.
• Rappresentazione di geometrie. Mesh di poligoni e loro rappresentazione. Rappresentazione di
triangoli e mesh di triangoli. Normali e altri dati associati ai vertici.
• Trasformazioni. Spazi di coordinate utilizzati in Grafica 3D. Trasformazioni affini: rotazione,
scalatura, traslazione. Trasformazioni in coordinate omogenee.
• La telecamera virtuale. Rappresentazione di una telecamera virtuale. Camera space, clip space e
screen space. Proiezioni ortografiche e prospettiche. Clipping e screen mapping.
• Rasterizzazione e interpolazione. Algoritmi per la rasterizzazione di punti, linee e poligoni.
Interpolazione prospettica di attributi dei vertici. Aliasing e metodi di anti-aliasing screen-based.
• Textures. Concetto di texture map. Texture space e coordinate di texture. Applicazione di texture.
Metodi di anti-aliasing per texture.
• Operazioni su frammenti e buffer. Operazioni su frammenti: alfa test, blending. Operazioni con
buffer: stencil test, depth test.
• Programmable Shaders. Vertex e fragment shaders. Il linguaggio Glsl.
• Shading. I colori e la loro rappresentazione nel rendering. Fenomi visuali e loro importanza nello
shading. Equazioni di shading e loro implementazione tramite shaders. Frequenza di valutazione: flat
shading, Gouraud shading e Phong shading) Modelli di Illuminazione. Blinn-Phong e Cook-Torrance.
rappresentazione di sorgenti di luce e materiali. Equazione di shading di Phong. Termine speculare
Blinn/Phong. Termine speculare Cook-Torrance. Implementazione tramite shaders.
• Uso di Textures nello shading. Material Mapping, Normal Mapping. Implementazione tramite
shaders.
• Cenni a tecniche di illuminazione globale. Environment Mapping, Shadow Mapping.
Implementazione tramite shaders.
• Strutture dati spaziali. Bounding volumes, Bounding Volume Hierarchies, Binary Space Partitioning
Trees. Algoritmi di culling: Hierarchical View Frustum Culling Rendering Basato su Immagini. Cenni
a sprites, impostors, billboards. Effetti full screen. Implementazione di alcuni algoritmi di image
processing tramite shaders: color filters, convoluzioni.
• Introduzione alle animazioni. Animazioni tramite keyframing: interpolazione tramite splines. Cenni
ad altri tipi di animazioni.
• Controllo della telecamera virtuale. Panoramica dei metodi interattivi, assistiti e automatici. Metodi
reattivi e dichiarativi. Un esempio di algoritmo dichiarativo per la determinazione della telecamera
ottimale a partire da un insieme di requisiti.
• OpenGL e GLSL Concetti di base. Struttura di base di un programma con OpenGL e GLUT. Tipi di
dati OpenGL e modello degli oggetti. Modello di rendering OpenGL. Gestione di eventi con GLUT.
Primitive OpenGL per il disegno di geometrie tramite vertex buffers. Trasformazioni modelview in
OpenGL e stack di trasformazioni. Proiezioni e viewport mapping in OpenGL. Applicazione di textures
in OpenGL. Il linguaggio GLSL. Uso di shaders GLSL in OpenGL.
Bibliografia:
• Real-Time Rendering , 3rd edition, di T. Akenine-Möller, E. Haines, e N. Hoffman
• 3D Math Primer for Graphics and Game Development , di F. Dunn e I. Parberry
• Mathematics for 3D Game Programming and Computer Graphics , 2nd edition, di Eric Lengyel
• Slides ed esempi forniti a lezione
Modalità d'esame:
• Esercizi pratici, da svolgere anche in gruppo, preferibilmente durante il corso (ma non è
indispensabile)
• Prova scritta, e prova orale con discussione delle esercitazioni.
Immagini e multimedialitÃ
Docente: Prof. Vito Roberto
Crediti: 6
Finalità :
Il corso si propone di avviare gli studenti alla comprensione sia sperimentale che
concettuale di alcune tecniche di elaborazione grafica 3D interattiva. Si propone di consolidare la
preparazione degli studenti nella progettazione e programmazione a oggetti.
Programma: Modelli e Computer Graphics. Modellazione geometrica in due e tre dimensioni:
prospettiva e formazione dell'immagine. Modellazione degli oggetti; primitive geometriche e loro
realizzazione in JAVA 3D™. Modellazione fotometrica: riflessione diffusiva e speculare. Le
tessiture. Animazione e interattività . Le lezioni del corso si svolgono interamente in laboratorio.
Ogni argomento è trattato a livello formale e a livello pratico con esercitazioni, tramite l'uso del
linguaggio di programmazione JAVA (marchio registrato ORACLE) e l'ausilio della libreria grafica
JAVA 3D™ .
Bibliografia:
Foley, J.D., van Dam, A., Feiner S.K., Hughes, J.F.: Computer Graphics .
Addison-Wesley, 1997. La libreria JAVA 3D™ : http://java.net/projects/java3d/
Modalità d'esame: Al termine del corso ogni studente consegna una relazione finale con la
documentazione scritta di tutte le esercitazioni svolte in laboratorio. Inoltre, una prova scritta verifica la
capacità dello studente di affrontare individualmente due problemi relativi ad argomenti trattati del
corso, con la realizzazione di algoritmi di calcolo e documentazione. La valutazione finale è basata
sulla media delle valutazioni ottenute nella relazione finale e nella prova individuale.
Interazione uomo-macchina avanzata
Docente: Prof. Luca Chittaro
Crediti: 6
Finalità : Scopo primario del corso è quello di esplorare i più recenti sviluppi e tendenze nel
settore dell'Interazione Uomo-Macchina e di approfondirne le più importanti ricadute applicative. I
temi trattati rientrano in tre categorie di pari importanza:
• l'interazione con dispositivi e servizi mobili (ad esempio, telefoni cellulari, strumenti di bordo degli
autoveicoli),
• la Realtà Virtuale (Immersiva, Desktop o Web-based) ed i Serious Games,
• la visualizzazione delle informazioni (progetto di interfacce visuali e tecniche di Information
Visualization). Il corso considera anche il tema delle Tecnologie Persuasive.
Programma:
• Information Visualization (IV) : definizione. Data vs. Information. Obbiettivi dell'IV. Information
Visualization vs. Scientific Visualization. IV Design. Mapping: principles, visual attributes. Esempi.
2D vs. 3D visualization. Tipici problem di IV design. Classificazione dei tipi di dati: Categorical,
Numerical, Topological, Symbolic, Textual Data.
• Tecniche di visualizzazione : Bivariate, Trivariate, Multivariate data: Scatterplots, Mosaic Display,
Parallel coordinate plots, Starplot, Chernoff Faces. Hierarchical Axis. Dimensional Stacking.
Classificazione dei compiti: overview, zoom, filter, details-on-demand, relate, history, extract.
Dynamic Queries, Alphasliders, The Attribute Explorer. InfoZoom. Dimostrazione del software
XMDV. Pixel-oriented visualizations: screen-filling curves, recursive pattern, circle segments.
• Il presentation problem : Overview+Detail. Focus+Context. Distortion-oriented techniques. Table
Lens. Perspective Wall. Fish-eye view. Una classificazione alternative dei tipi di dati:: 1-dimensional,
2-dimensional, 3-dimensional, temporal, multi-dimensional, tree, network. Trees: Treemaps, Cone
Trees, Camtrees, Star Tree, Hyperbolic Trees. Networks: SeeNet, HierNet, NetMap. Dimostrazione del
software Many Eyes. Temporal data: Lifelines, AsbruView, Paint Strips. Documents: TileBars,
document Galaxies, Themescape, Citeseer-Relator, MDS-interactive.
• Caso di studio: IV in Medicina : Visualizing medical data: medical imaging vs. IV. Dimostrazione
di un visualizzatore DICOM. Esempi di IV in medicina: Interactive Data Exploration of clinical
databases, Digital libraries of anatomical images. Visual data mining of Hemodialysis data.
• Caso di studio: IV per il Web : Visual interfaces to Web search engines. Web page caricatures.
Visualizing Social activities on the Web. NattoView. Self-organizing maps. Skitter. Cichlid. Web
Forager. Disk tree. Time tube. Dome tree.
• Aspetti Percettivi, Cognitivi e Fattori Umani : Neurophysiological basis of visual perception: visual
cortex, ventral pathway, dorsal pathway. Colour vision: trichromatic theory, opponent process theory,
dual-process theory. Depth and size perception: monocular cues, binocular and oculomotor cues.
Perception without awareness. Perceptual organization and Gestalt laws. Uniform connectedness.
Contours. Feature, pattern, and object processing. Object recognition theories. Face recognition. Basic
facial expressions. Motion recognition. Optic Flow. Bottom-up and top-down visual processing. Visual
attention. Eye movement planning. Attention and performance. Focused and divided attention.
Perceptual load theory. Visual task analysis. Visual salience in simple task. Visual salience in complex
task. Controlled and automatic processes. Navigation in abstract or physical spaces. Improving
navigation. Navigation aids.
• Interazione con dispositivi mobili : Differenze tra il contesto mobile e desktop. Problemi legati alle
dimensioni dei dispositivi. Interface Elements of Menu-based Mobile Phones. Menu Interfaces in
Mobile Phones. Dual tasking. Attentional blink. Perceptual, motor, social and cognitive aspects of
mobile interaction. Workload and stress mitigation issues. Cross-modal effects. Eyes-free interfaces.
Multimodal Mobile Interfaces. Cross-modal attention.
• Telefoni cellulari : User Interfaces (UIs) of Mobile Phones. Mobile Product Categories. UI Styles in
Mobile Phones. Example: Two-softkey UI vs. Navi-key UI. Usability of different UI Styles. Evolving
different UI Styles. Case Study: unexpected reactions to Nokia Ringo. Case Study: the Nokia
Navi-roller failure.
• Valutazione di sistemi mobili : Ethnographic methods. Caso di studio: Indian users. Social aspects
of Mobile HCI. Longitudinal User Studies. Example: the Nokia One-Row Keyboard. The Mobile User
Experience.
• Mobile Information Visualization : The selection problem and the presentation problem on mobile
devices. The off-screen objects issue. New trends in mobile visualization. Mobile Persuasion.
Visualizing data about mobile users.
• Interfacce utente per automobili ed aspetti di sicurezza : Centralized Control Systems. Examples:
COMAND, Connect, iDrive, future concepts. The Keystroke-level model in the Automotive Domain
(SAE J2365). Distraction-related crashes. Types of driver distraction. Task performed by drivers with
mobile devices (cell phones, navigation systems, Internet services). Measuring driver distraction and
behavior.
• Interazione con sistemi di realtà virtuale : Virtual reality and its applications. Examples of medical
applications. Virtual Prototyping. Immersion. Presence. Case studies. General architecture of a virtual
reality (VR) systemVirtual reality in learning, education and training. Serious games. Issues in serious
games and virtual reality for education and training. Virtual Humans: Avatars. Ergonomic dummies.
Autonomous agents. Embodied interface agents. General architecture. Applications. Virtual humans in
learning and training.
• Tecnologie Persuasive : Definitions. Fogg's Behavior Model (FBM). The functional triad
framework. The 8-step design process. Persuasive technologies based on operant conditioning.
Persuasion heuristics: reciprocation, commitment and consistency, social proof, liking, authority,
scarcity.
Letture consigliate: R. Spence. Information Visualization , 2nd edition, Prentice Hall, 2007. C.
Lindholm, T. Keinonen. Mobile Usability , McGraw-Hill Education, 2003. W.R. Sherman, A.B.
Craig. Understanding Virtual Reality: Interface, Application , and Design, Morgan Kaufmann, 2000.
Modalità d'esame: The exam is organized in two parts: (i) practical project, (ii) oral exam. The
topic of the practical project is agreed with the professor.
Modellazione grafica 3D
Docente: Prof. Gian Luca Foresti, Prof. aggr. Claudio Piciarelli
Crediti: 6
Programma: 1. Introduzione - Presentazione del corso e dei concetti base della grafica 3D.
Richiami di elaborazione di immagini. Immagini analogiche e digitali, risoluzione spaziale e luminosa,
modelli di colore. 2. Basi di grafica vettoriale - Principali formati per immagini e loro limitazioni.
Esempi ed esercizi. Grafica 2D vettoriale, curve vettoriali, curve di Bézier, trasformazioni di
immagini (traslazioni, cambiamento di scala, rotazioni, etc.). Rastering e anti-aliasing. Esempi ed
esercizi. 3. Grafica 3D vettoriale - Parte I - Trasformazioni 2D-3D, punti 3D, esempi ed esercizi.
Linee 3D. Poligoni. Triangolazioni. Esempi ed esercizi. Poliedri. Rappresentazione di immagini 3D.
4. Grafica 3D vettoriale - Parte II - Superfici curve, rappresentazione di una sfera. Esempi ed
esercizi. Traslazioni, cambiamento di scala e rotazioni nel 3D. Visualizzazione di immagini 3D.
Modelli di illuminazione. Proiezioni, proiezioni prospettiche, proiezioni assonometriche ed ortogonali,
esempi ed esercizi. 5. Grafica 3D vettoriale - Parte III - Rappresentazione di curve nello spazio.
Forma parametrica implicita ed esplicita. Spline fisiche e spline cubiche. Esempi ed esercizi. 6.
Modellazione 3D - Parte I - Introduzione all'uso del software di modellazione 3D Maya. Tecniche di
modellazione poligonale e NURBS. Uso di modelli primitivi e creazione di modelli complessi tramite
estrusione. Uso delle superfici di suddivisione. 7. Modellazione 3D - Parte II - Tecniche per la
definizione della resa visiva dei modelli 3D. Creazione delle reti di shading. Applicazione di texture a
superfici poligonali. 8. Modellazione 3D - Parte III - Gestione delle fonti di luce. Tecniche di
rendering fotorealistico della scena. 9. Modellazione 3D - Parte IV - Tecniche di animazione
semplici: animazione con keyframe, animazione con path, animazione reattiva. Animazione complessa
di umanoidi: character rigging e skinning.
Bibliografia: - E. Angel, Interactive Computer Graphics (quarta edizione), Addison-Wesley,
2006. - D. Marini, M. Bertolo, A. Rizzi, Comunicazione Visiva Digitale , Addison-Wesley, 2002. A. Watt, F. Policarpo, The Computer Image , Addison-Wesley, 1998. - Foley, Van Dam, Feiner,
Hughes, Phillips, Introduction to Computer Graphics , Addison-Wesley, 1994. - Materiale distribuito
dal docente a lezione.
Modalità d'esame:
L'esame si compone di una prova scritta e di un progetto applicativo
assegnato dal docente. La prova scritta richiede di svolgere esercizi inerenti gli argomenti del Corso. Il
progetto consiste nella realizzazione di un modello grafico 3D.
Orario di ricevimento:
Su appuntamento.
Progettazione di sistemi multimediali
Docente: Prof. Elio Toppano
Crediti: 6
Finalità : Il corso si focalizza sui modelli, i metodi e le tecniche proposte in ambito accademico e
professionale per la produzione di prodotti multimediali finalizzati a specifici obiettivi (es.
progettazione per l'attenzione, l'attrazione, l'emozione, il divertimento, la riflessione, la presenza, ...).
Particolare attenzione viene data alla progettazione per l'esperienza e ai problemi di
internazionalizzazione e localizzazione dei prodotti. La parte teorica è associata allo studio di casi
specifici e ad esercizi pratici di progettazione. L'obiettivo del corso è quello di fornire allo studente le
conoscenze, i metodi e le tecniche per l'integrazione e l'orchestrazione (nel tempo e nello spazio) dei
diversi materiali multimediali in modo da costruire un prodotto che comunica in maniera coerente ed
efficace. La competenza integrativa non riguarda solo gli aspetti tecnici ma anche e soprattutto quelli
semantici e pragmatici.
Programma: Progettazione, scienza e tecnologia. Progettazione multimediale e comunicazione.
Metodi sistematici di progettazione: web engineering. La progettazione di applicazioni web con
WebML: progettazione dei contenuti, della struttura ipertestuale e della presentazione. L'approccio
dialogico: il modello IDM. Metodi orientati alla esperienza dell'utente. L'articolazione della
esperienza mediale: esperienza sensoriale, narrativa, relazionale. Progettazione sensoriale:
qualità tonali e ritmiche dei materiali multimediali, composizione spazio-temporale, effetti
sinestetici. Progettazione narrativa: strutture narrative e discorsive. Progettazione relazionale: sintonia
relazionale, design etico. Metadati per l'annotazione di prodotti multimediali: lo standard MPEG-7.
Progettazione per l'esperienza estetica: estetica della apparenza e estetica della interazione.
Progettazione per le emozioni: teoria dell' appraisal, modello arousal/valence. Progettazione per il
divertimento: il modello MDA e il modello Game Flow. Concetti di immersione, presenza e flusso.
Progettazione per la riflessione: ambiguità e interpretazioni multiple. Progettazione cross-culturale: il
ruolo della cultura nella localizzazione dei prodotti ipermediali . Applicazione dei metodi di
progettazione ad alcuni generi multimediali: videogiochi, videoclip, siti e ambienti web.
Bibliografia:
• G.Rossi, O.Pastor, D.Schwabe, L.Olsina (Eds). Web Engineering.Modelling and Implementing Web
applications , Springer, 2008.
• S.Ceri, P. Fraternali, A. Bongio, M.Brambilla, S.Comai, M. Matera. Designing data-Intensive Web
Applications . Morgan Kaufmann, 2003.
• P.G.Rossi, E.Toppano. Progettare nella società della Conoscenza . Carocci Editore, 2009.
• Materiali bibliografici forniti durante il corso, slides delle lezioni
Modalità d'esame:
L'esame consiste in una parte teorica e una pratica. La parte teorica
comprende la lettura e la presentazione fatta dagli studenti di articoli scientifici, studi di casi, analisi
comparative di applicazioni relative ad alcuni argomenti svolti durante il corso. La parte pratica
riguarda lo sviluppo di un prodotto multimediale secondo uno o più dei metodi illustrati a lezione.
Progettazione e analisi orientate agli oggetti
Docente: Prof. Stefano Mizzaro
Crediti: 6
Finalità : Il corso, che presuppone la conoscenza di base della programmazione OO (Orientata agli
Oggetti), mira ad introdurre i concetti e le tecniche avanzati di analisi e progetto del mondo OO. La
trattazione non sarà né formale né eccessivamente pratica, ma soprattutto concettuale. Verranno
descritti: il linguaggio di modellazione UML (Unified Modeling Language), i principi di costruzione di
un buon software OO e i design pattern. Verranno anche discussi alcuni casi di studio di problemi reali.
Programma:
• UML per il progetto. I diagrammi UML usati per la progettazione: diagrammi di classe, di
collaborazione, di sequenza, degli stati, di attività , dei componenti e del dispiegamento (deployment).
• I principi della progettazione OO. I concetti e le tecniche che consentono di costruire progetti OO di
buona qualità , ad esempio: domini, ingombro, coesione, spazio degli stati, comportamento,
conformità di tipo, progetto per contratti, ecc.
• I design pattern. I design pattern stanno alla progettazione OO come la programmazione strutturata
sta alla programmazione imperativa classica. I pattern sono schemi di soluzioni ricorrenti, la cui
conoscenza semplifica il progetto di nuovo software OO. Vengono presentati e analizzati i pattern
principali.
• UML per l'analisi. Viene completata la presentazione di UML, introducendo i diagrammi di classe
concettuali e dei casi d'uso. Vengono discusse le principali tematiche dell'analisi OO con UML.
• Il Refactoring. Viene presentata l'attività del refactoring, volta a migliorare codice già esistente e
funzionante.
• Casi di studio e approfondimenti. I concetti e le tecniche introdotti vengono esemplificati in situazioni
reali, attraverso un'attività seminariale che può essere svolta, opzionalmente, anche dagli studenti.
Bibliografia:
• M. Page-Jones. Progettazione a oggetti con UML , Apogeo, Milano, 2002. ISBN 88-7303803-4.
• E. Gamma, R. Helm, R. Johnson, J. Vlissides, Design Patterns , Addison Wesley, 1997, ISBN:
0201634988.
• M. Fowler, K. Beck, J. Brant, W. Opdyke, D. Roberts, Refactoring: Improving the Design of
Existing Code , Addison-Wesley, 1999, ISBN: 0201485672.
• A. Shalloway and J. Trott, Design Patterns Explained - A New Perspective on Object Oriented
Design , 2a edizione, Addison Wesley, 2004, ISBN: 0321247140.
• Altri testi e materiale fornito a lezione.
Modalità d'esame:
approfondimento, ecc.)
Orale su appuntamento ed attivitÃ
extra opzionale (seminario,
Scienza delle reti
Docente: Prof. Dario Fasino, Prof. Aggr. Massimo Franceschet, Prof. Stefano Mizzaro
Crediti: 12
Finalità : L'obiettivo del corso è presentare la storia, i concetti e la matematica della moderna
scienza delle reti.
Programma:
• Elementi di Algebra Lineare Numerica, catene di Markov e teoria di Perron-Frobenius.
• Classi di reti: reti tecnologiche, reti sociali, reti di informazione, reti biologiche.
• Misure di centralità : per grado, per autovettore, per vicinanza, per intermediazione.
• Struttura delle reti: componenti connesse, cammini minimi, distribuzione dei gradi dei vertici,
transitività , omofilia.
• Modelli delle reti: regolari, casuali, piccolo mondo, a invarianza di scala.
• Processi dinamici sulle reti: generazione, guasti, attacchi, percolazione, traffico, ricerca, epidemie,
mode, comportamenti.
• Cenni alle dinamiche delle folle (coda lunga, crowd, crowdsourcing).
Bibliografia: Mark Newman. Networks: An Introduction . Oxford University Press, 2010. D.
Easley and J. Kleinberg. Networks, Crowds, and Markets: Reasoning About a Highly Connected
World . Cambridge University Press, 2010. U. Brandes, T, Erlebach. Network Analysis . Springer,
2005.
Modalità d'esame: L'esame consiste di prove parziali svolte al termine di ciascun ciclo di
lezioni. Per la prima parte: un esame scritto e discussione delle attività di laboratorio. Per la
seconda parte: un esame orale più un eventuale progetto o approfondimento.
Sicurezza nelle applicazioni multimediali
Docente: Prof. aggr. Claudio Piciarelli
Crediti: 6
Programma:
Internet è ormai diventato il mezzo privilegiato per la diffusione di contenuti
multimediali, dal semplice sito web allo streaming di dati audio/video, ecc.. L'uso della Rete tuttavia
comporta anche una serie di problematiche relative alla sicurezza dei dati trasmessi che lo sviluppatore
di applicazioni multimediali deve saper riconoscere ed affrontare. Il corso quindi si concentrerà sulle
tematiche inerenti la sicurezza delle reti di calcolatori, affrontando in particolar modo gli argomenti
della crittografia e delle sue applicazioni in alcuni casi specifici, come la trasmissione della posta
elettronica e l'accesso ai siti web.
Bibliografia: [1] W. Stallings, Cryptography and Network Security: Principles and Practice, 5/E .
Prentice Hall, 2010
Modalità d'esame:
Orario di ricevimento:
Esame scritto
Su appuntamento.
Sistemi mobili e wireless
Docente: Prof. aggr. Stefano Burigat
Crediti: 6
Finalità : Obiettivo del corso è studiare i diversi aspetti dei sistemi mobili, dalla prospettiva delle
reti, da quella dei dispositivi e da quella delle applicazioni (sviluppo, distribuzione, fruizione). Durante
il corso, si studiano tecnologie e reti wireless attuali e future (ad esempio, UMTS, LTE, WiFi), i diversi
tipi di applicazioni e servizi mobili e wireless offerti in modo crescente all'utenza, le diverse categorie
di dispositivi mobili e le problematiche ad essi correlate. Ampio spazio verrà dedicato alle tecniche di
programmazione utilizzate per implementare applicazioni e servizi all'utente su dispositivi mobili.
Programma:
INTRODUZIONE
Aspetti della mobilità : user mobility, device mobility.
Wireless vs. mobile. Esempi di scenari mobili e wireless. Mobile vs. desktop application design.
SISTEMI DI TELECOMUNICAZIONE E RETI WIRELESS
Comunicazioni wireless: spettro
elettromagnetico, comunicazioni wireless vs. fisse, tecnologie. Storia delle reti wireless. Segnali e
frequenze, antenne, propagazione, modulazione, media access (SDMA, FDMA, TDMA, CDMA). Reti
cellulari: GSM, GPRS, UMTS, LTE. Wireless networks: IR vs. radio, infrastructrure-based vs. ad-hoc
networks, IEEE 802.11.
TECNOLOGIE DI LOCALIZZAZIONE Panoramica delle tecnologie
esistenti: GPS, Infrarossi, WiFi, Reti cellulari, RFID, ZigBee. GPS: funzionamento, limitazioni,
protocollo NMEA, miglioramento della precisione (AGPS, DGPS). Caratteristiche e limiti del GPS.
Self-contained sensor based systems.
DISPOSITIVI MOBILI
Tipi di dispositivi mobili.
Caratteristiche hardware dei dispositivi mobili: CPU, GPU, memoria, display, input, alimentazione,
connettività .
APPLICAZIONI E SERVIZI MOBILI
Location-awareness. Mobile GIS
(Geographic Information System). Mobile consumer location-based services: sistemi di navigazione,
buddy finder and family finder applications, foto geo-referenziate, location-based search engines,
mobile guides. Lavoro, comunicazione e collaborazione mobile. Mobile Computer-mediated
Communication. Mobile Computer-supported Cooperative Learning (CSCL). Proximity-based
collaboration support. Mobile shared spaces. Environment mediated collaboration. Mobile annotations.
Mobile group gaming.
SVILUPPO DI APPLICAZIONI SU DISPOSITIVI MOBILI
Piattaforme: Apple iOS, Google Android, Blackberry RIM, Symbian, Windows Phone. Sviluppo di
applicazioni Android: strumenti di sviluppo (Android SDK, Eclipse, ADT plugin, emulatore, DDMS),
ciclo di vita delle applicazioni Android, componenti di un'applicazione Android (activity, service,
content provider, broadcast receiver), intents, interfacce utente (XML layouts, views, widgets, menus),
data storage and retrieval, networking, telephony, graphics, animation, multimedia, location services,
sensori.
Bibliografia:
Materiale fornito dal docente.
Modalità d'esame:
Scritto + Progetto
Sistemi multimediali intelligenti
Docente: Prof. aggr. Lauro Snidaro
Crediti: 12
Programma: Il corso mira a fornire delle conoscenze avanzate per la creazioni di animazioni
multimediali interattive. In particolare, verranno affrontate animazioni bidimensionali mediante
l'impiego di Adobe Flash e il linguaggio ActionScript 3.0. Nella prima parte del corso verranno
richiamati i concetti fondamentali di Flash per poi affrontare le animazioni interattive basate su script.
Nel corso delle lezioni, condotte in laboratorio, verrà dedicato ampio spazio ad esempi ed
esercitazioni.
Introduzione ad Adobe Flash: Strumenti di disegno. Livelli e linea temporale. Interpolazioni di
forma e di movimento. Simboli. Pulsanti. Il suono. ActionScript 3.0: Fondamenti del linguaggio.
Controllo della linea temporale. Controllo di clip filmato. Gestione di eventi. Esempi di applicazioni.
Bibliografia:
R. Shupe, Z. Rosser, Learning ActionScript 3.0 , Sebastopol (USA), O'Reilly, 2007.
Modalità d'esame:
Orario di ricevimento:
Progetto + Orale.
Verrà comunicato a lezione.
Tecnologie web avanzate
Docente: Prof. aggr. Vincenzo Della Mea
Crediti: 6
Finalità :
Il corso si propone di introdurre gli studenti alle Tecnologie Web destinate
all'interoperabilità , alla condivisione di risorse ed alla cooperazione, sia dal punto di vista concettuale
che pratico tramite esercitazioni e casi di studio. Il corso consente allo studente di completare la
formazione in tema di tecnologie web già iniziata con i corsi di Tecnologie Web e Complementi di
Tecnologie Web.
Programma:
I temi trattati includono Service Oriented Architecture, Web Services (principi,
tecnologie di base e cenni di tecnologie avanzate), Cloud Computing, paradigmi per la progettazione
strutturata di applicazioni web. Le lezioni frontali teoriche sono complementate da seminari su
argomenti specifici, che possono includere anche attività pratiche in laboratorio.
Bibliografia:
Materiale didattico fornito dal docente.
M.P. Papazoglou. Web Services:
Principles and Technology , Pearson Education, 2008 J.Barr. Cloud computing . Apogeo 2010.
Modalità d'esame:
L'esame è orale e verte su tutti i temi trattati a lezione, più un
appropfondimento a scelta dello studente che può anche comportare lo sviluppo di un progetto
pertinente.
Televisione digitale interattiva
Docente: Prof. aggr. Marco Rossitti
Crediti: 6
Programma del corso:
I parte: La tv dopo la tv. Pratiche e pubblici televisivi nell'era della convergenza :
Ontologia dell'immagine digitale. Rivoluzione o riforma?: i media digitali fra tradizione e innovazione.
Dalla tv generalista alla tv digitale. Televisione e convergenza multimediale. La tv via Internet e a
banda larga. Net-tv, web-tv, IPTV. Televisione digitale e interattività . YouTube e il " Broadcast
yourself ". Mobile tv . Nuovi format per nuovi spettatori. La tv partecipata. La "scomparsa" della
pubblicità .
Riferimenti bibliografici Enrico Menduni, I media digitali. Tecnologie, linguaggi, usi sociali ,
Laterza, Bari, 2007;
Massimo Scaglioni - Anna Sfardini, MultiTV. L'esperienza televisiva
nell'età della convergenza , Carocci, Roma 2008; Tommaso Tessarolo, Net tv. Come internet
cambierà la televisione per sempre , Apogeo, Milano 2007; Enrico Pulcini, Click tv. Come
internet e il digitale cambieranno la televisione , Franco Angeli, Milano 2006; Emilio Pucci, La
televisione digitale , Carocci, Roma 2004.
II parte: Digi tales . Media digitali e nuove forme della narrazione:
Digital Storytelling :
modelli narrativi per il web. La nouvelle vague interattiva. La produzione audiovisiva intermediale.
L'influenza del web cinema . Performing arts e nuovi media.
Riferimenti bibliografici
Pietro Montani, L'immaginazione intermediale. Perlustrare, rifigurare,
testimoniare il mondo visibile , Laterza, Bari 2010; Gianni Canova (a cura di), Drammaturgie
multimediali. Media e forme narrative nell'epoca della replicabilità digitale , Unicopli, Milano 2009;
Marisa Pizza, Regia digitale. Le arti dello spettacolo nell'era virtuale , Liguori, Napoli 2011.
III parte: La ripresa diretta. Evoluzione e destino di uno "specifico" televisivo :
Definizioni e funzioni della ripresa diretta. Diretta e differita. Continuità e simultaneità come
fondamenti del linguaggio televisivo. Specificità del montaggio televisivo: il montaggio "in diretta".
La diretta come forma narrativa. La diretta come situazione comunicativa: modalità e strategie della
ricezione spettatoriale. Lo "stile diretta". La diretta e i generi televisivi. La diretta in studio. La diretta
in esterni: le regie mobili televisive. La diretta di eventi extratelevisivi. Diretta e organizzazione del
palinsesto. Dalla diretta tradizionale al live streaming .
Riferimenti bibliografici
Appunti delle lezioni e dispense a cura del docente.
Attività di laboratorio collegate:
Dall'evento al documento Esercitazioni di produzione
televisiva con tecnica mista: riprese live di un evento di spettacolo con sistema di regia mobile
televisiva pluricamere e successiva post-produzione digitale (editing in modalità multiclip ). Parte
delle esercitazioni avranno luogo on location , parte nella sala di montaggio digitale del Laboratorio
ReMoTe (Regia Mobile Televisiva).
Modalità d'esame: Prova scritta e valutazione delle attività di laboratorio. La bibliografia
obbligatoria per l'esame verrà indicata dal docente nel corso delle lezioni.
Orario di ricevimento:
Contatti con il docente:
Nell'ora successiva alle lezioni.
Esclusivamente all'indirizzo e-mail: [email protected] .
Teoria dei grafi e dei giochi
Docente: Prof. Paolo Serafini
Crediti: 6
Obiettivi: Il corso è volto a fornire le basi metodologiche per il successivo corso di Scienza delle
reti, per ciò che riguarda la teoria dei grafi e la teoria dei giochi. Della teoria dei grafi si esaminano
soprattutto quelle proprietà che emergono quando le dimensioni del grafo sono molto grandi, come
avviene in molte reti reali (quali i grafi sociali, internet, web ecc.). Della teoria dei giochi si
privilegiano soprattutto gli aspetti relativi agli equilibri dei giochi, sia cooperativi che non cooperativi.
Argomenti:
• Teoria dei grafi. Definizioni: grafi non orientati, grado di un nodo, sequenza dei gradi, generazione
di un grafo dalla sequenza.
• Isomorfismo fra grafi. Automorfismi.
• Grafi particolari: grafi completi, grafi bipartiti, alberi, stelle e ruote, grafi planari. Grafi ottenuti da
altri grafi: grafo complementare, grafo collassato, sottografi, grafo di linea, prodotto di grafi.
• Cliques, insiemi indipendenti, insiemi dominanti, coperture di nodi, numero cromatico.
• Cammini e circuiti, circuiti hamiltoniani, circuiti euleriani, grafi connessi, cammini minimi.
Eccentricità di un nodo, raggio e diametro del grafo, taglio in un grafo, alberi e foreste.
• Grafi orientati: grado esterno e interno di un nodo, grafi aciclici, connessione forte.
• Matrici: autovalori e autovettori. Matrici di un grafo, matrici di incidenza per grafi non orientati,
matrici di incidenza per grafi orientati, matrici d'adiacenza per grafi non orientati. Potenze di matrici
d'adiacenza e cammini. Spettro di un grafo: spettro di un grafo completo, spettro di un grafo bipartito.
Matrici d'adiacenza per grafi orientati. Matrice Laplaciana. Equazione di diffusione.
• Catene di Markov. Probabilità stazionaria di una catena.
• Grafi per famiglie di sottoinsiemi. Rappresentazione come ipergrafi e grafi bipartiti. Proiezioni
unimodali, grafo delle cocitazioni, grafo degli accoppiamenti bibliografici.
• Tagli minimi e massimi flussi. Problema del massimo flusso. Cammini disgiunti negli archi. Cammini
disgiunti nei nodi. Taglio minimo di un grafo: algoritmo randomizzato. Tecniche spettrali per min cut e
max cut.
• Modularità : definizione. Matrice di modularità . Massima modularità con tecniche spettrali.
Euristica di scambio. Partizione di un grafo in diversi sottografi.
• Grafi casuali: generalità . Modello G(n,p). Probabilità dei gradi dei nodi. Grafi casuali con gradi
prefissati. Funzioni generatrici: introduzione, definizioni principali, esempi. Funzioni generatrici del
grado dei nodi. Grado in eccesso. Dimensione delle componenti connesse. Transizione di fase.
Componente gigante
• Teoria dei Giochi. Definizione di gioco. Forma estesa e forma normale.
• Giochi a somma zero. Soluzioni del gioco. Giochi a somma non costante. Giochi non cooperativi.
Equilibri di Nash. Giochi cooperativi. Negoziati. Giochi a molte persone. Il piano dettagliato delle
lezioni si trova al sito http://users.dimi.uniud.it/~paolo.serafini/TGTG****.html
Bibliografia: Dispense disponibili on-line: http://users.dimi.uniud.it/~paolo.serafini/TGTG.pdf
Modalità d'esame: Esame orale.
Teoria dell'informazione e crittografia
Docente: Prof. Agostino Dovier
Crediti: 6
Finalità : Il corso si propone di introdurre lo studente ai temi della rappresentazione, codifica, e
trasmissione pubblica e riservata dell'Informazione. Nel corso si partirà da alcuni risultati matematici
fondamentali quali i Teoremi di Shannon, per arrivare a definire i codici comunemente impiegati per la
compressione dell'informazione (Huffman, Ziv-Lempel, LZW, Burrows-Wheeler), per la correzione
degli errori di trasmissione spazio-temporale (Reed-Solomon, Viterbi), e per la crittografia (AES,
RSA).
Programma:
Parte I. Codici di sorgente. Codici B-LV. Alberi di codice e univoca
decodificabilità . Alberi e codici prefix-free. Decodificabilità istantanea e non. Disuguaglianza di
Kraft-McMillan. Sufficienza dei codici a prefisso. Probabilità di emissione; lunghezza media di un
codice. Entropia. Divergenza. I Teorema di Shannon. Codici di Shannon Fano, limitazione superiore
della lunghezza media per i codici ottimi. Tasso del codice. Ottimalità asintotica dei codici di
Shannon-Fano. Introduzione al codice di Huffman: geminazione e taglio. Teorema di preservazione
ottimalità per geminazione (opportuna). Il codice di Huffman. Tipi. Dimensioni e numero dei tipi.
Codice multinomiale. Lunghezza del prefisso. Lunghezza del suffisso. Ottimalità asintotica del
codice multinomiale. Codici LV-B. Motivazioni e generalità . Famiglie esaurienti, a prefisso e
complete. Generazione di famiglie complete. Relazioni tra tasso ed entropia. Alberi e Codici di
Tunstall e ottimalità degli stessi. Non ottimalità dei codici di Tunstall al di fuori delle famiglie
complete. Codici LV-LV. Codice universale di Ziv Lempel. Studio della compressione massima di Ziv
Lempel. Codice universale di Lempel, Ziv e Welch. Codice universale di Burrows-Wheeler. Cenni alla
codifica B-B e ai codici delta-tipici.
PARTE II. Codici di canale Esempi: controllo parità , codice
a ripetizione, codice di Hadamard. Il modello del canale: matrice di canale, funzioni di codifica e
decodifica, tasso di trasmissione e di coorezione, probabilità di errore. Esempi. Capacità di un
canale e Teorema di Shannon di canale. Significato e calcolo della capacità del canale. Decodifica di
canale a massima verosimiglianza su CSB: decodifica a minima distanza di Hamming. Distanza
minima di un codice e relazioni con la capacità di correzione. Relazioni tra tasso di correzione la
Probabilità di errore. Relazioni tra tasso di trasmissione e tasso di correzione, e loro relazioni nei
codici. Cenni alle relazioni asintotiche denominate: limitazioni di Singleton e Plotkin, Hamming, e
Gilbert. Codici Correttori di Errore: introduzione ai codici algebrici. Campi finiti: con p elementi e con
p^r elementi. Albegra dei polinomi per i campi finiti. Matrice generatrice G (matrici equivalenti e in
forma canonica). Peso minimo di un codice lineare. Matrice di Controllo H dei codici algebrici.
Sindrome. Decodifica usando la Tabella di Slepian. Codice di Hamming binario ed esteso. Codici
BCH. Introduzione. Resto del corso Codici BCH 2-correttori. Codici ciclici. Definizioni principali,
polinomio generatore, teorema principale. Esempi su matrice generatrice dei codici ciclici. Polinomio
di controllo h e matrice H corrispondente. Richiamo sulle radici primitive dell'unità nei campi finiti e
relativi polinomi minimi. Uso dei polinomi minimi per determinare il polinomio generatore. Progetto
dei codici ciclici a partire dalle radici primitive dell'unità e relazioni con la distanza minima. Il codice
di Reed e Solomon. Codici convolutivi e l'algoritmo di Viterbi.
PARTE III. Crittografia. Storia e
terminologia. Cifrari a sostituzione monoalfabetica. Cifrari omofonici e nomenclatori. Cifrari
polialfabetici. Tecniche per scoprire lunghezza della chiave e chiave. Esempio pratico di cifrazione
Vigenere e sua decrittazione. Cifrari polialfabetici "algebrici". One-time-pad. Perfezione del
one-time-pad. Automazione della crittografia. Il rotore di Jefferson. L'Enigma, storia, funzionamento,
debolezze. Codici a trasposizione. Il Data Encryption Standard. Funzionamento e decrittazione.
Richiami algebrici. Algoritmo di Euclide tradizionale ed esteso. Correttezza e complessità . Piccolo
teorema di Fermat. Funzione e Teorema di Eulero. Esponenziale e logaritmo finito. L'Advanced
Encryption Standard (AES). Crittografia a chiave pubblica. Diffie e Hellman e il logaritmo finito.
Diffie e Merkle e il cifrario del fusto. Rivest Shamir e Adlemann e il cifrario RSA.
Bibliografia: Testo principale: Francesco Fabris. Teoria dell'Informazione, codici, cifrari . Bollati
Boringhieri, 2001. - Wade Trappe, Lawrence C. Washington.
Introduction to Cryptography with
Coding Theory (2nd ed) Pearson, 2005 - Dal sito web del corso sono disponibili note, dispense, e
presentazioni su varie parti del corso stesso.
Modalità d'esame: Orale, su appuntamento.
Teoria e tecniche di elaborazione dell’immagine
Docente: Prof. Vito Roberto
Crediti: 6
Finalità :
Il corso si propone di avviare gli studenti alla comprensione sia sperimentale che
concettuale di alcune tecniche di rappresentazione ed elaborazione di segnali e immagini. Si propone di
consolidare la preparazione degli studenti nel calcolo scientifico: progettazione, elaborazione,
documentazione.
Programma: Rappresentazioni dei segnali e delle immagini: analitica, numerica, grafica, statistica.
La rappresentazione statistica del rumore. Rappresentazioni in frequenza: spettri e loro calcolo.
Campionamento e conversione analogico-digitale. Filtraggio numerico di segnali e immagini.
Riduzione del rumore. Estrazione di caratteristiche dalle immagini. Le lezioni del corso si svolgono
interamente in laboratorio. Ogni argomento è trattato a livello formale e a livello pratico con
esercitazioni, tramite l'uso dell'ambiente di programmazione ed elaborazione MATLAB (©
TheMathWorks, Inc.).
Bibliografia:
Gonzalez, R.C., Woods, R.E.: Elaborazione delle Immagini Digitali - Terza
Edizione - Ed.Italiana a cura di S.Battiato e F.Stanco - Pearson-Prentice Hall, 2008; Moore, H.:
MATLAB® per l'Ingegneria - Terza Edizione - Ed.Italiana a cura di M.Mauri - Pearson-Prentice
Hall, 2008.
Modalità d'esame: Al termine del corso ogni studente consegna una relazione finale con la
documentazione scritta di tutte le esercitazioni svolte in laboratorio. Inoltre, una prova scritta verifica la
capacità dello studente di affrontare individualmente due problemi relativi ad argomenti trattati del
corso, con la realizzazione di algoritmi di calcolo e documentazione. La valutazione finale è basata
sulla media delle valutazioni ottenute nella relazione finale e nella prova individuale.
Teorie e tecniche dei nuovi media
Docente: Prof.ssa Leopoldina Fortunati
Crediti: 9
Programma: Il corso fornisce conoscenze per: analizzare i prodotti multimediali come oggetti
culturali; gestire criticamente ricezione e consumo/produzione dei nuovi media; comprendere le varie
forme e modalità dell'attuale sistema dei media (vecchi e nuovi); conoscere i processi della
comunicazione digitale e imparare a esprimersi efficacemente con i nuovi media, con particolare
riferimento alle modalità di composizione del testo. Il programma prevede un'analisi introduttiva
sulle relazioni sociali digitali, sui linguaggi, sulle teorie e concetti di base, sugli strumenti metodologici
di ricerca, al fine di stimolare una riflessione sul loro ruolo nella società dell'informazione e della
conoscenza. Si approfondirà inoltre la metodologia della ricerca sui e con i nuovi media e si faranno
dei lavori di gruppo sui diversi aspetti della sfera sociale.
Durante il corso verrò attivata una pagina Facebook per facilitare la comunicazione e
l'organizzazione del corso stesso.
Bibliografia: Appunti dalle lezioni.
C. Shirky, Uno per uno, tutti per tutti. Il potere di
organizzare senza organizzare . Codice, 2009 D. Bennato, Sociologia dei media digitali. Relazioni
sociali e processi comunicativi del web partecipativo . Laterza, 2011
approfondimento che saranno forniti nel corso delle lezioni.
Ulteriori articoli e materiali di
Modalità d'esame: L'esame si articola in tre distinte modalità , ognuna delle quali ha una
votazione specifica: a) l'elaborazione di una presentazione PowerPoint multimediale su due capitoli a
scelta di uno dei libri di testo; b) l'attiva partecipazione a una delle ricerche empiriche che saranno
proposte dal docente all'inizio del corso. c)
la prova orale finale che sarà un'interrogazione
sui due libri di testi obbligatori.
I non frequentanti sono tenuti a contattare subito la docente per
mettersi d'accordo su come articolare l'esame.
Orario di ricevimento: Due ore la settimana, dopo quelle di lezione. La prof.ssa Leopoldina
Fortunati può essere contattata all'indirizzo di posta elettronica: [email protected] .
Web design e user experience
Docente: Prof. aggr. Giorgio Brajnik, Prof. aggr. Paolo Omero
Crediti: 12
Finalità : Lo studente deve sapere progettare e realizzare l'impianto grafico di pagine e applicazioni
web e dev'essere in grado di valutare la qualità in uso e la user experience (UX) di una interfaccia
utente. Dovrà conoscere e saper applicare vari modelli e teorie proposti in letteratura. Siccome i
risultati relativi alla UX sono estremamente contestuali, una buona parte delle lezioni verteranno su
metodi che si possono adottare e prospettive di analisi che si possono assumere per svolgere una
valutazione dell'UX. Oltre a normali lezioni frontali, gli studenti sono invitati a studiare e presentare
in aula degli articoli tratti dalla letteratura scientifica. Inoltre per sostenere l'esame (solo orale)
dovranno svolgere uno o più progetti pratici.
I progetti per la parte di UX includono i seguenti
esempi:
• analisi delle strategie di persuasione adottate in siti di social network, e di news;
• applicazione di vari modelli delle emozioni su siti esistenti (ad es. di moda);
• svolgimento di esperimenti informali volti a confermare determinati risultati in letteratura;
• modifica di un sito live (tramite appositi proxy) e valutazione degli effetti su risposte emotive;
• indagini su aspetti legati alla credibilità , su blog, forum e social network.
La parte di web design
avrà un carattere prevalentemente pratico.
Contenuti modulo 1 (Dr. Giorgio Brajnik): Lo studente deve sapere dell'esistenza di una serie
di modelli e teorie, deve aver capito quando e come li si applica, e che tipo di conclusioni si possono
trarre.
• Definizioni e connotazioni di user experience.
• Le emozioni; il loro ruolo; il modello di Norman delle emozioni (viscerale, comportamentale,
riflessivo).
• Il modello di Hassenzahl (attributi edonici e pragmatici).
• L'effetto aura secondo Tracktinsky e secondo Hartman e De Angeli.
• Il modello di Desmet e Hekkert.
• Misurare le emozioni: metodi dimensionali, metodi discreti; lo strumento LEMTool; variabili
psicofisiologiche (pupillometria).
• Caso di studio: la pubblicità online.
• Legge di Fitts (cenni di statistica: regressione lineare).
• Massime di Grice.
• Principio di pertinenza di Wilson e Sperber.
• Teoria dell'apprendimento esplorativo.
• Ciclo dell'interazione (di Norman).
• Emozioni.
• Estetica.
• Inattentional blindness; change blindness; banner blindness.
• Teorie della perceptual bandwith e della limited capacity.
• L'interattività come conversazione.
• Lo stato di Flow.
• Il modello Elaboration Likelihood Model e la persuasione.
• Il computer come attore sociale; credibilità e persuasione; tecnologie persuasive.
• I modelli dei sistemi di notifica; modelli del costo dell'interruzione.
Contenuti modulo 2 (Dr. Paolo Omero):
Tipografia e web
• La tipografia, il tono del testo, il carattere, le unità di misura, leggibilità , crenatura e legatura,
interlinea, misure ideali, giustezza, sillabazione, giustificazione, spaziatura, ruscellamento, anatomia
del typeface, alcune classificazioni.
• La personalità del Typeface, typeface autorevoli, romantici, meccanici, morbidi, neutri. Esempi di
utilizzo. Esempi di Web Typography.
• Gerarchia visiva, la scala tipografica, stile e peso, contrasto tipografico, smallest effective difference,
colori e visualizzazione dei link, leading, ritmo verticale e baseline grid, esercizi con i CSS, esempi.
• Elenchi puntati, apostrofi e virgolette, ampersand e altri segni tipografici. Utilizzo di filetti, elenchi e
tabelle. Loghi basati sulla tipografia personalizzata.
• Esercizi.
Sezione aurea e numeri di Fibonacci
Sezione aurea, phi, rapporto fra segmenti,
proporzione aurea, rettangolo aureo, spirale aurea, sequenza di Fibonacci, sezione aurea in natura,
nell'arte, in architettura: esempi. Sezione aurea nella tipografica, esempi di impaginazione basata su
rapporti aurei. Sezione aurea nel Web, griglia di Fibonacci. Utilizzo di sequenze di Fibonacci per
stabilire il rapporto tra titolo e testo e per stabilire l'interlinea. Esercizi.
Layout e griglie
Layout, la disposizione degli elementi, le griglie come supporto
all'impaginazione, five simple steps to designin grid systems, esempi e strumenti utili. La regola dei
terzi in fotografia, esempi di composizione, looking room, composizione a triangoli, esempi online.
Esercizi.
Il progetto
Realizzazione di un sito web su uno specifico tema di interesse. Progettazione dei
contenuti, design e implementazione. Il processo di apprendimento è basato su una forte interazione
tra gli studenti in aula durante l'intero corso.
Bibliografia:
•
Materiale
didattico
su
http://users.dimi.uniud.it/~giorgio.brajnik/dida/psw/corso/newwiki/doku.php?id=wdux:wdux2011-201
2
• Creare siti web multimediali, G. Brajnik e E. Toppano, Pearson Education - Addison-Wesley, 2007.
• Emotional design. Perché amiamo (o odiamo) gli oggetti di tutti i giorni. D. A. Norman,
Apogeo, 2004.
• Tecnologia della persuasione. Un'introduzione alla captologia, la disciplina che studia l'uso dei
computer per influenzare idee e comportamenti B. J. Fogg. Apogeo, 2005.
• The Media Equation: How People Treat Computers, Television, and New Media Like Real People
and Places . B. Reeves e C. Nass. Center for the Study of Language and Information (CSLI), 2003.
• Materiale didattico del Dr. Paolo Omero, docente del secondo modulo.
Modalità d'esame: L'esame (solo orale) verte soprattutto sulla discussione di una relazione
svolta relativamente al materiale discusso durante il modulo 1 e su un compito scritto e un progetto
pratico svolto durante il corso per quanto riguarda il modulo 2. Per entrambi i moduli è necessario
concordare coi due docenti il tipo di attività da svolgere.
Web information retrieval
Docente: Prof. Stefano Mizzaro
Crediti: 6
Finalità : L'information Retrieval (IR) è una disciplina che è importante storicamente e che ha
ricevuto un forte impulso in seguito all'avvento del Web. Il corso mira a presentare gli aspetti
concettualmente più importanti dei sistemi d'IR, con particolare attenzione ai motori di ricerca sul
Web. Vengono discussi sia argomenti di base sia le correnti linee di ricerca e le tendenze future.
Programma:
• IR classico: modelli formali dell'IR; struttura di un indice invertito; interfacce utente per l'IR;
classificazione e clustering; valutazione (fondamenti, metodologie, metriche).
• Web IR: grafo del Web; analisi dei link; crawling; spam; architettura di un motore di ricerca.
• Casi di studio e approfondimenti.
Bibliografia:
• R. Baeza-Yates, B. Ribeiro-Neto, Modern Information Retrieval , 2a edizione, 2011
• Altri testi e materiale segnalato a lezione.
Modalità d'esame:
Orale su appuntamento ed attivitÃ
approfondimento, ecc.) su un argomento specifico.
extra opzionale (seminario,
Web semantico
Docente: Prof. aggr. Antonina Dattolo
Crediti: 6
Finalità : L'esplosione dei contenuti del Web, generati soprattutto dal Web sociale, e i conseguenti
problemi aperti, rendono più urgente il ricorso al Web semantico, al Web dei dati e dei metadati, e al
potenziale legato ad un suo uso più esteso e consapevole. Il presente insegnamento ha l'obiettivo di
introdurre e guidare gli studenti in un campo emergente e innovativo, fornendo loro un solido
inquadramento concettuale, ma anche gli strumenti metodologici e tecnologici che permettono l'utilizzo
delle risorse proprie del Web semantico.
Programma: L'insegnamento sarà diviso in due parti: la prima parte coprirà i fondamenti del
Web Semantico, dalla teoria alle tecnologie e ai linguaggi; la seconda parte sarà invece focalizzata su
un suo uso avanzato. Prima parte: Fondamenti del Web Semantico
• Motivazioni e visione.
• Metodologie, tecnologie e strumenti.
• RDF e RDF-S
• Web ontology Language: OWL
• Logica e ragionamento: Regole e queries
Seconda parte: Oltre i fondamenti
• Ontology engineering
• Applicazioni
• Sistemi multi-agente
• Web semantico e sociale
Bibliografia:
• Grigoris Antoniou and Frank van Harmelen. Semantic Web Primer , The MIT Press, 2008. ISBN:
9780262012423
• Pascal Hitzler, Markus Krötzsch, Sebastian Rudolph. Foundations of Semantic Web Technologies
. Chapman & Hall/CRC, 2009. ISBN: 9781420090505.
• Altri riferimenti bibliografici e materiale didattico saranno disponibile sulla pagina Web del corso,
all'indirizzo:
http://www.dimi.uniud.it/antonina.dattolo/it/didattica/ws/1112/
Modalità d'esame: L'esame consisterà nello sviluppo di un progetto individuale e nella
discussione orale sia del progetto che degli argomenti in programma.