PROGRAMMI DEL CORSO DI LAUREA IN Tecnologie web e multimediali a.a. 2009/2010 Architettura degli Elaboratori Docente: Prof. Pietro Di Gianantonio Crediti: 9 Finalità : Il corso ha lo scopo di illustrare la struttura e il funzionamento di un computer nelle sue diverse componenti. Il percorso didattico inizia con lo studio delle parti elementari che costituiscono un calcolatore e considera componenti sempre più complesse fino ad arrivare allo studio di architetture complete di calcolatori. Per meglio evidenziare i legami fra il livello hardware e quello software, il corso tratta la programmazione in linguaggio assembly. Programma: • Introduzione: prospettiva storica sulle architetture degli elaboratori, concetti base, livelli d’astrazione nell'analisi di un'architettura. • Reti logiche: porte logiche elementari, algebre booleane, circuiti combinatori d'uso frequente, chip di memoria. • Rappresentazione delle informazioni: sistema di numerazione binario, conversione tra basi, rappresentazione di numeri interi e reali, rappresentazione di caratteri, codici di rilevamento errori. • Processore: ciclo di fetch-decode-execute, data path, unità di controllo, presentazione dettagliata di un semplice microprocessore, pipeline, processori superscalari, predizione di salto, esecuzione fuori ordine, Pentium IV, Sparc. • Linguaggio Macchina: Evoluzione dei linguaggi macchina, tipi di dati, indirizzamento, tipi d’istruzioni, formati istruzioni. • Input/Output: programmed I/O, interrupt, DMA, dispositivi periferici, collegamenti mediante bus, meccanismi d’arbitraggio e sincronizzazione del bus, architettura di un tipico PC, bus PCI, SCSI, USB, dischi magnetici, RAID, dischi ottici. • Gerarchie di Memoria: meccanismi di funzionamento della memoria cache e della memoria virtuale, paginazione e segmentazione, MMU. • Programmazione assembly. Architettura del MIPS. Istruzioni MIPS: assegnamento, salto, aritmetiche-logiche. Modalità d’indirizzamento, chiamate di funzione, direttive all'assemblatore. Bibliografia: • Andrew S. Tanenbaum. Architettura dei calcolatori, un approccio strutturato. Pearson, 2006. Modalità d'esame: L'esame si compone di una prova scritta e di una prova orale. Durante il corso, vengono svolti tre compitini. Gli studenti che superano positivamente i compitini sono esonerati dalla prova scritta. Commercio elettronico Docente: Dr. Stefano Burigat Crediti: 6 Finalità : Scopo del corso è di analizzare in dettaglio i principali passi, le problematiche da affrontare e le soluzioni esistenti per la progettazione di servizi di commercio elettronico. In particolare, verranno analizzate le diverse dimensioni che è necessario conoscere al fine di sviluppare iniziative efficaci di commercio elettronico: l'acquirente (ad es., stili di acquisto, problematiche di fiducia, problematiche di usabilità ), il fornitore del servizio (ad es., Internet marketing, merchandising, strategie di commercio elettronico), il servizio (struttura dei siti di commercio elettronico attuali e linee di tendenza evolutive), il progetto del servizio (tipiche problematiche da affrontare, strumenti disponibili, linee guida, supporto all'acquirente nella navigazione, ricerca e confronto fra prodotti). Programma: CONCETTI BASE DI COMMERCIO ELETTRONICO Definizione di E-commerce (EC). EC vs. E-business. Pure vs. Partial EC. "Brick-and-mortar" vs. EC. Cenni storici ed evoluzione tecnologica. Tipologie di Commercio Elettronico: Business-to-Business (B2B), Business-to-Consumer (B2C), Consumer-to-Consumer (C2C), Intra-business, altre tipologie. Fattori trainanti del commercio elettronico: la rivoluzione digitale, pressioni sulle aziende e possibili risposte organizzative. Business model. Esempi di business model innovativi. Benefici e limitazioni del commercio elettronico. MERCATI ELETTRONICI Componenti di un marketspace. Tipi di marketspace: storefront, e-marketplaces, information portals. Intermediazione e disintermediazione. Cataloghi elettronici. Aste elettroniche. Fattori di concorrenza nell'EC. Impatto dell'EC sulle organizzazioni. Casi di studio: eBay ed Amazon. APPLICAZIONI BUSINESS-TO-CONSUMER (B2C) Viaggi e turismo. Mercato del lavoro online. Mercati immobiliare, assicurativo, azionario. Home banking. On-demand delivery services, e-grocers. La digitalizzazione di prodotti, servizi e processi. Ausili on-line al processo d'acquisto. Problematiche dell'e-tailing. INTERNET MARKETING Il comportamento dei consumatori on-line: tipologie. Caratteristiche personali e demografiche degli utenti Internet. Strategie di personalizzazione e marketing one-to-one. Ruolo delle ricerche di mercato nel commercio elettronico. Metodi per le ricerche di mercato tradizionali ed on-line. Marketing B2B. Agenti intelligenti. INTERNET ADVERTISING Scopi e motivazioni per la pubblicita' su Internet. Terminologia. Metodi di advertisement. Eventi e promozioni on-line. Valutare l'efficacia della pubblicita' su Internet. APPLICAZIONI BUSINESS-TO-BUSINESS (B2B) Concetti, caratteristiche e modelli di B2B. Sell-side marketplaces. E-procurement. Exchanges. ALTRI TIPI DI APPLICAZIONI DEL COMMERCIO ELETTRONICO Collaborative commerce, e-government, e-learning, online publishing, Consumer-to-Consumer (C2C). COMMERCIO ELETTRONICO E WEB 2.0 Infrastruttura tecnologica del Web 2.0, social networks, virtual communities, sostenibilita' di iniziative Web 2.0. MOBILE COMMERCE Dispositivi mobili e wireless. Tecnologie di rete wireless. Motivazioni alla diffusione delle tecnologie mobili. Tipi di applicazioni M-commerce. Mobile marketing e advertising. Servizi location-based. Pagamenti da dispositivo mobile. Benefici e limitazioni del Mobile commerce. Pervasive computing. Caso di studio: NextBus. SICUREZZA NEL COMMERCIO ELETTRONICO Problematiche di sicurezza. Attacchi tecnici e non-tecnici. Sistemi per rendere sicure le comunicazioni (autenticazione, sistemi crittografici, firewall). SISTEMI DI PAGAMENTO Pagamenti elettronici, smart card, micropagamenti, sistemi B2B. ASPETTI TECNICI DEL LANCIO DI UN SITO Requisiti per il successo dell'iniziativa. Business model e business case. Opzioni di Housing ed Hosting. Creazione e gestione dei contenuti. Progettazione del sito web: presentazione dei contenuti ed usabilita'. Promozione del sito web. Bibliografia: Materiale fornito dal docente. E. Turban, D. King, J. Lang. Introduction to Electronic Commerce, 2nd Edition, Prentice-Hall, 2008. : Modalità d'esame: Comunicazione efficace Docente: Prof. Carlo Tasso Crediti: 1 Finalità : Il corso si prefigge di dotare gli studenti di alcuni strumenti operativi essenziali nell'ambito della comunicazione, tali da facilitare il loro inserimento nel mondo del lavoro. Programma: Il corso si articolerà in una serie di seminari svolti con la collaborazione del Prof. Marzollo. Si analizzeranno le capacità comunicative individuali così come esse emergono in contesti collettivi (ad esempio lettura e presa di parola in pubblico) ed interpersonali (ad esempio preparazione ed esposizione del proprio curriculum vitae, incontri e colloqui di lavoro, etc.). Questo consentirà di evidenziare i punti critici in tali contesti comunicativi e di fornire elementi utili al loro superamento, grazie anche all'intervento di esperti specifici. Bibliografia: Data la brevità del corso e il suo carattere nettamente operativo la frequenza è necessaria per affrontare l'esame e non può essere sostituita dalla semplice lettura di testi. Tuttavia, si indicheranno materiali aggiuntivi o integrativi agli studenti che desiderino approfondire argomenti specifici. Modalità d'esame: L'esame consisterà in una prova di comunicazione (scritta ed eventualmente anche orale) il più possibile aderente a situazioni che lo studente dovrà affrontare nella sua vita lavorativa e sociale. Corso introduttivo Docente: Dott. Maurizio Trombetta Crediti: None Finalità : Lo scopo del Corso è quello di livellare la preparazione degli studenti che si iscrivono al primo anno del Corso di Laurea in Informatica, rimediando alle lacune che essi possono avere sui concetti di base e le nozioni essenziali per affrontare i Corsi di Analisi Matematica e di Matematica Discreta. Programma: Insiemi, elementi e sottoinsiemi. Relazioni di equivalenza e d'ordine. Applicazioni. Numeri naturali, interi, razionali, reali. Equazioni e disequazioni. Funzioni elementari: funzioni razionali, goniometriche, esponenziali e logaritmiche. Elementi di geometria analitica e di geometria euclidea. Bibliografia: M.TROMBETTA: Corso introduttivo di Matematica, Forum, Udine (2004) Modalità d'esame: Test scritto Matematica Discreta Docente: Prof. Giovanna D'Agostino, Dott. Pietro De Poi Crediti: 12 Finalità : Fornire allo studente gli strumenti fondamentali dell'algebra e dell'algebra lineare. Programma: Elementi fondamenti del calcolo booleano e uso dei quantificatori. Teoria elementare degli insiemi, delle funzioni e delle relazioni. Aritmetica di base - in particolare le proprietà dei numeri primi, della divisibilità e l'algoritmo di Euclide. Numeri reali e complessi. Elementi di base di analisi combinatoria. La teoria di base dei gruppi. Definizioni e prime proprietà degli anelli e dei campi. Definizioni e teoremi di base della teoria degli spazi vettoriali, calcolo di autovalori e autovettori di matrici. Bibliografia: S. Leonesi, C. Toffalori, Un invito all'algebra, Springer Italia 2006, ISBN: 978-88-470-0313-2. Programmazione e laboratorio Docente: Prof. Stefano Mizzaro, Prof. Paolo Coppola Crediti: 12 Finalità : Si vogliono introdurre le nozioni di base della programmazione: i concetti di algoritmo, programma e linguaggio di programmazione, la scrittura di programmi, l'uso delle API di un linguaggio. Lo strumento usato è il linguaggio di programmazione Java. Programma: • La programmazione strutturata. I mattoni di base di un programma Java (e della quasi totalità dei linguaggi di programmazione): variabili, tipi, espressioni, strutture di controllo (sequenza, selezione, iterazione), array, metodi, ricorsione. • Tipi di dati astratti e occultamento delle informazioni. Come costruire programmi più grandi e complicati, ma comunque modificabili, estendibili, comprensibili, ecc.: il concetto di Tipo di Dato Astratto (TDA) e i principi dell'incapsulamento e dell'occultamento delle informazioni. • I fondamenti della programmazione orientata agli oggetti (OO). La programmazione OO come un'evoluzione dai TDA. I concetti di: oggetti, classi, istanze, scambio messaggi, eredità e polimorfismo (cenni). Alcuni aspetti specifici della programmazione OO in Java: classi astratte, interfacce, package. • Le API (Application Programming Interface) del Java. Le "librerie" da usare per scrivere programmi non banali: per la gestione dei file, per la costruzione di interfacce utente grafiche, per implementare applet. • Teorie della computabilità e della complessità (cenni). I concetti di funzione computabile (ovvero: che cosa può fare un programma?) e di complessità computazionale (ovvero: come valutare l'efficienza di un programma, in termini di velocità di esecuzione, in modo teorico). Bibliografia: Il testo principale su cui si basano quasi tutte le lezioni teoriche è: S. Mizzaro. Introduzione alla programmazione con il linguaggio Java. Franco Angeli, Milano, 3a edizione, 2001. ISBN 88-464-1696-1. Per le esercitazioni di laboratorio ci si baserà su: P. Coppola, S. Mizzaro. Laboratorio di programmazione in Java, Apogeo, 2004, ISBN: 88-503-2145-7. A lezione verrà segnalato o fornito altro materiale (lucidi, pagine Web, dispense, altri testi consigliati). Modalità d'esame: Scritto (o prove di accertamento durante l'anno), progetto e orale. Psicologia della comunicazione Docente: Prof.ssa Magro Tiziana Crediti: 6 Finalità : Il corso si propone di fornire agli studenti una conoscenza di base sullo sviluppo della Psicologia della Comunicazione e dei suoi metodi. Gli obiettivi del corso saranno caratterizzati dallo studio dei concetti di base della comunicazione: acomprensione e produzione dei messaggi, codici visivi e verbali, comunicazione efficace, comunicazione persuasiva, comunicazioni di massa. Saranno approfonditi anche temi della psicologia cognitiva, dei processi emozionali e motivazionali e dei principali processi psicosociali che regolano l'interazione tra l'individuo e il suo ambiente sociale. Prerequisiti: Conoscenza della lingua inglese. Programma: Metodo didattico: Nelle lezioni di tipo teorico gli argomenti sono trattati nei loro aspetti generali. Lo studente li dovrà poi approfondire utilizzando il libro di testo e le letture suggerite. Lo studio della disciplina vedrà la teoria integrata alla pratica, con l'inserimento di esercitazioni o semplici esperimenti che metteranno in luce come i risultati ottenuti trovino riscontro e/o applicazione anche in situazioni di vita quotidiana. : Bibliografia: a. Anolli L., Fondamenti della comunicazione, Bologna, Il Mulino, 2006. b. Magro T., Psicologia Generale - vol. 1 - Milano, LED Edizioni, 2005. Solo capitoli: 2 (dal paragrafo 2.4 in poi), 3, 6, 7, 8,10. c. Un testo a scelta, tra quelli indicati: - Pravettoni G. Web Psychology, Milano, Guerini, 2002. Roversi A. Introduzione alla comunicazione mediata dal computer, Bologna, Il Mulino, 2004. - Stern S.E.,Mullenix J.W, Yaroslavsky I, Persuasion aNd social perception of human vs.syntetic voice across person as source conditions, in Journal of Experimental Social Psychology, 38, 6, pp. 556-568. Kruger J., Epley N., Perker J. e Ng Z.W., Egocentrism over e-mail: Can you communicate as well as we think? In Journal of Personality and Social Psychology, 89,pp. 925-936. Gli studenti non frequentanti dovranno riferirsi esclusivamente allo studio dei testi sopra indicati. : Modalità d'esame: Struttura della verifica di profitto: L'esame si svolgerà in forma scritta e avrà la durata di due ore; seguirà l'integrazione orale. Gli esami devono essere verbalizzati entro sei mesi dalla sessione di esame in cui sono svolti e non si accettano deleghe per la registrazione. Descrizione verifica di profitto: La prova scritta consisterà in una serie di domande aperte. La risposta dovrà essere della lunghezza comunicata al momento della prova e dovrà contenere una definizione del tema richiesto, un'eventuale elencazione delle caratteristiche salienti dello stesso e, se ritenuto rilevante, delle esemplificazioni. E' prevista un'integrazione orale solo per gli studenti che abbiano superato l'esame scritto su richiesta del docente che necessiti di una migliore comprensione del contenuto della prova e per dirimere eventuali dubbi o dello studente stesso. Orario di ricevimento: settimanale su appuntamento. Tecnologie web 1 e laboratorio (laboratorio) Docente: Crediti: 3 Programma: Oggetto del corso sono i linguaggi di annotazione (markup): SGML, HTML, XML. Obiettivi del corso sono: acquisire familiarità con tali linguaggi, con i browser e con strumenti software per la redazione assistita (authoring) di documenti su web; acquisire maggiore padronanza di alcuni degli argomenti discussi nel corso di Tecnologie web. Gli argomenti principali trattati durante il corso sono i seguenti: la documentazione in rete sui linguaggi di markup; linguaggi di markup e loro evoluzione dalla loro formulazione originaria (SGML); sintassi HTML; redazione di documenti ipertestuali con HTML; i browser; strumenti di redazione assistita di pagine HTML più diffusi sul mercato; il linguaggio XML e le evoluzioni recenti. Dopo aver superato l'esame lo studente deve essere in grado di: utilizzare bene HTML, browsers e almeno uno strumento di redazione di pagine web; conoscere ed utilizzare XML. Tecnologie web 1 e laboratorio (teoria) Docente: Crediti: 6 Programma: Il corso si propone di presentare agli studenti il World-Wide Web, le tecnologie informatiche e le implicazioni sociali che da esso traggono origine: una panoramica generale, corredata da esercitazioni di laboratorio, che anticipa i contenuti di corsi successivi e inserisce lo studente nelle problematiche dell'intero corso di laurea. Vengono introdotti i concetti fondamentali delle reti di calcolatori: protocolli, formati, linguaggi, tecnologie, con enfasi sull'HyperText Transfer Protocol ed il linguaggio HTML. La sicurezza delle reti viene affrontata tramite elementi di crittografia e tecniche di autenticazione. Le tecnologie multimediali vengono introdotte attraverso formati e standard di compressione e di rappresentazione dei dati audio, video, immagini, di grafica ed animazione. Vengono trattati aspetti dell'interattività sul web (linguaggi di script) e dell'interazione uomo-macchina nel progetto di pagine web e di interfacce grafiche basate su web. Concludono il corso problematiche di interesse sociale: la privatezza dei dati, la proprietà intellettuale su Internet e le implicazioni internazionali ed interculturali.