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.