UNIVERSITÀ DEGLI STUDI DI UDINE Guida ai programmi della Facoltà di SCIENZE MATEMATICHE FISICHE E NATURALI 07 08 WITH INFORMATION IN ENGLISH SCIENZE MATEMATICHE FISICHE E NATURALI ordinamento degli studi e programmi dei corsi della Facoltà di Scienze Matematiche, Fisiche e Naturali anno accademico 2007•2008 a cura di Michela Coffieri coordinamento editoriale Centro comunicazione e stampa Forum, Editrice Universitaria Udinese progetto di copertina cdm/associati con Ekostudio stampa La Tipografica Campoformido (Ud) Agosto 2007 FORUM Editrice Universitaria Udinese srl via Palladio, 8 o 33100 Udine 0432 26001 vox e 0432 296756 fax 3 sommario 5 7 20 Parte generale e ordinamento degli studi La Facoltà di Scienze Matematiche, Fisiche e Naturali Elenco dei docenti della Facoltà 22 22 28 33 38 43 44 45 51 55 60 64 69 77 Ordinamento didattico Laurea di primo livello in Informatica Laurea di primo livello in Tecnologie Web e Multimediali Laurea di primo livello in Matematica Laurea di primo livello in Biotecnologie Master di primo livello in Open Distance Learning Master di primo livello in Sistemi Informativi Territoriali Altri corsi di master di primo livello Laurea specialistica in Informatica Laurea specialistica in Tecnologie dell’Informazione Laurea specialistica in Matematica Laurea specialistica in Fisica Computazionale Laurea specialistica in Statistica e Informatica per la Gestione delle Imprese Calendario delle lezioni ALSI - Associazione dei Laureati in Scienze dell’Informazione 79 Programmi dei corsi 279 281 General information and curricula Faculty of Mathematical, Physical and Natural Sciences 285 285 285 287 286 287 287 287 287 288 288 289 289 Curricula Three-Year Laurea Course in Computer Science Three-Year Laurea Course in Web and Multimedia Technologies Three-Year Laurea Course in Mathematics Three-Year Laurea Course in Biotechnologies First level Master in Open Distance Learning First level Master in Geographical Information Systems (GIS) Other first level Master Courses Laurea Specialistica in Computer Science Laurea Specialistica in Information Technology Laurea Specialistica in Mathematics Laurea Specialistica in Computational Physics Laurea Specialistica in Statistic and Computer Science for Enterprise Management 291 Programmes 452 454 455 Pianta della città di Udine Presidenze di Facoltà e segreterie studenti Strutture, indirizzi e numeri di telefono Questa pubblicazione è un documento interno dell’Università degli Studi di Udine e non viene posta in commercio parte generale e ordinamento degli studi 7 parte generale e ordinamento LA FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI La sede La sede della Facoltà è in via delle Scienze, 208 (Loc. Rizzi) Udine - Tel. 0432 558681-4-7 - Fax 0432 558682; il sito web della Facoltà si trova al seguente indirizzo: http://www.uniud.it/didattica/facoltà/scienze; l’indirizzo e-mail è: presidenza.fama @uniud.it L’offerta didattica A partire dall’a.a. 2000/01 l’Università di Udine ha dato avvio alla riforma degli ordinamenti degli studi, come stabilito dalla normativa ministeriale vigente e in particolare dal Regolamento sull’autonomia didattica universitaria, il D.M. 509/1999. Questo sistema prevede una diversa articolazione dei titoli di studio: la Laurea (triennale), con l’obiettivo di assicurare allo studente un’adeguata padronanza di metodi e contenuti generali, nonché l’acquisizione di specifiche conoscenze professionali; la Laurea specialistica (con ulteriori due anni), con l’obiettivo di fornire allo studente una formazione di livello avanzato per l’esercizio di attività di elevata qualificazione in ambiti specifici. Questa riforma comporta quindi un adeguamento del sistema universitario italiano agli ordinamenti europei, prevedendo un titolo sostanzialmente equivalente al Bachelor anglosassone. Sono stati quindi progressivamente disattivati i corsi di laurea in Scienze dell’Informazione, quinto corso di laurea di questo tipo in Italia, con il quale la Facoltà di Scienze M.F.N. è stata istituita presso l’Università degli Studi di Udine nel 1978 (D.P.R. 298 dell’11/6/1978) - e che successivamente era stato sostituito dal corso di laurea quinquennale in Informatica - il corso di laurea quadriennale in Matematica e il corso di Diploma Universitario in Informatica. Nell’anno accademico 2007/08, presso la Facoltà di Scienze M.F.N., sono attivati i seguenti corsi: Laurea di I livello in: Informatica (classe 26) Matematica (classe 32) Tecnologie web e multimediali (classe 26) Biotecnologie - interfacoltà - (classe 1) Master di I Livello in: Open Distance Learning Sistemi informativi territoriali Laurea Specialistica in: Informatica (classe 23/S) Fisica Computazionale (classe 20/S) Matematica (classe 45/S) Tecnologie dell’informazione (classe 23/S) Statistica e informatica per la gestione delle imprese - interfacoltà - (classe 91/S) Nell’ambito delle aree scientifiche della Facoltà di Scienze sono inoltre attualmente attivati due corsi di Dottorato di Ricerca: il Dottorato di Ricerca in Informatica, della durata di 3 anni, e il Dottorato di Ricerca in Matematica e Fisica, della durata di 3 anni, entrambi con sede presso il Dipartimento di Matematica e Informatica. In base al D.M. 270 del 22.10.2004, è in corso un’ulteriore riorganizzazione degli ordinamenti che avrà effetto dal prossimo anno accademico. L’ATTUALE ORDINAMENTO DIDATTICO Crediti formativi I corsi sono strutturati sulla base di un nuovo sistema di misura delle attività formative, costituito dai crediti formativi 8 universitari (CFU). Un CFU corrisponde a 25 ore di lavoro dello studente, generalmente suddivise in 8 ore di lezione in aula e 17 ore di studio individuale. Corso di Laurea Il diploma di laurea di I livello si consegue dopo aver svolto attività per 180 crediti. La durata normale dei corsi di laurea è di 3 anni ma, a differenza di quanto stabiliva il vecchio ordinamento, ciò non preclude la possibilità di conseguire il titolo in un periodo di studi inferiore. Corsi di Laurea Specialistica Per approfondire le competenze acquisite nei corsi di laurea triennali ed avviarsi a svolgere attività che vanno oltre alla semplice gestione dell’innovazione ed implichino la creazione stessa di innovazione e l’assunzione di più rilevanti responsabilità, gli studenti potranno proseguire la loro formazione nell’ambito delle lauree specialistiche. Le lauree specialistiche prevedono l’acquisizione di ulteriori 120 crediti, pari ad una durata normale di 2 anni. Master Per acquisire competenze di specifico interesse per il mondo produttivo i laureati triennali potranno frequentare dei master di I livello e i laureati specialistici potranno frequentare i master di II livello. I master di I e II livello prevedono l’acquisizione di almeno ulteriori 60 crediti in un anno. Insegnamenti a scelta individuale Come dal D.M. 509/1999, in ogni curriculum sono previsti crediti di attività formativa a scelta individuale in misura fissata. La Facoltà di Scienze lascia la più ampia libertà allo studente nel definire questa parte del suo curriculum, purché siano crediti aggiuntivi (cioè corrispon- parte generale e ordinamento denti ad argomenti non acquisibili nel curriculum normale). Ad esempio riconosce corsi sostenuti presso qualunque altra Facoltà dell’Ateneo udinese. In particolare, per gli studenti che si trasferiscono da altre sedi universitarie e/o altri corsi di laurea, possono venire riconosciuti in questa tipologia anche crediti già maturati all’atto del trasferimento. Attività formative d’Ateneo Ogni studente dell’Università di Udine dovrà conseguire almeno i seguenti crediti formativi: prove di conoscenza di - lingua inglese 6 CFU - informatica di base 3 CFU (*) frequenza ed esame ai seguenti corsi - comunicazione 1 CFU - cultura d’impresa 1 CFU (*) Per gli studenti della Facoltà di Scienze non è prevista l’attività di Ateneo in informatica di base. I corrispondenti 3 CFU rientrano nei crediti dei corsi di informatica del I anno. CORSI DI LAUREA DI I LIVELLO Requisiti per l’accesso In base al D.M. 509/99 art. 6, l’ammissione ai corsi laurea di I livello è subordinata al possesso di un diploma di scuola secondaria superiore di durata quinquennale o quadriennale o di altro titolo di studio conseguito all’estero, riconosciuto idoneo. La Facoltà può attribuire agli studenti in possesso di un diploma di durata quadriennale obblighi formativi aggiuntivi. Immatricolazioni Le domande di immatricolazione ai corsi di laurea di I livello si accolgono dal 13 luglio 2007 al 21 settembre 2007 presso gli sportelli della Ripartizione Didattica (Segreteria Studenti) della Facoltà di parte generale e ordinamento Scienze M.F.N., via delle Scienze 208. Per gravi e giustificati motivi il Rettore potrà accogliere domande di immatricolazione presentate oltre il 21 settembre 2007, ma in ogni caso non oltre il termine perentorio del 31 dicembre 2007. Le domande di partecipazione alla prova di ammissione al Corso di Laurea interfacoltà in Biotecnologie si accolgono dal 13 luglio 2007 al 6 settembre 2007 presso gli sportelli della Ripartizione Didattica (Segreteria Studenti) della Facoltà di Medicina Veterinaria, via delle Scienze 208. Abbreviazioni di corso, passaggi, trasferimenti ai corsi del nuovo ordinamento Coloro i quali sono già in possesso di una laurea o di un diploma universitario o gli studenti già iscritti a corsi di studi dell’Università di Udine o di altri Atenei possono presentare rispettivamente istanza di immatricolazione con abbreviazione di corso, passaggio o trasferimento ai corsi del nuovo ordinamento didattico. Il Senato Accademico dell’Università di Udine ha deliberato il seguente criterio per la determinazione dell’anno di corso cui iscrivere lo studente in base al riconoscimento di parte o tutta la sua carriera: - iscrizione al I anno se i crediti riconosciuti sono inferiori a 40; - iscrizione al II anno se i crediti riconosciuti sono compresi tra 40 e 100; - iscrizione al III anno se i crediti riconosciuti sono superiori a 100. Tale criterio costituisce un principio generale ancorché indicativo in quanto le competenti strutture didattiche potranno adottare, con delibere motivate, soluzioni diverse. Preparazione Iscritti al Corso di Laurea in Informatica e al Corso di Laurea in Tecnologie web e multimediali Per consentire a tutti gli studenti iscritti 9 al I anno dei corsi di laurea in Informatica e in Tecnologie web e multimediali di acquisire un’adeguata preparazione per frequentare con profitto i corsi (in ottemperanza a quanto disposto dall’art. 6 del D.M. 509/99 sull’autonomia didattica e recepito dai regolamenti didattici dei suddetti corsi di studio), la Facoltà organizza un corso introduttivo, che si terrà dal 3 al 14 settembre 2007, tutti i giorni (da lunedì a venerdì) dalle 9.00 alle 13.00, presso l’aula H della sede dei Rizzi - Via delle Scienze 208 - Udine, tranne il 10 settembre, quando il corso si svolgerà dalle 14.00 alle 18.00 in Aula 51, sempre della sede dei Rizzi, e terminerà con un test che si terrà il 19 settembre 2007, alle ore 9.30, presso le aule H, I e 51 della sede dei Rizzi. Gli studenti di Informatica che, in base al test, risulteranno in difetto dei requisiti necessari all’ammissione, si vedranno assegnare 3 debiti formativi da colmare seguendo un corso di recupero che verrà precisato in seguito. Gli studenti di Tecnologie web e multimediali che, in base al test, risulteranno in difetto dei requisiti necessari all’ammissione, si vedranno assegnare 3 debiti formativi corrispondenti alla prima parte del corso di Matematica di Base. Quelli che, in base al test, risulteranno invece in possesso dei requisiti necessari all’ammissione, dovranno seguire soltanto la seconda parte del corso di Matematica di Base. Chi non sosterrà il test si vedrà automaticamente attribuire i 3 debiti formativi. Iscritti al Corso di Laurea in Matematica L’accertamento delle conoscenze richieste agli iscritti di Matematica, in ottemperanza a quanto disposto dall’art. 6 del D.M. 509/99 sull’autonomia didattica e recepito dai regolamenti didattici dei suddetti corsi di studio, per gli studenti iscritti al I anno, potrà essere fatto dagli studenti mediante un’autovalutazione della propria preparazione. A tal fine è stato 10 elaborato un questionario disponibile sulla pagina web del corso di laurea in Matematica, classe 32, alla voce ‘Informazioni per le matricole a.a. 2007/08’. Gli studenti che, in seguito all’analisi del questionario, trovassero la loro preparazione adeguata, firmeranno un’autodichiarazione in cui affermeranno di non aver debiti formativi. Coloro che, invece, ritenessero di non essere sufficientemente preparati, sono invitati a seguire un corso introduttivo che si terrà dal 10 al 21 settembre 2007, tutti i giorni (da lunedì a venerdì) dalle 9.00 alle 12.00 presso l’aula 51 della sede dei Rizzi, tranne il 19 settembre, quando il corso si svolgerà dalle 14.00 alle 17.00, sempre in aula 51. Preiscritti al Corso di Laurea in Biotecnologie Dal momento che nel corso di Matematica non sarà possibile riproporre in modo approfondito gli argomenti di matematica tipici dei programmi delle scuole medie superiori (equazioni e disequazioni, proprietà delle operazioni e delle potenze, elementi di geometria analitica e di trigonometria), gli studenti che non si sentissero sufficientemente preparati su tali argomenti sono vivamente invitati a seguire le lezioni del corso introduttivo che si terrà dal 10 al 21 settembre 2007, tutti i giorni (da lunedì a venerdì) dalle 9.00 alle 12.00 presso l’aula 51 della sede dei Rizzi, tranne il 19 settembre quando il corso si svolgerà dalle 14.00 alle 17.00, sempre in aula 51. CORSI DI LAUREA SPECIALISTICA Requisiti per l’accesso Per essere ammessi al Corso di Laurea Specialistica in Fisica Computazionale occorre essere in possesso di un diploma di laurea o di altro titolo di studio conseguito all’estero, riconosciuto idoneo secondo la normativa vigente. parte generale e ordinamento Il possesso del titolo di laurea in Fisica del vecchio ordinamento conseguito presso qualunque Università o il possesso del titolo di laurea in Fisica, classe 25 (ogni curriculum), conseguito presso l’Università degli Studi di Trieste o il possesso del titolo di laurea in Matematica, classe 32, conseguito presso l’Università degli Studi di Udine con un piano di studio che comprenda almeno 24 crediti di Fisica, non richiedono alcuna condizione ulteriore in termini di requisiti curricolari e di preparazione personale. L’ammissione al Corso di Laurea specialistica per laureati in possesso di un titolo di studio diverso da quelli sopra indicati è subordinata al riconoscimento dei crediti utili ai fini del conseguimento della laurea specialistica. L’ammissione viene concessa se e solo se i crediti utili sono almeno 120. Qualora i crediti riconosciuti siano meno di 180 vengono indicati specifici obblighi formativi (debiti) da soddisfare nel I anno di corso. Per essere ammessi al Corso di Laurea Specialistica in Informatica occorre essere in possesso di un diploma di laurea o di altro titolo di studio conseguito all’estero, riconosciuto idoneo secondo la normativa vigente. L’ammissione al Corso di Laurea specialistica è subordinata al riconoscimento dei crediti utili ai fini del conseguimento della laurea specialistica. L’ammissione viene concessa se e solo se i crediti utili sono almeno 120. Il possesso del titolo di laurea in Informatica o Scienze dell’Informazione del vecchio ordinamento, conseguito presso qualunque Università o il possesso del titolo di laurea in Informatica, classe 26, curriculum ‘Percorso base per le lauree specialistiche’, conseguito presso l’Università degli Studi di Udine, non richiede alcuna condizione ulteriore in termini di parte generale e ordinamento requisiti curricolari e di preparazione personale. Coloro che hanno conseguito la laurea in Informatica, classe 26, presso l’Università di Udine seguendo un curriculum diverso da quello sopra indicato possono comunque aver riconosciuti i 180 crediti già conseguiti, sulla base del curriculum che scelgono alla laurea specialistica. Qualora i crediti riconosciuti siano meno di 180 vengono indicati specifici obblighi formativi (debiti) da soddisfare nel I anno di corso. Per essere ammessi al Corso di Laurea Specialistica in Tecnologie dell’Informazione occorre essere in possesso di un diploma di laurea o di altro titolo di studio conseguito all’estero, riconosciuto idoneo secondo la normativa vigente. L’ammissione al Corso di Laurea specialistica è subordinata al riconoscimento dei crediti utili ai fini del conseguimento della laurea specialistica. L’ammissione viene concessa se e solo se i crediti utili sono almeno 120. Il possesso del titolo di laurea in Informatica o Scienze dell’Informazione del vecchio ordinamento, conseguito presso qualunque Università o il possesso del titolo di laurea in TWM, classe 26, conseguito presso l’Università degli Studi di Udine, non richiede alcuna condizione ulteriore in termini di requisiti curricolari e di preparazione personale. Qualora i crediti riconosciuti siano meno di 180 vengono indicati specifici obblighi formativi (debiti) da soddisfare nel I anno di corso. Per essere ammessi al Corso di Laurea Specialistica in Matematica occorre essere in possesso di un diploma di laurea o di altro titolo di studio conseguito all’estero, riconosciuto idoneo secondo la normativa vigente. L’ammissione al Corso di Laurea specialistica è subordinata al riconoscimento dei 11 crediti utili ai fini del conseguimento della laurea specialistica. L’ammissione viene concessa se e solo se i crediti utili sono almeno 120. Il possesso del titolo di laurea in Matematica del vecchio ordinamento conseguito presso qualunque Università o del titolo di laurea in Matematica, classe 32, conseguito presso l’Università di Udine, non richiede alcuna condizione ulteriore in termini di requisiti curricolari e di preparazione personale. I crediti acquisiti durante la laurea triennale sono tutti riconosciuti a seconda del curriculum scelto. Qualora i crediti riconosciuti siano meno di 180 vengono indicati specifici obblighi formativi (debiti) da soddisfare nel I anno di corso. Per essere ammessi al Corso di Laurea Specialistica interfacoltà in Statistica e Informatica per la Gestione delle Imprese occorre essere in possesso di un diploma di laurea o di altro titolo di studio conseguito all’estero, riconosciuto idoneo secondo la normativa vigente. L’ammissione al Corso di Laurea specialistica è subordinata al riconoscimento dei crediti utili ai fini del conseguimento della laurea specialistica. L’ammissione viene concessa se e solo se i crediti utili sono almeno 120. Il possesso del titolo di laurea triennale in Statistica e Informatica per la Gestione delle Imprese, classe 37, conseguito presso la Facoltà di Economia dell’Università degli Studi di Udine, non richiede alcuna condizione ulteriore in termini di requisiti curricolari e di preparazione personale. Qualora i crediti riconosciuti siano meno di 180 vengono indicati specifici obblighi formativi (debiti) da soddisfare nel I anno di corso. Immatricolazioni Le domande di immatricolazione ai corsi di laurea specialistica si accolgono dal 13 12 parte generale e ordinamento luglio 2007 al 5 novembre 2007 presso gli sportelli della Ripartizione Didattica (Segreteria Studenti) della Facoltà di Scienze M.F.N., via delle Scienze 208. È possibile presentare oltre il termine del 6 novembre l’immatricolazione in ritardo per giustificati motivi, ma in ogni caso non oltre il termine perentorio del 15 aprile 2008. In particolare, si ritiene giustificata la domanda di immatricolazione presentata dagli studenti che hanno conseguito il titolo di laurea (di I livello o vecchio ordinamento) entro tale data. Iscrizioni ad anni successivi al primo L’iscrizione ad anni successivi al primo per tutti i corsi di laurea avviene tramite pagamento del bollettino delle tasse universitarie che viene recapitato per posta. STRUTTURE COLLEGATE ALLA FACOLTÀ Dipartimenti Tutti i docenti e i ricercatori universitari afferiscono a strutture universitarie, dette Dipartimenti, a cui è affidata l’organizzazione della ricerca scientifica. Presso i Dipartimenti esistono laboratori e altre strutture per la didattica avanzata. Attualmente i docenti della Facoltà di Scienze afferiscono ai seguenti dipartimenti: Dipartimento di Matematica e Informatica via delle Scienze, 208 (Loc. Rizzi) 33100 Udine Tel. 0432 558400 Fax: 0432 558499 http://www.uniud.it/ricerca/strutture/di partimenti_scientifica/dimi Dipartimento di Fisica via delle Scienze, 208 (loc. Rizzi) 33100 Udine Tel. 0432 558210 Fax: 0432 558222 http://www.uniud.it/ricerca/strutture/di partimenti_scientifica/difa Dipartimento di Scienze Statistiche via Treppo, 18 33100 Udine Tel. 0432 275570 Fax: 0432 503240 http://www.uniud.it/ricerca/strutture/di partimenti_economica/diss Laboratori La Facoltà di Scienze M.F.N. dispone di due laboratori di informatica. Il Laboratorio 1 è attrezzato con 50 postazioni di lavoro, basate sull’architettura thin-client/server che rappresenta una moderna evoluzione degli ambienti di rete, perché da un lato consente un accesso universale alle applicazioni in ambiente Unix e Windows, indipendentemente dall’hardware del client, e dall’altro garantisce una maggiore gestibilità, espandibilità e sicurezza, realizzando l’obiettivo della riduzione del TCO (Total Cost of Ownership), mediante lo spostamento della parte applicativa dei programmi presso i server (Application Server). Il Laboratorio 2 dispone di 40 stazioni di lavoro in ambiente Linux e Windows XPx64, integrate in una infrastruttura di rete a dominio. La dotazione software dei laboratori comprende i più diffusi strumenti di ‘produttività individuale’, numerosi applicativi per risolvere problemi specifici, i principali linguaggi di programmazione e alcuni dei più importanti ambienti di sviluppo per le architetture disponibili. Tutte le postazioni dispongono di una connessione Fast Ethernet oppure Gigabit Ethernet alla rete locale LAN e sono collegate a Internet. I servizi di rete vengono forniti da una batteria di server Linux, Windows, Sun Solaris e da un parte generale e ordinamento NAS (Network Attached Storage), tutti connessi alla dorsale Gigabit Ethernet della LAN. I laboratori mettono a disposizione anche una decina di postazioni di lavoro riservate alla connessione dei computer portatili personali degli studenti, con un collegamento a Internet attraverso una sottorete dedicata e protetta. Tel. 0432 558689 Il Dipartimento di Matematica e Informatica dispone di laboratori Lab 1 e 2 per la ricerca, lo svolgimento di tesi sperimentali e la didattica di tecnologie specialistiche. Questi laboratori sono dedicati alle seguenti aree di ricerca: Basi di dati e sistemi multimediali, Bioinformatica, Verifica e calcolo parallelo, Dinamica dei sistemi, Elaborazione dei dati, Elaborazione di immagini, Informatica industriale, Informatica medica e telemedicina, Intelligenza artificiale, Interazione uomo-macchina, Matematica computazionale, Programmazione logica e calcolo simbolico, Ricerca operativa, Robotica, Verifica programmi, Visione artificiale e sistemi real-time. Presso il Dipartimento di Fisica si trovano i seguenti laboratori: Rivelatori a semiconduttore, Sviluppo rilevatori ed elettronica, Analisi dati per la micrometereologia, Acquisizione dati, Calcolo parallelo. Biblioteche Gli studenti dei vari corsi di laurea e diploma della Facoltà di Scienze M.F.N. possono trovare libri di testo, opere e riviste scientifiche di loro interesse presso le seguenti strutture: Centro Interdipartimentale dei Servizi Bibliotecari di Scienze (Via delle Scienze, 208 - Loc. Rizzi, Udine - Tel. 0432 558561), orario: dal lunedì al giovedì 9.00 - 18.45; venerdì 9.00 - 16.00; informazioni: http://cisbscienze.bib.uniud.it/ Centro Interdipartimentale dei Servizi Bibliotecari di Economia (Via Tomadini, 30/a - Udine - Tel. 0432 249600); informazioni: http://ecolex.bib.uniud.it/ 13 Il Centro Linguistico Audiovisivi (CLAV) Via Zanon, 6 - Udine - Tel. 0432 275570, organizza corsi di lingue straniere, a tutti i livelli, tenuti da lettori di madrelingua, test linguistici e prove di accertamento della conoscenza della lingua inglese. Organizza inoltre corsi di lingua italiana per stranieri e mette a disposizione degli studenti un servizio di autoapprendimento linguistico tramite un laboratorio linguistico e l’aula multimediale. Orario: da lunedì a venerdì 9.00 - 13.00 / 14.30 18.00. Informazioni: [email protected] http://www.uniud.it/didattica/servizi_st udenti/servizi_linguistici/laboratori_aut oapprendimento_linguistico Il Centro Servizi Informatici e Telematici (CSIT) Via delle Scienze, 208 - Loc. Rizzi, Udine - Tel. 0432 558900 - Fax: 0432 558911, fornisce supporto all’attività didattica avanzata ed all’attività scientifica. Gestisce la rete di Ateneo distribuita sulle numerose sedi cittadine ed i collegamenti di questa con la rete GARR e con la rete mondiale Internet. Fornisce agli utenti l’accesso agli elaboratori centrali e alla rete, anche all’esterno. Gli elaboratori del centro, oltre a fornire servizi di calcolo mediante librerie di programmi e compilatori per diversi linguaggi di programmazione, fungono da server per posta elettronica e sistemi informativi distribuiti. http://www.uniud.it/didattica/servizi_st udenti/servizi_informatici_e_telematici Servizi informatici Per tutti gli studenti vengono resi disponibili i seguenti servizi informatici: - il servizio SPES di posta elettronica che consente agli studenti di comunicare tra loro, con i docenti e con le strutture tecniche e amministrative; - il servizio SINDY che permette, tra l’altro, di iscriversi agli esami e di acqui- 14 sirne tutte le informazioni relative (date, commissioni, voti, ecc.), nonché di reperire l’orario di ricevimento dei docenti, visualizzare ed accettare i voti ricevuti negli esami, ecc; - il servizio ALEPH consente di consultare i cataloghi di tutte le biblioteche dell’Ateneo e di prenotare elettronicamente i libri; - il Portale Tirocini che permette di consultare il regolamento dei tirocini, il workflow delle attività necessarie per attivare, svolgere e terminare un tirocinio e accedere alla relativa modulistica. Consultando il nuovo sito dell’Università degli Studi di Udine (http://www. uniud.it), costantemente aggiornato, gli studenti possono accedere in tempo reale ed autonomamente ad ogni tipo di informazione. In particolare, all’indirizzo http://www.uniud.it/didattica/servizi_st udenti/servizi_on_line/ si possono trovare informazioni su: - Strutture didattiche (Aule didattiche, Aule studio, Laboratori, Aule informatiche) - Servizi linguistici (Laboratori d’autoapprendimento linguistico, Corsi di lingue, ecc.) - Servizi audiovisivi e multimediali - Servizi informatici e telematici (Alfabetizzazione informatica, Wi-Fi, Helpdesk, Patente europea per il computer ECDL, ecc.) - Relazioni con il pubblico (URP) - Orientamento e tutorato (CORT) - Rapporti internazionali (CRIN) - Segreterie didattiche - Segreterie di facoltà - Servizi per diversamente abili - Mobilità internazionale studentesca (programma Tempus, Leonardo Da Vinci, Socrates/Erasmus, ecc.) - Consultazione testi - Tirocini e stage (Portale tirocini, Ufficio tirocini) - Borse e premi (Bandi per borse di studio, premi di laurea, ecc.) - Tasse e Contributi Studenti (Borse di studio ERDISU, Prestiti d’onore, Paga- parte generale e ordinamento mento tasse, Riduzioni ed esoneri tasse) - Informazioni per studenti provenienti dall’estero. INFORMAZIONI DALLA FACOLTÀ: COSA FARE E DOVE La Ripartizione didattica (Segreteria studenti) delle Facoltà Scientifiche (Agraria, Ingegneria, Scienze M.F.N. e Medicina Veterinaria) Via delle Scienze, 208 - Loc. Rizzi, Udine - Tel. 0432 558380-9. Orario di ricevimento: da lunedì a venerdì dalle 9.30 alle 11.30, giovedì anche dalle 14.00 alle 16.00 a partire dal 6/9. La Ripartizione didattica (Segreteria Studenti) delle Facoltà Scientifiche, situata presso la sede dei Rizzi, ha il compito di curare i rapporti amministrativi generali fra gli studenti e l’Università. È a questo Ufficio che ci si deve rivolgere (e non alla Segreteria della Presidenza della Facoltà di Scienze M.F.N.) per informazioni su iscrizioni, tasse, trasferimenti da altre sedi o da altri corsi di laurea, piani di studio, e per le procedure burocratiche relative. Presso la Ripartizione Didattica si trova pure in distribuzione tutto il materiale informativo relativo alle Facoltà. La Ripartizione didattica (Segreteria studenti) ‘Segreteria Affari Generali’ e ‘Esami di Stato - Diritto allo studio’ Via Mantica, 3 Udine - Tel. 0432 55668090-92 Orario di ricevimento: da lunedì a venerdì dalle 9.30 alle 11.30, giovedì anche dalle 14.00 alle 16.00 a partire dal 6/9. Questo ufficio cura i rapporti tra gli studenti universitari e le istituzioni esterne all’Università. Ad esso ci si può rivolgere per ricevere tutte le informazioni riguardo agli esami di Stato, all’esenzione tasse e alle borse di studio. http://www.uniud.it/didattica/servizi_st udenti/tasse_contributi parte generale e ordinamento La Segreteria della Presidenza della Facoltà Via delle Scienze, 208 - Loc. Rizzi, Udine - Tel. 0432 558684-7-1 - Fax 0432 558682 Orario di ricevimento studenti : lunedì, mercoledì e venerdì dalle 12.00 alle 13.00 o per appuntamento. La Segreteria della Presidenza cura l’organizzazione dell’attività didattica della Facoltà, il coordinamento con la Ripartizione didattica e con gli altri uffici dell’Ateneo e la divulgazione, tramite bacheche e con puntuali aggiornamenti del sito web della Facoltà, di qualsiasi informazione utile agli studenti. È assai raro che uno studente debba parlare di persona con gli impiegati della segreteria, in quanto la maggioranza delle pratiche burocratiche che lo riguardano viene espletata tramite la Segreteria studenti. Inoltre cinque bacheche, organizzate per argomenti, sono esposte nei pressi della Segreteria di Presidenza: 1 - Albo Ufficiale della Facoltà per notizie riguardanti concorsi, borse di studio, possibilità di stage, convenzioni con aziende per tirocini, congressi, ecc. che possono interessare gli studenti della Facoltà; 2 - Docenti: qui, oltre a notizie di interesse dei docenti, viene esposta, anno per anno, la composizione delle commissioni d’esame dei vari corsi; 3 - Lauree: regolamenti di laurea e diploma universitario, il calendario annuale delle lauree e le relative scadenze, possibilità di tesi e, in concomitanza delle varie sessioni di laurea, elenchi dei laureandi con relativi relatori e controrelatori, le commissioni di laurea e gli orari; 4 - Esami: calendario esami e risultati esami (questi ultimi esposti a cura dei docenti); 5 - Corsi: tutte le notizie riguardanti il calendario accademico, l’orario delle lezioni, con eventuali sospensioni, spostamenti, ecc.; l’elenco degli insegnamenti attivati con i nominativi dei docenti, l’elenco dei docenti della Facoltà con i 15 loro numeri telefonici interni, gli avvisi relativi a presentazione di corsi, seminari, ecc. Altre tre bacheche si trovano in prossimità delle aule ‘piccole’ (dalla 41 alla 49) destinate alla Facoltà: 6 - Piani di Studio/ Tutorato: istruzioni e comunicazioni riguardanti i piani di studio dei vari corsi, tabelle relative ai riconoscimenti in seguito a passaggi di corso e trasferimenti, le modalità di attuazione del tutorato per l’anno in corso, eventuali comunicazioni del Docente-Tutore ai propri ‘tutorati’, iniziative, cicli di lezioni, seminari, ecc.; 7 - Bacheca per comunicazioni da e per i rappresentanti degli studenti nel Consiglio di Facoltà e nei Consigli di Corso di Laurea; 8 - Bacheca a disposizione degli studenti. Si consiglia di leggere attentamente gli avvisi della Facoltà. In ogni caso si prega di non rivolgersi in Segreteria fuori dell’orario di ricevimento esposto. Per particolari esigenze è necessario fissare un appuntamento. Il Preside riceve solo per appuntamento. Programmi di mobilità studenti in Europa Socrates-Erasmus Socrates è il programma dell’Unione Europea che promuove la mobilità degli studenti universitari all’estero, consentendo loro di seguire un periodo di studio riconosciuto in un’Università dell’Unione Europea, ma anche in Paesi dell’Europa Orientale, quali Ungheria, Romania, Polonia, Repubblica Ceca e Slovacchia, con cui l’Università di Udine ha stipulato accordi di collaborazione. A sostegno degli studenti che intendono partecipare ad uno scambio interuniversitario, l’Unione Europea mette a disposizione borse di mobilità, per contribuire alla copertura dei costi aggiuntivi connessi allo studio all’estero. La Facoltà di Scienze M.F.N. è attualmente convenzionata con le seguenti Università: 16 Technische Universitaet - Graz (A), coordinatore Prof. Pietro Corvaja Facultés Universitaires Notre-Dame de la Paix - Namur (B), coordinatore Prof. Luca Chittaro Katholieke Universiteit - Leuven (B), coordinatore Prof. Dario Fasino Universitaet Giessen (D) (solo per studenti dei corsi di laurea in Matematica), coordinatore Dott. Mario Mainardis University of Dortmund (D), coordinatore Dott. Mario Mainardis Universidad de Alicante (E), coordinatore Prof. Furio Ercolessi Universidad de Castilla la Mancha (E), coordinatore Prof. Marco Comini Universidad de Murcia (E), coordinatore Prof. Angelo Montanari Universidad Politecnica de Valencia (E), coordinatore Prof. Marco Comini Ecole des Mines de Nancy (F), coordinatore Prof. Marino Miculan Université Pierre et Marie Curie - Paris VI (F), coordinatore Prof. Alessandro De Angelis NTNU Norwegian University of Science and Technology - Trondheim (N), coordinatore Prof. Rossana Vermiglio Instituto Superior Tecnico Lisboa (P), coordinatore Prof. Alessandro De Angelis Akademia Gòrniczo-Hutnicza - Krakòw (PL), coordinatore Prof. Maria Staniszkis Lunds Universitet (S), coordinatore Prof. Alessandro De Angelis University of Ljubljana (solo per studenti dei corsi di laurea in Matematica) (SLO), coordinatore Prof. Dikran Dikranjan Istanbul Bilgi University (TR), coordinatore Prof. Vito Roberto University of Leeds (UK) (solo per studenti dei corsi di laurea di indirizzo informatico), coordinatore Prof. Giovanna D’Agostino. I bandi di mobilità Socrates per l’Università di Udine vengono pubblicati annualmente, generalmente nel periodo marzoaprile. La Facoltà reputa che un periodo di studi parte generale e ordinamento all’estero sia particolarmente significativo nella formazione di uno studente e raccomanda pertanto un’ampia partecipazione a questo programma. Per informazioni rivolgersi allo Sportello 10 del CRIN, Via Mantica 5, oppure consultare il sito www.uniud.it/didattica/servizi_studenti/programma_socrates Leonardo Il Programma Leonardo promuove e finanzia periodi di training professionale per laureati e laureandi da svolgere presso le Piccole e Medie Imprese in un paese europeo partner. L’Ateneo mantiene regolarmente aggiornate le relative informazioni alla pagina http://www.uniud.it/ didattica/servizi_studenti/mobilita/programma_leonardo Tirocini presso enti e aziende per laureandi I regolamenti didattici dei corsi di laurea in Informatica e in Tecnologie web e multimediali prevedono un periodo di tirocinio da effettuarsi presso aziende, università o enti di ricerca, sotto la supervisione di un tutor aziendale e di un tutor accademico, nell’ambito di opportune convenzioni stipulate tra l’Università e l’azienda/ente. Attualmente sono attive oltre 280 convenzioni con aziende ed enti di varie dimensioni e tipologie di attività, dislocati non solo in Friuli-Venezia Giulia, ma anche in altre regioni d’Italia e all’estero. L’elenco delle aziende convenzionate, il regolamento per i tirocini formativi (con la descrizione delle procedure da seguire per attivare, svolgere e terminare un tirocinio) e tutta la modulistica necessaria sono disponibili sul Portale Tirocini dell’Università di Udine: http://tirocini. uniud.it. Inoltre, all’interno del Portale Tirocini, ciascuno studente può utilizzare il suo usuale account del sistema SINDY per accedere all’Area Riservata, dove è possibile: parte generale e ordinamento - consultare i dati sulla propria carriera universitaria (esami sostenuti, media, crediti acquisiti, ecc.); - compilare una scheda descrivendo in testo libero le proprie capacità e competenze. Sulla base di queste informazioni il sistema sarà in grado di identificare e proporre allo studente i progetti di tirocinio a lui più adatti. Ulteriori informazioni in merito si possono richiedere all’Ufficio Tirocini e Job Placement dell’Università. Tirocinio post-laurea e post-diploma Nell’ambito di una convenzione quadro stipulata tra la Facoltà e l’Associazione degli Industriali della Provincia di Udine è previsto, tra l’altro, lo svolgimento di tirocini pratici di esperienza ed orientamento destinati ai neolaureati ed ai neodiplomati di questa Facoltà, ai fini di agevolare le loro scelte professionali mediante la conoscenza diretta del mondo del lavoro e delle realtà produttive locali. Career Day Ogni anno la Facoltà organizza il ‘Career Day’, un’iniziativa dedicata alla figura del laureato in Informatica e Matematica, per discutere le prospettive professionali e occupazionali. All’incontro, aperto a tutti gli studenti e i docenti della Facoltà, intervengono esponenti delle organizzazioni rappresentative a livello locale del mondo della produzione, dei servizi e delle professioni, per presentare e discutere le opportunità di inserimento nel mondo del lavoro. Tutorato Con questo termine si indicano tutte quelle attività, atte a favorire un miglior inserimento dello studente nella vita d’Ateneo, predisposte dalla Facoltà, d’intesa con il Centro Orientamento e Tutorato (CORT) in accordo con quanto disposto dalla Commissione Interna per 17 l’Orientamento e il Tutorato (CITO) e dalla Commissione d’Ateneo per l’Orientamento e il Tutorato (CATO). Se necessario vengono convocate assemblee docenti-studenti o ‘studenti anziani’studenti, per discutere e risolvere particolari problemi che possono essere comuni ad alcuni gruppi di studenti: ad esempio in relazione a passaggi da un corso all’altro, a corsi non più attivati, al cambio di indirizzo o orientamento, ecc. Per questioni ‘tipiche’, ad esempio per i piani di studio, i trasferimenti da un’altra Facoltà, i passaggi di corso di laurea, gli studenti possono rivolgersi alle rispettive commissioni. La Facoltà ha attivato un servizio di ‘Tutorato individuale’: gli studenti che lo desiderino possono scegliere, tra tutti i docenti della Facoltà, un tutore, previa verifica della sua disponibilità. Il compito del Tutore è quello di fornire allo studente un supporto sul piano didattico e, nei limiti del possibile, personale. Il tutore aiuta infatti lo studente dei primi anni ad individuare un metodo idoneo per affrontare lo studio e gli esami, considerando la profonda differenza fra la preparazione richiesta dall’Università rispetto a quella della scuola secondaria. Per ciò che non è di sua pertinenza il tutore indicherà allo studente, caso per caso, quali sono gli organi o le persone che possono rispondere alle sue domande. I docenti e i ricercatori della Facoltà informano, tramite le bacheche di Facoltà, di Dipartimento, dei Laboratori e mediante le proprie pagine web, sui possibili argomenti di tesi. Su richiesta dei rappresentanti degli studenti nel Consiglio di Facoltà o di Corso di Laurea, possono essere organizzati degli incontri docentistudenti per gruppi di discipline affini con delle brevi presentazioni degli argomenti elencati. Tutte le notizie dettagliate relative al Tutorato sono esposte nelle apposite bacheche della Facoltà. 18 parte generale e ordinamento L’ORGANIZZAZIONE DELLA DIDATTICA Calendario accademico 2007/08 Calendario delle lezioni I periodo didattico: II periodo didattico: III periodo didattico: 24.9.2007 - 30.11.2007 14.1.2008 - 19.3.2008 21.4.2008 - 20.6.2008 Periodi d’esame I sessione: II sessione: III sessione e recupero: 3.12.2007 - 21.12.2007 e 7.1.2008 - 11.1.2008 26.3.2008 - 18.4.2008 23.6.2008 - 31.7 2008 e 1.9.2008 - 19.9.2008 Iscrizione agli esami L’iscrizione agli esami può avvenire esclusivamente attraverso il servizio SINDY (iscrizione agli esami tramite Web). Per utilizzare tale servizio è sufficiente collegarsi al server web sindy.uniud.it. Alla richiesta di identificazione lo studente deve inserire la propria matricola (UserId) e la password assegnata per il primo accesso al servizio SPES (posta elettronica agli studenti). Vacanze accademiche Natalizie: dal 22.12.2007 al 6.1.2008 compresi Pasquali: dal 20 al 25 marzo compresi Calendario di laurea anno accademico 2006/07 Corsi di Laurea in Scienze dell’Informazione, Informatica vecchio e nuovo ordinamento, Diploma universitario in Informatica, Tecnologie web e multimediali, Laurea Specialistica in Informatica e Tecnologie dell’Informazione: Appelli Data laurea e diploma Data consegna tesi e libretti I appello 17 e 18 luglio 2007 2 luglio 2007 II appello 4 e 5 ottobre 2007 19 settembre 2007 III appello 13 e 14 dicembre 2007 28 novembre 2007 IV appello 10 e 11 aprile 2008 26 marzo 2008 Corso di Laurea in Matematica vecchio e nuovo ordinamento, Laurea Specialistica in Matematica, Laurea Specialistica in Fisica Computazionale: Appelli Data laurea e diploma Data consegna tesi e libretti I appello 3 luglio 2007 15 giugno 2007 II appello 11 ottobre 2006 26 settembre 2007 III appello 12 dicembre 2006 27 novembre 2007 IV appello 9 aprile 2007 25 marzo 2008 19 parte generale e ordinamento La domanda di ammissione all’esame di laurea si presenta presso lo sportello di Facoltà della Ripartizione Didattica entro i seguenti termini: Appelli del periodo estivo (maggio - giugno - luglio - agosto) entro il 30 aprile 2007 Appelli del periodo autunnale entro il 31 luglio 2007 (settembre - ottobre - novembre - dicembre) Appelli del periodo invernale (gennaio - febbraio - marzo - aprile) L’Università di Udine aderisce alla banca dati laureati ALMALAUREA, servizio che rende disponibili on-line i curricula dei laureati per facilitare il loro ingresso nel mondo del lavoro o una loro diversa, migliore collocazione. Informazioni in merito: http://www.uniud.it/didattica/post_laurea ORGANI UFFICIALI DELLA FACOLTÀ Il Consiglio di Facoltà La Facoltà è retta dal Consiglio di Facoltà, presieduto dal Preside (attualmente il prof. Carlo Tasso, professore ordinario di Sistemi di Elaborazione, rieletto per il triennio 2007/08 - 2009/10), è composto dai professori ordinari, straordinari ed associati, nonché da rappresentanze elette degli assistenti, dei ricercatori e degli studenti. I rappresentanti degli studenti nel C.d.F. per il biennio 2007-2009 sono: Lorenzon Maria; Bosa Elena; Tellini Andrea. I Consigli di Corso di Laurea Per ogni corso di laurea è istituito un Consiglio di Corso di Laurea con il compito di trattare tutte le problematiche inerenti la didattica. Tali consigli sono costituiti da tutti i docenti e ricercatori che svolgono attività didattica presso tale entro il 15 dicembre 2007 corso di laurea (ovvero che ricoprono per titolarità, supplenza, affidamento, contratto, carico didattico sostitutivo o aggiuntivo gli insegnamenti ufficiali attivati, anche per mutuazione, nell’ambito del corso di Laurea o di Diploma Universitario), e dai rappresentanti degli studenti. Presso la Facoltà di Scienze M.F.N. sono stati istituiti: - il Consiglio Unificato dei Corsi di Laurea della classe 26 (Scienze e Tecnologie Informatiche) e Laurea Specialistica della classe 23/s (Scienze Informatiche) è attualmente presieduto dal prof. Luca Chittaro, eletto per il triennio 2004/05 - 2006/07, professore ordinario di Interazione UomoMacchina. Per il biennio 2007-09 gli studenti non hanno eletto i loro rappresentanti. - il Consiglio di Corso di Laurea in Matematica, presieduto dal prof. Gianluca Gorni, eletto per il triennio 2005/06 - 2007/08, professore ordinario di Analisi Matematica. Le rappresentanti degli studenti per il biennio 2007-09 sono le seguenti: Molaro Chiara; Lorenzon Maria; Gerola Silvia. - il Consiglio di Corso di Laurea Specialistica in Fisica Computazionale, presieduto dal prof. Alessandro De Angelis, eletto per il triennio 2005/06 - 2007/08, professore straordinario di Fisica Sperimentale. Per il biennio 2007-09 gli studenti non hanno eletto i loro rappresentanti. 20 parte generale e ordinamento Docenti della Facoltà all’1.6.2007 e Dipartimento di Afferenza Professori di I fascia Prof. Cecchini Carlo Prof. Chittaro Luca Prof. Corvaja Pietro Prof. De Angelis Alessandro Prof. Dikranjan Dikran Prof. Gorni Gianluca Prof. Honsell Furio Prof. Marzollo Angelo Prof. Montanari Angelo Prof. Pace Luigi Prof. Parlamento Franco Prof. Pieroni Goffredo Giulio Prof. Policriti Alberto Prof. Roberto Vito Prof. Serafini Paolo Prof. Tasso Carlo Prof. Vermiglio Rossana Prof. Vidoni Paolo Prof. Zanolin Fabio Dip. Matematica e Informatica Dip. Matematica e Informatica Dip. Matematica e Informatica Dip. Fisica Dip. Matematica e Informatica Dip. Matematica e Informatica Dip. Matematica e Informatica Dip. Matematica e Informatica Dip. Matematica e Informatica Dip. Scienze Statistiche Dip. Matematica e Informatica Dip. Matematica e Informatica Dip. Matematica e Informatica Dip. Matematica e Informatica Dip. Matematica e Informatica Dip. Matematica e Informatica Dip. Matematica e Informatica Dip. Scienze Statistiche Dip. Matematica e Informatica Professori di II fascia Prof. Alessi Fabio Prof. Comini Marco Prof. Cortellezzi Luca Prof. Cragnolini Paolo Prof. D’Agostino Giovanna Prof. Di Gianantonio Pietro Prof. Dovier Agostino Prof. Ercolessi Furio Prof. Fasino Dario Prof. Freddi Lorenzo Prof. Giannozzi Paolo Prof. Lancia Giuseppe Prof. Lenisa Marina Prof. Marcone Alberto Giulio Prof. Miculan Marino Prof. Milanese Vitaliano Prof. Mizzaro Stefano Prof. Panti Giovanni Prof. Pascoletti Adriano Prof. Piazza Carla Prof. Rinaldi Franca Prof. Santi Lorenzo Dip. Matematica e Informatica Dip. Matematica e Informatica Dip. Fisica Dip. Matematica e Informatica Dip. Matematica e Informatica Dip. Matematica e Informatica Dip. Matematica e Informatica Dip. Fisica Dip. Matematica e Informatica Dip. Matematica e Informatica Dip. Fisica Dip. Matematica e Informatica Dip. Matematica e Informatica Dip. Matematica e Informatica Dip. Matematica e Informatica Dip. Matematica e Informatica Dip. Matematica e Informatica Dip. Matematica e Informatica Dip. Matematica e Informatica Dip. Matematica e Informatica Dip. Matematica e Informatica Dip. Fisica 21 parte generale e ordinamento Prof. Staniszkis Maria Prof. Toppano Elio Prof. Zucconi Francesco Dip. Matematica e Informatica Dip. Matematica e Informatica Dip. Matematica e Informatica Assistente Prof. Trombetta Maurizio Dip. Matematica e Informatica Ricercatori Dott. Baiti Paolo Dott. Brajnik Giorgio Dott. Cobal Marina Dott. D’Angelo Antonio Dott. Franceschet Massimo Dott. Grassmann Hans Dott. Lucido Silvia Dott. Mainardis Mario Dott. Michelutti Giovanni Luigi Dott. Mirolo Claudio Dott. Ranon Roberto Dott. Scagnetto Ivan Dott. Vitacolonna Nicola Dip. Matematica e Informatica Dip. Matematica e Informatica Dip. Fisica Dip. Matematica e Informatica Dip. Matematica e Informatica Dip. Fisica Dip. Matematica e Informatica Dip. Matematica e Informatica Dip. Fisica Dip. Matematica e Informatica Dip. Matematica e Informatica Dip. Matematica e Informatica Dip. Matematica e Informatica 22 parte generale e ordinamento ORDINAMENTO DIDATTICO LAUREA DI PRIMO LIVELLO IN INFORMATICA (classe 26 - Scienze e tecnologie informatiche) Durata del Corso 3 anni (180 crediti) Sede del Corso Udine, via delle Scienze 208 Caratteristiche e finalità del Corso Il Corso di Laurea fornisce al laureato in Informatica le competenze necessarie per operare negli ambiti della progettazione, sviluppo, gestione e manutenzione del software e di sistemi informatici, sia in imprese produttrici nelle aree dei sistemi informatici e dei calcolatori, sia nelle imprese, nelle amministrazioni pubbliche e nei laboratori che utilizzano sistemi informatici complessi. Inoltre, fornisce le conoscenze teoriche e metodologiche che sono alla base di una futura specializzazione volta a conseguire un master di primo livello o una laurea di secondo livello. In particolare, il laureato verrà preparato per inserirsi rapidamente e professionalmente in progetti di sviluppo di software e di sistemi integrati; avviare e gestire piccoli centri di elaborazione dati; fornire supporto alle scelte della dirigenza in materia di automazione e informatizzazione. Il Corso di Laurea è organizzato in modo da offrire i seguenti percorsi differenziati, detti ‘curricula’, atti a soddisfare specifiche esigenze professionali: - Progettazione Software; - Servizi informatici per le aziende e la pubblica amministrazione; - Gestione e Pianificazione; - Percorso base per le lauree specialistiche. Il Corso di Laurea in Informatica è carat- terizzato da una marcata presenza di corsi di laboratorio e prevede inoltre la possibilità di svolgere tirocini presso le aziende, quale parte integrante del percorso formativo, facilitando così il trasferimento delle competenze dall’Università alle aziende. Nell’ambito del Corso viene inoltre fornita la possibilità di imparare l’inglese e di acquisire abilità comunicative e organizzative. Dall’Anno Accademico 2003/04 i Corsi di Laurea in Informatica e Tecnologie Web e Multimediali hanno ottenuto la certificazione di qualità ‘Bollino Grin’, rilasciata dal GRIN (l’Associazione italiana dei docenti universitari di Informatica) in collaborazione con l’AICA (l’Associazione Italiana per il Calcolo Automatico). Requisiti specifici per l’accesso L’ammissione al Corso di Laurea è subordinata al possesso di un’adeguata preparazione iniziale costituita dalle competenze linguistiche e dalle conoscenze culturali comuni ai licei e agli istituti tecnici, nonché dalle conoscenze matematiche di base relative ai seguenti argomenti: aritmetica, geometria analitica, equazioni e disequazioni di primo e secondo grado, funzioni trigonometriche, logaritmiche ed esponenziali. Sbocchi professionali L’Informatica è attualmente in fortissima espansione in tutti i settori. La formazione globale che il Corso di Laurea impartisce permette l’impiego del laureato in ambiti molto diversi, dalle aziende alla pubblica amministrazione, con compiti di programmazione, gestione dati, sviluppo di software, automazione. La validità della nuova laurea triennale risiede nell’esigenza, più volte espressa dalle aziende italiane, di poter disporre di personale informatico qualificato, possibilmente più giovane di un laureato secondo il precedente ordinamento. 23 parte generale e ordinamento Gli studenti che proseguiranno i loro studi e conseguiranno la laurea specialistica avranno anche l’opportunità di trovare impiego in attività ad alto contenuto innovativo nei vari settori produttivi. Infine, coloro che conseguiranno successivamente il Dottorato di ricerca in Informatica, potranno trovare occupazione nell’Università e negli Enti di ricerca. Ordinamento degli studi Per conseguire la laurea lo studente deve acquisire 180 crediti, suddivisi uniforme- Insegnamenti/attività formative mente in tre anni. Nel terzo anno il corso si articola in quattro ‘curricula’. I corsi sono programmati nel modo seguente (per ogni corso viene indicato anche il settore scientifico-disciplinare corrispondente, secondo quanto stabilito dal D.M. 509/1999 e successive integrazioni): N.B.: Le seguenti informazioni sono aggiornate al 20 maggio 2007. Per i successivi aggiornamenti consultare la pagina web della Facoltà: http://www.uniud.it/didattica/facolta/scienze. CFU Periodo didattico S.S.D. 12 9 6 10 10 4 4 1-2-3 1-2 3 1-2-3 1-2-3 1-2-3 1-2-3 MAT/05 MAT/02 FIS/01 INF/01 INF/01 INF/01 INF/01 3 6 6 6 6 10 11 4 4 3 1 1 1 2-3 2-3 2-3 1-2 2-3 1-2 3 MAT/01 MAT/06 MAT/08 INF/01 INF/01 INF/01 INF/01 INF/01 INF/01 6 6 6 4 18 9 3 1 1 1 INF/01 ING-INF/05 INF/01 3 INF/01 Primo anno Analisi matematica Matematica discreta Fisica Programmazione Architettura degli elaboratori Laboratorio di programmazione Laboratorio di architettura degli elaboratori Secondo anno Elementi di logica matematica Calcolo delle probabilità e statistica Calcolo scientifico Fondamenti dell’informatica 1 Programmazione orientata agli oggetti Algoritmi e strutture dati Sistemi operativi Laboratorio di algoritmi e strutture dati Laboratorio di sistemi operativi Aspetti sociali ed etica professionale Terzo anno Basi di dati Ingegneria del software 1 Reti di calcolatori Laboratorio di informatica avanzato (*) Corsi specifici curricula Insegnamenti a scelta dello studente (**) Storia dell’informatica (**) 24 Comunicazione efficace Tirocinio o lavoro di tesi Prova finale parte generale e ordinamento 1 6 3 3 6 6 6 1 3 2 INF/01 ING-INF/05 INF/01 6 6 6 2 2-3 2 INF/01 ING-INF/05 INF/01 6 6 6 1 2 2 MAT/09 MAT/09 ING-INF/05 6 6 6 1 2 2-3 MAT/01 INF/01 INF/01 6 3 FIS/01 6 3 FIS/01 6 1 FIS/02 6 1 FIS/01 - Corsi specifici curricula Progettazione Software Linguaggi di programmazione 1 Ingegneria del software 2 Interazione uomo-macchina 1 Servizi informatici per le aziende Complementi di basi di dati Sistemi informativi Reti di calcolatori e sicurezza Gestione e pianificazione Ricerca operativa Modelli e algoritmi per la gestione delle risorse Sistemi esperti Percorso base laurea specialistica Logica matematica Fondamenti dell’informatica 2 Metodi formali dell’informatica 1 Corsi facoltativi (***) Campi e onde elettromagnetiche (consigliata la frequenza al II anno) Laboratorio di elettronica (consigliata la frequenza al III anno) Quantum computing (consigliata la frequenza al III anno) Fisica moderna (consigliata la frequenza al III anno) (*) Il Laboratorio avanzato è costituito da attività di laboratorio e professionalizzanti collegate ad uno dei corsi del III anno e si conclude con una valutazione finale. Qualora il corso di laboratorio venisse correlato ad un corso a scelta dello studente preso dalla Laurea Specialistica in Informatica o Tecnologie dell’Informazione, il suo valore sarà comunque di 4 CFU. Il laboratorio avanzato va scelto dallo studente consegnando alla Ripartizione Didattica l’apposito modulo. (**) I crediti a scelta dello studente devono essere crediti aggiuntivi al curriculum e non duplicazioni, seppure parziali, di corsi già previsti nei piani di studio. La Facoltà ha attivato per gli studenti interessati il corso di Storia dell’informatica. (***) Gli studenti che intendessero proseguire gli studi iscrivendosi al Corso di Laurea Specialistica in Fisica Computazionale, avranno garantita l’approvazione di un piano di studi libero che abbia inserito i 18 crediti di fisica previsti. A tal fine, ferma restando l’obbligatorietà di seguire il corso di Fondamenti dell’informatica 2, potranno sostituire i corsi di Logica matematica e Metodi formali dell’informatica con due corsi di fisica e utilizzare 6 dei 9 crediti a scelta dello studente per un terzo corso di fisica. parte generale e ordinamento Gli studenti dovranno inoltre acquisire 6 CFU di Lingua Inglese e 1 CFU di Cultura d’Impresa. Il CLAV fornisce i servizi didattici e stabilisce le modalità di svolgimento della prova di Lingua Inglese; un’apposita commissione d’Ateneo organizza didattica e modalità di svolgimento per il modulo di Cultura d’Impresa. Propedeuticità Ai fini di un ordinato svolgimento dei processi di insegnamento e di apprendimento, si consiglia agli studenti di seguire queste propedeuticità nel sostenere gli esami: - Algoritmi e strutture dati: Analisi matematica, Architettura degli elaboratori; Matematica discreta, Programmazione; - Basi di dati: Algoritmi e strutture dati; Elementi di logica matematica; Programmazione orientata agli oggetti; Sistemi operativi; - Calcolo delle probabilità e statistica: Analisi matematica; Matematica discreta; - Calcolo scientifico: Analisi matematica; Matematica discreta; - Complementi di basi di dati: Basi di dati e sistemi informativi; - Elementi di logica matematica: Matematica discreta; - Fondamenti dell’informatica 1: Analisi matematica; Architettura degli elaboratori; Matematica discreta; Programmazione; - Fondamenti dell’informatica 2: Algoritmi e strutture dati; Elementi di logica matematica; Calcolo delle probabilità e statistica; Calcolo scientifico; Fondamenti dell’informatica 1; - Ingegneria del software 1: Algoritmi e strutture dati; Elementi di logica matematica; Programmazione orientata agli oggetti; Sistemi operativi; - Ingegneria del software 2: Ingegneria del software 1; - Interazione uomo-macchina: Sistemi operativi; 25 - Laboratorio informatico avanzato: Laboratorio di programmazione; Laboratorio di architetture degli elaboratori; Laboratorio di algoritmi e strutture dati; Laboratorio di sistemi operativi; - Linguaggi di programmazione 1: Algoritmi e strutture dati; Programmazione orientata agli oggetti; - Logica matematica: Elementi di logica matematica; Calcolo delle probabilità e statistica; Calcolo scientifico; Fondamenti dell’informatica 1; - Metodi formali dell’informatica 1: Fondamenti dell’Informatica 1; Elementi di logica matematica; - Modelli e algoritmi per la gestione delle risorse: Ricerca operativa; - Programmazione orientata agli oggetti: Architettura degli elaboratori; Programmazione; - Reti di calcolatori: Algoritmi e strutture dati; Elementi di logica matematica; Programmazione orientata agli oggetti; Sistemi operativi; - Reti di calcolatori e sicurezza: Reti di calcolatori; - Ricerca operativa: Algoritmi e strutture dati; Calcolo delle probabilità e statistica; Calcolo scientifico; - Sistemi esperti: Ingegneria del software 1; - Sistemi informativi: Basi di dati e sistemi informativi; Reti di calcolatori; - Sistemi operativi: Architettura degli elaboratori; Programmazione. Scelta curriculum e piani di studio individuali Gli studenti che frequenteranno il terzo anno di corso nell’a.a. 2007-08 devono presentare alla Ripartizione Didattica la scelta del curriculum e del laboratorio avanzato entro il 21.9.2007. Gli studenti che, per particolari obiettivi formativi specificamente descritti e motivati, intendono seguire un piano di studi diverso da quelli previsti dai curricula, possono presentare domanda di approva- 26 zione di un piano di studio individuale alla Ripartizione Didattica entro il 21.9.2007. Tali domande verranno quindi trasmesse alla Facoltà per l’approvazione. Tutorato Ogni studente può scegliere fra i docenti della Facoltà il proprio tutore, che lo aiuterà ad inserirsi nella vita accademica e a pianificare in modo più efficace i propri studi. La Facoltà può inoltre istituire apposite commissioni per trattare problematiche specifiche, come scelta del curriculum, programmi di studio all’estero, orientamento alla scelta delle aziende dove effettuare il tirocinio. Tirocinio Il regolamento didattico del Corso di Laurea in Informatica prevede un periodo di tirocinio da effettuarsi presso aziende, università o enti di ricerca, sotto la supervisione di un tutor aziendale e di un tutor accademico. La durata prevista per il tirocinio va da 150 a 250 ore. Il tirocinio si svolge nell’ambito di opportune convenzioni stipulate tra l’Università e l’azienda/ente. Al momento della definizione di ogni singolo progetto viene verificata la sua valenza formativa. L’attestazione di avvenuto tirocinio fa parte della carriera universitaria dello studente. Procedura per lo svolgimento del tirocinio Lo studente che abbia superato esami corrispondenti ad almeno 120 crediti può compilare la domanda di tirocinio on-line sul Portale Tirocini (http://tirocini.uniud. it/tirocini/public/scienze/index.jsp), da dove è possibile scaricare tutta la modulistica relativa alla convenzione e al progetto formativo. parte generale e ordinamento Con l’aiuto del Portale e/o dell’Ufficio Tirocini, lo studente individua l’azienda presso la quale svolgere il tirocinio. Una volta individuata l’azienda, se l’azienda è già convenzionata con la Facoltà di Scienze M.F.N., lo studente compila il progetto formativo (con l’aiuto del tutor aziendale e di quello accademico, che devono sottoscrivere il progetto) e consegna un originale all’azienda e uno alla Segreteria di Presidenza della Facoltà. Se l’azienda non è convenzionata, lo studente sottopone il progetto formativo proposto dall’azienda all’approvazione del tutor accademico. Nel caso di parere positivo, si stipula la convenzione (che deve essere approvata anche dal Consiglio di Corso di Laurea) e si procede alla sottoscrizione del progetto formativo. Al termine del progetto, il tutor accademico deve attestare nell’apposito libretto (che si scarica dal Portale Tirocini) che lo studente ha effettuato con profitto il tirocinio per il numero di ore risultanti dal libretto stesso, sentito eventualmente il tutor aziendale. Inoltre, il tirocinante e il tutor aziendale devono compilare i rispettivi questionari, scaricabili dal Portale Tirocini, che devono essere consegnati dallo studente in Segreteria Studenti assieme al libretto di tirocinio, per la registrazione dei relativi crediti. La relazione scritta sull’attività svolta durante il tirocinio può costituire il documento che verrà discusso come prova finale. Particolari tipologie di tirocinio - Tirocini per studenti-lavoratori Uno studente che si trovi nella condizione di studente-lavoratore dovrà allegare alla domanda di tirocinio una dichiarazione che certifichi tale condizione, specificando qual è l’ambito di occupazione. 1) Studente-lavoratore in ambito informatico Nel caso in cui lo studente lavori (come parte generale e ordinamento dipendente) in ambito informatico da alcuni anni e sia in grado di documentare la propria esperienza, gli verranno riconosciuti i crediti del tirocinio, senza dover convenzionare l’azienda; sarà compito della Commissione tirocini valutare se l’attività lavorativa documentata può essere riconosciuta come crediti per il tirocinio. In caso affermativo, lo studente dovrà svolgere come prova finale una tesi da 3 crediti. 2) Studente-lavoratore non in ambito informatico Nel caso in cui lo studente non lavori in ambito informatico, si cercherà di individuare un progetto che si possa svolgere all’interno dell’azienda in cui lavora, con cui dovrà essere stipulata una convenzione specifica con la Facoltà; in questo caso, la convenzione avrà validità limitata al solo progetto attuativo dello studente in questione. - Tirocini interni all’università I tirocini svolti presso una struttura dell’Università di Udine non necessitano di una convenzione ad hoc, ma soltanto del progetto formativo, in cui oltre al tutor accademico della Facoltà dovrà essere indicato il tutor aziendale, referente della struttura presso la quale si svolge il tirocinio. Lauree L’esame di laurea in Informatica consiste nella discussione pubblica di una tesi di laurea. Le tesi di laurea sono divise in tre categorie: - Elaborato: è il risultato di un progetto di esame documentato in forma scritta. - Tirocinio: è la relazione riguardante un progetto, concordato con un docente della Facoltà, svolto durante il periodo di tirocinio. - Tesi compilativa: è un lavoro di rassegna con presentazione critica e bibliografia ragionata. 27 Il voto finale, espresso in centodecimi, è formato da una votazione di base e da due incrementi. La votazione di base è costituita dalla media pesata delle votazioni riportate dal candidato nei singoli esami di profitto, trasformata poi in centodecimi. Il peso di un esame è uguale al numero di crediti attribuiti al relativo insegnamento. Sono considerati solo gli esami con punteggio numerico. Il primo incremento da 0 a 4 punti è determinato in base al rispetto dei tempi previsti per il conseguimento del titolo di studio e al numero delle lodi, secondo la seguente formula: min{ 0.04 M, α M + n 0.3 } dove M è la media in centodecimi, n è il numero di lodi conseguite negli esami di profitto e α è un coefficiente che dipende dai tempi richiesti per concludere il percorso di studi, e valutato secondo i seguenti criteri: α = 0.04 per le lauree conseguite entro le prime due sessioni (periodo giugno-ottobre) del III anno effettivo di corso; α = 0.035 e α = 0.03, rispettivamente, per le successive sessioni autunnale e invernale (straordinaria); α = 0.0225, α = 0.015, α = 0.0075 per le prime tre sessioni (estate-autunno) del IV anno effettivo di corso; α = 0 per tempi di conseguimento della laurea più lunghi. Il secondo incremento è un numero compreso tra 0 e 7, determinato dalla commissione di laurea in base alla dissertazione e alla sua presentazione. L’Elaborato può portare ad un incremento di punteggio minore o uguale a due. È richiesta la nomina di un controrelatore per le tesi di laurea in cui il relatore propone un incremento del secondo tipo strettamente maggiore di 5 punti. 28 LAUREA DI PRIMO LIVELLO IN TECNOLOGIE WEB E MULTIMEDIALI (classe 26 - Scienze e tecnologie informatiche) Durata del Corso 3 anni (180 crediti) Sede del Corso Udine, via delle Scienze 208 Caratteristiche e finalità del Corso Il Corso di Laurea fornisce conoscenze e competenze per operare negli ambiti dell’analisi, progettazione, sviluppo, gestione e manutenzione di applicazioni Internet/World Wide Web (WWW) e multimediali, sia in ditte specializzate del settore, che nelle imprese, nelle aziende dei settori pubblico e privato, nei gruppi editoriali, nelle amministrazioni e nei laboratori che utilizzano sistemi web e multimediali. Le conoscenze maturate durante il corso consentiranno al laureato di inserirsi rapidamente in progetti di sviluppo di applicazioni Web e multimediali; di selezionare, valutare, installare e mantenere strumenti Web e multimediali proprietari o pubblici; di sviluppare servizi basati su tecnologie Web e multimediali (ad esempio, portali, commercio elettronico, comunicazione aziendale su Internet, informazione, intrattenimento e cultura interattivi, accesso mobile alle informazioni); di configurare, gestire e analizzare l’attività di siti Web e di reti di calcolatori; di fornire supporto alle scelte della dirigenza in materia di presenza sul Web, di offerta servizi Web e della loro integrazione con i sistemi informativi già utilizzati in azienda; di valutare la facilità di utilizzo per gli utenti dei servizi. Il Corso di laurea in Tecnologie Web e Multimediali è caratterizzato da una marcata presenza di corsi di laboratorio e pre- parte generale e ordinamento vede inoltre la possibilità di svolgere tirocini presso le aziende, quale parte integrante del percorso formativo, facilitando così il trasferimento delle competenze dall’Università alle aziende. Nell’ambito del corso viene inoltre fornita la possibilità di imparare l’inglese e di acquisire abilità comunicative e organizzative. Dall’anno accademico 2004-05 è attivato il Corso di Laurea Specialistica in Tecnologie dell’Informazione, (classe 23S, Informatica) al quale possono accedere senza debiti formativi i laureati della Laurea di primo livello in Tecnologie Web e Multimediali. Dall’Anno Accademico 2003/04 i Corsi di Laurea in Informatica e Tecnologie Web e Multimediali hanno ottenuto la certificazione di qualità ‘Bollino Grin’, rilasciata dal GRIN (l’Associazione italiana dei docenti universitari di Informatica) in collaborazione con l’AICA (l’Associazione Italiana per il Calcolo Automatico). Requisiti specifici per l’accesso L’ammissione al Corso di Laurea è subordinata al possesso di un’adeguata preparazione iniziale costituita dalle competenze linguistiche e dalle conoscenze culturali comuni ai licei e agli istituti tecnici, nonché dalle conoscenze matematiche di base relative ai seguenti argomenti: aritmetica, geometria analitica, equazioni e disequazioni di primo e secondo grado, funzioni trigonometriche, logaritmiche ed esponenziali. Sbocchi professionali Le tecnologie informatiche sono attualmente in fortissima espansione; tra quelle che più contribuiscono alla diffusione di innovazione nella nostra società vi sono le tecnologie relative alla comunicazione via Internet, ai servizi ed ai sistemi che su di esse si basano. Il nuovo Corso di Laurea triennale in Tecnologie Web e Multimediali (TWM) si propone di rispondere alla domanda di formazione 29 parte generale e ordinamento che proviene, da un lato, dai settori della cosiddetta ‘New Economy’ - che richiede figure professionali in grado di prendere parte alla progettazione, sviluppo e applicazione di sistemi hardware/software innovativi - e, dall’altro, dai settori dell’economia tradizionale, i quali devono introdurre tali sistemi nei propri cicli produttivi e nei rapporti con l’utenza. Ordinamento degli studi Per conseguire la laurea lo studente deve acquisire 180 crediti, suddivisi uniformemente in tre anni. I corsi sono articolati nel modo seguente (per ogni corso viene indicato anche il settore scientifico disciplinare corrispondente, secondo quanto stabilito dal D.M. 509/1999 e successive integrazioni): N.B.: Le seguenti informazioni sono aggiornate al 20 maggio 2007 . Per i successivi aggiornamenti consultare la pagina web della Facoltà: http://www.uniud.it/didattica/facolta/scienze. Insegnamenti/attività formative CFU Periodo didattico S.S.D. 12 3 6 6 4 8 6 4 1 3 1 1-2 1 2 1-2 1-2 1-2-3 2-3 2-3 3 3 3 MAT/05 MAT/01 MAT/02 INF/01 INF/01 INF/01 ING-INF/05 ING-INF/05 Algoritmi e strutture dati Sistemi operativi Laboratorio di sistemi operativi oppure Laboratorio di tecnologie lato server (1a e 2a parte) 10 9 4 4 2-3 1-2-3 1-2-3 1 Programmazione orientata agli oggetti Statistica applicata Psicologia della comunicazione Sistemi multimediali Commercio elettronico Laboratorio di sistemi multimediali 6 6 6 6 8 4 1-2 1 3 2-3 1-2 2-3 INF/01 ING-INF/05 NG-INF/05 INF/01 e ING-INF/05 INF/01 SECS-S/01 M-PSI/01 ING-INF/05 INF/01 ING-INF/05 Primo anno Analisi matematica Matematica di base Matematica discreta Programmazione Laboratorio di programmazione Architettura degli elaboratori Tecnologie web Laboratorio di tecnologie web Cultura d’Impresa (***) Fisica Comunicazione efficace FIS/01 Secondo anno 30 parte generale e ordinamento Terzo anno Basi di dati Ingegneria del software Reti di calcolatori Progetto di siti e portali web Interazione uomo-macchina Aspetti sociali ed etica professionale Laboratorio avanzato: (*) - Laboratorio di tecniche di comunicazione - Laboratorio di tecnologie lato server (1a e 2a parte) - Laboratorio di sistemi operativi 6 6 6 6 6 3 1 1 1 1 2 3 4 4 4 3 1 1 Insegnamenti a scelta dello studente (**) Storia dell’informatica (**) Tirocinio Prova finale 9 3 12 3 3 INF/01 ING-INF/05 INF/01 ING-INF/05 INF/01 INF/01 e ING-INF/05 ING-INF/05 INF/01 (*) La Facoltà offre due particolari laboratori avanzati: Laboratorio avanzato di Tecniche di Comunicazione o Laboratorio avanzato di Tecnologie Lato Server. In alternativa, lo studente può svolgere il Laboratorio di Sistemi Operativi oppure il Laboratorio Avanzato associandolo ad uno degli insegnamenti del III anno del Corso di Laurea. Qualora il corso di laboratorio venisse correlato ad un corso a scelta dello studente preso dalla Laurea Specialistica in Informatica o Tecnologie dell’Informazione, il suo valore sarà comunque di 4 CFU. Il Laboratorio avanzato va scelto dallo studente consegnando alla Ripartizione Didattica l’apposito modulo. (**) I crediti a scelta dello studente devono essere crediti aggiuntivi al curriculum e non duplicazioni, seppure parziali, di corsi già previsti nei piani di studio. La Facoltà ha attivato per gli studenti interessati il corso di Storia dell’informatica. (***) Gli studenti di TWM devono seguire obbligatoriamente il corso di Cultura d’Impresa offerto dalla Facoltà e non quello organizzato a livello di Ateneo. Gli studenti dovranno inoltre acquisire 6 CFU di Lingua Inglese, di cui il CLAV fornisce i servizi didattici e stabilisce le modalità di svolgimento della relativa. Propedeuticità Ai fini di un ordinato svolgimento dei processi di insegnamento e di apprendimento, si consiglia agli studenti di seguire queste propedeuticità nel sostenere gli esami: - Algoritmi e strutture dati: Analisi matematica; Architettura degli elaboratori; Matematica discreta, Programmazione; - Basi di dati: Algoritmi e strutture dati; Programmazione orientata agli oggetti; Sistemi operativi; - Commercio elettronico: Programmazione; Tecnologie Web; - Ingegneria del software: Algoritmi e strut- ture dati; Programmazione orientata agli oggetti; Sistemi operativi; - Interazione uomo-macchina: Sistemi operativi; - Laboratorio informatico avanzato: Laboratorio di programmazione; Laboratorio di tecnologie web; laboratorio di sistemi operativi; Laboratorio di sistemi multimediali; - Laboratorio di tecniche di comunicazione: Psicologia della comunicazione; - Programmazione orientata agli oggetti: Architettura degli elaboratori; Programmazione; - Progetto di siti e portali web: Sistemi operativi; Tecnologie web; - Reti di calcolatori e sicurezza: Algoritmi e strutture dati; Programmazione orientata agli oggetti; Sistemi operativi; Tecnologie web; parte generale e ordinamento - Sistemi multimediali: Programmazione; Tecnologie web; - Sistemi operativi: Architettura degli elaboratori; Programmazione; - Statistica applicata: Analisi matematica; Matematica discreta. Piani di studio individuali Lo studente, per particolari obiettivi formativi specificamente descritti e motivati, può presentare domanda di approvazione di un piano di studio individuale alla Ripartizione Didattica entro il 21.9.2007. Tali domande verranno quindi trasmesse alla Facoltà per essere esaminate dalle commissioni didattiche competenti per l’approvazione. Tutorato Ogni studente può scegliere fra i docenti della Facoltà il proprio tutore, che lo aiuterà ad inserirsi nella vita accademica e a pianificare in modo più efficace i propri studi. La Facoltà potrà inoltre istituire apposite commissioni per trattare problematiche specifiche, come scelta del curriculum, programmi di studio all’estero, orientamento alla scelta delle aziende dove effettuare il tirocinio. Tirocinio Il regolamento didattico del Corso di Laurea in Tecnologie Web e Multimediali prevede un periodo di tirocinio da effettuarsi presso aziende, università o enti di ricerca, sotto la supervisione di un tutor aziendale e di un tutor accademico. La durata prevista per il tirocinio va da 300 a 400 ore. Il tirocinio si svolge nell’ambito di opportune convenzioni stipulate tra l’Università e l’azienda/ente. Al momento della definizione di ogni singolo progetto viene verificata la sua valenza formativa. L’attestazione di avvenuto tirocinio fa parte della carriera universitaria dello studente. 31 Procedura per lo svolgimento del tirocinio Lo studente che abbia superato esami corrispondenti ad almeno 120 crediti può compilare la domanda di tirocinio on-line sul Portale Tirocini (http://tirocini.uniud.it/tirocini/), da dove è possibile scaricare tutta la modulistica relativa alla convenzione e al progetto formativo. Con l’aiuto del Portale e/o dell’Ufficio tirocini, lo studente individua l’azienda presso la quale svolgere il tirocinio. Una volta individuata l’azienda, se l’azienda è già convenzionata con la Facoltà di Scienze M.F.N., lo studente compila il progetto formativo (con l’aiuto del tutor aziendale e di quello accademico, che devono sottoscrivere il progetto) e consegna un originale all’azienda e uno alla Segreteria di Presidenza della Facoltà. Se l’azienda non è convenzionata, lo studente sottopone il progetto formativo proposto dall’azienda all’approvazione del tutor accademico. Nel caso di parere positivo, si stipula la convenzione (che deve essere approvata anche dal Consiglio di Corso di Laurea) e si procede alla sottoscrizione del progetto formativo. Al termine del progetto, il tutor accademico deve attestare nell’apposito libretto (che si scarica dal Portale Tirocini) che lo studente ha effettuato con profitto il tirocinio per il numero di ore risultanti dal libretto stesso, sentito eventualmente il tutor aziendale. Inoltre il tirocinante e il tutor aziendale devono compilare i rispettivi questionari, scaricabili dal portale tirocini, che devono essere consegnati dallo studente in Segreteria Studenti assieme al libretto di tirocinio, per la registrazione dei relativi crediti. La relazione scritta sull’attività svolta durante il tirocinio può costituire il documento che verrà discusso come prova finale. Particolari tipologie di tirocinio - Tirocini per studenti-lavoratori Uno studente che si trovi nella condizione di studente-lavoratore dovrà allegare 32 alla domanda di tirocinio una dichiarazione che certifichi tale condizione, specificando qual è l’ambito di occupazione. 1) Studente-lavoratore in ambito informatico Nel caso in cui lo studente lavori (come dipendente) in ambito informatico da alcuni anni e sia in grado di documentare la propria esperienza, gli verranno riconosciuti i crediti del tirocinio, senza dover convenzionare l’azienda; sarà compito della Commissione tirocini valutare se l’attività lavorativa documentata può essere riconosciuta come crediti per il tirocinio. In caso affermativo, lo studente dovrà svolgere come prova finale una tesi da 3 crediti. 2) Studente-lavoratore non in ambito informatico Nel caso in cui lo studente non lavori in ambito informatico, si cercherà di individuare un progetto che si possa svolgere all’interno dell’azienda in cui lavora, con cui dovrà essere stipulata una convenzione specifica con la Facoltà; in questo caso, la convenzione avrà validità limitata al solo progetto attuativo dello studente in questione. - Tirocini interni all’università I tirocini svolti presso una struttura dell’Università di Udine non necessitano di una convenzione ad hoc, ma soltanto del progetto formativo, in cui oltre al tutor accademico della Facoltà dovrà essere indicato il tutor aziendale, referente della struttura presso la quale si svolge il tirocinio. Lauree L’esame di laurea in Tecnologie Web e Multimediali consiste nella discussione pubblica di una tesi di laurea. Le tesi di laurea sono divise in tre categorie: - Elaborato: è il risultato di un progetto di esame documentato in forma scritta. - Tirocinio: è la relazione riguardante un progetto, concordato con un docente della Facoltà, svolto durante il periodo di tirocinio. - Tesi compilativa: è un lavoro di rassegna con presentazione critica e bibliografia ragionata. Il voto finale, espresso in centodecimi, è parte generale e ordinamento formato da una votazione di base e da due incrementi. La votazione di base è costituita dalla media pesata delle votazioni riportate dal candidato nei singoli esami di profitto, trasformata poi in centodecimi. Il peso di un esame è uguale al numero di crediti attribuiti al relativo insegnamento. Sono considerati solo gli esami con punteggio numerico. Il primo incremento da 0 a 4 punti è determinato in base al rispetto dei tempi previsti per il conseguimento del titolo di studio e al numero delle lodi, secondo la seguente formula: min{ 0.04 M, a M + n 0.3 } dove M è la media in centodecimi, n è il numero di lodi conseguite negli esami di profitto e a è un coefficiente che dipende dai tempi richiesti per concludere il percorso di studi, e valutato secondo i seguenti criteri: a = 0.04 per le lauree conseguite entro le prime due sessioni (periodo giugno-ottobre) del III anno effettivo di corso; a = 0.035 e a = 0.03, rispettivamente, per le successive sessioni autunnale e invernale (straordinaria); a = 0.0225, a = 0.015, a = 0.0075 per le prime tre sessioni (estate-autunno) del IV anno effettivo di corso; a = 0 per tempi di conseguimento della laurea più lunghi. Il secondo incremento è un numero compreso tra 0 e 7, determinato dalla commissione di laurea in base alla dissertazione e alla sua presentazione. L’Elaborato può portare ad un incremento di punteggio minore o uguale a due. È richiesta la nomina di un controrelatore per le tesi di laurea in cui il relatore propone un incremento del secondo tipo strettamente maggiore di 5 punti. parte generale e ordinamento LAUREA DI PRIMO LIVELLO IN MATEMATICA (classe 32 - Scienze matematiche) Durata del Corso 3 anni (180 crediti) Sede del Corso Udine, via delle Scienze 208 Caratteristiche e finalità del Corso Il Corso di Laurea in Matematica fornisce ai laureati, oltre alle conoscenze di base nell’area della matematica e alle competenze computazionali e informatiche, la capacità di comprendere e utilizzare descrizioni e modelli matematici di situazioni concrete di interesse scientifico o economico e di svolgere compiti tecnici o professionali definiti, nei settori industriale, finanziario, dei servizi e della pubblica amministrazione, o nel campo dell’apprendimento della matematica o della diffusione della cultura scientifica. In particolare, a una solida preparazione nelle materie matematiche, fisiche e informatiche di base viene affiancata già nella prima fase una preparazione professionalizzante nelle varie direzioni già collaudate: generale, didattica, applicativa. Tale preparazione potrà essere spesa subito sul mercato del lavoro o utilizzata per il proseguimento degli studi, fino all’avviamento alla ricerca. Il Corso di Laurea è quindi organizzato in modo da offrire percorsi differenziati, detti ‘curricula’, atti a soddisfare le citate specifiche esigenze professionali. Nell’ambito del Corso viene inoltre fornita la possibilità di imparare l’inglese e di acquisire abilità comunicative e organizzative. Requisiti specifici per l’accesso L’ammissione al Corso di Laurea è subordinata al possesso di un’adeguata prepa- 33 razione iniziale costituita dalle competenze linguistiche e dalle conoscenze culturali comuni ai licei e agli istituti tecnici, nonché dalle conoscenze matematiche di base relative ai seguenti argomenti: aritmetica, geometria analitica, equazioni e disequazioni di primo e secondo grado, funzioni trigonometriche, logaritmiche ed esponenziali. Sbocchi professionali La laurea in Matematica consente in generale di acquisire un tipo di mentalità creativa e ricettiva che permette di sviluppare nelle più varie direzioni la preparazione di base già acquisita. Questa conoscenza, arricchita dalle competenze specifiche offerte dal Corso udinese, dovrebbe facilitare l’ingresso nel mondo del lavoro permettendo di trovare un’occupazione in aree molto diversificate, andando molto spesso ad affiancare la figura dell’ingegnere. Il laureato è infatti in grado di sviluppare e gestire software matematici, occuparsi della creazione di modelli matematici in ambito tecnologico, economico, biologico, sanitario e ambientale. Può quindi trovare occupazione in imprese appartenenti a settori molto diversi fra loro, in particolare per la realizzazione di sistemi informativi aziendali. Gli studenti che proseguiranno i loro studi e conseguiranno la Laurea Specialistica avranno anche l’opportunità di trovare impiego in attività ad alto contenuto innovativo nei vari settori produttivi. Fra le opportunità future del laureato in Matematica si segnala anche l’insegnamento, da intraprendere dopo la Scuola di specializzazione per insegnanti. Ordinamento degli studi Per conseguire la laurea lo studente deve acquisire 180 crediti, suddivisi uniformemente in tre anni. I corsi sono articolati nel modo seguente (per ogni corso viene 34 indicato anche il settore scientifico disciplinare corrispondente, secondo quanto stabilito dal D.M. 509/1999 e successive integrazioni): parte generale e ordinamento N.B.: Le seguenti informazioni sono aggiornate al 20 maggio 2007. Per i successivi aggiornamenti consultare la pagina web della Facoltà: http://www.uniud.it/didattica/facolta/scienze. - Curriculum generale e Curriculum didattico Insegnamenti/attività formative CFU Periodo didattico S.S.D. 6 6 6 6 6 6 6 6 6 2 1 1 2 3 1 2 1 2 3 3 1 2 MAT/03 MAT/02 MAT/02 MAT/05 MAT/05 MAT/03 MAT/03 FIS/01 INF/01 6 6 6 6 6 6 6 6 6 1 2 2 1 2 3 1 3 3 MAT/05 MAT/05 MAT/08 FIS/01 MAT/03 MAT/03 MAT/01 MAT/07 MAT/06 6 6 6 6 6 1 1 1 2 2 MAT/02 MAT/05 MAT/03 MAT/01 MAT/07 6 6 6 6 6 2 3 2 3 1 MAT/02 MAT/02 MAT/05 MAT/07 FIS/01 Primo anno Aritmetica Algebra 1 Algebra 2 Analisi matematica 1 Analisi matematica 2 Geometria 1 Geometria 2 Fisica 1 Informatica 1 Linguaggio matematico Strumenti informatici per la matematica Secondo anno Analisi matematica 3 Analisi matematica 4 Analisi numerica 1 Fisica 2 Geometria 3 Geometria 4 Logica matematica 1 Meccanica razionale 1 Probabilità 1 Terzo anno Algebra 3 Analisi matematica 5 Geometria 5 Logica matematica 2 Meccanica razionale 2 due insegnamenti a scelta tra: Algebra 4 Algebra 5 Analisi matematica 6 Fisica matematica Fisica moderna 35 parte generale e ordinamento Fondamenti della matematica 1 Geometria 6 Matematiche complementari 1 (**) Particelle e interazioni fondamentali Insegnamenti a scelta dello studente (*) Prova finale 6 6 6 6 12 7 3 3 3 2 MAT/04 MAT/03 MAT/04 FIS/01 CFU Periodo didattico S.S.D. 6 6 6 6 6 6 6 6 6 2 1 1 2 3 1 2 3 1 2 3 1 2 MAT/03 MAT/02 MAT/02 MAT/05 MAT/05 FIS/01 MAT/03 MAT/03 INF/01 6 6 6 6 6 6 6 6 6 1 2 2 1 2 3 1 3 3 MAT/05 MAT/05 MAT/08 FIS/01 MAT/03 INF/01 MAT/01 MAT/07 MAT/06 6 6 6 6 6 2 2 1 1 2 MAT/08 MAT/07 MAT/09 MAT/06 MAT/06 6 6 6 1 1 2 MAT/05 FIS/01 MAT/09 - Curriculum applicativo Insegnamenti/attività formative Primo anno Aritmetica Algebra 1 Algebra 2 Analisi matematica 1 Analisi matematica 2 Fisica 1 Geometria 1 Geometria 2 Informatica 1 Linguaggio matematico Strumenti informatici per la matematica Secondo anno Analisi matematica 3 Analisi matematica 4 Analisi numerica 1 Fisica 2 Geometria 3 Informatica 2 Logica matematica 1 Meccanica razionale 1 Probabilità 1 Terzo anno Analisi numerica 2 Meccanica razionale 2 Ottimizzazione 1 Probabilità 2 Statistica 1 due insegnamenti a scelta tra: - Analisi matematica 5 - Fisica moderna - Ottimizzazione 2 36 - Particelle e interazioni fondamentali - Statistica 2 Insegnamenti a scelta dello studente (*) Prova finale parte generale e ordinamento 6 6 12 7 2 3 FIS/01 MAT/06 (*) 12 CFU sono a scelta individuale dello studente tra i corsi attivati nell’Ateneo di Udine. I crediti a scelta dello studente devono comunque essere crediti aggiuntivi al curriculum e non duplicazioni, seppure parziali, di corsi già previsti nei piani di studio. (**) Gli insegnamenti di Matematiche Complementari 1 e 2 sono attivati ad anni alterni. Gli studenti dovranno inoltre acquisire 6 CFU di Lingua Inglese e 1 CFU di Cultura d’Impresa. Gli studenti del Corso di Laurea in Matematica devono seguire il corso di Comunicazione Efficace previsto per il Corso di Laurea in Informatica e TWM; il CLAV fornisce i servizi didattici e stabilisce le modalità di svolgimento della prova di Lingua Inglese; un’apposita commissione d’Ateneo organizza didattica e modalità di svolgimento per il modulo di Cultura d’impresa. Scelta curriculum e piani di studio individuali Gli studenti del Corso di Laurea in Matematica iscritti al II anno nell’anno accademico 2007/08 devono presentare la scelta del curriculum improrogabilmente agli sportelli della Segreteria Studenti entro il 19.3.2008 (a conclusione del II periodo didattico). Gli studenti che, per particolari obiettivi formativi specificamente descritti e motivati, intendono presentare un piano di studi diverso da quelli previsti dai curricula, possono presentare domanda di approvazione di un piano di studio individuale alla Ripartizione Didattica entro il 21.9.2007. Tali domande verranno quindi trasmesse alla Facoltà per l’approvazione. Propedeuticità Ai fini di un ordinato svolgimento dei processi di insegnamento e di apprendi- mento, si consiglia vivamente agli studenti di seguire queste propedeuticità nel sostenere gli esami: - Algebra 2: Algebra 1; - Algebra 3: Algebra 2, Analisi Matematica 2, Geometria 2; - Algebra 4: Algebra 2, Analisi Matematica 2, Geometria 2; - Algebra 5: Algebra 2, Analisi Matematica 2, Geometria 2; - Analisi Matematica 2: Analisi Matematica 1; - Analisi Matematica 3: Analisi Matematica 2; - Analisi Matematica 4: Algebra 1, Analisi Matematica 3, Geometria 2; - Analisi Matematica 5: Analisi Matematica 4, Algebra 2; - Analisi Matematica 6: Analisi Matematica 4, Algebra 2; - Analisi Numerica 1: Algebra 1, Analisi Matematica 3, Geometria 2, Informatica 1; - Analisi Numerica 2: Analisi Numerica 1; - Fisica 2: Fisica 1, Analisi Matematica 2; - Fisica Matematica: Fisica 2, Analisi Matematica 4; - Fisica Moderna: Algebra 1, Fisica 2, Geometria 1; - Fondamenti della matematica 1 e 2: Algebra 1, Analisi Matematica 3, Geometria 2; - Geometria 2: Geometria 1; - Geometria 3: Geometria 2, Algebra 1, Analisi Matematica 3; - Geometria 4: Geometria 3, Algebra 2; - Geometria 5: Algebra 2, Geometria 4; - Geometria 6: Algebra 2, Geometria 4; parte generale e ordinamento - Informatica 2: Informatica 1; - Logica Matematica 2: Logica Matematica 1; - Matematica Finanziaria: Analisi Matematica 2; - Matematiche Complementari 1 e 2: Algebra 1, Analisi Matematica 3, Geometria 2; - Meccanica Razionale 1: Analisi Matematica 2, Fisica 1, Geometria 2; - Meccanica Razionale 2: Meccanica Razionale 1; - Ottimizzazione 1: Algebra 2, Analisi Matematica 3, Geometria 2, Informatica 1; - Ottimizzazione 2: Ottimizzazione 1; - Particelle e interazioni fondamentali: Fisica 2; - Probabilità 2: Probabilità 1, Analisi Matematica 3; - Statistica 1: Probabilità 1; - Statistica 2: Statistica 1. Tutorato Ogni studente può scegliere fra i docenti della Facoltà il proprio tutore che lo potrà aiutare ad inserirsi nella vita accademica e a pianificare in modo più efficace le proprie attività formative. La Facoltà può inoltre istituire apposite commissioni per trattare problematiche specifiche, come scelta del curriculum, programmi di studio all’estero, orientamento alla scelta delle aziende dove effettuare l’eventuale tirocinio. Lauree La prova finale o esame di laurea consiste nella discussione di un elaborato scritto, la tesi di laurea, redatto sotto la supervisione di un relatore, che deve essere, o essere stato al momento dell’assegnazione della tesi, un professore ufficiale della Facoltà o un ricercatore confermato della stessa. La tesi si considera assegnata quando la Segreteria Studenti riceve dallo studente la domanda di laurea con l’apposito 37 modulo, recante titolo della tesi ed estremi del relatore, da questi debitamente controfirmato. La tesi di laurea, comprensiva di indice, premessa, bibliografia, ed eventuali allegati prodotti dallo studente, va di norma contenuta fra le 27 mila e le 54 mila battute, corrispondenti a 15-30 pagine. Indicativamente può essere costituita da un lavoro di rassegna con presentazione critica e bibliografica ragionata, il risultato di un progetto di esame o di un tirocinio documentato in forma scritta. La Segreteria di Presidenza ha il compito di trasmettere alla Commissione Tesi di Laurea copia dell’elenco dei laureandi compilato dalla Ripartizione Didattica alle scadenze previste. La Commissione Tesi, presa visione del documento, designerà per ciascun laureando un controrelatore, scelto fra i docenti del Corso di Laurea in Matematica della Facoltà. In caso di impossibilità da parte del controrelatore designato, sarà compito di quest’ultimo trovare un sostituto. Il laureando discuterà la tesi di laurea con la Commissione di Laurea, composta da almeno sette componenti, fra cui, se possibile, relatore e controrelatore della tesi. In caso di assenza o impedimento, relatore e controrelatore dovranno far pervenire alla Commissione di Laurea in forma scritta un sintetico parere sulla tesi. La discussione è pubblica e durerà orientativamente fra i 10 e i 15 minuti. Dopo la discussione, la Commissione di Laurea delibera in primo luogo sul superamento della prova finale e sul punteggio da attribuire all’elaborato e alla sua esposizione. Il punteggio massimo che può essere attribuito alla prova finale è di 5/110. Se i pareri di cui al punto precedente non risultassero pervenuti in tempo utile, la Commissione di Laurea ne prescinderà. La Commissione di Laurea passa poi a valutare il curriculum degli studi. Si considererà anzitutto la 38 congruità della durata degli studi a partire dalla prima immatricolazione, attribuendo, in caso di giudizio positivo, un punteggio di 2/110. Il giudizio sarà senz’altro positivo per gli studenti immatricolati per la prima volta al Corso di Laurea in Matematica (nuovo ordinamento) che si laureano rispettando la durata normale degli studi. Si considererà poi l’eventuale presenza di risultati di eccellenza nel curriculum degli studi, attribuendo un punteggio di 0,08/110 ad ogni credito di esame di profitto superato con la lode, entro la soglia massima di 3/110. Si considererà infine la media dei voti degli esami ponderata in base ai crediti attribuiti ai singoli esami, trasformata in centodecimi. Il voto finale di laurea sarà la somma, debitamente arrotondata, delle valutazioni dei quattro elementi di giudizio (dissertazione, durata degli studi, lodi, media), entro la soglia massima di 110/110. L’attribuzione della lode può essere proposta solo se il voto risultante è 110/110 e deriva da un arrotondamento per difetto. La sua attribuzione viene deliberata su voto unanime della Commissione. parte generale e ordinamento LAUREA DI PRIMO LIVELLO IN BIOTECNOLOGIE (classe 1 - Biotecnologie) [Corso di Laurea interfacoltà: Medicina veterinaria, Agraria, Medicina e chirurgia, Scienze matematiche, fisiche e naturali] Durata del Corso 3 anni (180 crediti) Posti disponibili 50 Curricula attivati - Biotecnologie agrarie - Biotecnologie medico veterinarie - Biologia computazionale - Biotecnologie mediche Sede del Corso Udine, via delle Scienze 208 Caratteristiche e finalità del Corso Il Corso di Laurea in Biotecnologie si propone di preparare figure professionali con un’adeguata conoscenza di base dei sistemi biologici, interpretati in chiave molecolare, cellulare e genomica. Il laureato in Biotecnologie dovrà inoltre possedere le basi culturali e sperimentali delle tecniche (multidisciplinari) che caratterizzano il campo in forte e continua espansione nel quale si troverà ad operare. Gli obiettivi principali nel disegno del programma di preparazione per lo studente sono: l’elevata flessibilità, una solida preparazione di base e una buona conoscenza delle tecnologie comuni impiegate in ambito biologico (computazionale). È inoltre considerata fondamentale una conoscenza, in termini applicativi, dell’attività di laboratorio biomolecolare e diagnostico con un’adeguata conoscenza anche delle norme che si applicano al settore biotecnologico in riferimento agli aspetti tecnici, economici, giuridici e bioetici. parte generale e ordinamento Sbocchi professionali Il laureato troverà occupazione nei seguenti ambiti professionali: gestione tecnica ed economica delle imprese biotecnologiche; tecnico di laboratorio biomolecolare; attività di protezione ambientale di collaborazione e di diagnostica nelle aziende sanitarie, pubbliche e private, biotecnologiche; attività di collaborazione e di pianificazione nella gestione delle risorse vegetali e animali. Il Corso di Laurea è organizzato in modo da offrire i curricula di seguito elencati, facenti capo alle differenti Facoltà coinvolte nel progetto e atti a soddisfare specifiche esigenze professionali: - Biologia computazionale Facoltà di Scienze matematiche, fisiche e naturali - Biotecnologie agrarie Facoltà di Agraria - Biotecnologie medico veterinarie Facoltà di Medicina veterinaria - Biotecnologie mediche Facoltà di Medicina e chirurgia Gli obiettivi specifici del curriculum in Biologia computazionale sono atti a fornire le basi sia teoriche sia pratiche per operare in una disciplina nella quale gli aspetti informatici e computazionali sono caratterizzanti e promettenti. In particolare verranno fornite le basi per una corretta interpretazione degli aspetti algoritmici e matematici dei principali strumenti utilizzati nella moderna biologia molecolare, verrà fornita un’adeguata conoscenza di base dei principali linguaggi di programmazione e di interrogazione per basi di dati comunemente utilizzate in campo biologico e si svilupperanno i prerequisiti per comprendere le funzionalità e seguire lo sviluppo dei principali strumenti informatici impiegati nello studio degli aspetti computazionali della genetica e della biologia molecolare. 39 Prova di ammissione Il corso di Laurea in Biotecnologie prevede un numero massimo programmato di 60 iscritti per garantire un’efficace didattica in aula e in laboratorio a tutti gli studenti. Per essere ammessi al Corso di Laurea, gli studenti dovranno superare una prova di ammissione, che si svolgerà il 13 settembre 2007 alle ore 14.30 presso l’Aula H della sede dei Rizzi e sarà articolata nelle seguenti aree: matematica, fisica, chimica, biologia. Le domande di partecipazione alla prova di ammissione vanno presentate dal 13 luglio 2007 al 6 settembre 2007, ore 12.00. Calendario delle lezioni I periodo didattico - lezioni: dal 24/09/2007 al 30/11/2007 - esami: dal 03/12/2007 al 04/01/2008 II periodo didattico - lezioni: dal 07/01/2008 al 14/03/2008 - esami: dal 17/03/2008 al 11/04/2008 III periodo didattico - lezioni: dal 14/04/2008 al 20/06/2008 - esami: dal 23/06/2008 al 19/09/2008 Ordinamento degli studi Per conseguire la laurea lo studente deve acquisire 180 crediti, suddivisi uniformemente in tre anni. Nel II e III anno il corso si articola in insegnamenti specifici relativi al curriculum scelto dallo studente. N.B.: Le seguenti informazioni sono aggiornate al 20 maggio 2007. Per i successivi aggiornamenti consultare la pagina web della Facoltà: http://www.uniud.it/didattica/facolta/scienze. Il primo anno di corso prevede insegnamenti comuni a tutti e tre i curricula (per ogni corso viene indicato anche il settore scientifico disciplinare corrispondente, secondo quanto stabilito dal D.M. 509/1999 e successive integrazioni): 40 parte generale e ordinamento Insegnamenti/attività formative CFU Periodo didattico S.S.D. Biochimica 1 Biologia 1 Biologia molecolare 1 Chimica generale Chimica organica Matematica Fisica 1 Fisica 2 Genetica 1 Informatica Introduzione alla biologia (*) Introduzione alla zoologia (*) Statistica 1 6 3 3 5 4 5 4 3 6 6 3 3 6 2-3 3 3 1 2 1 1 2 3 2-3 1 1 2 BIO/10 BIO/13 BIO/11 CHIM/03 CHIM/06 MAT/05 FIS/01 FIS/07 BIO/18 INF/01 BIO/04 BIO/05 SECS-S/01 CFU Periodo didattico S.S.D. 5 6 9 9 3 3 6 7 5 2 1 2 3 3 2 1 1 3 INF/01 BIO/10 BIO/13 BIO/11 CHIM/01 FIS/07 BIO/18 MAT/09 INF/01 5 2 4=3+ 1 4 3 2 1 4 3 3 8 = 4+ 1+2 +1 1 2 1 INF/01 M-FIL/03 BIO/18 AGR/07 BIO/13 INF/01 BIO/12 MED/04 BIO/07 AGR/01 FIS/01 BIO/09 MED/04/05 BIO/12 - Curriculum Biologia computazionale Insegnamenti/attività formative Secondo anno Algoritmi e strutture dati Biochimica 2 Biologia 2 Biologia molecolare 2 Chimica analitica Fisica applicata Genetica 2 Matematica discreta Sistemi Operativi Terzo anno Basi di dati Bioetica Bioinformatica AB (genomica strutturale) Bioinformatica C (genomica funzionale) Bioinformatica D Diagnostica clinica Diagnostica clinica (laboratorio) Ecologia Economia Fisica 3 Fisiopatologia: applicazioni mediche nelle biotecnologie 2 3 3 3 2 1 1 1 41 parte generale e ordinamento Legislazione per le biotecnologie Organismi geneticamente modificati (*) Istologia (*) Statistica 2 Corsi a scelta dello studente (*) Tirocinio Prova finale 3 3 3 4 9 8 6 2 3 2 2 IUS/01 AGR/07 BIO/17 SECS-S/01 (*) Nell’ambito dei corsi a scelta dello studente sono consigliati, ma non obbligatori, i seguenti corsi, attivati presso le rispettive Facoltà: Introduzione alla biologia - CdL interfacoltà in Biotecnologie Frequenza consigliata al I anno Introduzione alla zoologia - Facoltà di Medicina veterinaria Frequenza consigliata al I anno Organismi geneticamente modificati - CdL interfacoltà in Biotecnologie Frequenza consigliata al III anno (**) 3 1 3 1 3 3 In alternativa, potranno venire inseriti, tra gli insegnamenti a scelta, insegnamenti rientranti nella programmazione didattica delle quattro Facoltà coinvolte (Facoltà di Agraria, Facoltà di Medicina e Chirurgia, Facoltà di Medicina Veterinaria, Facoltà di Scienze M.F.N.). (**) a coloro che non intendono proseguire nel Corso di Laurea Specialistica in Biotecnologie Agrarie, in quanto l’insegnamento è già presente con il nome di ‘Piante transgeniche’. Per i curricula relativi a Biotecnologie Agrarie, Mediche e Veterinarie si rimanda alle Guide ai corsi delle rispettive Facoltà. Piani di studio Gli studenti dovranno inoltre acquisire 6 CFU di Lingua Inglese, di cui il CLAV fornisce i servizi didattici e stabilisce le modalità di svolgimento della relativa prova, e 1 CFU di Comunicazione. Il credito di Cultura d’impresa è incluso nei 3 CFU del corso di Economia. Scelta del curriculum Per motivi di disponibilità di posti, non saranno ammessi più di 15 studenti per ciascun curriculum. Le preferenze per i vari curricula vanno espresse al momento dell’iscrizione al secondo anno di corso. La distribuzione degli studenti tra i vari curricula verrà effettuata tenendo conto delle preferenze espresse e sulla base di una graduatoria basata sul numero di crediti conseguiti entro il 21.9.2007 e sui voti conseguiti. Trasferimenti e passaggi Gli studenti provenienti da altri Atenei e da altri corsi di laurea dell’Università di Udine devono superare la prova di ammissione. Tirocinio 1. Al fine di realizzare momenti di alternanza tra studio e lavoro e di agevolare l’acquisizione di conoscenze dirette sul mondo del lavoro e delle professioni secondo quanto previsto dal Decreto del 42 Ministero del Lavoro n. 142/1998, lo studente è tenuto a svolgere periodi di tirocinio formativo per un numero di crediti pari ad almeno 8 crediti. Preferibilmente il tirocinio è svolto in aziende ed istituzioni esterne all’Ateneo di Udine. 2. Il tirocinio può essere sostituito con periodi di esercitazioni e con attività di laboratorio in strutture interne all’Ateneo di Udine, specialmente qualora non siano presenti sul territorio enti o strutture esterne tali da permettere un corretto espletamento del tirocinio. 3. L’attività di tirocinio è promossa e coordinata da un componente del Consiglio di Corso di Laurea appositamente nominato. Tutorato Ad ogni studente, all’atto della immatricolazione, verrà attribuito un tutore scelto fra i docenti della Facoltà che lo aiuterà ad inserirsi nella vita accademica e a pianificare in modo più efficace i propri studi. Lauree L’esame di laurea in Biotecnologie consiste nella discussione pubblica di una tesi di laurea. Le tesi di laurea sono divise in due categorie: - Tesi compilativa: è un lavoro di rassegna con presentazione critica e bibliografia ragionata; - Tesi sperimentale: è un lavoro sperimentale, debitamente corredato con presentazione critica e bibliografia ragionata. È previsto il vaglio di un controrelatore. Il voto finale, espresso in centodecimi, è formato da una votazione di base e da tre incrementi, fino a un massimo di 11 punti. La votazione di base è costituita dalla media pesata delle votazioni riportate dal candidato nei singoli esami di profitto, trasformata poi in centodecimi. Il peso di un esame è uguale al numero di crediti attribuiti al relativo insegnamento. Sono considerati solo gli esami con punteggio numerico. parte generale e ordinamento Il primo incremento, da 0 a un massimo di 4 punti, è determinato in base al rispetto dei tempi previsti per il conseguimento del titolo di studio e al numero delle lodi, secondo la seguente formula: min{ 0.04 M, α M + n · 0.3 } dove M è la media in centodecimi, n è il numero di lodi conseguite negli esami di profitto e a è un coefficiente che dipende dai tempi richiesti per concludere il percorso di studi, e valutato secondo i seguenti criteri: - α = 0.04 per le lauree conseguite entro le prime due sessioni (periodo giugnoottobre) del III anno effettivo di corso; - α = 0.03 per le successive sessioni autunnale e invernale (straordinaria); - α = 0.02 per le prime tre sessioni (estate-autunno) del IV anno effettivo di corso; - α = 0 per tempi di conseguimento della laurea più lunghi. Il secondo incremento è un numero determinato dalla Commissione di laurea in base alla dissertazione e alla presentazione, compreso tra 0 e 6 per la tesi sperimentale e tra 0 e 3 per la tesi compilativa. Il terzo incremento è pari a 1 punto ed è assegnato per gli studenti che avranno usufruito di un periodo di studio all’estero di almeno 2 mesi. parte generale e ordinamento MASTER DI PRIMO LIVELLO ON-LINE IN OPEN DISTANCE LEARNING Titolo rilasciato in modo congiunto con l’Università di Macerata e l’Università di Camerino. Master erogato interamente via Web. È rivolto a coloro che intendono approfondire le proprie competenze nell’ambito del settore multidisciplinare della formazione, della comunicazione e delle tecnologie informatiche. Requisiti per l’accesso Per essere ammessi al Master in Open Distance Learning (ODL) è richiesto il Diploma di Laurea Triennale o di Laurea Magistrale o di Laurea vecchio ordinamento (quadriennale o quinquennale) in tutti i campi disciplinari, nonché coloro che siano in possesso del titolo di studio conseguito presso università straniere previa dichiarazione di equivalenza del titolo. L’ammissione al corso avverrà secondo specifiche modalità ed è previsto il pagamento di una tassa di iscrizione. Per informazioni più dettagliate si consulti il sito del Master: http://celfi.unimc.it/odl/. Corso Il Master ha durata annuale con percorso formativo di 60 crediti (validi per 3 punti in graduatoria docenti superiori) pari a 1500 ore di impegno complessivo, compreso lo studio individuale. Il percorso formativo è organizzato in 11 moduli e si svolgerà totalmente on-line ad eccezione della prova finale. È strutturato in studio e attività didattiche sia individuali che di gruppo (per un totale di 45 crediti), attività di stage o di project work (300 ore - 12 crediti). I Moduli riguardano i seguenti argomenti: e-learning, storia e modelli; orienta- 43 mento e conoscenze di base; struttura informatica degli ambienti di e-learning; progettazione, usabilità e accessibilità; comunicazione multimediale; Web 3D e realtà virtuale; learning object; connettività ed interattività; knowledge management e information filtering su Web; gestione delle risorse umane coinvolte nell’e-learning; valutazione e qualità dell’e-learning. La frequenza di tutti i moduli è obbligatoria e verrà verificata sia in base al tracciamento, sia in base all’esecuzione delle consegne. La valutazione delle competenze acquisite dallo studente nei diversi insegnamenti sarà misurata lungo tutto il percorso formativo. La prova finale consiste nella discussione di un progetto completo di documentazione e riferimenti teorici davanti ad una apposita Commissione. I risultati conseguiti nelle prove intermedie concorreranno, insieme alla prova finale (3 crediti), a determinare il voto finale di Master, espresso in centesimi. Figura professionale Il campo dell’e-learning è in continua espansione, sia nelle organizzazioni private che in quelle pubbliche, e richiede figure professionali appositamente formate con competenze in differenti campi e comunque capaci di operare interagendo con gli esperti dei settori coinvolti. L’attualità delle tematiche richiede figure professionali con profili nuovi con competenze nei tre settori della comunicazione, della formazione e dell’informatica. In ognuno dei tre settori il Master prevede delle competenze finali sia a livello base, che a livello esperto. Ogni candidato al Master dovrà indicare in base alla sua formazione, sia formale sia informale, in quale di questi tre settori intende raggiungere il livello esperto. Per livello base si intende: la conoscenza delle tematiche principali, la conoscenza degli aspetti 44 anche tecnologici specifici, la capacità di prendere decisioni, effettuare scelte e operare con esperti del settore. Per livello esperto si intende: la capacità di progettare e realizzare prodotti del settore. Pertanto la figura professionale in uscita è quella di un esperto che sappia progettare percorsi di formazione on-line sia per la formazione iniziale sia per la formazione in servizio, sappia predisporre l’ambiente on-line per tale formazione e sappia gestire un corso di formazione online in qualità di direttore organizzativo o tecnologico o didattico. I crediti acquisiti nel Master in ODL possono essere utilizzati verso le Lauree Specialistiche in Informatica e Tecnologie dell’Informazione dell’Università di Udine. parte generale e ordinamento MASTER DI PRIMO LIVELLO IN SISTEMI INFORMATIVI TERRITORIALI Il Master in Sistemi Informativi Territoriali è un corso post-universitario (di primo livello), finalizzato all’approfondimento delle conoscenze teorico-pratiche delle tematiche relative alla gestione del territorio. Tale gestione è caratterizzata oggigiorno da un notevole grado di complessità dovuto all’interrelazione tra i vari aspetti ambientali, economici e legislativi che ne condiziona attività e sviluppo, e può trarre notevole beneficio dall’impiego degli strumenti offerti dalla moderna tecnologia informatica. La crescente domanda di utilizzo della cartografia numerica e di applicazione dei sistemi informativi geografici presso gli Enti Territoriali, necessita di figure di elevata professionalità in grado di operare con tali strumenti nel contesto della gestione delle risorse e della pianificazione territoriale ed ambientale. Tali figure richiedono la conoscenza approfondita delle metodologie e delle tecniche di rilevamento e rappresentazione dei dati territoriali, della loro integrazione ed elaborazione, dell’impiego dei sistemi informativi territoriali e dei metodi d’analisi per i processi di scelta e decisione in ambienti complessi. Ulteriori informazioni al sito: http://www.uniud.it/didattica/post_laurea/master/primo ALTRI CORSI DI MASTER DI PRIMO LIVELLO La Facoltà collabora alla realizzazione di corsi di Master di primo livello. L’elenco aggiornato è disponibile sul sito: http://www.uniud.it/didattica/facolta/sci enze parte generale e ordinamento LAUREA SPECIALISTICA IN INFORMATICA (classe 23/s - Lauree Specialistiche in Informatica) Durata del Corso 2 anni (120 crediti) Sede del Corso Udine, via delle Scienze 208 Finalità del Corso Il Corso di Laurea Specialistica in Informatica (Classe 23/S) ha lo scopo di fornire ai laureati solide conoscenze sia dei fondamenti che degli aspetti applicativi dei vari settori dell’informatica, nonché delle metodologie informatiche di analisi, di progettazione e di valutazione. Requisiti per l’accesso Per essere ammessi al Corso di Laurea Specialistica in Informatica occorre essere in possesso di un diploma di laurea o di altro titolo di studio conseguito all’estero, riconosciuto idoneo secondo la normativa vigente. L’ammissione al Corso di Laurea Specialistica è subordinata al riconoscimento dei crediti utili ai fini del conseguimento della Laurea Specialistica. L’ammissione viene concessa se e solo se i crediti utili sono almeno 120. Il possesso del titolo di laurea in Informatica o Scienze dell’Informazione del vecchio ordinamento, conseguiti presso qualunque Università o il possesso del titolo di laurea in Informatica, classe 26, curriculum ‘Percorso base per le lauree specialistiche’, conseguito presso l’Università degli Studi di Udine, non richiedono alcuna condizione ulteriore in termini di requisiti curricolari e di preparazione personale. Coloro che hanno conseguito la laurea in Informatica, classe 26, presso l’Università di Udine seguendo un curri- 45 culum diverso da quello sopra indicato possono comunque aver riconosciuti i 180 crediti già conseguiti, sulla base del curriculum che scelgono alla Laurea Specialistica. Qualora i crediti riconosciuti siano meno di 180 vengono indicati specifici obblighi formativi (debiti) da soddisfare nel primo anno di corso. Caratteristiche del corso e organizzazione degli studi Per conseguire la Laurea Specialistica lo studente deve acquisire 120 crediti suddivisi uniformemente in due anni. Il piano di studi prevede un insieme di insegnamenti obbligatori per tutti gli iscritti e degli insegnamenti obbligatori per ciascun curriculum (i crediti relativi ad alcuni di questi insegnamenti possono essere già stati acquisiti nel corso della precedente laurea triennale). Attualmente sono previsti due diversi curricula: - Linguaggi e algoritmi, orientato verso un approfondimento metodologico, in particolare per quanto riguarda l’analisi degli algoritmi, lo studio delle proprietà dei linguaggi di programmazione e l’applicazione di tecniche formali per verificare la rispondenza del software ai requisiti; - Progetto e sviluppo di sistemi software, dedicato ad un approfondimento delle principali applicazioni dei sistemi informatici, alla loro analisi, progettazione, realizzazione e valutazione della qualità. Adeguato risalto viene posto sulle applicazioni di carattere più innovativo. Gli studenti possono acquisire i crediti rimanenti attingendo ad un ulteriore elenco di insegnamenti, a seconda del curriculum scelto. È prevista attività di laboratorio e di tesi. Sbocchi professionali I laureati potranno entrare nel mondo dell’Informatica nelle sue varie sfaccettature, dalla ricerca all’applicazione. La pre- 46 parazione dei laureati specialistici in informatica consente loro di proseguire la propria carriera sia nel mondo della ricerca che delle organizzazioni (pubbliche e private) dove possono dirigere, gestire ed innovare processi di informatizzazione e automazione. L’approccio seguito nell’ordinamento degli studi consentirà ai laureati di cogliere gli elementi evolutivi dell’Informatica, fornendo nel contempo gli strumenti atti a rimanere aggiornati nel tempo. I laureati potranno altresì accedere ai corsi di Dottorato in Informatica, che già da parte generale e ordinamento anni vengono offerti dall’Università di Udine. Ordinamento degli studi Sono attivati i seguenti corsi (per ogni corso viene indicato anche il settore scientifico disciplinare corrispondente, secondo quanto stabilito dal D.M. 509/1999 e successive integrazioni): N.B.: Le seguenti informazioni sono aggiornate al 20 maggio 2007. Per i successivi aggiornamenti consultare la pagina web della Facoltà: http://www.uniud.it/didattica/facolta/scienze. Primo anno Corsi Algoritmi avanzati Algoritmi e complessità Commercio elettronico Compilatori Complementi di basi di dati Design del suono High performance computing Ingegneria del software 2 Intelligenza artificiale Interazione uomo-macchina 1 Linguaggi di nuova concezione Linguaggi di programmazione 1 Linguaggi di programmazione 2 Logica matematica Metodi formali dell’informatica 1 Progettazione e analisi orientate agli oggetti Progettazione siti web Reti di calcolatori e sicurezza Ricerca operativa Semantica dei linguaggi di programmazione Sistemi informativi Sistemi multimediali Sistemi reattivi: automi, logica e algoritmi Statistica matematica 1 Tecnologie XML Teoria dei sistemi 1 Teoria dell’informazione Teoria e tecniche di elaborazione dell’immagine CFU Periodo didattico S.S.D. 6 6 8 6 6 3 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 3 2 1-2 1 2 1 3 3 3 2 3 1 2 1 2-3 2 1 2 1 2 2-3 2-3 3 2 1 2 1 1 INF/01 INF/01 INF/01 INF/01 INF/01 ING-INF/05 MAT/08 ING-INF/05 ING-INF/05 INF/01 INF/01 INF/01 INF/01 MAT/01 INF/01 ING-INF/05 ING-INF/05 INF/01 MAT/09 INF/01 ING-INF/05 ING-INF/05 INF/01 MAT/06 INF/01 ING-INF/04 INF/01 ING-INF/05 47 parte generale e ordinamento Secondo anno Corsi Basi di dati spaziali Complementi di compilatori Data warehouse Fondamenti dell’informatica 2 Geometria computazionale Grafica 3D interattiva Immagini e multimedialità Informatica medica Interazione uomo-macchina 2 Linguaggi e modelli per global computing Matematica computazionale Model checking Modelli e algoritmi per la gestione delle risorse Ottimizzazione 1 Ottimizzazione 2 Personalizzazione dei contenuti web Psicologia della comunicazione Robotica Sistemi esperti Statistica matematica 2 Interpretazione astratta e analisi automatica del software Tecnologie web Teoria dei sistemi 2 Web information retrieval Web semantico Laboratori avanzati (2 corsi da 5 CFU ciascuno) Corsi a scelta dello studente Prova finale Piani di studio Tutti gli studenti devono acquisire 84 crediti per insegnamenti secondo il seguente piano di studi: 1) un insieme di insegnamenti è obbliga- CFU Periodo didattico S.S.D. 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 10 6 20 2 2 (v.SIGI) 2 1 1 2 2 3 2-3 3 3 2 1 2 1 3 2-3 2 3 1 2-3 3 3 2 INF/01 INF/01 ING-INF/05 INF/01 ING-INF/04 ING-INF/05 ING-INF/05 ING-INF/05 INF/01 INF/01 MAT/08 INF/01 MAT/09 MAT/09 MAT/09 ING-INF/05 M-PSI/01 ING-INF/05 ING-INF/05 MAT/06 INF/01 ING-INF/05 ING-INF/04 ING-INF/05 ING-INF/05 torio per tutti gli iscritti alla Laurea Specialistica (i crediti relativi ad alcuni di questi insegnamenti possono essere già stati conseguiti nel corso della precedente laurea triennale). Crediti obbligatori per tutti i curricula Insegnamenti/attività formative Compilatori Complementi di basi di dati Fondamenti dell’informatica 2 Intelligenza artificiale Linguaggi di programmazione 1 CFU 6 6 6 6 6 48 parte generale e ordinamento Linguaggi di programmazione 2 Logica matematica Metodi formali dell’informatica 1 Ricerca operativa Laboratori avanzati (2 corsi da 5 CFU ciascuno) Corsi a scelta dello studente (*) Prova finale 6 6 6 6 10 6 20 (*) La Facoltà ha attivato per gli studenti interessati il corso di Storia dell’informatica (3 CFU) da inserire tra i corsi a scelta dello studente (6 CFU). 2) I rimanenti crediti (minori o uguali a 48) devono essere acquisiti fra gli insegnamenti previsti dal curriculum prescelto: Curriculum ‘Linguaggi e algoritmi’: ha la finalità di affinare le capacità di analizzare i problemi e progettare soluzioni informatiche innovative. Viene dato particola- re rilievo allo studio degli algoritmi, dei linguaggi di programmazione più opportuni per la loro implementazione e dei metodi formali per la verifica della rispondenza del software ai requisiti. Nell’ambito del curriculum ‘Linguaggi e algoritmi’ lo studente può scegliere uno dei seguenti 2 pacchetti di insegnamenti: LA1 Insegnamenti/attività formative CFU Linguaggi di nuova concezione Linguaggi e modelli per il global computing Semantica dei linguaggi di programmazione Interpretazione Astratta e Analisi Automatica del Software Allo studente rimangono fino a 24 crediti da scegliere tra tutti i corsi attivati alle lauree specialistiche in Informatica e Tecnologie dell’Informazione. Almeno un 6 6 6 6 corso deve comunque obbligatoriamente essere di Informatica (cioè appartenente ai settori scientifico-disciplinari INF/01 o ING-INF/05). LA2 Insegnamenti/attività formative CFU Algoritmi avanzati Algoritmi e complessità High performance computing Modelli e algoritmi per la gestione delle risorse Sistemi reattivi: automi, logica e algoritmi Allo studente rimangono fino a 18 crediti da scegliere liberamente tra tutti i corsi 6 6 6 6 6 attivati alle lauree specialistiche in Informatica e Tecnologie dell’Informazione. 49 parte generale e ordinamento Curriculum ‘Progetto e sviluppo di sistemi software’: è volto a un approfondimento delle principali applicazioni dei sistemi informatici, alla loro analisi, progettazione, realizzazione e controllo di qualità. Nell’ambito del curriculum ‘Progetto e sviluppo di sistemi software’ lo studente può scegliere uno dei seguenti 3 pacchetti di insegnamenti: PS1 Insegnamenti/attività formative CFU Ingegneria del software 2 Progettazione e analisi orientate agli oggetti Sistemi informativi 2 corsi a scelta tra: - Data warehouse - Informatica medica - Personalizzazione dei contenuti web - Progettazione siti web - Reti di calcolatori e sicurezza - Web information retrieval Allo studente rimangono fino a 18 crediti da scegliere liberamente tra tutti i corsi 6 6 6 6 6 6 6 6 6 attivati alle lauree specialistiche in Informatica e Tecnologie dell’Informazione. PS2 Insegnamenti/attività formative CFU Interazione uomo-macchina 1 Interazione uomo-macchina 2 Ingegneria del software 2 2 corsi a scelta tra: - Grafica 3D interattiva - Progettazione siti web - Psicologia della comunicazione - Sistemi multimediali Allo studente rimangono fino a 18 crediti da scegliere liberamente tra tutti i corsi 6 6 6 6 6 6 6 attivati alle lauree specialistiche in Informatica e Tecnologie dell’Informazione. PS3 Insegnamenti/attività formative Ingegneria del software 2 Sistemi multimediali Teoria e tecniche di elaborazione dell’immagine CFU 6 6 6 50 2 corsi a scelta tra: - Geometria computazionale - Immagini e multimedialità - Robotica - Sistemi informativi - Tecnologie web Allo studente rimangono fino a 18 crediti da scegliere liberamente tra tutti i corsi attivati alle lauree specialistiche in Informatica e Tecnologie dell’Informazione. Piani di studio individuali Gli studenti che intendono proporre un piano di studi individuale devono presentare domanda alla Ripartizione Didattica entro il 5 ottobre 2007. Lauree L’esame di laurea specialistica in Informatica consiste nella discussione pubblica di una tesi di laurea. Le tesi di laurea sono divise in tre categorie: - Tesi compilativa: è un lavoro di rassegna con presentazione critica e bibliografica ragionata; è richiesta la nomina del controrelatore solo su esplicita richiesta del relatore (punteggio massimo attribuibile ≤ 5 punti). - Tesi sperimentale: lavoro comprensivo di una parte compilativa (vedi sopra) e della documentazione di un lavoro personale del candidato, i cui risultati siano confrontati criticamente con la letteratura; è richiesta la nomina del controrelatore (punteggio massimo attribuibile < 9 punti). - Tesi di ricerca: lavoro strutturato come per una tesi sperimentale, con contributi originali; è richiesta la nomina del controrelatore e del supervisore (punteggio massimo attribuibile ≤ 11 punti). Il voto finale, espresso in centodecimi, è formato da una votazione di base e da un incremento. La votazione di base è costituita tenendo conto dei voti riportati negli parte generale e ordinamento 6 6 6 6 6 esami di profitto della Laurea Triennale e della Laurea Specialistica secondo la seguente formula: α1A + α2B con α1 = 0.3 peso assegnato agli esami della Laurea triennale e α 2 = 0.7 peso assegnato agli esami della Laurea Specialistica. I parametri A e B sono calcolati nel seguente modo. A è la media pesata, con decimali, delle votazioni riportate dal candidato nei singoli esami di profitto della Laurea triennale i cui CFU sono stati riconosciuti per l’accesso alla Laurea Specialistica (con un massimo di 60 CFU di debito), trasformata poi in centodecimi. B è la media pesata, con decimali, delle votazioni riportate dal candidato nei singoli esami di profitto della Laurea Specialistica e negli esami, se previsti dal suo piano di studi sostenuti in aggiunta per compensare il debito formativo assegnatogli per l’accesso alla Laurea Specialistica), trasformata poi in centodecimi. Per il calcolo della media non si tiene conto del voto finale di Laurea triennale, dei crediti relativi al tirocinio e di tutti quegli esami con credito che non si concludono con una votazione. L’incremento è un numero razionale compreso tra 0 ed 11, determinato dalla commissione di laurea in base alla dissertazione ed alla sua presentazione. La Commissione può anche tenere conto del tempo impiegato dallo studente per completare il proprio curriculum di studio. L’eventuale lode deve essere determinata all’unanimità; in ogni caso è da tenere in dovuto conto la presenza di lodi nel curriculum degli esami di profitto. parte generale e ordinamento LAUREA SPECIALISTICA IN TECNOLOGIE DELL’INFORMAZIONE (classe 23/S - Lauree Specialistiche in Informatica) Durata del Corso 2 anni (120 crediti) Sede del Corso Udine, via delle Scienze 208 Finalità del Corso La Laurea Specialistica in Tecnologie dell’Informazione (Classe 23/S) ha lo scopo di formare una figura professionale esperta nelle moderne tecnologie dell’informazione e della comunicazione, con alta specializzazione nell’analisi, nella progettazione, nella realizzazione e nella gestione di sistemi innovativi complessi per la gestione dell’informazione e della comunicazione, nell’ambito di organizzazioni sia pubbliche che private. Requisiti per l’accesso Per essere ammessi al Corso di Laurea Specialistica in Tecnologie dell’Informazione occorre essere in possesso di un diploma di laurea o di altro titolo di studio conseguito all’estero, riconosciuto idoneo secondo la normativa vigente. L’ammissione al Corso di Laurea Specialistica è subordinata al riconoscimento dei crediti utili ai fini del conseguimento della Laurea Specialistica. L’ammissione viene concessa se e solo se i crediti utili sono almeno 120. Il possesso del titolo di laurea in Informatica o Scienze dell’Informazione del vecchio ordinamento, conseguiti presso qualunque Università o il possesso del titolo di laurea in TWM, classe 26, conseguito presso l’Università degli Studi di Udine, non richiedono alcuna condizione ulteriore in termini di requisiti curricolari e di preparazione personale. Qualora i crediti riconosciuti siano meno 51 di 180 vengono indicati specifici obblighi formativi (debiti) da soddisfare nel primo anno di corso. Caratteristiche del Corso e organizzazione Per conseguire la laurea lo studente deve acquisire 120 crediti. Il piano di studi prevede un insieme di corsi obbligatori dedicati a rafforzare le conoscenze metodologiche e ad estendere le conoscenze di base nei settori della programmazione, dello sviluppo del software ed del progetto di database e di sistemi web. I corsi a scelta dello studente rappresentano più di un terzo dei crediti formativi, e coprono numerosi settori delle Tecnologie dell’Informazione ed in particolare di aree che da anni sono oggetto di studio presso l’Università di Udine. Ciò permette lo svolgimento di progetti didattici e tesi all’interno dei Laboratori di ricerca, al fianco dei ricercatori e nell’ambito di numerosi progetti di ricerca e sviluppo di interesse internazionale. Sbocchi professionali Le nuove esigenze del mercato del lavoro nel campo delle Tecnologie dell’Informazione e della Comunicazione (ICT) richiedono solide basi metodologiche, forte specializzazione, profili tecnici e professionali elevati. La Laurea Specialistica in Tecnologie dell’Informazione ha lo scopo di costruire delle figure culturalmente e tecnicamente mature, in grado di affrontare problematiche e fenomeni che diventano sempre più complessi ed articolati, di padroneggiare le tecnologie più avanzate, in grado altresì di prendere, in prospettiva, il ruolo di dirigenti gestori ed innovatori, fornendo nel contempo competenze e sensibilità applicative e tecnico-progettuali necessarie per inserirsi a pieno titolo nel mondo dell’ICT. Gli sbocchi professionali sono quindi assai vasti: un obiettivo primario è costi- 52 tuito dalle organizzazioni che producono o forniscono servizi nel specifico campo dell’ICT, ma un altro enorme bacino è rappresentato della organizzazioni che, pur non operando nel settore dell’ICT, utilizzano le nuove tecnologie informatiche come elemento fondamentale del loro funzionamento e del loro vantaggio competitivo, necessitando quindi di figure professionali in grado di orientare e gestire le scelte in campo informatico, di progettare soluzioni adeguate e personalizzate, di gestire processi di riorganizzazione basati sulle tecnologie informatiche, di gestire progetti di sviluppo di sistemi informativi innovativi. Le competenze dei laureati riguardano tutti gli parte generale e ordinamento aspetti delle attività necessarie nell’ambito dell’intero ciclo di pianificazione, sviluppo, certificazione della qualità, e gestione dei sistemi e dei progetti informatici. Ordinamento degli studi Sono attivati i seguenti corsi (per ogni corso viene indicato anche il settore scientifico disciplinare corrispondente, secondo quanto stabilito dal D.M. 509/1999 e successive integrazioni): N.B.: Le seguenti informazioni sono aggiornate al 20 maggio 2007. Per i successivi aggiornamenti consultare la pagina web della Facoltà: http://www.uniud.it/didattica/facolta/scienze. Primo anno Corsi Algoritmi e complessità Complementi di basi di dati Design del suono Fondamenti e metodi dell’informatica Grafica 3D interattiva Ingegneria del software 2 Linguaggi di programmazione Metodi numerici per l’informatica Progettazione e analisi orientate agli oggetti Sistemi esperti Sistemi informativi in rete Tecnologie XML Teoria dei sistemi Teoria e tecniche di elaborazione dell’immagine Web information retrieval CFU Periodo didattico S.S.D. 6 6 3 6 6 6 6 6 6 6 6 6 6 6 6 2 2 1 2-3 1 3 1 1 2 2 2-3 1 2 1 3 INF/01 INF/01 ING-INF/05 INF/01 ING-INF/05 ING-INF/05 INF/01 MAT/08 INF/01 ING-INF/05 ING-INF/05 INF/01 ING-INF/04 ING-INF/05 ING-INF/05 CFU Periodo didattico S.S.D. 3 3 6 6 6 1 1 2 2 3 ING-INF/05 ING-INF/05 ING-INF/05 ING-INF/05 INF/01 Secondo anno Corsi E-government E-learning Immagini e multimedialità Informatica medica Interazione uomo macchina 2 53 parte generale e ordinamento Personalizzazione di contenuti web Qualità e certificazioni web Ricerca operativa Teoria dell’informazione Sistemi mobili e wireless Web design Web semantico Laboratori avanzati (*) Corsi a scelta dello studente (**) Prova finale 6 3 6 6 6 3 6 10 6 26 1 2 1 1 1 3 2 ING-INF/05 INF/01 MAT/09 INF/01 INF/01 ING-INF/05 ING-INF/05 (*) Gli studenti devono acquisire 10 CFU per attività di laboratorio (due corsi di laboratorio avanzato per 5 crediti ciascuno) associati ad uno dei corsi attivati, a scelta dello studente, oppure i corsi di Laboratorio avanzato di Tecnologie Lato Server (5 CFU) e/o Laboratorio avanzato di Tecniche di Comunicazione (5 CFU), specificamente offerti dalla Facoltà. (**) La Facoltà ha attivato per gli studenti interessati il corso di Storia dell’informatica (3 CFU) da inserire tra i corsi a scelta dello studente (6 CFU). Piani di studio Tutti gli studenti devono acquisire 78 crediti per insegnamenti secondo il seguente piano di studi: 1) un insieme di insegnamenti è obbliga- torio per tutti gli iscritti alla Laurea Specialistica (i crediti relativi ad alcuni di questi insegnamenti possono essere già stati conseguiti nel corso della precedente laurea triennale): Insegnamenti/attività formative Complementi di basi di dati Ingegneria del software 2 Linguaggi di programmazione Metodi numerici per l’informatica Ricerca operativa Teoria dei sistemi un insegnamento a scelta tra: - Fondamenti e Metodi dell’Informatica - Teoria dell’Informazione Laboratori avanzati (2 corsi da 5 CFU ciascuno) Corsi a scelta dello studente Prova finale CFU 6 6 6 6 6 6 6 6 10 6 26 2) I rimanenti crediti devono essere acquisiti fra gli insegnamenti nel seguente elenco di insegnamenti: Insegnamenti/attività formative Algoritmi e complessità Complementi di tecniche di comunicazione CFU 6 3 54 parte generale e ordinamento Design del suono E-government E-learning Fondamenti e metodi dell’informatica Grafica 3D interattiva Immagini e multimedialità Informatica medica Interazione uomo-macchina 2 Personalizzazione di contenuti web Progettazione e analisi orientate agli oggetti Qualità e certificazioni web Sistemi esperti Sistemi informativi in rete Sistemi mobili e wireless Tecnologie XML Teoria dell’informazione Teoria e tecniche di elaborazione dell’immagine Web design Web information retrieval Web semantico Piani di studio individuali Gli studenti che intendono proporre un piano di studi individuale devono presentare domanda alla Ripartizione Didattica entro il 5 ottobre 2007. Lauree L’esame di laurea specialistica in Tecnologie dell’Informazione consiste nella discussione pubblica di una tesi di laurea. Le tesi di laurea sono divise in tre categorie: - Tesi compilativa: è un lavoro di rassegna con presentazione critica e bibliografica ragionata; è richiesta la nomina del controrelatore solo su esplicita richiesta del relatore (punteggio massimo attribuibile ≤ 5 punti). - Tesi sperimentale: lavoro comprensivo di una parte compilativa (vedi sopra) e della documentazione di un lavoro personale del candidato, i cui risultati siano confrontati criticamente con la letteratura; è richiesta la nomina del controrelatore (punteggio massimo attribuibile < 9 punti). 3 3 3 6 6 6 6 6 6 6 3 6 6 6 6 6 6 3 6 6 - Tesi di ricerca: lavoro strutturato come per una tesi sperimentale, con contributi originali; è richiesta la nomina del controrelatore e del supervisore (punteggio massimo attribuibile ≤ 11 punti). Il voto finale, espresso in centodecimi, è formato da una votazione di base e da un incremento. La votazione di base è costituita tenendo conto dei voti riportati negli esami di profitto della Laurea Triennale e della Laurea Specialistica secondo la seguente formula: α1A + α2B con α1 = 0.3 peso assegnato agli esami della Laurea triennale e α 2 = 0.7 peso assegnato agli esami della Laurea Specialistica. I parametri A e B sono calcolati nel seguente modo. A è la media pesata, con decimali, delle votazioni riportate dal candidato nei singoli esami di profitto della Laurea triennale i cui CFU sono stati riconosciuti per l’accesso alla Laurea Specialistica (con un massimo di 60 CFU di debito), trasformata poi in centodecimi. B è la media pesata, con decimali, delle votazio- 55 parte generale e ordinamento ni riportate dal candidato nei singoli esami di profitto della Laurea Specialistica e negli esami, se previsti dal suo piano di studi sostenuti in aggiunta per compensare il debito formativo assegnatogli per l’accesso alla Laurea Specialistica), trasformata poi in centodecimi. Per il calcolo della media non si tiene conto del voto finale di Laurea triennale, dei crediti relativi al tirocinio e di tutti quegli esami con credito che non si concludono con una votazione. L’incremento è un numero razionale compreso tra 0 ed 11, determinato dalla commissione di laurea in base alla dissertazione ed alla sua presentazione. La Commissione può anche tenere conto del tempo impiegato dallo studente per completare il proprio curriculum di studio. L’eventuale lode deve essere determinata all’unanimità; in ogni caso è da tenere in dovuto conto la presenza di lodi nel curriculum degli esami di profitto. LAUREA SPECIALISTICA IN MATEMATICA (classe 45/S - Matematica) Durata del Corso 2 anni (120 crediti) Sede del Corso Udine, via delle Scienze 208 Caratteristiche e finalità del Corso In generale il Corso di Laurea Specialistica in Matematica (classe 45/S) si pone l’obiettivo formativo specifico di completare la formazione dello studente dotandolo di una solida preparazione di base sia nelle discipline matematiche più tradizionali che in quelle di più recente sviluppo, mettendolo in condizione di coglierne e sfruttarne i profondi collegamenti. In particolare il Corso di Laurea, nei rispettivi curricula, si propone l’obiettivo specifico di: Curriculum generale: fornire allo studente una solida base matematica che gli permetta di proseguire gli studi verso il dottorato di ricerca e in generale di avviarsi alla ricerca nella matematica più teorica; Curriculum didattico: fornire allo studente un’ulteriore preparazione, rispetto alla laurea triennale, nella didattica della matematica con competenze in quelle discipline che nell’insegnamento tradizionalmente affiancano la matematica; Curriculum applicativo: fornire allo studente, oltre ad una solida base e mentalità matematica, quelle competenze specifiche che gli permettano di affrontare l’attività professionale con mentalità e capacità innovative in quei settori dove l’attività del matematico applicato è particolarmente richiesta, quali quello gestionale, quello statistico-economico, quello computazionale, quello logico-informatico, quello fisico-modellistico. 56 Requisiti per l’accesso Per essere ammessi al Corso di Laurea Specialistica in Matematica occorre essere in possesso di un diploma di laurea o di altro titolo di studio conseguito all’estero, riconosciuto idoneo secondo la normativa vigente. L’ammissione al Corso di Laurea Specialistica è subordinata al riconoscimento dei crediti utili ai fini del conseguimento della laurea specialistica. L’ammissione viene concessa se e solo se i crediti utili sono almeno 120. Il possesso del titolo di laurea in Matematica del vecchio ordinamento conseguito presso qualunque Università o del titolo di laurea in Matematica, classe 32, conseguito presso l’Università di Udine, non richiede alcuna condizione ulteriore in termini di requisiti curricolari e di preparazione personale. I crediti acquisiti durante la laurea triennale sono tutti riconosciuti a seconda del curriculum scelto. Qualora i crediti riconosciuti siano meno di 180 vengono indicati specifici obblighi formativi (debiti) da soddisfare nel primo anno di corso. Sbocchi professionali Per quanto riguarda gli sbocchi professionali, proprio il carattere di novità dei contenuti del corso udinese dovrebbe garantire un facile ingresso nel mondo del lavoro. Conseguita la laurea, lo studente dovrebbe aver acquisito una professionalità che gli permetterà di inserirsi agevolmente in diverse realtà produttive con caratterizzanti elementi di innovazione in ambienti gestionali, economici e di progettazione. Si tratta di una figura professionale abbastanza nuova di cui si sentirà sempre più spesso l’esigenza nel futuro. Finora certi tipi di competenza parte generale e ordinamento erano, nel mondo industriale, parzialmente assorbiti dall’ingegnere; data però la maggior richiesta di efficienza e competitività sarà sempre più necessario affiancare all’ingegnere il matematico che contribuisca, con una lucida e rigorosa analisi sia quantitativa che qualitativa, alla formulazione di soluzioni innovative ed efficienti. Naturalmente rimangono sempre aperti i tradizionali sbocchi occupazionali del laureato in matematica: la ricerca e l’insegnamento. I futuri insegnanti di matematica laureati a Udine avranno una competenza particolarmente adatta ai nuovi programmi delle scuole secondarie che, all’interno dei tradizionali corsi di matematica, mirano anche a fornire conoscenze di tipo logico-informatico e fisico sperimentale e prevedono un ampio uso di strumenti informatici. La laurea in matematica consente inoltre di acquisire un tipo di mentalità creativa e ricettiva che permette di sviluppare nelle più varie direzioni la preparazione di base già acquisita. Il laureato si può trovare così nella condizione di operare in modo innovativo nei settori più vari oppure ‘crearsi’ un lavoro, come la realtà di oggi, sempre più spesso, richiede. Ordinamento degli studi Crediti obbligatori per tutti, se non già acquisiti nella laurea triennale (per ogni corso viene indicato anche il settore scientifico disciplinare corrispondente, secondo quanto stabilito dal D.M. 509/1999 e successive integrazioni): N.B.: Le seguenti informazioni sono aggiornate al 20 maggio 2007. Per i successivi aggiornamenti consultare la pagina web della Facoltà: http://www.uniud.it/didattica/facolta/scienze. 57 parte generale e ordinamento Insegnamenti/attività formative CFU Periodo didattico S.S.D. Primo e secondo anno Algebra 3 Analisi matematica 5 Analisi matematica 6 Fisica moderna Geometria 4 Informatica 2 Logica matematica 2 Ottimizzazione 1 Probabilità 2 Corsi a scelta dello studente Laboratorio di matematica (**) Prova finale 6 6 6 6 6 6 6 6 6 6 6 30 1 1 2 1 3 3 2 1 1 MAT/02 MAT/05 MAT/05 FIS/01 MAT/03 INF/01 MAT/01 MAT/09 MAT/06 Crediti obbligatori per il Curriculum generale e il Curriculum didattico (****), se non già acquisiti nella laurea triennale: Insegnamenti/attività formative Algebra 4 Algebra 5 Analisi matematica 7 Geometria 5 Geometria 6 CFU Periodo didattico S.S.D. 6 6 6 6 6 2 3 1 1 3 MAT/02 MAT/02 MAT/05 MAT/03 MAT/03 CFU Periodo didattico S.S.D. 6 6 6 6 6 6 6 6 6 6 6 2o3 3 3 1 2 (tace) 3 2 3 1 2 MAT/05 MAT/07 MAT/04 MAT/03 MAT/03 MAT/01 MAT/04 FIS/01 MAT/03 MAT/01 MAT/02 Più 6 insegnamenti scelti fra: Insegnamenti/attività formative Analisi matematica 8 o 9 Fisica matematica Fondamenti della matematica 1 Geometria 7 (*) Geometria 9 (*) Istituzioni di logica matematica 1 (*) Matematiche complementari 1 (*) Particelle e interazioni fondamentali Teoria dei numeri 1 (*) Teoria degli insiemi (*) Topologia 1 (*) 58 parte generale e ordinamento Crediti obbligatori per il Curriculum applicativo, se non già acquisiti nella laurea triennale: Insegnamenti/attività formative CFU Periodo didattico S.S.D. 6 6 6 6 6 6 6 6 1o2 2 3 3 2 2 2 3 MAT/05 MAT/08 MAT/08 INF/01 MAT/09 MAT/09 SECS-S/01 SECS-S/01 Insegnamenti/attività formative CFU Periodo didattico S.S.D. Analisi numerica 4 Matematica finanziaria (***) Facoltà Economia Metodi Monte Carlo Modellistica e simulazione Ottimizzazione 4 6 6 3 MAT/08 6 6 6 3 1 2 SECS-S/06 FIS/02 ING-INF/04 MAT/09 CFU Periodo didattico S.S.D. 6 6 6 6 6 2o3 1o2 3 1, 3, 1, 2 MAT/02 MAT/05 MAT/08 MAT/03 6 6 6 6 6 3 1 2 2 3 SECS-S/06 FIS/02 ING-INF/04 MAT/09 FIS/01 MAT/03 Analisi matematica 7 o 8 Analisi numerica 2 Analisi numerica 3 Informatica 3 Ottimizzazione 2 Ottimizzazione 3 Statistica 1 Statistica 2 Più 2 insegnamenti scelti fra: Più 1 insegnamento scelto fra: Insegnamenti/attività formative Algebra 4 o 5 Analisi matematica 7 o 8 Analisi numerica 4 Geometria 5 o 6 o 7 o 9 Matematica finanziaria (***) Facoltà Economia Metodi Monte Carlo Modellistica e simulazione Ottimizzazione 4 Particelle e interazioni fondamentali Teoria dei numeri 1 (*) (*) Gli insegnamenti di Matematiche Complementari 1 e 2, Istituzioni di Logica Matematica 1 e Teoria degli Insiemi, Teoria dei Numeri 1 e 2, Geometria 7 e 8 e Geometria 9 e 10 e Topologia 1 e 2 sono attivati ad anni alterni. (**) Il Laboratorio di Matematica è un’attività di approfondimento individuale che lo studente concorderà con il docente di uno dei corsi della laurea o della Laurea Specialistica in Matematica. Lo studente discuterà con la commissione del corso prescelto i contenuti del lavoro svolto, producendo al presidente di tale commissione idoneo materiale di documentazione. parte generale e ordinamento 59 (***) Il corso di Matematica Finanziaria è mutuato dal corso Matematica Finanziaria - Corso progredito della Facoltà di Economia. (****) Per gli studenti interessati a proseguire con la SSIS (Scuola di Specializzazione per l’Insegnamento nella Scuola Secondaria), alla data attuale i seguenti esami del settore MAT/04 sono riconosciuti come crediti dalla SSIS di Udine: Matematiche Complementari 1 e 2, Fondamenti della Matematica 1 e 2. Sul sito SSIS http://www.uniud.it/didattica/facolta/formazione/ssis si può reperire per ciascuna classe di insegnamento l’elenco aggiornato delle materie che costituiscono debito, se non sono state frequentate nel corso degli studi precedenti. Lauree L’esame di Laurea Specialistica/Magistrale in Matematica consiste nella discussione di una dissertazione scritta, detta Tesi di Laurea Magistrale, redatta sotto la supervisione di un relatore. Il relatore deve essere, o essere stato al momento della assegnazione della tesi, un docente di ruolo o un ricercatore, membro della Facoltà o del Consiglio del Corso di Laurea. È data facoltà al relatore di proporre la partecipazione alla supervisione della tesi di un eventuale correlatore, anche esterno alla Facoltà o al Consiglio del Corso di Laurea. Ogni tesi viene scrutinata da un controrelatore. Su motivata richiesta del relatore, lo scrutinio è affidato anche ad un secondo controrelatore, detto supervisore. La discussione di ogni singola tesi è pubblica e dura orientativamente 20 - 30 minuti. Il voto finale, espresso in centodecimi, è dato dalla somma di una votazione di base e di un incremento. La votazione di base è calcolata in base alla formula: 0.2 A + 0.8 B + C. I parametri A, B, C sono calcolati nel modo seguente: A = punteggio conseguito dal laureando nella sua Laurea Triennale o nel titolo di studio equivalente per l’accesso alla Laurea Specialistica, eventualmente rapportato in centodecimi; B = media pesata (in base ai crediti attri- buiti ai singoli esami), con decimali e rapportata in centodecimi, delle votazioni riportate dal laureando nei singoli esami di profitto della Laurea Specialistica e negli esami sostenuti per compensare l’eventuale debito formativo assegnatogli per l’accesso alla Laurea Specialistica; da tale media sono esclusi gli esami che non si concludono con un punteggio numerico finale; C = numero di crediti di esami di profitto (tra quelli considerati ai fini del parametro B) superati con la lode, moltiplicato per 0.06/110 e troncato a 2/110 nel caso in cui tale calcolo dia un risultato superiore a 2/110. L’incremento è un numero compreso tra zero e undici centodecimi, determinato dalla Commissione in base alle valutazioni espresse dal relatore, dal controrelatore, da correlatore e supervisore ove previsti, da una valutazione complessiva del curriculum degli studi del candidato e dall’efficacia dell’esposizione della tesi. Nell’ambito di tale incremento la Commissione di Laurea potrà tenere conto della durata degli studi del candidato. Se la somma del punteggio di base e dell’incremento è maggiore o uguale a 110/110, il voto assegnato è 110/110 e la Commissione passa a discutere l’eventuale attribuzione della lode, che viene deliberata alle condizioni previste dal vigente Regolamento Didattico di Ateneo (ossia, attualmente, l’unanimità della Commissione di Laurea, cfr. art. 126 comma 7). 60 parte generale e ordinamento LAUREA SPECIALISTICA IN FISICA COMPUTAZIONALE (classe 20/S - Lauree Specialistiche in Fisica) Durata del Corso 2 anni (120 crediti) Sede del Corso Udine, via delle Scienze 208 Caratteristiche e finalità del Corso Il Corso di Laurea Specialistica in Fisica Computazionale, organizzato in collaborazione con la SISSA e l’Università di Trieste, ha durata biennale ed è accessibile a studenti che abbiano superato un triennio in corsi di laurea o di diploma scientifici (Fisica, Matematica, Informatica, Chimica, Geologia, corsi di laurea afferenti alla facoltà di Ingegneria); quindi anche agli studenti già in possesso di un diploma di laurea con il vecchio ordinamento. Il metodo delle Scienze fisiche è basato sull’osservazione dei fenomeni naturali e sull’elaborazione di teorie matematiche che consentono di descriverne e di predirne i meccanismi più nascosti. E solo grazie a uno stretto confronto fra questi due modelli di pensiero che la moderna tecnologia ha potuto veder la luce. Negli ultimi 30 anni un terzo paradigma si è aggiunto a quelli tradizionali della Fisica sperimentale e teorica: quello della Fisica computazionale. Grazie all’ausilio dei computer è oggi possibile non solo risolvere le equazioni della Fisica teorica che non potrebbero altrimenti essere affrontate, ma persino eseguire veri e propri esperimenti virtuali (simulazioni) in cui le proprietà della materia sono studiate in condizioni non accessibili in laboratorio (si pensi ad esempio alla cosmologia: grazie ai calcolatori oggi possiamo immaginare universi differenti da quello in cui viviamo!). Il Corso di Laurea Specialistica in Fisica computazionale a Udine è progettato per chi cerca occupazione nei settori di ricerca e sviluppo dell’industria, nella ricerca pura di tipo computazionale, e nell’ingegneria di punta. Il programma di studi costituisce una miscela ben equilibrata di fisica teorica, sperimentale e di tecniche avanzate di calcolo numerico. Il Corso dura due anni. Un primo periodo di 16 mesi è prevalentemente dedicato ai corsi d’istruzione, che spaziano dall’informatica alla meccanica quantistica; di particolare rilievo sono i laboratori di acquisizione e di analisi on-line dei dati, una ricchezza non comune nell’università italiana. Gli ultimi 8 mesi comportano un tirocinio in attività di ricerca, che si conclude con una tesi. Tale attività può venire svolta, a scelta dello studente, in uno dei seguenti indirizzi: - metodi numerici in fisica della materia condensata e della scienza dei materiali (dinamica molecolare, meccanica statistica, sistemi complessi); - metodi numerici ed analisi dei dati in fisica ed astrofisica delle alte energie; - fluidodinamica computazionale e alla meteorologia; - modellizzazione fisica e ad applicazioni di ricerca informatica (quantum computing, reti neurali). Particolare attenzione è rivolta al training. Gli studenti sono organizzati in piccoli gruppi, per essere seguiti con continuità; un tutoraggio personalizzato li avvia e li guida nel loro percorso didattico, fino al progetto di ricerca finale. I laboratori consentono a ciascuno studente l’uso in prima persona di mezzi avanzati di elaborazione numerica, simbolica e grafica e di acquisizione dati. Docenti e studenti insieme costituiscono una squadra. Requisiti specifici per l’accesso Per essere ammessi al Corso di Laurea Specialistica in Fisica Computazionale occorre essere in possesso di un diploma 61 parte generale e ordinamento di laurea o di altro titolo di studio conseguito all’estero, riconosciuto idoneo secondo la normativa vigente. Il possesso del titolo di laurea in Fisica del vecchio ordinamento conseguito presso qualunque Università o il possesso del titolo di laurea breve in Fisica o in Informatica (ogni curriculum), conseguito presso l’Università degli Studi di Trieste o il possesso del titolo di laurea breve in Matematica o in Informatica conseguito presso l’Università degli Studi di Udine con un piano di studio che comprenda almeno 24 crediti di Fisica, non richiedono alcuna condizione ulteriore in termini di requisiti curricolari e di preparazione personale. In molte condizioni ciò si applica anche ai titolari di laurea breve in Ingegneria. L’ammissione al Corso di Laurea Specialistica per laureati in possesso di un titolo di studio diverso da quelli sopra indicati è subordinata al riconoscimento dei crediti utili ai fini del conseguimento della laurea specialistica. Qualora i crediti riconosciuti siano meno di 180 vengono indicati specifici obblighi formativi (debiti) da soddisfare nel primo anno di corso. Sbocchi professionali Lo studio numerico dei fenomeni naturali e delle teorie fisiche richiede la padronanza di una varietà di tecniche, nonché una creatività e flessibilità di pensiero, che trovano un naturale impiego nel mondo della ricerca e in tutte le moderne professioni tecnico-scientifiche. Metodi sviluppati e collaudati nell’ambito della fisica computazionale e legati alla ricerca pura sono oggi indispensabili in svariati campi, come ad esempio la meteorologia, la previsione di eventi sismici, la modellizzazione dell’equilibrio ecologico, la simulazione di dispositivi e processi produttivi, e persino il controllo dei rischi nei mercati finanziari, oltre ad applicazioni nell’area biomedica. Ordinamento degli studi (per ogni corso viene indicato anche il settore scientifico disciplinare corrispondente, secondo quanto stabilito dal D.M. 509/1999 e successive integrazioni): N.B.: Le seguenti informazioni sono aggiornate al 20 maggio 2007 Per i successivi aggiornamenti consultare la pagina web della Facoltà: http://www.uniud.it/didattica/facolta/scienze. Per chi proviene da Matematica, Informatica o Ingegneria Insegnamenti/attività formative CFU Periodi didattici S.S.D. 6 6 6 6 6 6 6 6 6 1 1 3 2 3 2 2 3 2 3 FIS/01 CHIM/03 INF/01 FIS/01 FIS/01 FIS/02 FIS/03 FIS/03 FIS/01 FIS/03 6 6 3 1 FIS/01 FIS/01 Primo anno Complementi di meccanica Chimica o Informatica 1 o 2 Laboratorio di analisi dei dati Laboratorio di strumentazione e misure fisiche Meccanica quantistica Meccanica statistica Metodi Monte Carlo Particelle e interazioni fondamentali Struttura della materia uno tra: Laboratorio di elettronica Fisica moderna 62 parte generale e ordinamento Secondo anno Modellistica e simulazione due insegnamenti a scelta tra (*): - Quantum computing - Fisica delle alte energie - Cosmologia e astrofisica delle particelle - Fluidodinamica e turbolenza - Fluidodinamica computazionale - Laboratorio di acquisizione e analisi dei dati - Metodi numerici per la struttura elettronica - Simulazioni atomistiche di materiali - Relatività generale - Meteorologia computazionale Insegnamento a scelta dello studente Elaborato finale 6 1 ING-INF/04 6 6 6 6 6 6 6 6 6 6 6 36 1 3 3 1 3 1 2 1 3 2 FIS/02 FIS/04 FIS/05 FIS/01 FIS/01 FIS/01 FIS/03 FIS/03 FIS/02 FIS/06 (*) La scelta va fatta tra gli esami appartenenti a quei settori scientifico-disciplinari rispetto ai quali lo studente risulta in difetto di crediti. I crediti mancanti dipendono dal piano di studi scelto nella precedente laurea. Per chi proviene da Fisica Insegnamenti/attività formative CFU Periodi didattici S.S.D. 6 6 6 6 6 6 6 6 6 1 3 2 3 2 2 3 3 2 FIS/01 FIS/01 FIS/03 FIS/03 FIS/02 FIS/01 INF/01 INF/01 MAT/08 Primo anno Complementi di meccanica Laboratorio di elettronica Meccanica statistica Metodi Monte Carlo Meccanica quantistica Laboratorio di analisi dei dati Informatica 1 Informatica 2 Analisi numerica Insegnamento a scelta tra quelli attivati nel corso di laurea triennale in Informatica (*) 6 (*) La scelta va fatta tra gli esami appartenenti a quei settori scientifico-disciplinari rispetto ai quali lo studente risulta in difetto di crediti. I crediti mancanti dipendono dal piano di studi scelto nella precedente laurea. Secondo anno Modellistica e simulazione due insegnamenti a scelta tra: - Quantum computing - Fisica delle alte energie - Cosmologia e astrofisica delle particelle 6 1 ING-INF/04 6 6 6 1 3 3 FIS/02 FIS/04 FIS/05 63 parte generale e ordinamento - Fluidodinamica e turbolenza 6 - Fluidodinamica computazionale 6 - Laboratorio di acquisizione e analisi dei dati 6 - Metodi stocastici per sistemi quantistici a molti corpi 6 - Metodi numerici per la struttura elettronica 6 - Simulazioni atomistiche di materiali 6 - Relatività generale 6 - Meteorologia computazionale 6 - Insegnamento dell’area informatica a scelta 6 Elaborato finale 36 1 3 1 3 2 1 3 2 FIS/01 FIS/01 FIS/01 FIS/03 FIS/03 FIS/03 FIS/02 FIS/06 (*) La scelta va fatta tra gli esami appartenenti a quei settori scientifico-disciplinari rispetto ai quali lo studente risulta in difetto di crediti. I crediti mancanti dipendono dal piano di studi scelto nella precedente laurea. Tutorato Gli studenti sono organizzati in piccoli gruppi, per essere seguiti con continuità; un tutoraggio personalizzato li avvia e li guida nel loro percorso didattico, fino al progetto di ricerca finale. Lauree L’esame di laurea in Fisica Computazionale consiste nella discussione pubblica di una tesi di laurea. La tesi di laurea è un lavoro comprensivo di una parte compilativa e di un eventuale lavoro personale del candidato. Ogni tesi di laurea è presentata da un relatore. È richiesta la nomina di un controrelatore. Per incrementi maggiori o uguali a 8 punti, è richiesta la nomina di un supervisore. La Commissione Tesi di Laurea, costituita da 3 membri nominati dal Consiglio di Corso di Laurea, ha il compito di designare i controrelatori e gli eventuali supervisori se richiesto dal relatore. I relatori debbono essere membri del Consiglio di Corso di Laurea o della Facoltà. I controrelatori devono essere membri di questa Università o delle Università consorziate. Il voto finale, espresso in centodecimi, è formato a partire dalla somma di una votazione di base e da un incremento. La votazione di base è costituita dalla somma di tre addendi A1, A2 e A3: - A1 è la media pesata delle votazioni riportate dal candidato nei singoli esami di profitto effettivamente sostenuti all’interno della laurea specialistica (sono quindi esclusi gli esami convalidati dal precedente curriculum dello studente), trasformata poi in centodecimi. Il peso di un esame è uguale al numero di crediti attribuiti al relativo insegnamento; sono considerati solo gli esami con punteggio numerico. - A2 si calcola considerando 0,1/110 per ogni credito di esame di profitto superato con la lode. Se il calcolo di A2 con il criterio sopra descritto dà un risultato superiore a 3/110, A2 viene considerato uguale a 3/110. - A3 è un premio di 3 punti assegnato agli studenti che abbiano superato tutti gli esami di profitto entro il 31 maggio del secondo anno di corso. L’incremento è un numero compreso tra 0 e 10, determinato dalla Commissione di Laurea in base alla dissertazione, alla sua presentazione e a quanto indicato ai punti precedenti del presente regolamento. Se la somma della votazione di base e dell’incremento è maggiore o uguale a 110, il voto assegnato è 110, e si passa alla discussione della lode. L’eventuale lode deve essere determinata all’unanimità. 64 LAUREA SPECIALISTICA IN STATISTICA E INFORMATICA PER LA GESTIONE DELLE IMPRESE (classe 91/S - Lauree Specialistiche in Statistica economica, finanziaria ed attuariale) [Corso di Laurea interfacoltà: Economia e Scienze M.F.N.] Durata del Corso 2 anni (120 crediti) Curricula attivati - Curriculum base (Statistica e informatica per la gestione delle imprese) - Curriculum Statistica per l’analisi dei mercati finanziari - Curriculum statistico-informatico Sede del Corso Udine, via Tomadini 30/A Caratteristiche e finalità del Corso Il Corso di Laurea Specialistica in Statistica e Informatica per la Gestione delle Imprese (SIGI) si fonda sull’integrazione fra discipline statistiche, matematiche, informatiche, economiche ed aziendali dando luogo a percorsi formativi caratterizzati da elevata flessibilità, destinati a formare manager dell’informazione quantitativa, sia per l’ambito aziendale, sia per l’ambito delle applicazioni economico-finanziarie. Il corso mira a formare figure con elevata professionalità nel campo delle discipline statistiche, con una specifica attenzione alle applicazioni in ambito economico-finanziario e all’elaborazione dell’informazione in ambito aziendale. Pertanto il corso di studi fornisce solide conoscenze per quanto riguarda la metodologia statistica e i suoi aspet- parte generale e ordinamento ti applicativi, abbinate a competenze di base sulla scienza economica, sia generale che aziendale. Inoltre, viene curata la formazione sugli aspetti di base dell’informatica con l’obiettivo di far conoscere i fondamenti necessari per l’utilizzazione dei sistemi di elaborazione dati e dei sistemi informativi aziendali anche con riferimento agli aspetti progettuali e analitici. Il Corso di Laurea è organizzato in modo da offrire, oltre al curriculum ‘base’ (Statistica e Informatica per la gestione delle imprese) sopra descritto, altri due percorsi formativi o ‘curricula’, atti a soddisfare specifiche esigenze professionali. Il curriculum ‘Statistica per l’analisi dei mercati finanziari’, che mira a formare un esperto dell’analisi quantitativa del rischio finanziario. Maggiore enfasi viene posta sullo studio dei modelli econometrici della volatilità e del rischio finanziario, all’analisi delle serie temporali e alla matematica applicata alla finanza. Il curriculum ‘statistico-informatico’, che mira a formare un esperto nel campo della gestione ed analisi dei dati, che sappia organizzare, analizzare e trasmettere informazioni usando metodologie statistiche ed informatiche avanzate. Maggiore enfasi viene posta sullo studio integrato delle discipline statistiche ed informatiche con l’obiettivo di fornire le abilità necessarie per l’applicazione delle proprie conoscenze nell’ambito della gestione aziendale e della pubblica amministrazione e nel contesto della ricerca sperimentale. Calendario delle lezioni A differenza degli altri corsi della Facoltà, il Corso di Laurea segue il calendario della Facoltà di Economia, ovvero: 65 parte generale e ordinamento I periodo II periodo III periodo IV periodo inizio lezioni fine lezioni sessione esami regolare 22.10.2007 07.01.2008 03.03.2008 05.05.2008 30.11.2007 15.02.2008 18.04.2008 13.06.2008 03.12.2007 - 21.12.2007 18.02.2008 - 29.02.2008 21.04.2008 - 02.05.2008 16.06.2008 - 27.06.2008 Esami recupero 30.06.2008 - 18.07.2008 Vacanze I periodi delle vacanze natalizie e pasquali sono le stesse fissate a livello di Ateneo. Sbocchi professionali Il corso di laurea in SIGI ha come scopo la formazione di una figura di elevata professionalità nel campo delle discipline statistiche, con una specifica attenzione alle applicazioni in ambito economico e informatico. In particolare, il laureato specialistico in SIGI, oltre ad essere un esperto nella produzione e gestione dell’informazione quantitativa, nella valorizzazione dei patrimoni informativi di aziende ed istituzioni e nella definizione delle scelte tecnologiche, dispone delle competenze necessarie al coordinamento di attività e valutazione di servizi e politiche ed alla formulazione di scenari per le strategie di mercato e di promozione dell’impresa. L’integrazione tra competenze di tipo matematico, statistico, statistico applicato, economico ed informatico costituisce la caratteristica distintiva del percorso formativo rispondendo sia all’esigenza di un rapido e qualificato inserimento nel mondo del lavoro, sia all’esigenza di formare laureati in grado di accedere con suc- cesso a corsi Master e al dottorato di ricerca. Il laureato può occupare diverse posizioni professionali nell’ambito di aziende pubbliche e private, quali ad esempio: ricercatore e consulente presso enti di ricerca locali, nazionali e internazionali e centri studi pubblici e privati, funzionario con responsabilità di analisi e previsione a sostegno di processi decisionali presso aziende private e organismi pubblici anche internazionali; analista di basi di dati; analista finanziario, analista di sistemi di qualità; funzionario nell’area dei sistemi informativi aziendali. Ordinamento degli studi Per conseguire la laurea lo studente deve acquisire 120 crediti, suddivisi uniformemente in due anni. Il corso si articola in un nucleo base di insegnamenti comuni e in insegnamenti specifici relativi al curriculum scelto dallo studente. - Curriculum ‘base’ Statistica e Informatica per la Gestione delle Imprese (per ogni corso viene indicato anche il settore scientifico disciplinare corrispondente, secondo quanto stabilito dal D.M. 509/1999 e successive integrazioni) 66 Insegnamenti/attività formative parte generale e ordinamento CFU S.S.D. Primo anno Sistemi informativi aziendali corso progredito 5 Commercio elettronico 5 Data mining 5 Processi stocastici 5 Statistica 2 5 Marketing 2 o Economia e gestione delle imprese 2 5 Econometria delle serie temporali 5 Metodi statistici per la valutazione 5 5 crediti tra i seguenti insegnamenti: 5 - Modelli di gestione del portafoglio - Matematica generale corso progredito 2 - Matematica finanziaria corso progredito - Modelli di gestione del rischio - Pianificazione delle attività produttive (tace a.a. 07/08) 5 crediti tra i seguenti insegnamenti: 5 - Modelli demografici - Analisi delle serie temporali 2 insegnamenti scelti tra: 10 - Finanza aziendale - Economia degli intermediari finanziari - Organizzazione aziendale (primo modulo) Insegnamenti/attività formative ING-INF/05 o INF/01 ING-INF/05 o INF/01 SECS-S/01 SECS-S/01 SECS-S/01 SECS-P/08 SECS-P/05 SECS-S/01 SECS-S/06 SECS-S/06 SECS-S/06 SECS-S/06 MAT/09 SECS-S/04 SECS-S/03 SECS-P/09 SECS-P/11 SECS-P/10 CFU S.S.D. 5 5 5 10 5 5 5 ING-INF/05 o INF/01 SECS-S/01 SECS-P/08 SECS-P/05 Secondo anno Architettura e reti Statistica computazionale Strategie d’impresa 1 o Marketing relazionale 1 Metodi dinamici per l’economia 1 e 2 Tirocinio o insegnamento a scelta area informatica Insegnamento a scelta dello studente 5 crediti a scelta tra i seguenti insegnamenti: - Marketing relazionale 1 - Marketing relazionale 2 - Organizzazione aziendale (secondo modulo) - Econometria dei dati panel (tace a.a. 07/08) - Metodi numerici per la finanza - Microeconomia corso progredito Prova finale SECS-P/08 SECS-P/08 SECS-P/10 SECS-P/05 SECS-S/06 SECS-P/01 20 67 parte generale e ordinamento - Curriculum Statistica per l’Analisi dei Mercati Finanziari Insegnamenti/attività formative CFU S.S.D. 5 5 5 5 5 5 5 5 5 5 5 5 ING-INF/05 o INF/01 SECS-S/06 SECS-S/06 SECS-S/06 SECS-S/01 SECS-S/01 SECS-S/01 SECS-P/05 SECS-P/09 SECS-P/10 SECS-S/01 ING-INF/05 o INF/01 CFU S.S.D. 5 5 5 10 5 5 5 SECS-S/01 SECS-S/04 SECS-S/06 SECS-P/05 Primo anno Sistemi informativi aziendali corso progredito Modelli di gestione del portafoglio Matematica finanziaria corso progredito Matematica generale corso progredito 2 Data mining Processi stocastici Statistica 2 Econometria delle serie temporali Finanza aziendale Economia degli intermediari finanziari Metodi statistici per la valutazione Architettura e reti o Commercio elettronico Insegnamenti/attività formative Secondo anno Statistica computazionale Analisi delle serie temporali Metodi numerici per la finanza Metodi dinamici per l’economia 1 e 2 Tirocinio o insegnamento a scelta area informatica Insegnamento a scelta dello studente 5 crediti tra i seguenti insegnamenti: - Modelli di gestione del rischio - Econometria dei dati panel (tace a.a. 07/08) Prova finale SECS-S/06 SECS-P/05 20 - Curriculum Statistico e Informatico Insegnamenti/attività formative CFU S.S.D. 5 5 5 5 5 5 5 5 5 5 ING-INF/05 o INF/01 ING-INF/05 o INF/01 SECS-S/01 SECS-S/01 SECS-S/01 SECS-P/05 SECS-P/10 SECS-S/01 SECS-S/04 SECS-S/03 Primo anno Sistemi informativi aziendali corso progredito Commercio elettronico Data mining Processi stocastici Statistica 2 Econometria delle serie temporali Organizzazione aziendale (primo modulo) Metodi statistici per la valutazione Modelli demografici Analisi delle serie temporali 68 parte generale e ordinamento 1 insegnamento a scelta tra: 5 - Matematica generale corso progredito 2 - Pianificazione delle attività produttive (tace a.a. 07/08) 1 insegnamento a scelta tra: 5 - Finanza aziendale - Economia degli intermediari finanziari Insegnamenti/attività formative SECS-S/06 MAT/09 SECS-P/09 SECS-P/11 CFU S.S.D. 5 5 10 5 5 5 ING-INF/05 o INF/01 SECS-S/01 SECS-P/05 Secondo anno Architettura e reti Statistica computazionale Metodi dinamici per l’economia 1 e 2 Tirocinio o insegnamento a scelta area informatica Insegnamento a scelta dello studente 1 insegnamento a scelta tra: - Marketing relazionale 1 - Organizzazione aziendale (secondo modulo) - Econometria dei dati panel (tace a.a. 07/08) - Microeconomia corso progredito 1 insegnamento a scelta tra: - Sistemi mobili e wireless - Complementi di basi di dati - Interazione uomo-macchina - Tecnologie web e multimediali - Siti e portali web Prova finale SECS-P/08 SECS-P/10 SECS-P/05 SECS-P/01 5 ING-INF/05 o INF/01 ING-INF/05 o INF/01 ING-INF/05 o INF/01 ING-INF/05 o INF/01 ING-INF/05 o INF/01 20 69 parte generale e ordinamento CALENDARIO DELLE LEZIONI Corsi, Crediti, Periodi didattici, Docenti CORSO DI LAUREA IN INFORMATICA I anno Insegnamenti Corso Introduttivo Analisi Matematica Architettura degli Elaboratori e lab. Fisica Matematica Discreta Programmazione e laboratorio CFU 12 14 6 9 14 P.D. Docenti Trombetta 1 - 2 - 3 Gorni 1 - 2 - 3 Di Gianantonio 3 Santi 1 - 2 Mainardis 1 - 2 - 3 Mirolo - Alessi II anno Algoritmi e Strutture Dati e lab. 14 Calcolo delle Probabilità e Statistica 6 Calcolo Scientifico 6 Elementi di Logica Matematica 3 Fondamenti dell’Informatica 1 6 Programmazione Orientata agli Oggetti 6 Sistemi Operativi e laboratorio 15 Aspetti Sociali ed Etica Professionale 3 Campi e Onde Elettromagnetiche* 6 2-3 1 1 1 2-3 2-3 1-2 3 3 Policriti Pace Vermiglio Marcone Honsell Mirolo Scagnetto - Lenisa Piva Michelutti III anno Basi di Dati Complementi di Basi di Dati Fondamenti dell’Informatica 2 Ingegneria del Software 1 Ingegneria del Software 2 Interazione Uomo-Macchina 1 Linguaggi di Programmazione 1 Logica Matematica Metodi Formali dell’Informatica 1 Modelli e Alg. per la Gest. delle Risorse Reti di Calcolatori Reti di Calcolatori e Sicurezza Ricerca Operativa Sistemi Esperti Sistemi Informativi Comunicazione Efficace Fisica Moderna* Laboratorio di Elettronica* Quantum Computing* Storia dell’Informatica* 1 2 2 1 3 2 1 1 2-3 2 1 2 1 2 2-3 3 1 3 1 3 Montanari Montanari Dovier Tasso Pighin - Marzona Chittaro Comini D’Agostino Lenisa Rinaldi (m. Ottim. 3 - L.S. Mat.) Toppano Miculan (mut. L.S. Inf.) Serafini Tasso Tasso - Pighin Marzollo (mut. TWM) De Angelis (mut. L.S. FC) Santi (mut. L.S. FC) De Angelis (mut. L.S. FC) Bonfanti - Giangrandi * corsi facoltativi 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 1 6 6 6 3 70 parte generale e ordinamento CORSO DI LAUREA IN TECNOLOGIE WEB E MULTIMEDIALI I anno Insegnamenti CFU P.D. Corso introduttivo Analisi Matematica Architettura degli Elaboratori Fisica Matematica di Base Matematica Discreta Programmazione e laboratorio Tecnologie Web e laboratorio Cultura d’Impresa Comunicazione Efficace Docenti Trombetta (mut. L. Inf.) 12 1-2 Freddi 8 1 - 2 - 3 Di Gianantonio (mut. L. Inf.) 3 3 Grassmann 3 1 D’Agostino 6 2 Panti 10 1-2 Mizzaro - Coppola 10 2 - 3 Roberto 1 3 Rolla 1 3 Marzollo II anno Algoritmi e Strutture Dati 10 2 - 3 Commercio Elettronico 8 1-2 Programmazione Orientata agli Oggetti 6 1-2 Psicologia della Comunicazione 6 3 Sistemi Multimediali e laboratorio 10 2 - 3 Sistemi Operativi e laboratorio 13 1 - 2 - 3 Statistica Applicata 6 1 Storia dell’Informatica* 3 3 Piazza Pugliese Milanese Gabrielli Toppano - Ranon Brajnik - D’Angelo Vidoni Bonfanti - Giangrandi (mut. L. Inf.) *corso facoltativo III anno Basi di Dati Ingegneria del Software Interazione Uomo-Macchina Progetto di Siti e Portali Web Reti di Calcolatori Aspetti Sociali ed Etica Professionale Lab. Tecniche di Comunicazione Lab. Tecnologie Lato Server 6 6 6 6 6 3 4 4 1 1 2 1 1 3 3 1 Franceschet Tasso (mut. L. Inf.) Chittaro (mut. L. Inf.) Brajnik (mut. L.S. Inf.) Toppano (mut. L.S. Inf.) Piva (mut. L. Inf.) Marzollo Della Mea - Scagnetto CORSO DI LAUREA IN MATEMATICA I anno Insegnamenti Corso introduttivo Algebra 1 Algebra 2 Analisi Matematica 1 Analisi Matematica 2 CFU P.D. 6 6 6 6 2 3 1 2 Docenti Cragnolini Dikranjan Lucido Baiti Cecchini 71 parte generale e ordinamento Aritmetica Fisica 1 Geometria 1 Geometria 2 Informatica 1 Linguaggio Matematico Strumenti Informatici per la Matemat. 6 6 6 6 6 2 1 1 3 1 2 3 1 2 Corvaja Ercolessi Corvaja Corvaja Alessi Parlamento Gorni II anno Analisi Matematica 3 Analisi Matematica 4 Analisi Numerica 1 Comunicazione Efficace Fisica 2 Geometria 3 Geometria 4 Informatica 2 Logica Matematica 1 Meccanica Razionale 1 Probabilità 1 6 6 6 1 6 6 6 6 6 6 6 1 2 2 3 1 2 3 3 1 3 3 Trombetta Zanolin Fasino Marzollo (mut. L. TWM) De Angelis Cragnolini Cragnolini Piazza Parlamento Ansoldi Cecchini III anno Algebra 3 Algebra 4 Algebra 5 Analisi Matematica 5 Analisi Matematica 6 Analisi Numerica 2 Fisica Matematica Fisica Moderna Geometria 5 Geometria 6 Logica Matematica 2 Matematiche Complementari 1 Meccanica Razionale 2 Ottimizzazione 1 Ottimizzazione 2 Particelle e Interazioni Fondamentali Probabilità 2 Statistica 1 Statistica 2 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 1 2 3 1 2 2 3 1 1 3 2 3 2 1 2 2 1 2 3 Mainardis Lucido (mut. L.S. Mat.) Panti Gorni Gorni Vermiglio Ansoldi De Angelis (mut. L.S. F.C.) Zucconi Zucconi Parlamento Marcone (mut. L.S. Mat.) Freddi Rinaldi Rinaldi Cobal (mut. L.S. F.C.) Vidoni Pace Pace 72 parte generale e ordinamento CORSO DI LAUREA INTERFACOLTÀ IN BIOTECNOLOGIE - Curriculum Biologia Computazionale I anno Insegnamenti CFU P.D. Biochimica 1 Biologia 1 Biologia Molecolare 1 Chimica Generale Chimica Organica Fisica 1 Fisica 2 Genetica 1 Informatica Introduzione alla Biologia (*) Introduzione alla Zoologia (*) Matematica Statistica 1 6 3 3 5 4 4 3 6 6 3 3 5 6 2-3 3 3 1 2 1 2 3 2-3 1 1 1 2 II anno Algoritmi e Strutture Dati Biochimica 2 Biologia 2 Biologia Molecolare 2 Chimica Analitica Fisica Applicata Genetica 2 Matematica Discreta Sistemi Operativi 5 6 9 9 3 3 6 7 5 3 1 2-3 2-3 2 1 1 1 2 5 2 4 4 3 3 4 3 3 1 2 1 2 3 3 3 1 1 8 3 3 4 2 2 3 2 III anno Basi di dati Bioetica Bioinformatica 1 Bioinformatica 2 Bioinformatica 3 Diagnostica Clinica Ecologia Economia Fisica 3 Fisiopatologia: Applicazioni Mediche nelle Biotecnologie Legislazione per le Biotecnologie Organismi Geneticamente Modificati* Statistica 2 (*) Corsi facoltativi. Docenti De Angelis Policriti - Vitacolonna Zanolin Vidoni Serafini Lancia Miculan Vitacolonna Lancia 73 parte generale e ordinamento CORSO DI LAUREA SPECIALISTICA IN INFORMATICA I anno Insegnamenti CFU P.D. Docenti 6 6 8 6 6 3 6 6 6 6 6 6 6 6 6 6 6 6 6 3 2 1-2 1 2 1 3 3 3 2 3 1 2 1 2-3 2 1 2 1 Policriti Piazza Pugliese (mut. TWM) Staniszkis Montanari (mut. L. Inf.) Toppano (mut. L.S. Tec. I.) Fasino Pighin - Marzona (mut. L. Inf.) Tasso Chittaro (mut. L. Inf.) Dovier Comini (mut. L. Inf.) Comini D’Agostino (mut. L. Inf.) Lenisa (mut. L. Inf.) Mizzaro Brajnik Miculan - Dal Cin Serafini (mut. L. Inf.) 6 6 6 2 2-3 2-3 Alessi Pighin - Tasso (mut. L. Inf.) Toppano (mut. TWM) 6 6 3 6 6 6 6 3 2 3 1 2 1 1 Montanari Pace (mut. L. Mat.) Bonfanti - Giangrandi (m.L. Inf.) Franceschet (mut. L.S. Tec. I.) Pascoletti Dovier Roberto II anno Basi di Dati Spaziali Complementi di Compilatori Datawarehouse 6 6 6 2 2 Montanari - Chiarandini Staniszkis Marzona (m. SIGI - Fac. Econ.) Fondamenti dell’Informatica 2 Geometria Computazionale Grafica 3D Interattiva Immagini e Multimedialità Informatica Medica Interazione Uomo-Macchina 2 Interpret. Astr. e Analisi Autom. del Sofware 6 6 6 6 6 6 6 2 1 1 2 2 3 1 Dovier (mut. L. Inf.) Pascoletti Ranon (mut. L.S. Tecn. Inf.) Roberto Della Mea Chittaro Comini Algoritmi Avanzati Algoritmi e Complessità Commercio Elettronico Compilatori Complementi di Basi di Dati Design del Suono High Performance Computing Ingegneria del Software 2 Intelligenza Artificiale Interazione Uomo-Macchina 1 Linguaggi di Nuova Concezione Linguaggi di Programmazione 1 Linguaggi di Programmazione 2 Logica Matematica Metodi Formali dell’Informatica 1 Progettaz. e Analisi Orientate agli Ogg. Progettazione Siti Web Reti di Calcolatori e Sicurezza Ricerca Operativa Semantica dei Linguaggi di Programmazione Sistemi Informativi Sistemi Multimediali Sistemi Reattivi: Automi, Logica e Algoritmi Statistica Matematica 1 Storia dell’Informatica (corso facoltativo) Tecnologie XML Teoria dei Sistemi 1 Teoria dell’Informazione Teoria e Tecniche di Elab. dell’Imm. 74 parte generale e ordinamento Linguaggi e Modelli per Global Computing Matematica Computazionale Model Checking Modelli e Algoritmi per la Gest. delle Risorse 6 6 6 6 2-3 3 3 2 Ottimizzazione 1 Ottimizzazione 2 Personalizzazione dei Contenuti Web Psicologia della Comunicazione Robotica Sistemi Esperti Statistica Matematica 2 Tecnologie Web Teoria dei Sistemi 2 Web Information Retrieval Web Semantico 6 6 6 6 6 6 6 6 6 6 6 1 2 1 3 2-3 2 3 2-3 3 3 2 Miculan - Lenisa Vermiglio (mut. A.N.3 L.S. Mat.) D’Agostino Rinaldi (mut. Ottimizz. 3 L.S. Mat.) Rinaldi (mut. L. Mat.) Rinaldi (mut. L. Mat.) Tasso Gabrielli (mut. TWM) D’Angelo Tasso (mut. L. Inf.) Pace (mut. L. Mat.) Roberto (mut. TWM) Pascoletti Mizzaro (mut. L.S. T. I.) Gugliotta (mut. L.S. Tec. I.) CORSO DI LAUREA SPECIALISTICA IN TECNOLOGIE DELL’INFORMAZIONE I anno Insegnamenti CFU P.D. Docenti Algoritmi e Complessità Complementi di Basi di Dati Design del Suono Fondamenti e Metodi dell’Informatica Grafica 3D Interattiva Ingegneria del Software 2 Linguaggi di Programmazione Metodi Numerici per l’Informatica Progettazione e Analisi Orientate agli Ogg. Sistemi Esperti Sistemi Informativi in Rete Tecnologie XML Teoria dei Sistemi Teoria e Tecniche di Elab. dell’Imm. Web Information Retrieval 6 6 3 6 6 6 6 6 6 6 6 6 6 6 6 2 2 1 2-3 1 3 1 1 2 2 2-3 1 2 1 3 Piazza (mut. L.S.Inf.) Montanari (mut. L. Inf.) Toppano Honsell (mut. F.I. 1 - L. Inf.) Ranon Pighin - Marzona (mut. L. Inf.) Comini (mut. L. Inf.) Fasino Mizzaro (mut. L.S. Inf.) Tasso (mut. L. Inf.) Tasso - Pighin (mut. L. Inf.) Franceschet (mut. L.S. Tec. I.) Pascoletti (mut. L.S. Inf.) Roberto (mut. L.S. Inf.) Mizzaro II anno E-government E-learning Immagini e Multimedialità Informatica Medica Interazione Uomo-macchina 2 Personalizzazione dei Contenuti Web Qualità e Certificazione web Ricerca Operativa 3 3 6 6 6 6 3 6 1 1 2 2 3 1 2 1 Gugliotta Roberto Roberto (mut. L.S. Inf.) Della Mea (mut. L.S. Inf.) Chittaro (mut. L.S. Inf.) Tasso (mut. L.S. Inf.) Brajnik Serafini (mut. L. Inf.) 75 parte generale e ordinamento Sistemi Mobili e Wireless Storia dell’Informatica* 6 3 1 3 Teoria dell’Informazione Web Design Web Semantico 6 3 6 1 3 2 Chittaro Bonfanti - Giangrandi (m. L. Inf.) Dovier (mut. L.S. Inf.) Omero Gugliotta * corso facoltativo CORSO DI LAUREA SPECIALISTICA IN MATEMATICA I e II anno Insegnamenti CFU P.D. Algebra 3 Algebra 4 Algebra 5 Analisi Matematica 5 Analisi Matematica 6 Analisi Matematica 7 Analisi Matematica 8 Analisi Matematica 9 Analisi Numerica 2 Analisi Numerica 3 Analisi Numerica 4 Fisica Matematica Fisica Moderna Geometria 4 Geometria 5 Geometria 6 Geometria 7 Geometria 9 Informatica 2 Informatica 3 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 1 2 3 1 2 1 2 3 2 3 3 3 1 3 2 3 1 2 3 3 Logica Matematica 2 Matematiche Complementari 1 Matematica Finanziaria 6 6 6 2 3 3 Metodi Monte Carlo Modellistica e Simulazione Ottimizzazione 1 Ottimizzazione 2 Ottimizzazione 3 Particelle e Interazioni Fondamentali Probabilità 2 Statistica 1 6 6 6 6 6 6 6 6 3 1 1 2 2 2 1 2 Docenti Mainardis (mut. L. Mat.) Lucido Panti (mut. L. Mat.) Gorni (mut. L. Mat.) Gorni (mut. L. Mat.) Zanolin Baiti Zanolin Vermiglio (mut. L. Mat.) Vermiglio Vermiglio Ansoldi (mut. L. Mat.) De Angelis (mut. FC) Cragnolini (mut. L. Mat.) Zucconi (mut. L. Mat.) Zucconi (mut. L. Mat.) Cragnolini Zucconi Piazza (mut. L. Mat.) Policriti (mut. Alg. Av. - L.S. Inf.) Parlamento (mut. L. Mat.) Marcone Pressacco (mut. Mat. Finanziaria c.so progredito - Fac. Economia) Ercolessi (mut. FC) Pascoletti (mut. FC) Rinaldi (mut. L. Mat.) Rinaldi (mut. L. Mat.) Rinaldi Cobal (mut. FC) Vidoni (mut. L. Mat.) Pace (mut. L. Mat.) 76 Statistica 2 Teoria degli Insiemi Teoria dei Numeri 1 Topologia 1 parte generale e ordinamento 6 6 6 6 3 1 3 2 Pace (mut. L. Mat.) Marcone Corvaja Dikranjan CORSO DI LAUREA SPECIALISTICA IN FISICA COMPUTAZIONALE I anno Insegnamenti CFU Analisi Numerica 6 Chimica 6 Complementi di Meccanica 6 Fisica Moderna 6 Informatica 1 6 Informatica 2 6 Laboratorio di Analisi Dati 6 Laboratorio di Elettronica 6 Lab. di Strumenti e Misure di Fisica 6 Meccanica Quantistica 6 Meccanica Statistica 6 Metodi Monte Carlo 6 Particelle e Interazioni Fondamentali 6 Struttura della Materia 6 II anno Cosmologia e Astrofisica delle Particelle 6 Fisica delle Alte Energie 6 Fluidodinamica Computazionale 6 Fluidodinamica e Turbolenza 6 Lab. Acquisizione e Analisi dei Dati 6 Metodi Num. per la Struttura Elettronica 6 Meteorologia Computazionale 6 Modellistica e Simulazione 6 Quantum Computing 6 Simulazioni Atomistiche di Materiali 6 P.D. 2 1 1 1 3 3 2 3 3 2 2 3 2 3 3 3 3 1 1 2 2 1 1 1 Docenti Vermiglio (mut. A.N. 2 - L. Mat.) Del Zotto (mut. Agraria) De Angelis Alessi (mut. L. Mat.) Milanese Vitale Santi Grassman - Giannozzi Giannozzi Giugliarelli Ercolessi Cobal Giannozzi Persic - Longo - Valdarnini De Angelis - De Lotto Cortelezzi Soldati Santi Giannozzi Stel Pascoletti De Angelis Ercolessi 77 parte generale e ordinamento ALSI Associazione dei Laureati in Scienze dell’Informazione Dal 1990 opera a Udine l’Associazione Nazionale dei Laureati in Scienze dell’Informazione e Informatica (ALSI). L’ALSI, nata come espressione locale dei Laureati in Scienze dell’informazione della Regione Friuli Venezia Giulia, ha assunto in pochi anni connotazioni nazionali. L’associazione, che è libera e al di fuori di ogni schieramento politico o ideologico, si è posta lo scopo di promuovere la figura del laureato in Scienze dell’informazione e di tutelarne la professionalità, di contribuire alla sua crescita culturale e di favorire lo scambio di esperienze e di idee tra i soci. Tale azione viene svolta attraverso iniziative volte a richiamare l’attenzione dell’opinione pubblica sulla funzione del laureato in Scienze dell’Informazione nella vita economica e produttiva, sociale e amministrativa; organizzando conferenze e seminari su questioni scientifiche e tecniche che possono essere oggetto di interesse per quanti sono impiegati in attività professionali, sia come dipendenti sia come liberi professionisti. L’ALSI, in particolare, si prefigge la creazione ed attuazione di leggi e norme in materia professionale volte all’istituzione di un Ordine dei Laureati e di un Albo Professionale. A questo proposito l’ALSI ha redatto e fatto presentare in Parlamento una propria proposta di legge atta a regolamentare le professioni di Dottore Informatico e Tecnico Informatico. L’associazione inoltre sostiene i laureati in Scienze dell’Informazione che prestano la loro opera presso le amministrazioni pubbliche o private nelle rivendicazioni morali o economiche. All’associazione possono aderire, in qualità di soci ordinari, tutti i laureati in Scienze dell’Informazione o Informatica. Possono inoltre entrare a far parte dell’associazione, in qualità di soci studenti, gli iscritti al Corso di Laurea in Scienze dell’Informazione o Informatica. È prevista la possibilità di associarsi in qualità di soci affiliati per quanti, per la loro formazione tecnica o scientifica o per l’attività svolta, sono interessati agli scopi dell’associazione. Chi fosse interessato a ricevere informazioni in merito all’associazione può scrivere ai seguenti indirizzi: [email protected] [email protected] http://www.alsi.it Tel. 0468 3825905 ALSI c/o Presidenza Facoltà di Scienze M.F.N. via delle Scienze, 208 (Loc. Rizzi) - 33100 Udine - Fax. 0432 558682 programmi dei corsi 81 programmi - informatica triennale CORSO DI LAUREA IN INFORMATICA ALGORITMI E STRUTTURE DATI Docente Prof. Alberto Policriti Crediti 10 Finalità del corso Il corso si propone di introdurre ai fondamenti della teoria degli algoritmi, delle strutture dati e all’analisi della complessità computazionale di programmi. Il principale obiettivo del corso è presentare le principali problematiche e tecniche relative al disegno e alla progettazione di algoritmi. Ci si propone inoltre di introdurre i metodi di base utilizzati per stabilire la complessità di programmi e i criteri utilizzati per scegliere e progettare strutture dati. Dopo aver superato l’esame si ritiene che lo studente sia in grado di risolvere algoritmicamente problemi classici e scegliere motivatamente le strutture dati adatte ad ottenere soluzioni computazionalmente efficienti. Sia in grado di porre limiti superiori sufficientemente precisi e indipendenti dall’architettura alla complessità computazionale di programmi di media difficoltà. Programma 1. Introduzione e nozioni preliminari. Elementi di logica e teoria degli insiemi. Alberi e grafi. Matematica discreta e analisi asintotica. Modelli di calcolo per la determinazione della complessità degli algoritmi. Problemi ricorsivi e aspetti algoritmici. 2. Algoritmi di ricerca e ordinamento Algoritmi primitivi di ordinamento e ricerca: selection-sort, insertionsort, bubble-sort, heap-sort. Algoritmi ricorsivi: quick-sort, merge-sort. Analisi della complessità e limiti inferiori. Algoritmi lineari non basati sul confronto: counting-sort, radix-sort, bucket-sort. Determinazione dell’elemento medio. 3. Strutture dati Strutture dati primitive: liste, pile, code, heap. Algoritmi e strutture dati per la gestione e manipolazione di insiemi: tabelle hash, alberi di ricerca, bilanciamento, red-black alberi e B-alberi. Algoritmi e strutture dati per il problema Union-Find. 4. Algoritmi sui grafi. Tecniche di rappresentazione di grafi orientati e non orientati. Algoritmi di visita in ampiezza e profondità. Algoritmi di visita su alberi. Calcolo delle componenti fortemente connesse. Algoritmi per la determinazione di topological-sort, minimum spanning tree (Prim e Kruskal), cammino minimo da una sorgente (Dijkstra, Bellmann-Ford) cammini minimi da sorgenti multiple (Floyd-Warshall, Johnson). Bibliografia - Appunti delle lezioni. - T.H. CORMEN, C.E. LEISERSON, R.L. RIVEST, Introduction to Algorithms, MIT Press, Second edition, 2001 (anche in italiano). Altri testi utili: - A.V. AHO, J.E. HOPCROFT, J.D. ULLMAN, Data Structures and Algorithms, AddisonWesley, 1983. - A.V. AHO, J.E. HOPCROFT, J.D. ULLMAN, The Design and Analysis of Computer Algorithms, Addison-Wesley, 1974. - D.E. KNUTH, Selected Papers in Computer Science Cambridge, University Press, 1996. - R.E. TARJAN, Data Structures and Network Algorithms, SIAM, 1983. ANALISI MATEMATICA Docente Prof. Gianluca Gorni Crediti 12 82 programmi - informatica triennale Finalità del corso Fornire i concetti e le tecniche di base del calcolo infinitesimale e integrale in modo conciso e adatto alle applicazioni. La teoria viene presentata con un buon livello di rigore formale negli enunciati e in quelle dimostrazioni che si decide di svolgere in dettaglio. Si addestrano gli studenti al calcolo, anzitutto con carta e penna, ma anche, se possibile, usando il computer. Un’enfasi del corso è nel familiarizzare gli studenti col significato intuitivo, geometrico o dinamico dei concetti di limite, derivata e integrale, in modo che venga loro spontaneo applicare tali strumenti anche a problemi che non si presentino matematicamente già formalizzati. Programma Numeri reali, funzioni, limiti e continuità, derivate, integrali, serie, applicazioni. Modalità d’esame Ci sono due modi per acquisire i crediti: il modo principale consiste in 3 compitini scritti durante l’anno, tipicamente senza orale; l’altro modo consiste in un singolo scritto, più un orale negli appelli fra giugno e settembre; i dettagli del regolamento sono disponibili nel sito personale del docente, all’indirizzo http://www.dimi.uniud.it/gorni/. Bibliografia G.C. B AROZZI , Primo Corso di Analisi Matematica, Zanichelli. ARCHITETTURA DEGLI ELABORATORI Docente Prof. Pietro Di Gianantonio Crediti 10 Finalità del corso 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, progettazione circuiti sequenziali, 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. Architetture ad elaborazione parallela: tipologie di calco- programmi - informatica triennale latori paralleli, multiprocessori e multicomputer, Interconnessione fra processori, cache coherence, architetture UMA, NUMA, COW e MPP. Programmazione assembly. Architettura del MIPS. Istruzioni MIPS: assegnamento, salto, aritmetiche-logiche. Modalità d’indirizzamento, chiamate di funzione, direttive all’assemblatore. Modalità d’esame L’esame si compone di una prova scritta, di una prova di laboratorio, e di una prova orale. Durante il corso, vengono svolti tre compitini. Gli studenti che superano positivamente i compitini sono esonerati dalla prova scritta. Bibliografia A.S. TANENBAUM, Architettura dei calcolatori, un approccio strutturato, Pearson, 2006. ASPETTI SOCIALI ED ETICA PROFESSIONALE Docente Dott. Antonio Piva Crediti 3 Programma Gli obiettivi principali del corso sono: rendere lo studente consapevole del contesto sociale e delle implicazioni sociali ed etiche conseguenti alle innovazioni tecnologiche nel campo dell’informatica; rendere lo studente consapevole delle implicazioni deontologiche della propria attività professionale, nei confronti dei clienti e utenti, e responsabilizzarlo sulle conseguenze a tutti i livelli del proprio operato. In particolare il corso prevede la trattazione dell’informatica giuridica ed il 83 Diritto dell’ICT, con particolare attenzione alle innovazioni apportate da internet. Verranno trattate le seguenti tematiche: - Liberalizzazione delle telecomunicazioni a livello internazionale e nell’ordinamento italiano - La privacy e la sicurezza; nozione e sviluppo di privacy: dalle linee guida dell’OCSE del 1980 alla direttiva europea, la normativa italiana in materia di dati personali, le disposizioni applicabili alla rete, gli obblighi per gli Internet Service Provider, la gestione della sicurezza, le misure minime ed idonee sulla sicurezza, il Documento programmatico della sicurezza, le figure giuridiche previste. - La tutela della segretezza della posta elettronica nell’ordinamento italiano e negli altri ordinamenti. - La proprietà intellettuale e il diritto d’autore; dalle origini del diritto d’autore alla proprietà intellettuale nella società dell’informazione; la normativa internazionale, europea ed italiana in materia. La tutela giuridica del software: Il diritto d’autore sul software e la sua brevettabilità; la durata del diritto, i beni oggetto del diritto, in particolare il software e le banche dati. La tutela delle banche dati e delle opere multimediali. - I Domain Names di internet e gli aspetti giuridici; le procedure di registrazione ed il grabbing. Il DN ed il marchio, analisi di alcuni casi di protezione giuridica ed alcune decisioni dei tribunali italiani; le autorità preposte alla registrazione ed al controllo degli accessi; la risoluzione dei conflitti. - L’utilizzo dei link nei Web ed alcuni casi giuridici. - La firma digitale e la carta d’identità elettronica; il documento elettronico e la sua validità giuridica nell’ordinamento italiano; la crittografia: storia, evoluzione, tecniche di sicurezza sulla rete; la riservatezza, l’integrità, l’autenticazione ed il non 84 programmi - informatica triennale ripudio; le certification autority riconosciute dal CNIPA ed i certificati elettronici; le normative italiane ed europee sulla firma elettronica; firma autografa e digitale a confronto; la data certa nei documenti elettronici. Accenni sulla carta d’identità elettronica e la posta elettronica certificata. L’informatica nella Pubblica Amministrazione: il piano di E-Government ed il nuovo codice dell’amministrazione digitale. - Il commercio elettronico; le direttive dell’Unione Europea in materia; i contratti mediante Internet, i contratti ad oggetto informatico ed i contratti telematici; la tutela dei consumatori in Internet e le normative di riferimento per i contratti conclusi fuori dai locali commerciali; la pubblicità in rete: definizioni e disciplina legale, i banner, lo spamming nell’ordinamento italiano. - La criminalità informatica e il diritto penale in internet; la tutela dei beni informatici, la violazione del domicilio informatico, l’accesso abusivo e gli hackers, la normativa penale di riferimento. - La ricerca delle informazioni giuridiche. - La qualità (facoltativo). Storia ed evoluzione della qualità, dalle norme ISO 9000:1994 alle Vision 2000; la loro applicabilità alle più diverse situazioni ed organizzazioni, la terminologia, il Sistema di Gestione della Qualità, i principi della qualità, i requisiti delle norme, l’approccio ai processi, il manuale, le verifiche ispettive, la gestione delle non conformità, delle azioni preventive e correttive, la soddisfazione del cliente, risorse umane ed il miglioramento continuo. BASI DI DATI E SISTEMI INFORMATIVI Docente Prof. Angelo Montanari Crediti 6 Programma Parte 1 - Concetti di base Ruolo e funzionalità di una base di dati; astrazioni sui dati; modelli concettuali, logici e fisici dei dati; istanze e schemi; indipendenza logica e fisica dei dati; linguaggi per la definizione e la manipolazione dei dati; i sistemi per la gestione delle basi di dati (DBMS); amministratore e utenti di una base di dati; il dizionario dei dati; la struttura generale di una base di dati. Parte 2 - Il modello Entità/Relazioni (ER) Metodologie e modelli per il progetto: il ciclo di vita dei sistemi informativi e le metodologie di progettazione di basi di dati; i costrutti di base del modello concettuale Entità/Relazioni (ER): tipi e istanze di entità e relazioni, attributi (semplici, composti, a singolo valore, a valore multiplo, derivati) e chiavi (identificatori interni ed esterni, le nozioni di entità debole, entità proprietaria, chiave parziale e relazione identificante), dominio di un attributo e utilizzo di NULL, vincoli associati alle relazioni (partecipazione e rapporto di cardinalità), relazioni ricorsive e ruoli, relazioni di grado superiore al secondo, i diagrammi ER; documentazione di schemi ER: tecniche di documentazione, regole aziendali (vincoli di integrità e regole di derivazione); costrutti avanzati del modello ER: specializzazioni e categorie. Modellazione dei dati in UML: i diagrammi delle classi (classi, associazioni, molteplicità, identificatori, generalizzazioni). Parte 3 - Il modello relazionale, l’algebra relazionale e il calcolo relazionale Il modello relazionale: nozioni di base, definizione delle relazioni, definizione dei vincoli sulle relazioni (che coinvolgono un’unica relazione o più relazioni), operazioni di aggiornamento delle relazioni; l’algebra relazionale: le operazioni di base, interrogazioni in algebra relazionale, operazioni addizionali, ottimizzazione algebrica, i limiti dell’algebra relazionale; il calcolo relazionale: nozioni di 85 programmi - informatica triennale base, calcolo relazionale dei domini e delle tuple, il legame con l’algebra relazionale. Parte 4 - Il linguaggio SQL La definizione dei dati in SQL; interrogazioni in SQL; istruzioni di aggiornamento in SQL; altre definizioni dei dati in SQL (vincoli di integrità generici, viste, specifica di vincoli di addizionali sotto forma di asserzioni); SQL e sicurezza (controllo discrezionale degli accessi basato sui privilegi); il DBMS MySQL. Parte 5 - La progettazione delle basi di dati. La progettazione concettuale dei dati: raccolta e analisi dei requisiti, criteri generali di rappresentazione, strategie di progetto, qualità di uno schema concettuale, strumenti CASE per la progettazione dei dati; la progettazione logica dei dati: analisi delle prestazioni su schemi ER, ristrutturazione di schemi ER (analisi delle ridondanze, eliminazione delle gerarchie, partizionamento /accorpamento di entità e/o relazioni, scelta degli identificatori principali), traduzione del modello ER nel modello relazionale; la teoria della progettazione delle basi di dati relazionali: dipendenze funzionali, ragionamento sulle dipendenze funzionali, scomposizione di relazioni, scomposizioni lossless-join, scomposizioni che conservano le dipendenze, forme normali per gli schemi di relazione (1NF, 2NF, 3NF e BCNF), scomposizioni losslessjoin in BCNF, scomposizioni in 3NF che conservano le dipendenze. Bibliografia Testi adottati: - P. A TZENI , S. C ERI , S. P ARABOSCHI , R. TORLONE, Basi di Dati: Modelli e Linguaggi di Interrogazione, (seconda edizione), McGraw-Hill, 2006. - R. ELMASTRI, S. NAVATHE, Fundamentals of Database Systems (5th Edition), Pearson International Education/Addison Wesley, 2007. In alternativa: - R. ELMASTRI, S. NAVATHE, Sistemi di basi di dati. Fondamenti, (quarta edizione), Pearson Education Italia/Addison Wesley, 2004. Altri testi di riferimento: - J.D. ULLMAN, Principles of Databases and Knowledge-Base Systems (Volume I), Computer Science Press, 1988. - S. ABITEBOUL, R. HULL, V. VIANU, Foundations of Databases, Addison-Wesley, 1995. - A. ALBANO, G. GHELLI, R. ORSINI, Fondamenti di basi di dati, Zanichelli, 2005. - C.J. DATE, An Introduction to Databases Systems, (7th Edition), Addison-Wesley, 2000. - SILBERSCHATZ, H.F. KORTH, S. SUDARSHAN, Database System Concepts, (4th Edition), McGraw-Hill, 2002. - L. WELLING, L. THOMSON, MySQL Tutorial, Pearson Education Inc., 2004. CALCOLO DELLE PROBABILITÀ E STATISTICA Docente Prof. Luigi Pace Crediti 6 Finalità del corso L’obiettivo del corso è introdurre lo studente a quelli che sono i concetti fondamentali del Calcolo delle probabilità e della Statistica, quale strumentazione di base per lo studio dei fenomeni aleatori. Tali nozioni verranno presentate sottolineando l’ambito delle applicazioni. Programma - Introduzione al calcolo delle probabilità Richiami di calcolo combinatorio; fenomeni aleatori; spazi di probabilità; gli assiomi della probabilità; probabilità con- 86 dizionata e legge delle probabilità composte; indipendenza stocastica fra eventi; teorema di Bayes. - Variabili casuali unidimensionali Definizione di variabile casuale (v.c.); la funzione di ripartizione; v.c. discrete e v.c. assolutamente continue; funzioni di densità e loro proprietà; media, mediana, moda, varianza e momenti di ordine successivo; disuguaglianze notevoli; funzione generatrice dei momenti e sue proprietà; le principali distribuzioni di probabilità discrete e assolutamente continue. - Variabili casuali multidimensionali V.c. bivariate discrete e assolutamente continue; funzione di ripartizione congiunta; distribuzioni di probabilità marginali; indipendenza tra due v.c.; covarianza e coefficiente di correlazione; distribuzioni di probabilità condizionate; somme di v.c. - Convergenza e teoremi limite Successioni di v.c.; convergenza in probabilità; legge debole dei grandi numeri; convergenza in distribuzione; teorema centrale del limite. - Introduzione all’inferenza statistica Il problema dell’inferenza statistica; modelli statistici parametrici; statistiche campionarie; media campionaria; varianza campionaria. - Stima puntuale e intervallare Introduzione alla stima puntuale e intervallare; stime e stimatori; proprietà degli stimatori; metodo della massima verosimiglianza; il metodo dei momenti; intervalli di confidenza e coefficiente di confidenza; intervallo di confidenza per la media e per la varianza di una popolazione normale; il caso di una popolazione bernoulliana; intervalli di confidenza approssimati. - Verifica di ipotesi Introduzione alla teoria dei test statistici; test di ipotesi sulla media e sulla varianza di una popolazione normale; test per una programmi - informatica triennale percentuale; verifica di ipotesi sulla media per grandi campioni. Modalità d’esame L’esame consiste in una prova scritta seguita, per i sufficienti, da una prova orale. Entrambe le prove dovranno essere superate nello stesso appello. Bibliografia - Appunti delle lezioni. - G. CICCHITELLI, Probabilità e Statistica, seconda edizione, Maggioli, 1992. - P. BALDI, Calcolo delle Probabilità e Statistica, McGraw-Hill, 1992. CALCOLO SCIENTIFICO Docente Prof. Rossana Vermiglio Crediti 6 Finalità del corso Il corso è di tipo introduttivo e vuole portare lo studente ad avere familiarità con alcune delle tematiche di base dell’analisi numerica attraverso l’analisi teorica e la sperimentazione dei principali metodi. Al termine del corso lo studente saprà riconoscere, analizzare e risolvere numericamente alcuni problemi della matematica del continuo; individuare e usare in modo appropriato le risorse informatiche (algoritmi, tempo macchina, memoria) necessarie per la loro risoluzione; conoscere i vincoli di precisione e di tempo imposti dalle risorse disponibili ed infine saper stimare l’attendibilità dei risultati numerici ottenuti ed interpretarli. Programma Numeri e aritmetica di macchina, analisi degli errori; equazioni non lineari; richiami di algebra lineare, norme di vettori e 87 programmi - informatica triennale matrici, prodotto scalare; risoluzione di sistemi lineari con metodi diretti; approssimazione di dati e funzioni: interpolazione polinomiale, polinomiale a tratti, trigonometrica, funzioni splines; splines parametriche e curve di Bezier; soluzione di sistemi sovradeterminati e minimi quadrati, lineari metodo QR, la decomposizione a valori singolari SVD e sue applicazioni; integrazione e differenziazione numerica; analisi di Fourier. Le esercitazioni saranno integrate con l’insegnamento del MATLAB ed esperienze in laboratorio. dove saranno trattati alcuni esempi e casi di studio di interesse per l’informatica. Prerequisiti Matematica discreta, Analisi Matematica, esperienze di base di programmazione. Computazionale. Il corso contiene materiale sulle onde che introduce lo studio di concetti di base della Meccanica Quantistica. Programma Approfondimento dei concetti fondamentali dell’elettrodinamica classica. Le equazioni di Maxwell. Le onde in sistemi continui meccanici. Le onde elettromagnetiche. Ottica ondulatoria. Teoria della relatività speciale. Interazione luce-materia, irraggiamento da parte di cariche accelerate, sorgenti di radiazione. Modalità d’esame L’esame consiste in una prova scritta. Bibliografia Dispense del corso. Modalità d’esame Prova scritta e orale. COMPLEMENTI DI BASI DI DATI Bibliografia - Dispense del docente disponibili in rete. - A. QUARTERONI, F. SALERI, Introduzione al calcolo scientifico, Springer Verlag, 2002. - C. M OLER , Numerical computing with Matlab, Siam, 2005. CAMPI E ONDE ELETTROMAGNETICHE Docente Dott. Giovanni Luigi Michelutti Crediti 6 Finalità del corso Il corso ha un carattere culturale, di completamento dello studio iniziato nel corso di Fisica, ed inoltre è propedeutico al Corso di Laurea Specialistica in Fisica Docente Prof. Angelo Montanari Crediti 6 Programma Parte 1 - La progettazione delle basi di dati (complementi). La progettazione concettuale delle basi di dati e il modello Dataflow: i costrutti di base del modello Dataflow (processi, flussi dei dati, depositi dei dati e interfacce), diagrammi contesto e diagrammi di flusso dei dati, progetto funzionale basato sul modello Dataflow; progetto di sistemi informativi: un approccio integrato alla progettazione delle funzioni e dei dati (sintesi degli schemi ER esterni e loro integrazione). La progettazione logica dei dati: soddisfacibilità e violazione di dipendenze funzionali, chiusura di insie- 88 mi di dipendenze, un calcolo delle dipendenze (gli assiomi di Armstrong), chiusura di insiemi di attributi, algoritmi per il calcolo della chiusura di insiemi di attributi, insiemi di dipendenze logicamente equivalenti, coperture minimali, scomposizioni e loro proprietà, forme normali e normalizzazione, algoritmi per la determinazione di scomposizioni in specifiche forme normali. Parte 2 - Il linguaggio SQL (complementi). SQL e i linguaggi di programmazione: introduzione, 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). Parte 3 – L’organizzazione fisica dei dati. Memorizzazione dei record ed organizzazione dei file primari: introduzione, strumenti e tecniche per la gestione della memoria secondaria, buffering dei blocchi, memorizzazione di file di record su disco, operazioni sui file, file di record non ordinati (heap file), file di record ordinati (sorted file), tecniche di hashing, altre possibili organizzazioni dei file primari, uso della tecnologia RAID per parallelizzare l’accesso a disco. Strutture di indicizzazione dei file: tipi di indici ordinati di livello singolo (primari, di clustering, secondari), indici multilivello, indici multilivello dinamici che utilizzano B-alberi e B + -alberi, altri tipi di indici. Parte 4 - Tecnologia delle basi di dati centralizzate. La nozione di transazione: introduzione, proprietà desiderabili delle transazioni, scheduling e recupero delle transazioni, tecniche di serializzazione, supporto alle transazioni in SQL. Tecniche di controllo programmi - informatica triennale della concorrenza: problematiche, architettura, anomalie delle transazioni concorrenti, tecniche basate su viste, conflitti, locking a due fasi (2PL e 2PL stretto) e timestamp, tecniche multiversione, granularità dei data item. Il gestore del buffer: architettura del buffer manager, primitive per la gestione del buffer, politiche di gestione del buffer, relazione tra il gestore del buffer e il file system. Tecniche di controllo dell’affidabilità: concetti di base, architettura del controllore dell’affidabilità, memoria stabile, organizzazione del log, gestione delle transazioni, gestione dei guasti. Elaborazione e ottimizzazione delle interrogazioni: i cataloghi di sistema; ottimizzazione delle interrogazioni (rappresentazione interna delle interrogazioni, profili delle relazioni, ottimizzazione basata sui costi); progettazione fisica di una base di dati. La sicurezza nelle basi di dati: introduzione, controllo obbligatorio degli accessi per supportare livelli multipli di sicurezza, la sicurezza nelle basi di dati statistiche (cenni). Parte 5 - Basi di dati distribuite. Introduzione ai DBMS distribuiti, 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. Parte 6 - Basi di dati e World Wide Web (cenni). Nozioni di base (Internet, World Wide Web, HTML, protocollo HTTP), gateway e form, tecniche e strumenti per l’accesso a basi di dati attraverso il Web, accesso a basi di dati tramite programmi CGI, strumenti di sviluppo, limiti del protocollo CGI, soluzioni basate sul server, soluzioni basate sul client, sistemi informativi sul web, progettazione concettuale di applicazioni web. programmi - informatica triennale Parte 7 - Argomenti conclusivi (cenni). Basi di dati per il supporto alle decisioni (data warehouse); dati semistrutturati in XML; basi di dati a oggetti e ibride (ad oggetti e relazionali); basi di dati attive; basi di dati temporali e spaziali. Bibliografia Testi adottati: - P. A TZENI , S. C ERI , P. F RATERNALI , S. P ARABOSCHI , R. T ORLONE , Basi di Dati: Architetture e Linee di Evoluzione, McGrawHill, 2003. - R. ELMASTRI, S. NAVATHE, Fundamentals of Database Systems, (5th Edition), Pearson International Education / Addison Wesley, 2007. In alternativa: - R. ELMASTRI, S. NAVATHE, Sistemi di basi di dati. Complementi, (quarta edizione), Pearson Education Italia / Addison Wesley, 2005. Altri testi di riferimento: - J.D. ULLMAN, Principles of Databases and Knowledge-Base Systems, Volume I, Computer Science Press, 1988. - SILBERSCHATZ, H.F. KORTH, S. SUDARSHAN, Database System Concepts, (4th Edition), McGraw-Hill, 2002. - A. ALBANO, Costruire sistemi per basi di dati, Addison-Wesley, 2001. - A. ALBANO, G. GHELLI, R. ORSINI, Fondamenti di basi di dati, Zanichelli, 2005. - P. A TZENI , S. C ERI , S. P ARABOSCHI , R. TORLONE, Basi di Dati: Modelli e Linguaggi di Interrogazione, (seconda edizione), McGraw-Hill, 2006. COMUNICAZIONE EFFICACE Docente Prof. Angelo Marzollo Crediti 1 89 Finalità del corso Il corso (pari ad un credito formativo) è mutuato da quello di Laboratorio di Tecniche di Comunicazione, e coincide con le prime otto lezioni di quest’ultimo. 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 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, ecc.). 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. Gli studenti che superino l’esame di Laboratorio di Tecniche di Comunicazione, le cui prime otto lezioni affrontano gli argomenti sopra descritti, sono esentati dal sostenere separatamente l’esame di Comunicazione Efficace, ottenendone automaticamente l’idoneità. 90 programmi - informatica triennale CORSO INTRODUTTIVO Docente Dott. Maurizio Trombetta Finalità del corso 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 Argomenti trattati: 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. Modalità d’esame Test scritto. Bibliografia Testo consigliato: M. TROMBETTA, Corso introduttivo di Matematica, Forum, Udine, 2004. ELEMENTI DI LOGICA MATEMATICA Docente Prof. Alberto Marcone Crediti 3 Pagina del corso http://www.dimi.uniud.it/marcone/ElLo gica.html Finalità del corso Lo scopo del corso è quello di acquisire gli elementi di base della logica matematica, con particolare attenzione ai metodi algoritmici. Programma Calcolo preposizionale: sintassi e semantica, soddisfacibilità e conseguenza logica, trasformazione in forma normale congiuntiva o disgiuntiva, tableau semantici. Calcolo dei predicati: sintassi e semantica, soddisfacibilità e conseguenza logica, tableau semantici. Traduzione dal linguaggio naturale al linguaggio formale. Modalità d’esame Prova scritta, con prova orale facoltativa. Bibliografia Dispense del docente. FISICA Docente Prof. Lorenzo Santi Crediti 6 Finalità del corso Il corso fornisce le conoscenze di base della Fisica. Questo comprende nozioni di Meccanica, di Termodinamica e di Elettromagnetismo. L’impostazione del corso è essenzialmente operativa, nel senso che la capacità di risolvere problemi è considerata determinante. Programma Introduzione alla Fisica, ordini di grandezza, unità di misura. Cinematica. Forze e principi della Dinamica. Energia cinetica e potenziale. Forza gravitazionale e potenziale gravitazionale, leggi di Keplero. Urti, conservazione della quantità di moto. Termodinamica. Forze elettriche e magnetiche. Introduzione ai cir- 91 programmi - informatica triennale cuiti elettrici. Introduzione elementare alle onde elettromagnetiche. casa. Per chi non frequenta il corso: esame orale. Modalità d’esame L’esame consiste in una prova scritta. Bibliografia - K.S. KRANE, Modern Physics, (second edition), Wiley, 1996. - Appunti di lezione. Bibliografia TIPLER, Introduzione alla Fisica, Zanichelli. Dispense del corso. FISICA MODERNA FONDAMENTI DELL’INFORMATICA 1 Docente Prof. Furio Honsell Docente Prof. Alessandro De Angelis Crediti 6 Crediti 6 Finalità del corso Far riflettere gli studenti sulle limitazioni dei procedimenti algoritmici, limiti sia intrinseci sia dettati dalle risorse a disposizione. Gli studenti incontreranno il concetto di funzione calcolabile, di linguaggio formale, di automa, di classe di complessità e le loro reciproche relazioni. Dopo aver superato l’esame si ritiene che lo studente: conosca l’esistenza di problemi intrinsecamente irrisolvibili per via algoritmica; abbia una chiara idea delle relazioni note tra le classi di complessità logaritmica, polinomiale deterministica e non deterministica, esponenziale; conosca le prime nozioni relative ai linguaggi formali e alle loro relazioni con gli automi. Pagina del corso http://www.fisica.uniud.it/~deangeli/fismod/corsofismod.html Finalità del corso Introdurre la Fisica Quantistica e la Relatività. Il corso è indirizzato agli studenti di Fisica Computazionale, Matematica, Informatica e Ingegneria. Prerequisiti Fisica 1 e 2. Analisi applicata alle funzioni di una e più variabili. Programma Caduta della fisica classica. La prima formulazione della meccanica quantistica. Equazione di Schroedinger ed applicazioni. Conduzione e semiconduttori; funzionamento dei dispositivi elettronici a semiconduttore. Cenni sulla computazione quantistica. Relatività speciale e formulazione covariante dell’elettromagnetismo. Cenni sulla fisica delle particelle elementari e la cosmologia. Modalità d’esame Per chi frequenta il corso: compiti per Programma - Calcolabilità. Modelli di calcolo: la Macchina di Turing. Funzioni calcolabili e problemi decidibili. Enumerazione delle funzioni calcolabili, funzione universale. Tesi di Church. Esistenza di problemi non decidibili. Problemi semidecidibili. - Complessità. Macchine di Turing con risorse limitate. Classi di complessità. Alcune classi: P, NP, EXP, PSPACE. Riduzioni polinomiali e problemi com- 92 programmi - informatica triennale pleti. NP-completezza, teorema di Cook, esempi di problemi NP completi. - Linguaggi formali. Grammatiche a struttura di frase. Linguaggi regolari, espressioni regolari, automi finiti. Linguaggi liberi dal contesto, alberi di derivazione, automi a pila. Bibliografia - Appunti delle lezioni. - N.J. CUTLAND, Computability: An Introduction to Recursive Function Theory, Cambridge Univ. Press, Cambridge 1980. - J.E. HOPCROFT, J.D. ULLMAN, Introduction to Automata, Languages and Computation, Addison-Wesley, Reading 1979. FONDAMENTI DELL’INFORMATICA 2 Docente Prof. Agostino Dovier Crediti 6 Finalità del corso Approfondire le competenze degli argomenti già trattati nel corso di Fondamenti dell’Informatica I. Dopo aver superato l’esame si ritiene che lo studente sia in grado di discutere la decidibilità o meno (la polinomialità o meno) di problemi, anche utilizzando tecniche raffinate di riduzione, e conosca gli aspetti rilevanti della teoria dei linguaggi formali. Programma Il corso si divide in tre parti: linguaggi formali, calcolabilità e complessità. Linguaggi formali. Richiami sui linguaggi regolari. Automi a stati finiti deterministici e non-deterministici, e loro equivalenza. Espressioni regolari. Pumping Lemma per i linguaggi regolari e sue applicazioni. Proprietà di chiusura e di decidibilità dei linguaggi regolari. Il teorema di Myhill-Nerode; unicità e determinazione dell’automa minimo. Linguaggi liberi dal contesto. Grammatiche libere dal contesto e alberi di derivazione. Grammatiche ambigue. Le forme normali di Chomsky e di Greibach. Il pumping lemma per i linguaggi liberi e le sue applicazioni. Proprietà di chiusura e di decidibilità dei linguaggi liberi. Grammatiche lineari destre e sinistre, grammatiche di tipo 0 e 1 e gerarchia di Chomsky. Calcolabilità. Richiamo dei formalismi delle funzioni primitive ricorsive, ricorsive parziali e Macchine di Turing. Equivalenza tra le funzioni ricorsive parziali e le funzioni Turing-calcolabili. Calcolabilità e Linguaggi di Programmazione. Il linguaggio While: Sintassi, semantica e funzioni While-calcolabili. Turing completezza del linguaggio While. Il linguaggio For. Equivalenza tra funzioni For-calcolabili e funzioni primitive ricorsive. Indecidibilità dell’halting problem senza aritmetizzazione. Il teorema S-m-n per la While calcolabilità e gli Specializzatori. Il Teorema di ricorsione di Kleene, il Teorema di Rice e le proprietà di programmi e il Teorema di Rice-Shapiro. Applicazioni alla programmazione. Riducibilità funzionale. Studio della relazione. Insiemi ricorsivi e completi. Insiemi creativi e produttivi. Secondo Teorema di Ricorsione e Teorema di Myhill. Insiemi semplici: esistenza di un insieme semplice. Complessità. Problemi e linguaggi. Problemi decisionali e funzionali. Classi di Complessità in tempo deterministiche: Riassunto dei principali risultati. Classi non deterministiche e classi in spazio. Principali risultati. Riduzioni, completezza, ed esempi. Teoremi di Cook. NP-completezza di alcuni problemi fondamentali mediante riduzione. Modalità d’esame Prova scritta ed orale. programmi - informatica triennale Bibliografia - A. DOVIER, R. GIACOBAZZI, Fondamenti dell’Informatica: Linguaggi Formali, Calcolabilità e Complessità, disponibile on-line. - N.J. CUTLAND, Computability: An Introduction to Recursive Function Theory, Cambridge Univ. Press, Cambridge 1980. - J.E. HOPCROFT, J.D. ULLMAN, Introduction to Automata, Languages and Computation, Addison-Wesley, Reading, 1979. - C.H. P APADIMITRIOU , Computational Complexity, Addison Wesley, 1995. INGEGNERIA DEL SOFTWARE 1 Docente Prof. Carlo Tasso Crediti 6 Finalità del corso Obiettivo del corso è l’introduzione ai concetti di base dell’Ingegneria del Software, settore dell’informatica dedicato allo studio delle metodologie, delle tecniche e degli strumenti utilizzati nella produzione industriale del software. In particolare il corso descrive vari modelli del processo di sviluppo del software presentando i problemi relativi alle varie fasi del ciclo di vita, con particolare riferimento all’analisi dei requisiti e alla specifica, al progetto, al testing, agli standard ed al controllo di qualità. Programma - Concetti e definizioni di base dell’Ingegneria del Software. Introduzione. Origini e motivazioni dell’Ingegneria del Software. Definizioni di base: prodotti software, caratteristiche generali dei prodotti software, distribuzione dei costi. Processi per lo sviluppo del software, modello dei processi: processi primari, di supporto e di gestione; 93 ciclo di vita, metodologia di sviluppo. Modelli generali dei processi: modello a cascata; sviluppo incrementale; modello a spirale di Boehm, gestione del rischio; discussione ed esempi. Visibilità del processo di sviluppo. Ingegneria dei sistemi. Definizioni e problemi. Ambiente di un sistema. Modello contractor/sub-contractor per l’acquisizione del sistema. Fasi del processo di ingegnerizzazione dei sistemi: definizione dei requisiti, progetto, sviluppo dei sotto-sistemi, integrazione, installazione, funzionamento, evoluzione e dismissione. Obiettivi del sistema. Architettura di un sistema, componenti funzionali. Fattori umani, problematiche relative all’interfaccia affidabilità, resilienza. - Gestione di un Progetto Software. Gestione di un progetto software. Attività di gestione. Personale. Pianificazione del progetto: piano di progetto, struttura e contenuti. Concetti di milestone e derivable. Schedulazione del progetto; rappresentazioni grafiche: diagramma delle attività, dei tempi, del personale. Cammino critico. - Requisiti di un sistema Software. Ingegnerizzazione dei requisiti. Definizione del concetto di requisito. Attività di definizione, analisi e specificazione dei requisiti. Processo di ingegnerizzazione dei requisiti. Documentazione dei requisiti. Validazione dei requisiti: review sui requisiti, parametri di validazione. Evoluzione dei requisiti: requisiti duraturi, volatili, mutabili emergenti, consequenziali, di compatibilità. Analisi dei requisiti: definizione e processo d’esecuzione. - Tecniche di modellizzazione dei sistemi. Modellizzazione dei sistemi. Modelli data-flow (DFD): definizioni ed esempi. Inadeguatezza dei modelli DFD a rappresentare aspetti di controllo e di sincronizzazione. Automi a stati finiti: definizioni ed esempi. Reti di Petri posti-transizioni: 94 definizioni, esempi, valutazioni. Modelli object oriented: modelli d’eredità, di aggregazione e di utilizzo dei servizi. Linguaggio UML e principali diagrammi. Data dictionary. - Definizione dei requisiti e specificazione del software. Definizione e specificazione dei requisiti: modalità e tecnica di redazione. Uso di linguaggio naturale e di moduli in linguaggio strutturato. Linguaggi per la descrizione dei programmi (PDL). Definizione dei requisiti per interfacce software. Requisiti non funzionali, classificazione. Specificazione del software: definizione. Criteri di accettazione. Relazioni tra specificazione e progetto. Il ruolo delle specifiche formali. - Prototipizzazione del Software. Prototipizzazione: definizione. Motivazioni, obiettivi, approcci. Prototipizzazione: approccio evolutionary, approccio throw-away, approccio incrementale. Strumenti per la prototipizzazione. Prototipizzazione dell’interfaccia utente. - Generalità e Progetto Architetturale. Progetto del software. Stadi del processo di progetto. Metodi di progetto: approccio Top-down, metodi strutturati, strategie funzionali e object oriented. Documentazione del progetto. Parametri di qualità del progetto: coesione, accoppiamento,comprensibilità e adattabilità. Porgetto architetturale: definizione, sistema, sotto-sistema, modulo. Modelli per la strutturazione dei sistemi software: modello basato su data base condiviso, modello client-server, concetto di tipo di dati astratto e modello basato su Macchine Astratte. Modelli del controllo; controllo centralizzato: modello callreturn e modello basato su manager di controllo; controllo basato sugli eventi: modello broadcast e modello a interrupt. Modelli di scomposizione in moduli: data-flow e object oriented. Architetture specifiche del dominio: generiche e di programmi - informatica triennale riferimento, esempi. Architetture distribuite, architetture 2- e 3-tier, thin e fat client, middleware. - Progettazione Object-Oriented. Definizioni di base della tecnologia object-oriented. Progettazione objectoriented (OOD): caratteristiche e vantaggi. Analisi object-oriented e OOD: differenze. Identificazione di Oggetti e Classi basata sul linguaggio naturale. Interfacce tra oggetti (esempi in ADA e C++). Il ruolo dell’astrazione. Classi riusabili, astrazione, standardizzazione e altri criteri di progettazione delle classi. Gerarchia di Aggregazione. Diagramma dei servizi. Progettazione dell’interfaccia tra oggetti. Diagrammi UML per la progettazione OO. - Progettazione funzionale. Progettazione funzionale: definizione. Progettazione data-flow. Decomposizione strutturale e diagrammi di struttura. Trasformazione dei diagrammi data-flow in diagrammi di struttura. Progetto di dettaglio (o esecutivo). Modello fetch& execute per i sistemi interattivi. Confronto delle diverse strategie di progetto. - Verifica e Validazione. Processi di supporto. Il controllo di qualità dei prodotti software: la verifica e la validazione, definizioni secondo ISO 12207. Verifica e validazione statiche e dinamiche. Testing e ispezione. Validazione tecnica e sociale. Obiettivi e problematiche generali del testing. Testing statistico e di identificazione dei difetti. Debugging. - Testing del Software Processo di debugging. Pianificazione e organizzazione dei test. Strategie di test. Il test incrementale. La metodologia Big Bang. Strategie di testing top down e bottom up. Test dinamico black box (funzionale) e white box (strutturale). Il concetto di test case. Dati di test. Classi di equivalenza. La verifica statica. Il processo di ispezione. 95 programmi - informatica triennale - Introduzione al Dependability del Software. Definizione di dependability (fidatezza) e sue dimensioni: affidabilità, disponibilità, sicurezza e protezione (safety). Concetto di affidabilità. Fallimenti, guasti, errori. Metriche di affidabilità. Unità di tempo: tempo di esecuzione, di calendario, cronometrico. Confronto del concetto di affidabilità per il software e per l’hardware. Distribuzione probabilistica delle misure di affidabilità. Classificazione delle conseguenze dei malfunzionamenti. Possibili usi delle misure di affidabilità. - Qualità del Software. Concetto di standard: standard de jure, de facto, aperto, proprietario. Il ruolo dell’ISO e delle organizzazioni nazionali. Definizione di qualità del SW secondo lo standard ISO 8402. Controllo di Qualità secondo ISO 9000. Modello di qualità del software secondo ISO 9126: parametri di funzionalità, affidabilità, usabilità, efficienza, manutenibilità, portabilità. Gestione della qualità. Politica di qualità. Sistema qualità, controllo e assicurazione di qualità. Scope e pianificazione delle attività di assicurazione della qualità. Qualità di un prodotto basata sulla qualità del processo di produzione. Review di qualità. Check di qualità ed azioni correttive. Documentazione dei review di qualità. Processo di valutazione e metriche dei parametri di qualità secondo ISO 9126. Standard ISO 9000 per la gestione ed assicurazione della qualità: ISO 9001, 9002, 9003 e 9004, manuale della qualità. Standard ISO 9000-3: linee guida per l’applicazione dello standard ISO 9001 al software. Certificazione di qualità ed accreditamento. - Standard sul Ciclo di Vita. Standard ISO 12207 sul ciclo di vita del software. Definizione dei vari processi software. Definizione dei ruoli degli esecutori dei processi: acquirente, fornitore, proprietario, sviluppatore, operatore, manutentore. Prospettiva contrattuale. Processi di monitoraggio e tailoring del ciclo vita. Modalità d’esame Esame scritto e orale. Bibliografia - I. S OMMERVILLE , Software Engineering, seventh edition, Addison-Wesley, Harlow, UK, 2004. Anche in edizione italiana: - I. SOMMERVILLE, Ingegneria del software, settima edizione, Pearson AddisonWesley, Milano, 2005. - G. GUIDA, C. TASSO, Design and Development of Knowledge-Based Systems: from Life Cycle to Development Methodology, John Wiley & Sons, Chichester, UK, 1994. - Materiale didattico (slide, testi esami ed esercitazioni) disponibile su http://twm.dimi.uniud.it INGEGNERIA DEL SOFTWARE 2 Docente Prof. Maurizio Pighin, Dott. Anna Marzona Crediti 6 Finalità del corso Obiettivo del corso è l’approfondimento delle principali tematiche dell’Ingegneria del Software. Viene richiamato il ciclo di progettazione e di vita di un prodotto Software. Vengono poi studiati e approfonditi gli argomenti più avanzati, quali il configuration management, le metodologie di test, la progettazione dei sistemi, le metriche teoriche ed operative, i più noti modelli di qualità di prodotto e di processo, le metodiche di pianificazione e controllo, i principali strumenti di 96 lavoro. Nel correlato corso di Laboratorio avanzato (4 CFU) viene svolto un casestudy completo, seguendo un processo di sviluppo di un progetto Software in tutte le fasi sia del ciclo di vita (specifiche, progetto, codifica, test, rilascio, manutenzione) che operativo (pianificazione, analisi costi, metriche, organizzazione del lavoro, consuntivazioni economiche) Programma Introduzione e Richiami Generali: le motivazioni del Software Engineering. Richiami alle definizioni di base. La dimensione economica del problema. I fattori di complessità del processo di sviluppo. Configuration Management: Le motivazioni del Configuration Management. Il CM-Planning. Trattamento delle versioni. Assemblaggio dei componenti e System Building. Ingegneria del Software Esistente: L’I.S.E: definizioni e problematiche. Le metodologie di re-engineering. Le metodologie di riuso. Lo sviluppo per il riuso e tramite il riuso. Verifica e Validazione: i risultati teorici negativi. Strategie di test. Test dinamico. Le catene di test. I test di regressione. L’automazione del test e l’analisi mutazionale. Test statico. Cenni sui metodi formali di test. Metriche: le definizioni generali. Gli obiettivi delle misure. Le scale di misurazione. Le misure di controllo e predittive. Il data collection. Gli attributi interni e le loro misurazioni. La metrica di Halstead. La metrica di Albrecht. La metrica di McCabe ed altre metriche di complessità. Gli attributi esterni e le loro misurazioni Modelli di qualità: la certificazione di qualità e i principali modelli di certificazione di processo e di prodotto: richiami al modello ISO 9000, il modello CMM, cenni su altri modelli: BOOTSTRAP, BOOTSTRAP, SYNQUEST, SPICE. Il modello IS0 9126. Valutazione e stima dei costi: l’analisi prestazioni/costo e l’analisi delle decisioni. La stima dei costi programmi - informatica triennale del Software. Richiamo modello COCOMO. Altri modelli di stima. Pianificazione e Controllo del Processo Produttivo: l’organizzazione e gestione dei gruppi di lavoro. La pianificazione ed i suoi obiettivi. I diagrammi di Pert e gli schemi di Gantt. Manutenzione: costi, stime, misurazioni, dinamica del processo manutentivo. Il modello COCOMO. Extreme programming: metodologie organizzative: pianificazione, testing. Tecniche di sviluppo Strumenti di lavoro: la tecnologia CASE: Tools, Ambienti. Le funzionalità. Gli strumenti di supporto nelle varie fasi del processo di sviluppo. Modalità d’esame L’esame consiste nella discussione del progetto fatto durante il laboratorio. Alternativamente lo studente può sostenere una prova scritta/orale sugli argomenti del programma. Bibliografia - R.S. PRESSMAN, Principi di Ingegneria del Software, McGrawHill, 4th ed., 2005. - I. SOMMERVILLE, Software Engineering, 7th ed., Addison Wesley P.C., 2004. - N.E. F ENTON , S.L. P FLEEGER , Software Metrics - A Rigorous and Practical Approach, 2 nd edition, PWS Publishing Company, 1997. - A. B INATO , A. F UGGETTA , L. S FARDINI , Ingegneria del Software, creatività e metodo, Pearson-Addison Wesley, 2006. - C. GHEZZI, M. JAZAYERI, D. MANDRIOLI, Ingegneria del Software - Fondamenti e Principi, 2nd ed., Pearson-Prentice Hall, 2004. - AA.VV., Metriche del software - esperienze e ricerche, Franco Angeli, 2006. - Materiale didattico disponibile sul sito d’Ateneo. programmi - informatica triennale INTERAZIONE UOMO-MACCHINA 1 Docente Prof. Luca Chittaro Crediti 6 Finalità del corso Scopo del corso è di introdurre i principi, le metodologie di progettazione e le diverse scelte implementative per la costruzione di software che sia usabile in modo semplice, intuitivo, produttivo ed affidabile dagli utenti a cui è rivolto. Il raggiungimento di questo obbiettivo richiede lo studio di tre diverse tematiche: l’uomo (caratteristiche psicologiche dell’utente); la macchina (strumenti per la realizzazione di interfacce con il mondo esterno); l’interazione (analisi, progetto, valutazione di interfacce uomo-macchina). Oltre a presentare le nozioni di base della disciplina, il corso pone anche l’accento su alcuni sviluppi recenti di particolare importanza, quali le interfacce 3D ed il groupware. Programma - Introduzione: obiettivi dell’Interazione Uomo-Macchina e sua importanza nei diversi settori applicativi dell’Informatica. - Aspetti psicologici dell’Interazione Uomo-Macchina: psicologia cognitiva. Canali sensoriali. Limitazioni e aspettative umane nei processi percettivi. Percezione visiva. Percezione auditiva. Percezione tattile. Movimento. La Memoria umana: sensoriale, a breve termine, a lungo termine. Differenze individuali. Modelli mentali. Metafore. Errori umani: slip e mistake. - Periferiche per l’Interazione UomoMacchina: periferiche per l’inserimento di testo. Periferiche per il puntamento e posizionamento. Periferiche 3D. Periferi- 97 che per l’output visivo, auditivo, tattile. Periferiche ed interfacce per utenti disabili. - Modelli e paradigmi di Interazione Uomo-Macchina: modelli per caratterizzare le fasi dell’interazione. Aspetti ergonomici dell’interazione. Stili di interazione: dai linguaggi di comando alle interfacce 3D. Interfacce a finestre (WIMP). Progetto dei menù e delle icone. Paradigmi di interazione. - Interazione Uomo-Macchina e Ciclo di Vita del Software: analisi dei requisiti di usabilità. Principi di usabilità. User-centred design. Usability Engineering. Tecniche di prototyping. Tecniche per favorire la creatività. Documentazione delle scelte di progetto. - Environment, User, Task Analysis: determinazione del contesto dell’interazione con modelli socio-tecnici. Il metodo USTM/CUSTOM. Analisi dei compiti degli utenti. Il metodo HTA. Modelli predittivi: GOMS, KLM. - Metodi Formali nell’Interazione UomoMacchina: State transition network ed altre notazioni diagrammatiche. Notazioni testuali. Progetto ed analisi di dialogo mediante state transition network. - Guidelines e Standard per le Interfacce Utente: definizione. Scelta ed uso di guidelines. Esempi di guidelines: MITRE, Apple, Microsoft, guidelines IBM per interfacce 3D. Lo standard ISO 9241. - Strumenti per l’Implementazione di Interfacce Utente: Windowing System. Tecniche di programmazione. Toolkit. Caso di studio: il toolkit di Java. User Interface Management System. - Valutazione di Usabilità: scopo della valutazione. Strumenti di registrazione. Osservazione dell’utente. Raccolta di opinioni. Interviste. Questionari. Esperimenti. Valutazione predittiva. Cognitive walkthrough. Valutazione interpretativa. - Help: assistenza all’utente. Requisiti di un help system. Principali approcci. 98 programmi - informatica triennale Interfacce adattive ed adattabili. - Computer-Supported Cooperative Work: Groupware. La comunicazione mediata dal calcolatore. E-mail e sistemi di comunicazione testuale. Videoconferenza. Ambienti collaborativi virtuali. Sistemi workflow. Aspetti sperimentali ed organizzativi del lavoro cooperativo. - Recenti Paradigmi di Interazione Uomo-Macchina: Ubiquitous Computing. Realtà virtuale. Tipologie di realtà virtuale. Il linguaggio VRML. Interfacce multi-sensoriali (o multi-modali). Information visualization. Ipertesti. Interfacce multimediali e ipermediali. Bibliografia - A. DIX, J. FINLAY, G. ABOWD, R. BEALE, Human Computer Interaction, third edition, Prentice Hall, 2003. - J. PREECE, Y. R OGERS , H. S HARP , D. B ENION , S. H OL LAND, T. CAREY, Human Computer Interaction, Addison Wesley, 1994. LABORATORIO DI ALGORITMI E STRUTTURE DATI Docente Dott. Massimo Franceschet Crediti 4 Finalità del corso Scopo del corso è la realizzazione di algoritmi di una certa complessità, che operano su strutture dati articolate, e la determinazione sperimentale delle relative prestazioni. In questo modo si intende dare un supporto concreto ai fini di una migliore comprensione delle idee e dei concetti discussi nel corso teorico di Algoritmi e Strutture Dati. Si assume una conoscenza non superficiale di un linguaggio di programmazione imperativa. Programma - Misura dei tempi di calcolo e confronto fra diversi ordini di complessità. Stime teoriche dei tempi di calcolo nel caso di semplici algoritmi, notazione O-grande. Misure dei tempi, errore relativo, discussione dei risultati sperimentali. Limiti dell’analisi asintotica e ruolo delle costanti moltiplicative. - Stima del tempo medio. Generatori di numeri casuali, tempo medio, varianza, intervalli di confidenza. - Code tuning. Tecniche per migliorare l’efficienza di alcuni programmi. Eliminazione delle chiamate di procedura, macroespansione. Valutazione sperimentale. - Sperimentazione di algoritmi e strutture dati sviluppati nel corso teorico. Algoritmi di ordinamento; realizzazione di altre strutture dati e algoritmi (da determinare). Bibliografia - S. Martini, appunti disponibili sulla pagina web. - T.H. Cormen, C.E. Leiserson, R.L. Rivest, Introduction to Algorithms, second edition, MIT Press, 2001. LABORATORIO DI ARCHITETTURA DEGLI ELABORATORI Docente Prof. Pietro Di Gianantonio Crediti 4 Finalità del corso Il laboratorio ha lo scopo di far sperimentare concretamente allo studente, mediante la realizzazione di brevi progetti al calcolatore, alcuni dei temi di rilievo trattati nel corso di Sistemi di Elaborazione/Architettura degli Elaboratori. 99 programmi - informatica triennale Programma Tipi di progetto: reti logiche: progetto e simulazione di reti combinatorie e sequenziali in ambiente Macintosh. Realizzazione di librerie di componenti digitali di base, e loro uso per la costruzione modulare di sistemi digitali più complessi. Rappresentazioni numeriche: algoritmi concernenti la rappresentazione e l’elaborazione di numeri interi senza segno, con segno, reali in virgola fissa e in virgola mobile. Programmazione Assembler: sviluppo di programmi mirato ad esplorare le diverse caratteristiche dell’Assembler MIPS: direttive all’assemblatore, istruzioni di assegnamento e confronto, le varie modalità di indirizzamento, sfruttamento dei condition codes, strutture di controllo, istruzioni aritmetico-logiche, manipolazione singoli bit, subroutine, allocazione/deallocazione di memoria sullo stack. Oltre alle tecniche di programmazione Assembler di base, verranno affrontate anche alcune tecniche avanzate, in particolare per l’implementazione e trattamento in assembler di strutture dati (vettori, stringhe, matrici, insiemi, liste), e per la gestione delle eccezioni. Modalità d’esame L’esame consiste nella preparazione da parte dello studente di una breve relazione scritta su un progetto volto a riassumere le diverse tematiche affrontate in laboratorio. Il progetto da svolgere va richiesto al docente e la relativa relazione va consegnata prima dello svolgimento dell’esame orale di Sistemi di Elaborazione/Architettura degli Elaboratori. LABORATORIO DI ELETTRONICA Docente Prof. Lorenzo Santi Crediti 6 Finalità del corso Lo scopo del corso è di fornire le basi per la comprensione dell’elettronica moderna. Il corso include anche una serie di sessioni di laboratorio. Programma Circuits. Introduzione alla Fisica dei semiconduttori. Diodi, transistor bipolari e FET. La fabbricazione dei circuiti integrati digitali. La famiglia logica TTL. Memorie RAM, DRAM etc. Convertitori ADC e DAC. La tecnologia di una moderna applicazione (il lettore di CD ROM). Modalità d’esame L’esame consiste in una prova pratica. Bibliografia - HOROWITZ, HILL, The Art of Electronics, 2nd ed., Cambridge University Press. - Dispense del corso. Maggiori dettagli e aggiornamenti http://www.fisica.uniud.it/~milotti/Dida tticaUD/Elettronica/ArgomentiSvolti.ht ml LABORATORIO DI PROGRAMMAZIONE Docente Dott. Alberto Ciaffaglione Crediti 4 Finalità del corso - Acquisizione di familiarità con il calcolatore e, più specificamente, con gli ambienti di sviluppo di programmi. - Consapevolezza delle varie fasi di sviluppo di un programma, in particolare com- 100 programmi - informatica triennale pilazione, caricamento/collegamento e debugging. - Conoscenza dei costrutti di base di un linguaggio di programmazione e capacità di utilizzarlo per formalizzare semplici programmi. Programma - Esercizi per familiarizzare con i principali costrutti dei linguaggi di programmazione. - Realizzazione di semplici programmi ricorsivi e iterativi. - Realizzazione di programmi che fanno uso di tipi di dato strutturati. - Verifica delle singole componenti di un programma e del programma complessivo. - Realizzazione di un progetto a partire dagli strumenti disponibili nell’ambiente di sviluppo: formulazione di un problema e implementazione di un programma che lo risolve. - Sviluppo della capacità di documentare la realizzazione di un progetto: stesura di una relazione con specifiche e analisi del problema, soluzione tecnica adottata e discussione dei risultati. LABORATORIO DI SISTEMI OPERATIVI Docente Dott. Ivan Scagnetto Crediti 4 Programma 1. Il sistema Operativo UNIX: struttura, interfaccia utente, varianti (Solaris, Linux). La shell UNIX: ruolo e varianti, procedura di login, organizzazione del file system, manuale online, la shell bash: espansione del pathname, ridirezione del I/O, pipe, job in back- ground, il comando history, editing della linea di comando, completamento di comandi, gli editor vi e (X)Emacs, il comando make. Comandi principali della shell: gestione di file, gestione di processi, monitoraggio della memoria, comandi filtro: ricerca, ordinamento, editing. Shell script: variabili, passaggio dei parametri, strutture di controllo, login script. 2. Basi di Linguaggio C. 3. Programmazione di sistema: controllo di processi, file system, comunicazione tra processi, threads e multithreading. LINGUAGGI DI PROGRAMMAZIONE 1 Docente Prof. Marco Comini Crediti 6 Finalità del corso Il corso di Linguaggi 1, in congiunzione con il corso di Linguaggi 2, intende fornire una conoscenza delle caratteristiche dei vari paradigmi di programmazione, cercando il più possibile di evitare di concentrarsi su uno specifico linguaggio, andando bensì a presentare i principi che guidano la progettazione, realizzazione e implementazione dei moderni linguaggi di programmazione. Con solida conoscenza delle caratteristiche ‘universali’ si potrà così in futuro imparare nuovi linguaggi in pochissimo tempo. A questa visione generale si giunge attraverso la descrizione dei principali paradigmi di programmazione: imperativo, funzionale, logico e logico-funzionale. Questi paradigmi, oltre a essere esaminati nei loro aspetti pragmatici più immediati, sono analizzati e confrontati sulla 101 programmi - informatica triennale base dei principi generali, in modo tale da permettere una comprensione critica della maggior parte dei linguaggi di uso comune. In questo modo si intende sviluppare uno spirito critico che permetta di arrivare ad una programmazione consapevole in cui saper scegliere il paradigma più adatto a seconda del problema da risolvere e sapere quali costrutti di un linguaggio usare, e a quale costo. I due corsi intendono inoltre fornire una conoscenza relativamente approfondita (soprattutto dell’aspetto programmativo) dei paradigmi di programmazione dichiarativa (funzionale, logico e logico-funzionale) che, grazie alla loro espressività, si prestano naturalmente quale base di sviluppo di software corretto. Il corso di Linguaggi 1, in particolare, tratterà i concetti generali, il paradigma imperativo e quello funzionale. Il corso di Linguaggi 2 completerà la presentazione dei paradigmi dichiarativi: logico e logicofunzionale. Programma 1. Paradigma Imperativo - Macchine astratte, Interpretazione e Compilazione - Descrivere un linguaggio di Programmazione (Sintassi e Semantica) - I nomi e l’ambiente - La gestione della memoria - Strutturare il controllo - p-code - Astrarre sul controllo (Metodi di passaggio dei parametri) - Strutturare i dati - Type checking monomorfo e polimorfo 2. Paradigma Funzionale - Introduzione alla Programmazione Funzionale - High-order Programming - Il linguaggio Haskell (list comprehensions, partial applications of curried functions, sections, non-strict functions, infinite data structures, case expressions, pattern matching) - Types, Classes and Overloading - Haskell’s monadic I/O - Standard Haskell Classes - Monads - Modules Bibliografia - M. GABBRIELLI, S. MARTINI, Linguaggi di Programmazione - Principi e Paradigmi, McGraw-Hill, ISBN 88-386-6261-4. - HUDAK, FASEL, A Gentle Introduction to Haskell, 1992. Libri e testi di consultazione: - B. W ADLER , Introduction to Functional Programming Using Haskell, ISBN 0134843460, Prentice Hall PTR, 1998. - N.D. JONES, C.K. GOMARD, P. SESTOFT, Partial Evaluation and Automatic Program Generation, Prentice Hall, Englewood Cliffs, NJ, 1993. LOGICA MATEMATICA Docente Prof. Giovanna D’Agostino Crediti 6 Programma Teoremi di Completezza e Compattezza per la logica predicativa. Il metodo di risoluzione per logica classica proposizionale. Teorema di compattezza e completezza di risoluzione proposizionale. Logica predicativa, forma premessa e Skolemizzazione; Modelli di Herbrand, Teorema di Herbrand. Teorema di Compattezza. Algoritmo di Unificazione. Teorema di completezza della Risoluzione Predicativa. Indecidibilità della logica al prim’ordine. Espressività della logica al prim’ordine. Giochi di Ehrenfeucht-Fraissè. Caratte- 102 programmi - informatica triennale rizzazione algebrica e logica. Macchine di Turing e modelli finiti. Teorema di Trankhenbrot sull’indecidibilità della soddisfacibilità nei modelli finiti. Teorema di Fagin sulla caratterizzazione logica di NP. Bibiografia A. NERDODE, R.A. SHORE, Logic for Applications, Springer. L. LIBKIN, Elements of Finite Model Theory, Springer. MATEMATICA DISCRETA Docente Dott. Mario Mainardis Crediti 9 Finalità del corso Introdurre gli strumenti fondamentali di Matematica Discreta, Algebra e Geometria con particolare attenzione alle loro applicazioni in Informatica. Programma Insiemi ed applicazioni. Aritmetica: numeri interi, divisori e multipli, algoritmo di Euclide, cenni sulle equazioni lineari diofantee, numeri primi, fattorizzazione, congruenze, rappresentazione n-adica dei numeri interi; numeri complessi,. Strutture algebriche: gruppi, sottogruppi, classi laterali, sottogruppi normali, quozienti, omomorfismi; anelli, ideali. Algebra Lineare: spazi vettoriali, dipendenza lineare, basi, applicazioni lineari, matrici, determinante, autovalori ed autovettori. Modalità d’esame Prova scritta ed eventuale esame orale. Bibliografia Libro di testo A. FACCHINI, Algebra e Matematica Discreta, Decibel-Zanichelli, 2001. METODI FORMALI DELL’INFORMATICA 1 Docente Prof. Marina Lenisa Crediti 6 Finalità del corso In sistemi informatici ‘life-critical’, o a forte impatto ambientale, oppure in produzioni su larga scala, che comporterebbero costi ingenti di correzione, le tradizionali tecniche di certificazione del software, basate solo su testing, sono inadeguate. La verifica formale rigorosa del software è pertanto divenuta un requisito essenziale nella produzione industriale di sistemi software complessi. Questo processo comporta l’introduzione e l’utilizzo di tecniche logico-matematiche per specificare rigorosamente la semantica dei programmi e per verificarne la correttezza rispetto a questa semantica. Scopo di questo corso è quello di introdurre le problematiche ed i concetti fondamentali della verifica del software nonché alcuni dei ‘metodi formali’ più in uso per realizzare questo scopo. Programma Verranno discusse la semantica operazionale strutturata, la semantica denotazionale, i sistemi di riscrittura e svariati sistemi formali alla Hoare per stabilire proprietà di programmi sequenziali e concorrenti. In particolare, saranno studiati e sperimentati sistemi per stabilire la correttezza parziale e totale di programmi deterministici, programmi 103 programmi - informatica triennale paralleli che comunicano attraverso la condivisione di variabili, programmi paralleli con primitive di sincronizzazione, programmi distribuiti che comunicano attraverso lo scambio di messaggi, programmi non deterministici. Particolare attenzione sarà dedicata allo studio di proprietà di fairness. Modalità d’esame L’esame è costituito da una prova scritta ed una orale. Bibliografia - K. A PT , E.R. O LDEROG , Verification of Sequential and Concurrent Programs, GTCS Springer Verlag, New York, 1997. - Appunti del corso. MODELLI E ALGORITMI PER LA GESTIONE DELLE RISORSE Docente Prof. Franca Rinaldi Algoritmi approssimati e schemi di approssimazione polinomiali. Esempi. Metodi di ricerca locale: Simulated Annealing e Tabu Search. Esempi. - Problemi di routing (18 ore) Problemi di arc routing. I problemi del postino cinese e del postino rurale e loro varianti. Problemi di node routing. Il Travelling Salesman Problem, il Vehicle Routing Problem e loro varianti. Per i diversi problemi verranno presentati modelli di ILP e metodi di risoluzione esatti e/o euristici. - Problemi di schedulazione (18 ore) Definizione, analisi e classificazione dei problemi di schedulazione. Problemi ad una macchina. Problemi su macchine parallele. Open Shop, Flow Shop e Job Shop. Modalità d’esame L’esame consiste in una prova orale. Bibliografia Materiale bibliografico fornito dal docente. Crediti 6 Finalità del corso Obiettivo del corso è presentare le principali metodologie modellistiche utilizzate nel settore della gestione e pianificazione integrata dei trasporti e della produzione e le relative tecniche risolutive. A completamento della panoramica dei metodi dell’Ottimizzazione, vengono inoltre introdotte alcune tecniche euristiche di ricerca locale e la classe degli algoritmi approssimati. Al termine del corso lo studente dovrebbe essere in grado di modellare un problema non troppo complesso di gestione e pianificazione e proporre adeguati strumenti di risoluzione. Programma - Algoritmi approssimati e metodi di ricerca locale (12 ore) PROGRAMMAZIONE Docente Dott. Claudio Miralo Dott. Fabio Alessi Crediti 10 Pagina del corso http://www.dimi.uniud.it/claudio/teaching/programmazione/ Finalità del corso Il corso si propone di sviluppare le competenze culturali e metodologiche di base per affrontare i problemi che ammettono soluzioni algoritmiche, stimolando l’analisi critica degli strumenti a disposizione dell’informatico. Al termine del corso lo 104 studente dovrebbe aver acquisito le capacità operative necessarie a progettare e formalizzare semplici programmi, applicando i paradigmi funzionale e objectoriented, e ad analizzare almeno a livello intuitivo gli elementi critici per il corretto comportamento in relazione alle specifiche. Prerequisiti Conoscenze matematiche di base, del livello fornito nella scuola superiore. Programma Parte I - Astrazione procedurale (linguaggio funzionale Scheme). Algoritmi basati sul calcolo di espressioni numeriche e non numeriche. Procedure come astrazione di espressioni. Costrutti di scelta e valori di verità. Definizioni ricorsive. Modello di valutazione per sostituzione e riduzione. Ricorsione generale e ricorsione di coda (tail recursion). Approccio iterativo come ricorsione di coda. Dimostrazioni di correttezza per induzione e concetto di invariante nella ricorsione di coda. Costrutto let. Parte II - Astrazione sui dati (linguaggio Scheme). Introduzione all’astrazione sui dati attraverso semplici dati strutturati. Specifica astratta di una struttura dati e diversità delle scelte realizzative. Dati di dimensione variabile: liste. Strutture dati dal punto di vista dell’utilizzatore e dal punto di vista dell’implementatore. Pile e code. Alberi e alberi di valutazione delle espressioni. Esempi notevoli. Parte III - Astrazione relativa allo stato (linguaggi Scheme e Java a confronto). Concetto di stato e paradigma imperativo/sequenziale. Vettori e operazioni relative. Rivisitazione delle strutture di dati elementari attraverso il paradigma imperativo. Matrici. Costi computazionali di un algoritmo. Tecniche di memorization e programmazione dinamica. Principali comandi e costrutti del linguaggio Java. programmi - informatica triennale Programmi iterativi. Invarianti e correttezza dei programmi iterativi; problema della terminazione. Modello funzionale come semantica di un programma imperativo. Elementi di programmazione object-oriented in Java: classi e oggetti; campi, costruttori e metodi. Concetto di invariante di classe e linguaggi per la formalizzazione e per la verifica runtime di asserzioni. Esempi notevoli. Concetti ricorrenti: Approccio imperativo e approccio ricorsivo; invarianti; livelli di astrazione; forme di astrazione; stato e transizione di stato; approccio object-oriented. Ulteriori informazioni sul corso e sulle lezioni, in particolare gli esempi discussi in classe e i temi d’esame, sono resi disponibili attraverso le pagine del corso all’indirizzo: http://www.dimi.uniud.it/ claudio/teaching/programmazione/ Modalità d’esame L’esame di Programmazione prevede tre prove di accertamento, che si svolgono al termine dei tre periodi didattici in cui è articolato il corso, una prova di Laboratorio (corso affiancato di Laboratorio di Programmazione) e una prova orale. All’orale sono ammessi gli studenti che hanno conseguito una valutazione complessiva di almeno 15 punti su 30 nelle tre prove di accertamento e che hanno inoltre superato la prova di Laboratorio. La discussione orale è opzionale per valutazioni delle prove di accertamento comprese fra 20 e 28 punti. La prova di Laboratorio e la prova orale, nel caso quest’ultima venga sostenuta, concorrono alla valutazione finale nei termini di una media pesata. La valutazione di una singola prova di accertamento viene espressa nei seguenti livelli: ottimo, buono, discreto, sufficiente, quasi sufficiente, insufficiente. La valutazione complessiva delle prove di accertamento o dei recuperi che vertono sull’intero programma viene espressa con un punteggio da 18 a 30, se sufficiente; da 15 programmi - informatica triennale a 17, se consente di sostenere la prova orale; insufficiente altrimenti. Infine, la valutazione della prova di laboratorio viene espresse in una scala A - B - C quando la prova è superata. Il primo appello scritto di Programmazione consiste normalmente nello svolgimento della terza prova di accertamento. A partire dal secondo appello sono invece previste (unicamente) prove scritte di recupero, che vertono sull’intero programma del corso, rivolte a coloro che non abbiano potuto partecipare alle prove di accertamento o abbiano conseguito una valutazione insufficiente per l’ammissione all’orale. Indipendentemente dalla valutazione, le prove scritte di recupero non consentono l’esonero dalla discussione orale. Bibliografia - M. H AILPERIN , B. K AISER , K. K NIGHT , Concrete Abstractions: An Introduction to Computer Science Using Scheme, Brooks/Cole Publishing Company, 1999 (ISBN: 0-534-95211-9). - J. LEWIS, W. LOFTUS, Java - Fondamenti di progettazione software, Addison-Wesley, 2000 (Edizione italiana 2001; ISBN: 887192-092-9). - Appunti tratti dalle lezioni; esempi ed esercizi pubblicati sulle pagine web del corso. PROGRAMMAZIONE ORIENTATA AGLI OGGETTI Docente Dott. Claudio Mirolo Crediti 6 Pagina del corso http://www.dimi.uniud.it/claudio/teaching/prog_oo/ 105 Finalità del corso L’obiettivo principale del corso è quello di discutere il paradigma della programmazione orientata agli oggetti come evoluzione della programmazione strutturata e della costruzione di tipi di dati astratti, introdotti nel corso di Programmazione. Verranno inoltre presentate le caratteristiche di base di un linguaggio di programmazione orientato agli oggetti. I concetti saranno introdotti soprattutto attraverso la discussione di esempi. Al termine del corso lo studente dovrebbe aver acquisito capacità di problem solving per progettare soluzioni object-oriented, basate sulla definizione di un insieme di moduli interagenti fra di loro. Prerequisiti Corso di Programmazione; alcuni dei contenuti dei corsi di Matematica Discreta e Analisi Matematica. Programma Gli argomenti principali trattati durante il corso sono indicati qui di seguito. Gli esempi sono sviluppati utilizzando il linguaggio di programmazione Java. Concetti e metodologie Nozioni di base: moduli interagenti, messaggi e metodi, responsabilità, classi e istanze, gerarchie di classi ed ereditarietà, overriding di metodi, eccezioni. Progettazione orientata agli oggetti: identificazione delle componenti e definizione delle responsabilità; definizione del comportamento e delle interazioni fra moduli; specifica dell’interfaccia; concetto di stato. Benefici della programmazione orientata agli oggetti: incapsulamento delle informazioni, maggiore affidabilità e potenzialità di riutilizzo del codice, condivisione di codice, polimorfismo, rapidità di prototipazione. Ereditarietà: sottoclassi, tipi e compatibilità per sostituzione. Specializzazione e altre forme di ereditarietà. Ereditarietà del codice ed ereditarietà del 106 programmi - informatica triennale comportamento. Selezione dinamica dei metodi. Confronto fra ereditarietà e composizione relative a classi; composizione dinamica. Classi nidificate. Clonazione. Polimorfismo e variabili polimorfe. Overloading. Overriding: sostituzione e raffinamento. Metodi astratti. Modelli di progetto (design patterns): composite; decorator; factory method; flyweight; observer; prototype; proxy; strategy. Paradigma model-view-controller. Linguaggio di programmazione Java Caratteristiche e costrutti principali del linguaggio Java. Realizzazioni di classi in Java: struttura di un programma; campi per rappresentare le variabili di stato; costruttori; attributi di campi e metodi; istanziazione di oggetti; ereditarietà e interfacce. Classi interne e organizzazione del codice. Modello degli eventi in Java. Gestione delle eccezioni. Thread multiple di esecuzione e sincronizzazione. Garbage collection. Alcune caratteristiche avanzate dell’ambiente di programmazione basato su Java. Progetto di interfacce verso l’utente (GUI) attraverso la libreria Application Windowing Toolkit (AWT) di Java: componenti e layout manager. Input e output in Java. Altre classi di utilità: Math, Random, System, String. Grafica elementare in Java. Classi Collection: Vector e confronto con gli array; Dictionnary. Applet e programmazione per la rete. Discussione di esempi in Java. Concetti ricorrenti: Livelli di astrazione; astrazione sui dati; stato; approccio object-oriented; incapsulamento dell’informazione; riutilizzo del codice. Ulteriori informazioni sul corso e sulle lezioni, in particolare gli esempi discussi in classe e i temi d’esame, sono resi disponibili attraverso le pagine del corso all’indirizzo: http://www.dimi.uniud.it/claudio/teaching/prog_oo/ agli Oggetti prevede due prove di accertamento, che si svolgono al termine dei due periodi didattici in cui è articolato il corso, e una prova orale. All’orale sono ammessi gli studenti che hanno conseguito una valutazione complessiva di almeno 15 punti su 30 nelle due prove di accertamento. La discussione orale non è obbligatoria per valutazioni delle prove di accertamento comprese fra 20 e 28 punti. Opzionalmente, ai fini della discussione orale, il candidato può concordare con il docente la realizzazione di un progetto di programmazione che applichi concetti e metodologie introdotti durante il corso. In tal caso, la discussione del progetto costituirà la parte prevalente della prova orale. Nel caso venga sostenuta, la prova orale concorre alla valutazione finale nei termini di una media pesata. La valutazione di una singola prova di accertamento viene espressa nei seguenti livelli: ottimo, buono, discreto, sufficiente, quasi sufficiente, insufficiente. La valutazione complessiva delle prove di accertamento o dei recuperi che vertono sull’intero programma viene espressa con un punteggio da 18 a 30, se sufficiente; da 15 a 17, se consente di sostenere la prova orale; insufficiente altrimenti. Il primo appello scritto di Programmazione Orientata agli Oggetti consiste normalmente nello svolgimento della seconda prova di accertamento. A partire dal secondo appello sono invece previste (unicamente) prove scritte di recupero, che vertono sull’intero programma del corso, rivolte a coloro che non abbiano potuto partecipare alle prove di accertamento o abbiano conseguito una valutazione insufficiente per l’ammissione all’orale. Indipendentemente dalla valutazione, le prove scritte di recupero non consentono l’esonero dalla discussione orale. Modalità d’esame L’esame di Programmazione Orientata Bibliografia - T. BUDD, Understanding Object-Oriented 107 programmi - informatica triennale Programming with Java, Addison-Wesley, 2000 (ISBN: 0-201-61273-9). - Appunti tratti dalle lezioni. Testi sul linguaggio Java. - D. ARNOW, G. WEISS, Introduction to Programming Using Java: an Object-Oriented Approach, Addison-Wesley, 1998 (ISBN: 0-201-31184-4). Oppure: - J. LEWIS, W. LOFTUS, Java - Fondamenti di progettazione software, Addison-Wesley, 2000 (Edizione italiana 2001; ISBN: 887192-092-9). Testi per consultazione: - B. LISKOV, J. GUTTAG, Program Development in Java, Addison-Wesley, 2000. - X. JIA, Object Oriented Software Development Using Java, Addison-Wesley, 2002. - B. ECKEL, Thinking in Java, Prentice Hall, 2000. - K.A. L A M B E R T , M. O S B O R N E , A Framework for Program Design and Data Structures, Brooks/Cole, 2000. in questo campo, quali la teoria quantistica dell’informazione ed il teletrasporto quantistico. Programma Basi matematiche. Spazi di Hilbert. Meccanica quantistica. Sistemi composti. Teoria classica della computazione e della complessità. Teoria quantistica della computazione. Algoritmi quantistici. Possibili realizzazioni sperimentali. Cenni di teoria quantistica dell’informazione. Argomenti avanzati di teoria dell’informazione quantistica. Modalità d’esame L’esame si svolgerà sotto forma di discussione di una tesina su argomenti di ricerca inerenti il corso. Bibliografia - Appunti del docente. - M. NIELSEN, I. CHUANG, Quantum Computation and Quantum Information, Cambridge University Press, 2000. QUANTUM COMPUTING Docente Prof. Alessandro De Angelis Pagina del corso http://www.fisica.uniud.it/~riccardo/teaching/physics/qc2001.html Crediti 6 Finalità del corso Scopo del corso è di fornire un’introduzione al Quantum Computing, sia negli aspetti di base sia in quelli più avanzati. Nella prima parte del corso verranno discussi ed analizzati i fondamenti matematici e concettuali della meccanica quantistica; nella seconda parte verranno applicati tali concetti alla teoria della computazione quantistica, analizzandone i contenuti innovativi e sottolineandone le differenze rispetto alla teoria classica. Il corso fornirà anche alcune nozioni di base su argomenti di punta della ricerca RETI DI CALCOLATORI Docente Prof. Elio Toppano Crediti 6 Finalità del corso L’obiettivo del corso è quello di introdurre i concetti fondamentali delle moderne reti di calcolatori e fornire allo studente le necessarie conoscenze per affrontare l’analisi e lo studio di una rete distribuita di calcolatori. In particolare, saranno presentate le caratteristiche generali delle 108 reti, la loro topologia, l’architettura ed i principali protocolli utilizzati per la trasmissione delle informazioni tra calcolatori. Programma - Introduzione alle reti di calcolatori. Scopi, applicazioni, evoluzione storica, caratteristiche e struttura a livelli, tipologie di rete, architetture di rete, stratificazioni, tipi e primitive di servizio, protocolli di rete, controllo di flusso e controllo di errore, messaggi e pacchetti, strategie di commutazione (circuito e pacchetto), indirizzamento, instradamento ed interconnessione. - Principali componenti di una rete e tecniche di trasmissione dati. Mezzi trasmissivi elettrici e ottici, banda di un segnale, capacità di canale, I e II Teorema di Nyquist, Teorema di Shannon, attenuazione e distorsione, cenni alla trasmissione dati analogica e alla trasmissione dati digitale, principali componenti di una rete (modem, multiplexer, bridge, switch, router). - Il modello ISO/OSI. Architettura, servizi e protocolli. Il livello fisico. Il livello datalink. Protocolli per il controllo di flusso (Stop&Wait, Go-BackN, Sliding Window) e per il controllo di errore (controllo di parità, codici CRC). Calcolo dell’efficienza dei protocolli di livello datalink. Protocollo HDLC. - Il livello di rete. Tecniche di instradamento (routing by network, address label swapping, source routing), architettura di un router e tabelle di instradamento, algoritmi di routing statico (fixed directory routing, flooding e selective flooding) e dinamico (distance vector e link state). Il protocollo IP, formato del pacchetto IP e indirizzamento IP, classi di indirizzi, sottoreti e netmask. Protocolli ARP, IGP, RIP, OSPF, BGP. Protocollo Ipv6, formato dei pacchetti, header opzionali. Protocollo Network programmi - informatica triennale Address Translation (NAT). - Il livello di trasporto. Servizi ed indirizzi del livello di trasporto, creazione, gestione e chiusura di una connessione. Il problema delle due armate. Protocollo Hand-Shake a tre vie. Il livello di trasporto in Internet: i protocolli UPD (User datagram protocol) e TCP (Transport control protocol). • Il livello delle applicazioni: Applicazioni di Rete: Domain Name Server (DSN), Simple Mail Transfer Protocol (SMTP), Simple Network Management Protocol (SNMP), la posta elettronica, telnet, file transfer protocol (FTP). - Progetto topologico di una rete di calcolatori. Progettazione topologica, cenni alla teoria dei grafi, matrice di traffico, matrice di costo e assegnazione di flusso, affidabilità di una rete, analisi di connettività, reti di flusso, taglio minimo e capacità del taglio in una rete, algoritmo di Ford-Fulkerson, flusso massimo, connettività d’arco, percorsi arco-disgiunti, connettività di nodo, esempi. - Analisi delle prestazioni di una rete di calcolatori. Cenni alla teoria delle code, definizione di Kendall, sistemi a nascita e morte, catene di Markov, intensità del traffico, approssimazione di indipendenza di Kleinrock, numero medio di pacchetti in una rete, ritardo medio di pacchetto, Teorema di Little, esempi ed esercizi. - Approfondimenti. Reti ISDN e ISDN a larga banda. Reti ATM. Modalità d’esame L’esame si compone di una prova scritta e di una prova orale. La prova scritta richiede di svolgere esercizi inerenti gli argomenti del corso. La prova orale consiste nella discussione di alcuni degli argomenti trattati a lezione. programmi - informatica triennale Bibliografia Testi consigliati: - A.S. T ANEMBAUM , Computer Networks, (quarta edizione), Addison-Wesley, pubblicato in Italia da Pearson Education Italia, 2003. Testi di approfondimento: - J. KUROSE, K. ROSS, Internet e Reti di Calcolatori, seconda edizione, McGraw-Hill, 2003 - D. COMER, Internetworking con TCP/IP, Addison-Wesley, pubblicato in Italia da Pearson Education Italia, 2002. - M. BALDI, P. NICOLETTI, Internetworking, McGraw-Hill, 1999. - R. ADINOLFI, Reti di Computer, seconda edizione, McGraw-Hill, 1999. - F. HALSALL, Reti di Calcolatori e Sistemi Aperti, quarta edizione, Addison Wesley, 1998. RETI DI CALCOLATORI E SICUREZZA Docente Prof. Marino Miculan Crediti 6 Finalità del corso L’obiettivo del corso è quello di studiare ed approfondire i concetti principali relativi al funzionamento delle reti wireless e alla sicurezza delle reti. In particolare, lo studente dovrà acquisire competenze specifiche riguardo le caratteristiche principali e il funzionamento delle reti wireless. Dovrà inoltre acquisire competenze specifiche nell’ambito dei principali requisiti di sicurezza di una rete di calcolatori, della progettazione di adeguate politiche di sicurezza e acquisire conoscenze sui principali protocolli per la sicurezza di rete. 109 Programma Reti locali wireless. Classificazione, Spread Spectrum (Direct Sequence, Frequency Hopping), Reti IEEE 802.11. Lo strato fisico e MAC di IEEE 802.11. Bluetooth: architettura ed applicazioni. Sicurezza nelle reti di calcolatori. Livelli di sicurezza, diagnostica e monitoraggio di una rete, protezione delle connessioni alla rete, autenticazione, integrità, riservatezza, paternità. Principio di sicurezza minima. Valutazione della sicurezza di un sistema. Orange book Cenni di crittografia. Crittoanalisi, cifrari per trasposizione, cifrari monoalfabetici e polialfabetici. Cifrari poligrafici e cifrari composti. Crittografia moderna. Crittografia contemporanea. Algoritmi a chiave segreta: DES, IDEA e 3DES, AES. Algoritmi a chiave pubblica: RSA. Esempi. Firma digitale e gestione delle chiavi. Sicurezza nei protocolli di rete. Sicurezza a livello fisico nelle reti wireless: WEP, WPA. Sicurezza livello di rete: protocollo IPsec. Definizione e progettazione di uno screening router, packet filtering. Virtual Private Network (VPN). Sicurezza a livello di trasporto: protocolli SSL e TLS. Sicurezza a livello di applicazione: Protocollo SET. Difesa perimetrale di una rete. Teoria e architetture dei firewall: multihomed host, bastion host, DMZ. Proxy server. Esempio di un firewall. Server e reti civetta. Sistemi di Intrusion Detection (IDS) e real-time IDS. Sistemi di prevenzione dell’intrusione (IPS). Attacchi esterni ad una rete. Classificazione degli attacchi ad una rete. Le porte di comunicazione ed i relativi servizi. Tecniche di raccolta delle informazioni (footprinting, enumerazione delle reti, interrogazione dei DNS) e scansioni (ping scanning, port scanning, etc.). Attacchi di tipo DOS. Attacchi basati sulla predizione del numero di sequenza e dirottamento di sessione TCP. Attacco 110 programmi - informatica triennale man-in-the-middle. Strumenti di attacco di un hacker. Difesa di una rete. Difesa contro l’acquisizione di informazioni. Difesa contro i tentativi di ingresso non autorizzato. Modelli per la definizione di un piano di sicurezza. Modalità d’esame L’esame si compone di una prova scritta e di una prova orale facoltativa. La prova scritta richiede lo svolgimento di alcuni esercizi inerenti gli argomenti del corso e la risposta ad alcune domande teoriche. Bibliografia - A.S. T ANEMBAUM , Reti di calcolatori, quarta edizione, Addison-Wesley, pubblicato in Italia da Pearson Education Italia, 2003. - W. S TALLINGS , Crittografia e sicurezza delle reti, McGraw-Hill, 2004. - W.R. C H E S W I C K , S.M. B E L L O V I N , A. RUBIN, Firewalls e sicurezza in rete, Pearson-Addison Wesley, 2003. Propedeuticità Reti di Calcolatori. RICERCA OPERATIVA Docente Prof. Paolo Serafini Crediti 6 Pagina del corso http://www.dimi.uniud.it/~serafini/ROI NF0607.html Finalità del corso La Ricerca Operativa si occupa di problemi di gestione efficiente affrontati con modelli matematici e algoritmici. Il corso vuole fornire allo studente gli strumenti principali per progettare un modello a partire da un problema reale e la necessaria comprensione delle strutture matematiche e algoritmiche dei modelli, con particolare riguardo alla programmazione lineare. A questo fine vengono presentati doversi modelli e per la maggior parte i modelli sono risolti usando Excel o pacchetti di programmazione lineare. Programma - Introduzione alla programmazione lineare. Modellizzazione: identificazione delle grandezze, dei vincoli e degli obiettivi. Ottimi di Pareto. Esempio della dieta: modello di programmazione lineare. Analisi di sensibilità. Identificazione di ulteriori obiettivi. Frontiera efficiente. Vincoli di interezza. Proprietà della programmazione lineare Struttura geometrica. Vertici e soluzioni di base. Problema duale. Complementarità. Cenni del metodo del simplesso. Metodo branch-andbound per variabili intere. - Modelli di percorsi 1. Programmazione Dinamica. Principio di ottimalità. Equazione ricorsiva. Cammini minimi (Bellman-Ford, Dijkstra, Floyd-Warshall). - Modelli di percorsi 2. Cammini minimi con capacità: reti di flusso. Flussi di costo minimo. Massimo flusso. Minimi tagli. - Modelli di percorsi 3. Problema del commesso viaggiatore (formulazione con piani di taglio). Circuiti Euleriani. Accoppiamento. Minimi alberi di supporto (Kruskal e Prim). - Modelli di allocazione. Assegnamento. Knapsack. Bin packing. Modelli di turnazione. Generazione di colonne: cutting stock, massimo flusso. - Schedulazione. Schedulazione a risorsa infinita: PERT. Schedulazione a risorsa finita: problemi a una macchina, macchine parallele, flow-shop, job-shop e openshop. Il piano dettagliato delle lezioni si trova al sito http://www.dimi. uniud.it/~serafini/ROINF0607.html programmi - informatica triennale Modalità d’esame Esame orale. Bibliografia - Dispense disponibili on-line. - P. SERAFINI, Ottimizzazione, Zanichelli, Bologna 2000. - L. SCHRAGE, LINDO: An Optimization Modeling System, Palo Alto Scientific Press, 1991. N.B.: Informazioni sulla Ricerca Operativa e l’Ottimizzazione si trovano anche al sito dell’INFORMS (Institute for Operations Research and Management Science) http://www.informs.org/ oppure al sito del CIRO (Centro Interuniversitario in Ricerca Operativa) http://www.disp.uniroma2.it/ciro/index. html. SISTEMI OPERATIVI Docente Dott. Ivan Scagnetto Prof. Marina Lenisa Crediti 11 Programma 1. Aspetti generali: ruolo del sistema operativo (SO) in un sistema di calcolo; evoluzione dei SO; tipi di SO (batch/interattivi, time-sharing/dedicati, real-time, paralleli, distribuiti, sistemi embedded...); richiami sull’architettura di un sistema di calcolo (livelli di esecuzione delle istruzioni, gestione delle interruzioni, gestione dell’I/O); il SO come gestore di risorse: processi, memoria, dispositivi, file, interazione con l’utente; i l SO come macchina virtuale: il nucleo, le chiamate di sistema; struttura di un sistema operativo (monolitico, a livelli, macchine virtuali, exokernel, microkernel client-server); esempi: Unix tradizionale, 111 Linux, Solaris, Mach, Windows NT. 2. Processi e Thread: il concetto di processo: definizione e ruolo, il descrittore di processo; la manipolazione dei processi: la creazione/terminazione di un processo, grafo degli stati di un processo, la commutazione di contesto, lo scheduling di processi; i processi leggeri (threads): modello a thread, thread a livello utente vs. a livello kernel, soluzioni ibride, thread pop-up, passaggio da thread singolo a multithread; ruolo del nucleo: gestione interruzioni e traps, operazioni di wait e signal su condizioni di attesa; lo scheduling dei processori: concetti di base, criteri di scheduling, algoritmi di scheduling, scheduling di sistemi a multiprocessore, scheduling real-time. 3. Programmazione concorrente: race condition e sezioni critiche; mutua esclusione; sincronizzazione tra processi e memorie condivise; scambio messaggi; primitive di comunicazione e sincronizzazione: semafori, mutex, monitor, scambio di messaggi; problemi classici: produttore/consumatore, filosofi, lettori/scrittori, barbiere; stallo: definizione, modelli per lo stallo, identificazione, prevenzione. 4. Gestione della memoria: gerarchie di memoria: registri, cache, memoria centrale, memoria virtuale, dischi; il binding degli indirizzi, spazi logici e fisici di indirizzamento, la rilocazione; tecniche di allocazione: contigua, la paginazione, la segmentazione; la frammentazione; la memoria virtuale: paginazione a richiesta, algoritmi di sostituzione delle pagine, il thrashing, il modello Working set. 5. Input/Output: tipi di dispositivi di I/O principi dell’hardware di I/O; gestione a basso livello dei dispositivi di I/O - PIO, DMA, DVMA; il trattamento delle interruzioni, i driver di I/O - I/O bloccante, non bloccante, asincrono - interfaccia per le applicazioni; i dischi - algoritmi di schedulazione dei dischi. 112 programmi - informatica triennale 6. Il file system: il file, attributi, operazioni, struttura fisica; metodi di accesso sequenziale, diretto, a indice; le directory e la struttura logica di un file system: piatta, gerarchica, a grafo; la protezione; la consistenza; implementazione dei file system: organizzazione, allocazione e gestione spazio libero, backup e restore; struttura di un disco: gestione delle partizioni, gestione delle aree di swap; il caso di Unix: UFS, EXT2. Tabelle in kernel. Il Virtual File System. Risoluzione dei nomi in inode; operazioni su dischi, partizioni e file system; cenni ai journaled file system. 7. Sistemi con processori multipli: concetti generali - processori strettamente/debolmente accoppiati; multiprocessori - aspetti hardware, software. Limitazioni; multicomputer - aspetti hardware - comunicazione a basso livello, a livello utente - RPC - memoria condivisa distribuita; sistemi distribuiti - servizi e protocolli di rete, e distribuiti - il modello client/server, protocolli - modello ISO/OSI, la suite TCP/IP - middleware di comunicazione; modelli distribuiti basati sulla migrazione dei dati, della computazione, dei processi; su coordinazione distribuita; chiamate di procedure remote (RPC) - esempio di servizio distribuito: NFS. 8. Cenni a problematiche di sicurezza. SISTEMI ESPERTI Docente Prof. Carlo Tasso Crediti 6 Finalità del corso Obiettivo del corso è l’introduzione alle tecniche di base per la realizzazione dei sistemi basati sulla conoscenza e dei sistemi esperti, ed in particolare i mecca- nismi per la rappresentazione della conoscenza e gli algoritmi di ragionamento, i sistemi per il ragionamento non monotono, e le tecniche di modellizzazione concettuale. Vengono altresì trattate ed analizzate sperimentalmente alcune applicazioni significative nel campo della ricerca e filtraggio di informazioni su Web, affrontato con tecniche tradizionali e con tecniche di intelligenza artificiale. Programma Introduzione alle problematiche dell’Intelligenza Artificiale. Definizione di Sistema Basato sulla Conoscenza. Rappresentazione della Conoscenza e Algoritmi di ragionamento. Le reti semantiche. I frame. Le regole di produzione. Grafi Concettuali. Sistemi per il Ragionamento Non Monotono. ATMS. JTMS. Architetture a Blackboard. Tecniche di modellizzazione concettuale. Classificazione Euristica e Task Generici. Interfacce Intelligenti e Modellizzazione dell’Utente nei Sistemi di Reperimento e Filtraggio dell’Informazione su Web. Esercitazioni: Una serie di esercitazioni in laboratorio sarà dedicata all’approfondimento delle tematiche applicative relative alla ricerca di informazioni si Web. Modalità d’esame Sono previsti: lo svolgimento di un seminario da parte di ciascuno studente nell’ultima settimana del corso su una tematica rilevante ed un esame orale. Bibliografia - Materiale didattico (slide e testi esercitazioni) disponibile su http://twm.dimi. uniud.it/ - G. GUIDA, C. TASSO, Design and Development of Knowledge-Based Systems, J. Wiley, 1994. - D. FUM, Intelligenza Artificiale, Il Mulino, 1994. - C. TASSO, P. OMERO, La Personalizzazio- programmi - informatica triennale ne dei Contenuti Web - e-commerce, i-access, e-government, Franco Angeli, Milano, 2002. SISTEMI INFORMATIVI Docente Prof. Carlo Tasso Prof. Maurizio Pighin Crediti 6 Finalità del corso Obiettivo del corso è la definizione delle problematiche informatiche nell’ambito di un’organizzazione (pubblica o privata) che intenda automatizzare i propri sistemi informativi. Si inquadrano le competenze del responsabile Sistemi Informativi e/o di chi sviluppa software per l’organizzazione, analizzando le problematiche applicative che dovrà affrontare, con uno sguardo ai risvolti tecnologici e ai rapporti di fornitura. Programma Introduzione: Concetti generali sull’informatica aziendale - Impatto dell’informatica nelle aziende - Impatto macroeconomico dell’ICT. Struttura dell’azienda e del suo sistema informativo - Concetto di esigenza informativa - Scomposizione del sistema informativo - Portafoglio applicativo: sistemi operazionali e istituzionali - Sistema informativi direzionale Varie categorie di sistemi informativi: TPS, Transaction Processing System; MIS, Management Information System; DSS, Decision Support System; ESS, Executive Support System - Introduzione al Knowledge Management, agli strumenti ICT tradizionali ed avanzati per il Knowldge Management - Costi e Performance: Meccanismi di misurazione generali. Valutazione di Sistemi Informativi. Ana- 113 lisi costi benefici. Analisi del rischio. Gestione di un Progetto Informatico: Organizzazione risorse e processi decisionali. Metodologie di gestione e pianificazione di progetto. Tecniche di Project Management. Software e Hardware Selection. Sistemi operazionali - Finalità dei sistemi operazionali - Informazione operativa - Rappresentazione della realtà Potenzialità informatica - Composizione dei sistemi informativi operazionali Scomposizione per i sistemi operazionali di base - Sistemi di supporto primario all’ERP - Estensioni dell’ERP - Sistemi tecnici ERP: l’area amministrativa, logistica, vendite, acquisti, produttiva - Obiettivi - Strutture di base - Procedure di base - Flussi evoluti Sistemi Aziendali avanzati: E-Commerce, CRM, DataWarehouse, DataMining, Business Intelligence. Laboratorio Avanzato di Sistemi Informativi Analisi di un case-study industriale. Modalità d’esame L’esame consiste in un progetto di gruppo su problematiche reali, seguito da un colloquio orale. In alternativa è prevista una prova scritta/orale sugli argomenti del programma. Bibliografia Libri di testo: - G. BRACCHI, C. FRANCALANCI, G. MOTTA, Sistemi Informativi e aziende in rete, McGraw-Hill Italia, Milano, 2001. - M. PIGHIN, A. MARZONA, Sistemi Informativi Aziendali - Struttura e Applicazioni, Pearson Education Italia, 2005 Ulteriori testi di consultazione: - M. DE MARCO, Sistemi Infomativi Aziendali, Franco Angeli Edizioni, Milano 2000. - G. BRACCHI, G. MOTTA, Processi Aziendali e Sistemi Informativi, Franco Angeli edizioni, Milano 2000. - P.F. CAMUSSONE, Il Sistema Informativo Aziendale, Etas 2000. 114 programmi - informatica triennale - D. AMOUR, E-Business (R)Evolution, Tecniche Nuove, 2000. STORIA DELL’INFORMATICA Docente Dott. Corrado Bonfanti Dott. Paolo Giangrandi Crediti 3 Finalità del corso Il corso fornisce una panoramica generale sulle tappe fondamentali che hanno caratterizzato la storia degli strumenti di calcolo, approfondendo in particolare l’evoluzione delle tecnologie del computer elettronico moderno. Si evidenzia come gli attuali computer non siano il frutto del lavoro di un singolo inventore e di una singola idea geniale, bensì il risultato dei contributi di moltissimi studiosi e sperimentatori appartenenti a diverse discipline; contributi che, nelle varie epoche, hanno dato luogo a diversi filoni concettuali e tecnologici, talvolta complementari e altre volte divergenti. Programma - Gli antichi strumenti di calcolo. L’era dei calcolatori meccanici: calcolatori analogici e calcolatori digitali. - Macchine programmabili: automi meccanici, telaio Jacquard, strumenti musicali automatici, Charles Babbage. - I sistemi meccanografici a schede perforate. - Le radici concettuali del computer: dal programma di Leibniz alle macchine di Turino. - I pionieri del calcolo elettronico, l’architettura di von Neumann e i primi calcolatori a programma memorizzato. - L’evoluzione delle tecnologie: dal mainframe al personal computer. - Gli ambienti applicativi e l’evoluzione del software. - Oltre il calcolo scientifico: sviluppo dell’industria e del mercato in uno scenario mondiale. - Reti telematiche: dalle origini a Internet. - L’informatica in Italia. Bibliografia - Appunti delle lezioni. - M.R. WILLIAMS, A History of Computing Technology, Prentice-Hall, 1985. - M. D A V I S , Il calcolatore universale, Adelphi, 2003. - C. B ONFANTI , Mezzo secolo di futuro. L’informatica italiana compie cinquant’anni, Mondo Digitale, n. 3/2004. Durante il corso verranno forniti anche gli indirizzi di diversi siti web dove sono reperibili numerosi documenti multimediali sulla storia dell’informatica. 115 programmi - TWM triennale CORSO DI LAUREA IN TECNOLOGIE WEB E MULTIMEDIALI ALGORITMI E STRUTTURE DATI Docente Prof. Carla Piazza Crediti 10 Finalità del corso Il corso si propone di introdurre ai fondamenti della teoria degli algoritmi, delle strutture dati e all’analisi della complessità computazionale di programmi. Il principale obiettivo del corso è presentare le principali problematiche e tecniche relative al disegno e alla progettazione di algoritmi. Ci si propone inoltre di introdurre i metodi di base utilizzati per stabilire la complessità di programmi e i criteri utilizzati per scegliere e progettare strutture dati. Dopo aver superato l’esame si ritiene che lo studente sia in grado di risolvere algoritmicamente problemi classici e scegliere motivatamente le strutture dati adatte ad ottenere soluzioni computazionalmente efficienti. Sia in grado di porre limiti superiori sufficientemente precisi e indipendenti dall’architettura alla complessità computazionale di programmi di media difficoltà. Programma 1. Introduzione e nozioni preliminari Introduzione. Elementi di logica e teoria degli insiemi. Alberi e grafi. Matematica discreta e analisi asintotica. Modelli di calcolo per la determinazione della complessità degli algoritmi. Problemi ricorsivi e aspetti algoritmici. 2. Algoritmi di ricerca e ordinamento Algoritmi primitivi di ordinamento e ricerca: selection-sort, insertion-sort, bubble-sort, heap-sort. Algoritmi ricorsivi: quick-sort, mergesort. Analisi della complessità e limiti inferiori. Algoritmi lineari non basati sul confronto: counting-sort, radix-sort, bucket-sort. Determinazione dell’elemento medio. 3. Strutture dati Strutture dati primitive: liste, pile, code, heap. Algoritmi e strutture dati per la gestione e manipolazione di insiemi: tabelle hash, alberi di ricerca, bilanciamento, red-black alberi e B-alberi. Algoritmi e strutture dati per il problema Union-Find. 4. Algoritmi sui grafi Tecniche di rappresentazione di grafi orientati e non orientati. Algoritmi di visita in ampiezza e profondità. Algoritmi di visita su alberi. Calcolo delle componenti fortemente connesse. Algoritmi per la determinazione di topological-sort, minimum spanning tree (Prim e Kruskal), cammino minimo da una sorgente (Dijkstra, Bellmann-Ford) cammini minimi da sorgenti multiple (Floyd-Warshall, Johnson). Bibliografia - Appunti delle lezioni. - T.H. CORMEN, C.E. LEISERSON, R.L. RIVEST, Introduction to Algorithms, second edition, MIT Press, 2001 (anche in italiano). Altri testi utili: - A.V. AHO, J.E. HOPCROFT, J.D. ULLMAN, Data Structures and Algorithms, AddisonWesley, 1983. - A.V. AHO, J.E. HOPCROFT, J.D. ULLMAN, The Design and Analysis of Computer Algorithms, Addison-Wesley, 1974. - D.E. KNUTH, Selected Papers in Computer Science Cambridge, University Press, 1996. - R.E. TARJAN, Data Structures and Network Algorithms, SIAM, 1983. ANALISI MATEMATICA Docente Prof. Lorenzo Freddi 116 programmi - TWM triennale Crediti 12 Finalità del corso Fornire i concetti e le tecniche di base del calcolo infinitesimale e integrale in modo conciso e adatto alle applicazioni. La teoria viene presentata con un buon livello di rigore formale negli enunciati e in quelle dimostrazioni che si decide di svolgere in dettaglio. Si addestrano gli studenti al calcolo, innanzi tutto con carta e penna, ma anche se possibile usando il computer. Un’enfasi del corso è nel familiarizzare gli studenti col significato intuitivo geometrico o dinamico dei concetti di limite, derivata e integrale, in modo che venga loro spontaneo applicare tali strumenti anche a problemi che non si presentino matematicamente già formalizzati. Programma Numeri reali, funzioni, limiti e continuità, derivate, integrali, serie, applicazioni. Modalità d’esame Ci sono due modi acquisire i crediti: il modo principale consiste in 2-3 compitini scritti durante l’anno, tipicamente senza orale; l’altro modo consiste in un singolo scritto, più un orale negli appelli fra giugno e settembre; i dettagli del regolamento saranno comunicati dal docente durante il corso e resi disponibili in rete. Bibliografia - P. B AITI , L. F REDDI , Corso integrato di Matematica per le Scienze Naturali e Applicate, Forum Editrice Universitaria Universitaria Udinese (disponibile in settembre). - Dispense a cura del docente. ARCHITETTURA DEGLI ELABORATORI Docente Prof. Pietro Di Gianantonio Crediti 8 Finalità del corso 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-decodeexecute, 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 programmi - TWM triennale 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. 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. Bibliografia Testo adottato: - A.S. TANENBAUM, Architettura dei calcolatori, un approccio strutturato, Pearson, 2006. ASPETTI SOCIALI ED ETICA PROFESSIONALE Docente Dott. Antonio Piva Crediti 3 Programma Gli obiettivi principali del corso sono: rendere lo studente consapevole del contesto sociale e delle implicazioni sociali ed etiche conseguenti alle innovazioni tecnologiche nel campo dell’informatica; rendere lo studente consapevole delle implicazioni deontologiche della propria attività professionale, nei confronti dei clienti e utenti, e responsabilizzarlo sulle conseguenze a tutti i livelli del proprio operato. 117 In particolare il corso prevede la trattazione dell’informatica giuridica ed il Diritto dell’ICT con particolare attenzione alle innovazioni apportate da internet. Verranno trattate le seguenti tematiche: - liberalizzazione delle telecomunicazioni a livello internazionale e nell’ordinamento italiano; - la privacy e la sicurezza: nozione e sviluppo di privacy: dalle linee guida dell’OCSE del 1980 alla direttiva europea, la normativa italiana in materia di dati personali, le disposizioni applicabili alla rete, gli obblighi per gli Internet Service Provider, la gestione della sicurezza, le misure minime ed idonee sulla sicurezza, il documento programmatico della sicurezza, le figure giuridiche previste; - la tutela della segretezza della posta elettronica nell’ordinamento italiano e negli altri ordinamenti; - la proprietà intellettuale e il diritto d’autore: dalle origini del diritto d’autore alla proprietà intellettuale nella società dell’informazione; la normativa internazionale, europea ed italiana in materia. La tutela giuridica del software: Il diritto d’autore sul software e la sua brevettabilità; la durata del diritto, i beni oggetto del diritto in particolare il software e le banche dati. La tutela delle banche dati e delle opere multimediali; - i Domain Names di internet e gli aspetti giuridici; le procedure di registrazione ed il grabbing. Il DN ed il marchio, analisi di alcuni casi di protezione giuridica ed alcune decisioni dei tribunali italiani; le autorità preposte alla registrazione ed al controllo degli accessi; la risoluzione dei conflitti; - l’utilizzo dei link nei Web ed alcuni casi giuridici; - la firma digitale e la carta d’identità elettronica; il documento elettronico e la sua validità giuridica nell’ordinamento italiano; la crittografia: storia, evoluzione, tecniche di sicurezza sulla rete; la riservatezza, l’integrità, l’autenticazione ed il non 118 programmi - TWM triennale ripudio; le certification autority riconosciute dal CNIPA ed i certificati elettronici; le normative italiane ed Europee sulla firma elettronica; firma autografa e digitale a confronto; la data certa nei documenti elettronici. Accenni sulla Carta d’Identità elettronica e la Posta elettronica certificata. L’Informatica nella Pubblica Amministrazione: il piano di EGovernment ed il nuovo c o d i c e dell’amministrazione digitale; - il commercio elettronico; le direttive dell’Unione Europea in materia; i contratti mediante Internet, i contratti ad oggetto informatico ed i contratti Telematici; la tutela dei consumatori in Internet e le normative di riferimento per i contratti conclusi fuori dai locali commerciali; La pubblicità in rete: definizioni e disciplina legale, i banner, lo spamming nell’ordinamento italiano; - la criminalità informatica e il diritto penale in internet; la tutela dei beni informatici, la violazione del domicilio informatico, l’accesso abusivo e gli hackers, la normativa penale di riferimento; - la ricerca delle informazioni giuridiche; - la qualità (facoltativo): storia ed evoluzione della qualità, dalle norme ISO 9000:1994 alle Vision 2000; la loro applicabilità alle più diverse situazioni ed organizzazioni, la terminologia, il Sistema di Gestione della Qualità, i principi della qualità, i requisiti delle norme, l’approccio ai processi, il manuale, le verifiche ispettive, la gestione delle non conformità, delle azioni preventive e correttive, la soddisfazione del cliente, risorse umane ed il miglioramento continuo. BASI DI DATI Docente Dott. Massimo Francheschet Crediti 6 Programma Parte 1 - Concetti di base Ruolo e funzionalità di una base di dati; astrazioni sui dati; modelli concettuali, logici e fisici dei dati; istanze e schemi; indipendenza logica e fisica dei dati; linguaggi per la definizione e la manipolazione dei dati; i sistemi per la gestione delle basi di dati (DBMS); amministratore e utenti di una base di dati; il dizionario dei dati; la struttura generale di una base di dati. Parte 2 - Il modello Entità/Relazioni (ER) Metodologie e modelli per il progetto: il ciclo di vita dei sistemi informativi e le metodologie di progettazione di basi di dati; i costrutti di base del modello concettuale Entità/Relazioni (ER): tipi e istanze di entità e relazioni, attributi (semplici, composti, a singolo valore, a valore multiplo, derivati) e chiavi (identificatori interni ed esterni, le nozioni di entità debole, entità proprietaria, chiave parziale e relazione identificante), dominio di un attributo e utilizzo di NULL, vincoli associati alle relazioni (partecipazione e rapporto di cardinalità), relazioni ricorsive e ruoli, relazioni di grado superiore al secondo, i diagrammi ER; documentazione di schemi ER: tecniche di documentazione, regole aziendali (vincoli di integrità e regole di derivazione); costrutti avanzati del modello ER: specializzazioni e categorie. Modellazione dei dati in UML: i diagrammi delle classi (classi, associazioni, molteplicità, identificatori, generalizzazioni). Parte 3 - Il modello relazionale, l’algebra relazionale e il calcolo relazionale Il modello relazionale: nozioni di base, definizione delle relazioni, definizione dei vincoli sulle relazioni (che coinvolgono un’unica relazione o più relazioni), operazioni di aggiornamento delle relazioni; l’algebra relazionale: le operazioni di base, interrogazioni in algebra relazionale, operazioni addizionali, ottimizza- 119 programmi - TWM triennale zione algebrica, i limiti dell’algebra relazionale; il calcolo relazionale: nozioni di base, calcolo relazionale dei domini e delle tuple, il legame con l’algebra relazionale. Parte 4 - Il linguaggio SQL La definizione dei dati in SQL; interrogazioni in SQL; istruzioni di aggiornamento in SQL; altre definizioni dei dati in SQL (vincoli d’integrità generici, viste, specifica di vincoli di addizionali sotto forma di asserzioni); SQL e sicurezza (controllo discrezionale degli accessi basato sui privilegi); il DBMS MySQL. Parte 5 - La progettazione delle basi di dati La progettazione concettuale dei dati: raccolta e analisi dei requisiti, criteri generali di rappresentazione, strategie di progetto, qualità di uno schema concettuale, strumenti CASE per la progettazione dei dati; la progettazione logica dei dati: analisi delle prestazioni su schemi ER, ristrutturazione di schemi ER (analisi delle ridondanze, eliminazione delle gerarchie, partizionamento /accorpamento di entità e/o relazioni, scelta degli identificatori principali), traduzione del modello ER nel modello relazionale; la teoria della progettazione delle basi di dati relazionali: dipendenze funzionali, ragionamento sulle dipendenze funzionali, scomposizione di relazioni, scomposizioni lossless-join, scomposizioni che conservano le dipendenze, forme normali per gli schemi di relazione (1NF, 2NF, 3NF e BCNF), scomposizioni losslessjoin in BCNF, scomposizioni in 3NF che conservano le dipendenze. Bibliografia Testi adottati: - P. A TZENI , S. C ERI , S. P ARABOSCHI , R. TORLONE, Basi di Dati: Modelli e Linguaggi di Interrogazione, (seconda edizione), McGraw-Hill, 2006. - R. ELMASTRI, S. NAVATHE, Fundamentals of Database Systems, (5th edition), Pearson International Education / Addison Wesley, 2007. In alternativa: - R. ELMASTRI, S. NAVATHE, Sistemi di basi di dati. Fondamenti, (quarta edizione), Pearson Education Italia / Addison Wesley, 2004. Altri testi di riferimento: - J.D. ULLMAN, Principles of Databases and Knowledge-Base Systems (volume I), Computer Science Press, 1988. - S. ABITEBOUL, R. HULL, V. VIANU, Foundations of Databases, Addison-Wesley, 1995. - A. ALBANO, G. GHELLI, R. ORSINI, Fondamenti di basi di dati, Zanichelli, 2005. - C.J. Date, An Introduction to Databases Systems, (7 th edition), Addison-Wesley, 2000. - SILBERSCHATZ, H.F. KORTH, S. SUDARSHAN, Database System Concepts, (4th edition), McGraw-Hill, 2002. - L. WELLING, L. THOMSON, MySQL Tutorial, Pearson Education Inc., 2004. COMMERCIO ELETTRONICO Docente Dott. Roberto Pugliese Crediti 8 Finalità del corso 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, stra- 120 tegie 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. ‘Brickand-mortar’ vs. EC. Cenni storici ed evoluzione tecnologica (EFT, EDI, VAN, Internet, Intranet, Extranet). Business models. Esempi di business models innovativi. Supply chain. Tipologie di portali. Discipline che contribuiscono all’EC. - Tipologie di Commercio Elettronico. Business-to-Business (B2B). Business-toConsumer (B2C). Consumer-to-Consumer (C2C). Intra-business. Altre tipologie. Casi di studio stranieri ed italiani. Emarket. E-exchange. Dynamic pricing. Interorganizational Information Systems. Mobile Commerce. - Impatto dell’e-commerce sulle aziende e sulle organizzazioni. strategic systems, Total Quality Management (TQM), Justin-time (JIT), Business Process Re-engineering (BPR), Alleanze, uso dell’Information Technology (IT) ed EC. Vantaggi e svantaggi del commercio elettronico. Caso di studio dettagliato: le agenzie viaggi ed EC. La digitalizzazione di prodotti, servizi e processi. Disintermediazione e reintermediazione. Effetti sulle attività commerciali tradizionali. - Applicazioni Business-to-consumer (B2C). Caso di studio dettagliato: la vendita di libri on-line. Caratteristiche e funzionalità necessarie in un sito B2C. Il processo d’acquisto. Il comportamento dei consumatori nel processo d’acquisto. Ausili on-line al processo d’acquisto. Etailing business models. Esempi di busi- programmi - TWM triennale ness model B2C, Direct Marketing. Strategie ‘Click-and-mortar’. Channel conflict. - Internet Marketing. Marketing plan. Marketing vs. Merchandising. Ruolo delle ricerche di mercato nel commercio elettronico. Metodi per le ricerche di mercato tradizionali ed on-line. Segmentazione. Il comportamento dei consumatori on-line: tipologie. Peculiarità della situazione italiana. Caratteristiche personali e demografiche degli utenti Internet. Strategie di personalizzazione e marketing one-to-one. - Customer Relationship Management (CRM). Tipi di funzionalità offerte ai clienti. Strumenti di servizio ai clienti. Uso di Agenti Intelligenti nelle diverse fasi del processo d’acquisto. Call center/Teleweb. - Internet Advertising. Scopi e motivazioni per la pubblicità su Internet. Ad views, impressions. Clickthrough ratio. CPM. Tipi di banner. Targeted (one-to-one) advertising. Metodi di advertisement. Strategie pull e push. Eventi e promozioni on-line. Valutare l’efficacia della pubblicità su Internet. I cataloghi on-line. - Applicazioni Business-to-business (B2B). Company-centric B2B. From Traditional to Internet-Based EDI. E-Marketplaces and B2B. Extranets. B2B Support Services. - Altri tipi di applicazioni del Commercio Elettronico. Consumer-to-Consumer (C2C). Dynamic Pricing, Auction. Service Industries, Online Publishing, and Knowledge Dissemination. Intrabusiness, e-Government. E-Communities. - Mobile Commerce. Wireless and mobile technologies. M-commerce applications. Mobile marketing, advertising and customer service. Location-based commerce. Current limitations of M-commerce. - Realizzazione di servizi di Commercio Elettronico. Infrastructure. Tools. Page design. Web programming. E-Commerce 121 programmi - TWM triennale Security. Electronic Payment Systems. Order Fulfillment, Logistics, and Supply Chain Management. - Interfacce utente per applicazioni di Commercio Elettronico. Linee guida. Progetto dell’interfaccia. Recenti tendenze evolutive: interfacce per one-to-one ecommerce, mobile commerce, experiential e-commerce. Modalità d’esame L’esame si compone di una prova scritta. Bibliografia - E. TURBAN, J. LEE, D. KING, M. WARKENTIN, H.M. CHUNG, Electronic Commerce: a Managerial Perspective, 2nd edition, Prentice-Hall, 2002. - G.P. SCHNEIDER, J.T. PERRY, Electronic Commerce, 2 nd edition, Thomson Learning, 2001. COMUNICAZIONE EFFICACE Docente Prof. Angelo Marzollo Crediti 1 Finalità del corso Il corso (pari ad un credito formativo) è mutuato da quello di Laboratorio di Tecniche di Comunicazione, e coincide con le prime otto lezioni di quest’ultimo. 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 Si analizzeranno le capacità comunicative individuali così come esse emergono in contesti collettivi (ad esempio lettura e presa di parola in pubblico) ed interperso- nali (ad esempio preparazione ed esposizione del proprio curriculum vitae, incontri e colloqui di lavoro, ecc.). 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. 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. Gli studenti che superino l’esame di Laboratorio di Tecniche di Comunicazione, le cui prime otto lezioni affrontano gli argomenti sopra descritti, sono esentati dal sostenere separatamente l’esame di Comunicazione Efficace, ottenendone automaticamente l’idoneità. 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. CORSO INTRODUTTIVO Docente Dott. Maurizio Trombetta Finalità del corso 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. 122 programmi - TWM triennale Programma Argomenti trattati: 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. Modalità d’esame Test scritto. Bibliografia Testo consigliato: - M. T ROMBETTA , Corso introduttivo di matematica, Forum, Udine, 2004. CULTURA D’IMPRESA vigionamento al post-vendita: l’e-business e l’e-commerce; vengono illustrate, in particolare, le prospettive nel campo della gestione dei processi decisionali, della logistica, della catena del valore, dell’integrazione dei database interni, del marketing, dei servizi di approvvigionamento (e-procurement) e di quelli alla clientela (CRM). Infine vengono trattati argomenti tipicamente aziendali, al fine di contribuire alla comprensione di cosa è una azienda, di quali sono alcuni procedimenti topici e di come ci si lavora; argomenti trattati in particolare: le Società secondo il Codice Civile; il Project Management per la pianificazione ed il monitoraggio dei progetti; il Sistema di Qualità; i profili professionali nel settore ICT con la necessità indotta di una formazione continua. Docente Ing. Carlo Alberto Rolla FISICA Crediti 1 Docente Dott. Hans Grassmann Finalità del corso Il Corso si propone di fornire agli studenti una panoramica del mondo aziendale dal punto di vista delle tecnologie ICT (Information e Communication Technologies), e dell’impatto che queste tecnologie hanno sull’organizzazione aziendale, come strumento essenziale a supporto della necessaria innovazione. Partendo da una disanima dell’evoluzione tecnologica e del conseguente ruolo dell’ICT nell’Impresa, da considerazioni di illustri personalità sull’impatto che l’ICT ed Internet, in particolare, hanno sulle Imprese, vengono esaminati alcuni dei servizi che sono stati resi disponibili (telelavoro, sviluppo cooperativo, e-learning, ecc.) e due dei principali sistemi informativi a disposizione delle Imprese, per gestire tutto il ciclo aziendale, dall’approv- Crediti 3 Finalità del corso Gli obiettivi didattici del corso sono due: (a) Far comprendere agli studenti le leggi che descrivono il moto di un punto materiale e la propagazione della luce (ottica geometrica). (b) Addestrare gli studenti a risolvere semplici problemi. Programma - Cinematica: introduzione. Moto di un punto materiale: vettori posizione, velocità, accelerazione. Moto rettilineo: caduta libera dei gravi; caduta in un mezzo resistivo; oscillatore armonico semplice. Moto piano: moto circolare; moto di un proietto; moto planetario. - Urti elastici. programmi - TWM triennale - Propagazione della luce: introduzione; riflessione; rifrazione; principio di Fermat. Ottica geometrica: lenti; specchi; prismi. Modalità d’esame Prova scritta. Bibliografia - Appunti delle lezioni. - M. VILLA, F. VETRANO, P. COFRANCESCO, Elementi di fisica (capitoli 3 e 14), Mc Graw-Hill. INGEGNERIA DEL SOFTWARE Docente Prof. Carlo Tasso Crediti 6 Finalità del corso Obiettivo del corso è l’introduzione ai concetti di base dell’Ingegneria del Software, settore dell’informatica dedicato allo studio delle metodologie, delle tecniche e degli strumenti utilizzati nella produzione industriale del software. In particolare il corso descrive vari modelli del processo di sviluppo del software presentando i problemi relativi alle varie fasi del ciclo di vita, con particolare riferimento all’analisi dei requisiti e alla specifica, al progetto, al testing, agli standard ed al controllo di qualità. Programma - Concetti e definizioni di base dell’Ingegneria del Software. Introduzione. Origini e motivazioni dell’Ingegneria del Software. Definizioni di base: prodotti software, caratteristiche generali dei prodotti software, distribuzione dei costi. Processi per lo sviluppo del software, modello dei processi: pro- 123 cessi primari, di supporto e di gestione; ciclo di vita, metodologia di sviluppo. Modelli generali dei processi: modello a cascata; sviluppo incrementale; modello a spirale di Boehm, gestione del rischio; discussione ed esempi. Visibilità del processo di sviluppo. Ingegneria dei sistemi. Definizioni e problemi. Ambiente di un sistema. Modello contractor/sub-contractor per l’acquisizione del sistema. Fasi del processo di ingegnerizzazione dei sistemi: definizione dei requisiti, progetto, sviluppo dei sotto-sistemi, integrazione, installazione, funzionamento, evoluzione e dismissione. Obiettivi del sistema. Architettura di un sistema, componenti funzionali. Fattori umani, problematiche relative all’interfaccia affidabilità, resilienza. - Gestione di un Progetto Software. Gestione di un progetto software. Attività di gestione. Personale. Pianificazione del progetto: piano di progetto, struttura e contenuti. Concetti di milestone e derivable. Schedulazione del progetto; rappresentazioni grafiche: diagramma delle attività, dei tempi, del personale. Cammino critico. - Requisiti di un sistema Software. Ingegnerizzazione dei requisiti. Definizione del concetto di requisito. Attività di definizione, analisi e specificazione dei requisiti. Processo di ingegnerizzazione dei requisiti. Documentazione dei requisiti. Validazione dei requisiti: review sui requisiti, parametri di validazione. Evoluzione dei requisiti: requisiti duraturi, volatili, mutabili emergenti, consequenziali, di compatibilità. Analisi dei requisiti: definizione e processo d’esecuzione. - Tecniche di modellizzazione dei sistemi. Modellizzazione dei sistemi. Modelli data-flow (DFD): definizioni ed esempi. Inadeguatezza dei modelli DFD a rappresentare aspetti di controllo e di sincronizzazione. Automi a stati finiti: definizioni 124 ed esempi. Reti di Petri posti-transizioni: definizioni, esempi, valutazioni. Modelli object oriented: modelli d’eredità, di aggregazione e di utilizzo dei servizi. Linguaggio UML e principali diagrammi. Data dictionary. - Definizione dei requisiti e specificazione del software. Definizione e specificazione dei requisiti: modalità e tecnica di redazione. Uso di linguaggio naturale e di moduli in linguaggio strutturato. Linguaggi per la descrizione dei programmi (PDL). Definizione dei requisiti per interfacce software. Requisiti non funzionali, classificazione. Specificazione del software: definizione. Criteri di accettazione. Relazioni tra specificazione e progetto. Il ruolo delle specifiche formali. - Prototipizzazione del Software. Prototipizzazione: definizione. Motivazioni, obiettivi, approcci. Prototipizzazione: approccio evolutionary, approccio throw-away, approccio incrementale. Strumenti per la prototipizzazione. Prototipizzazione dell’interfaccia utente. - Generalità e Progetto Architetturale. Progetto del software. Stadi del processo di progetto. Metodi di progetto: approccio Top-down, metodi strutturati, strategie funzionali e object oriented. Documentazione del progetto. Parametri di qualità del progetto: coesione, accoppiamento,comprensibilità e adattabilità. Progetto architetturale: definizione, sistema, sotto-sistema, modulo. Modelli per la strutturazione dei sistemi software: modello basato su data base condiviso, modello client-server, concetto di tipo di dati astratto e modello basato su Macchine Astratte. Modelli del controllo; controllo centralizzato: modello call-return e modello basato su manager di controllo; controllo basato sugli eventi: modello broadcast e modello a interrupt. Modelli di scomposizione in moduli: data-flow e object oriented. Architetture specifiche programmi - TWM triennale del dominio: generiche e di riferimento, esempi. Architetture distribuite, architetture 2- e 3-tier, thin e fat client, middleware. - Progettazione Object-Oriented. Definizioni di base della tecnologia object-oriented. Progettazione objectoriented (OOD): caratteristiche e vantaggi. Analisi object-oriented e OOD: differenze. Identificazione di Oggetti e Classi basata sul linguaggio naturale. Interfacce tra oggetti (esempi in ADA e C++). Il ruolo dell’astrazione. Classi riusabili, astrazione, standardizzazione e altri criteri di progettazione delle classi. Gerarchia di Aggregazione. Diagramma dei servizi. Progettazione dell’interfaccia tra oggetti. Diagrammi UML per la progettazione OO. - Progettazione funzionale. Progettazione funzionale: definizione. Progettazione data-flow. Decomposizione strutturale e diagrammi di struttura. Trasformazione dei diagrammi data-flow in diagrammi di struttura. Progetto di dettaglio (o esecutivo). Modello fetch execute per i sistemi interattivi. Confronto delle diverse strategie di progetto. - Verifica e Validazione. Processi di supporto. Il controllo di qualità dei prodotti software: la verifica e la validazione, definizioni secondo ISO 12207. Verifica e validazione statiche e dinamiche. Testing e ispezione. Validazione tecnica e sociale. Obiettivi e problematiche generali del testing. Testing statistico e di identificazione dei difetti. Debugging. - Testing del Software. Processo di debugging. Pianificazione e organizzazione dei test. Strategie di test. Il test incrementale. La metodologia Big Bang. Strategie di testing top down e bottom up. Test dinamico black box (funzionale) e white box (strutturale). Il concetto di test case. Dati di test. Classi di equivalenza. La verifica statica. Il processo di ispezione. 125 programmi - TWM triennale - Introduzione alla Dependability del Software. Definizione di dependability (fidatezza) e sue dimensioni: affidabilità, disponibilità, sicurezza e protezione (safety). Concetto di affidabilità. Fallimenti, guasti, errori. Metriche di affidabilità. Unità di tempo: tempo di esecuzione, di calendario, cronometrico. Confronto del concetto di affidabilità per il software e per l’hardware. Distribuzione probabilistica delle misure di affidabilità. Classificazione delle conseguenze dei malfunzionamenti. Possibili usi delle misure di affidabilità. - Qualità del Software. Concetto di standard: standard de jure, de facto, aperto, proprietario. Il ruolo dell’ISO e delle organizzazioni nazionali. Definizione di qualità del SW secondo lo standard ISO 8402. Controllo di Qualità secondo ISO 9000. Modello di qualità del software secondo ISO 9126: parametri di funzionalità, affidabilità, usabilità, efficienza, manutenibilità, portabilità. Gestione della qualità. Politica di qualità. Sistema qualità, controllo e assicurazione di qualità. Scope e pianificazione delle attività di assicurazione della qualità. Qualità di un prodotto basata sulla qualità del processo di produzione. Review di qualità. Check di qualità ed azioni correttive. Documentazione dei review di qualità. Processo di valutazione e metriche dei parametri di qualità secondo ISO 9126. Standard ISO 9000 per la gestione ed assicurazione della qualità: ISO 9001, 9002, 9003 e 9004, manuale della qualità. Standard ISO 9000-3: linee guida per l’applicazione dello standard ISO 9001 al software. Certificazione di qualità ed accreditamento. - Standard sul Ciclo di Vita. Standard ISO 12207 sul ciclo di vita del software. Definizione dei vari processi software. Definizione dei ruoli degli esecutori dei processi: acquirente, fornitore, proprietario, sviluppatore, operatore, manutentore. Prospettiva contrattuale. Processi di monitoraggio e tailoring del ciclo vita. Modalità d’esame Esame scritto e orale. Bibliografia - I. SOMMERVILLE, Software Engineering, 7th edition, Addison-Wesley, Harlow, UK, 2004. Anche in edizione italiana: - I. SOMMERVILLE, Ingegneria del software, settima edizione. Pearson AddisonWesley, Milano, 2005. - G. GUIDA, C. TASSO, Design and Development of Knowledge-Based Systems: from Life Cycle to Development Methodology, John Wiley & Sons, Chichester, UK, 1994. - Materiale didattico (slide, testi, esami ed esercitazioni) disponibile su http://twm.dimi.uniud. INTERAZIONE UOMO-MACCHINA 1 Docente Prof. Luca Chittaro Crediti 6 Finalità del corso Scopo del corso è di introdurre i principi, le metodologie di progettazione e le diverse scelte implementative per la costruzione di software che sia usabile in modo semplice, intuitivo, produttivo ed affidabile dagli utenti a cui è rivolto. Il raggiungimento di questo obbiettivo richiede lo studio di tre diverse tematiche: l’uomo (caratteristiche psicologiche dell’utente); la macchina (strumenti per la realizzazione di interfacce con il mondo esterno); l’interazione (analisi, progetto, valutazione di interfacce uomo-macchina). Oltre a 126 presentare le nozioni di base della disciplina, il corso pone anche l’accento su alcuni sviluppi recenti di particolare importanza, quali le interfacce 3D ed il groupware. Programma - Introduzione: obiettivi dell’Interazione Uomo-Macchina e sua importanza nei diversi settori applicativi dell’Informatica. - Aspetti psicologici dell’Interazione Uomo-Macchina: psicologia cognitiva. Canali sensoriali. Limitazioni e aspettative umane nei processi percettivi. Percezione visiva. Percezione auditiva. Percezione tattile. Movimento. La Memoria umana: sensoriale, a breve termine, a lungo termine. Differenze individuali. Modelli mentali. Metafore. Errori umani: slip e mistake. - Periferiche per l’Interazione UomoMacchina: periferiche per l’inserimento di testo. Periferiche per il puntamento e posizionamento. Periferiche 3D. Periferiche per l’output visivo, auditivo, tattile. Periferiche ed interfacce per utenti disabili. - Modelli e paradigmi di Interazione Uomo-Macchina: modelli per caratterizzare le fasi dell’interazione. Aspetti ergonomici dell’interazione. Stili di interazione: dai linguaggi di comando alle interfacce 3D. Interfacce a finestre (WIMP). Progetto dei menu e delle icone. Paradigmi di interazione. - Interazione Uomo-Macchina e Ciclo di Vita del Software: analisi dei requisiti di usabilità. Principi di usabilità. User-centred design. Usability Engineering. Tecniche di prototyping. Tecniche per favorire la creatività. Documentazione delle scelte di progetto. - Environment, User, Task Analysis: determinazione del contesto dell’interazione con modelli socio-tecnici. Il metodo USTM/CUSTOM. Analisi dei compiti degli utenti. Il metodo HTA. Modelli pre- programmi - TWM triennale dittivi: GOMS, KLM. - Metodi formali nell’Interazione UomoMacchina: State transition network ed altre notazioni diagrammatiche. Notazioni testuali. Progetto ed analisi di dialogo mediante state transition network. - Guidelines e standard per le Interfacce Utente: definizione. Scelta ed uso di guidelines. Esempi di guidelines: MITRE, Apple, Microsoft, guidelines IBM per interfacce 3D. Lo standard ISO 9241. - Strumenti per l’implementazione di Interfacce Utente: Windowing System. Tecniche di programmazione. Toolkit. Caso di studio: il toolkit di Java. User Interface Management System. - Valutazione di usabilità: scopo della valutazione. Strumenti di registrazione. Osservazione dell’utente. Raccolta di opinioni. Interviste. Questionari. Esperimenti. Valutazione predittiva. Cognitive walkthrough. Valutazione interpretativa. - Help: assistenza all’utente. Requisiti di un help system. Principali approcci. Interfacce adattive ed adattabili. - Computer-Supported Cooperative Work: Groupware. La comunicazione mediata dal calcolatore. E-mail e sistemi di comunicazione testuale. Videoconferenza. Ambienti collaborativi virtuali. Sistemi workflow. Aspetti sperimentali ed organizzativi del lavoro cooperativo. - Recenti paradigmi di Interazione Uomo-Macchina: Ubiquitous computing. Realtà virtuale. Tipologie di realtà virtuale. Il linguaggio VRML. Interfacce multi-sensoriali (o multi-modali). Information visualization. Ipertesti. Interfacce multimediali e ipermediali. Bibliografia - A. DIX, J. FINLAY, G. ABOWD, R. BEALE, Human Computer Interaction, 3rd edition, Prentice Hall, 2003. - J. P REECE , Y. R OGERS , H. S HARP , D. B ENION , S. H OLLAND , T.C AREY , Human Computer Interaction, Addison Wesley, 1994. programmi - TWM triennale LABORATORIO TECNICHE DI COMUNICAZIONE Docente Prof. Angelo Marzollo Crediti 4 Finalità del corso Il corso nel suo complesso ha un duplice scopo. Il primo, e prevalente, consiste nel contribuire a fornire agli studenti molteplici strumenti atti ad affrontare con sicurezza e competenza compiti di tipo comunicativo che li attendono non solo a livello universitario (ad esempio stesura di elaborati e tesi di laurea) ma anche, e soprattutto, nella vita sociale e nel mondo del lavoro, ad iniziare dai più semplici (stesura di CV e colloqui d’assunzione) fino ad altri, più articolati, in cui si richiede un ruolo attivo e consapevole (preparazione e redazione di relazioni, partecipazioni a riunioni professionali, comunicazioni a congressi, interventi in pubblico, e così via). Il secondo scopo del corso è quello di fornire agli studenti nozioni di base e terminologia per interpretare alcune attuali realtà ed evoluzioni culturali, sociali, ambientali ed economiche, con particolare riguardo alla crescente importanza dei mass media e di Internet Programma Si partirà da un’analisi delle 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. 127 Si affronteranno poi alcuni argomenti di psicologia cognitiva come base per la modellizzazione dell’espressione orale e scritta e guida per le tecniche tese ad un suo miglioramento. Si continuerà con cenni sul ruolo della lingua nel quadro generale della comunicazione, e con un’analisi delle differenze più importanti fra lingua parlata e lingua scritta, incluso il ruolo della punteggiatura e d’espressioni deittiche. Si daranno alcune utili nozioni di semantica e di pragmatica, anche in riferimento all’importanza del contesto, e s’indicherà l’uso più appropriato di dizionari di diverso tipo, inclusi quelli analogici. Si richiameranno infine alcuni concetti fondamentali della retorica classica, ci si soffermerà sui suoi attuali grandi sviluppi, in particolare in ambito pubblicitario, e si daranno esempi di tecniche televisive nel presentare notizie. Si tratteranno, infine, alcune caratteristiche di linguaggi scientifici, tecnici informatici e gestionali, per concludere con qualche analisi e sintesi di testi settoriali. Il corso sarà completato da seminari tenuti da esperti in campi specifici. A fine corso si ritiene che lo studente sia in grado di esprimersi in modo più efficace, tanto in forma scritta che in altre forme, e in particolare abbia anche una maggior consapevolezza di aspetti essenziali dell’affermazione di sé, specie nei rapporti professionali. Il carattere pratico piuttosto che teorico di questo corso richiede la sua frequenza da parte degli studenti che scelgano di includerlo nel loro piano di studi. Modalità d’esame L’esame consiste in una prova scritta e in un colloquio orale riguardanti argomenti trattati nelle lezioni e nei Seminari. Per quanto riguarda la bibliografia aggiuntiva, il docente discuterà d’anno in anno con ciascuno studente quali testi 128 leggere approfonditamente, come base per riflessioni personali sugli argomenti scelti, di cui egli darà poi conto nella prova scritta. Bibliografia - A. TESTA, Farsi capire, Rizzoli, Milano, 2000. Si tratta di un’ampia, ragionata e abbastanza completa rassegna di argomenti di base relativi alla Comunicazione, compilata da una nota esperta di pubblicità. Vi compaiono molte citazioni di opere concettualmente fondamentali quali quelle di Paul Watzlawick, di Gregory Bateson, e di altri autori, cui si aggiunge la riproduzione di parecchie voci tratte da importanti e pertinenti enciclopedie. Si consiglia la lettura di questo testo agli studenti che vogliano approfondire questioni generali nella comunicazione, sia teoriche sia pratiche. Dovrebbero leggere tutto il volume, e scegliere poi alcuni argomenti d’approfondimento, magari consultando alcune delle fonti da cui l’autrice rimanda nelle sue note e citazioni. - P. TABOSSI, Il linguaggio, Il Mulino, Bologna, 1999. Uno schematico manuale, di facile lettura e completo nel suo genere, che introduce il linguaggio come una fondamentale forma di comunicazione, vista soprattutto da un punto di vista psicolinguistico. Si esaminano da questo punto di vista i meccanismi fisici e cognitivi che ci permettono di capire le parole e le frasi, di parlare e conversare, di scrivere e di leggere, e si accenna ad alcune difficoltà che invalidano queste capacità. - T. DE MAURO, Prima lezione sul linguaggio, Laterza, Bari, 2002. Sulla base di profondi riferimenti culturali, espressi in modo molto chiaro, questa breve introduzione rappresenta un incisivo invito ad un uso più appropriato, e quindi più efficace, di parole e frasi. programmi - TWM triennale - G. LONGO, Il Nuovo Golem, come il computer cambia la nostra cultura, Laterza, Bari, 1998. Si tratta di un’approfondita riflessione sugli effetti della diffusione dei computer sulla scienza, sulla cultura e sulla società. Essa può fornire utili spunti critici, specie a chi in qualche modo fa parte del mondo dell’informatica, e che condivida o meno le tesi di Longo. - G. SARTORI, Homo Videns, Laterza, Bari, 1999. Questo libro non è strettamente attinente alle nozioni impartite durante il corso, né alle capacità che si ripromette di stimolare, ma fornisce un interessante e allarmato stimolo critico nel considerare il diffuso modo di apprendere la realtà, e di formarsi concetti, mediante il mezzo televisivo. Soprattutto, ma non solo, da parte di bambini. Il volume, di lettura molto facile, contiene anche alcune critiche radicali, quasi provocatorie, sul contenuto della grande maggioranza dei programmi televisivi, estese anche ad alcuni modi di usare Internet e di credere che sostituiscano più tradizionali maniere di comunicare. Si tratta di un argomento complementare, che si consiglia a studenti particolarmente interessati. - G. COSENZA, Semiotica dei nuovi Media, Laterza, Bari, 2004. Si tratta di una ricerca su applicazioni della Semeiotica all’esame dei nuovi media considerati come testi da analizzare. Questo libro, abbastanza specializzato, richiede l’acquisizione di nozioni preliminari di linguistica, e comunque un interesse alla filosofia del linguaggio. È consigliato solo a studenti che vogliano dedicare all’argomento un impegno superiore a quello richiesto per affrontare l’esame. 129 programmi - TWM triennale LABORATORIO DI SISTEMI MULTIMEDIALI Crediti 4 Docenti Prof. Elio Toppano Dott. Roberto Ranon Pagina del corso http://www.dimi.uniud.it/~dangelo/Lab OS/labos.html Crediti 4 Finalità del corso Obiettivo del Laboratorio è quello di mettere a disposizione allo studente dell’annesso corso di S.O. quegli strumenti pratici essenziali a comprendere gli aspetti salienti dei moderni sistemi operativi. Le lezioni sono basate essenzialmente sulla discussione di esempi e la presentazione di esercizi alla cui soluzione gli studenti sono chiamati a confrontarsi. Finalità del corso Il laboratorio intende fornire le conoscenze pratiche e operative per la realizzazione di prodotti multimediali. Programma Linguaggi di marcatura per l’integrazione e la sincronizzazione di oggetti multimediali: SMIL 2.0. Linguaggi per la modellizzazione di ambienti virtuali: VRML. Analisi e utilizzo di programmi per la grafica (Jasc Paint Shop Pro 7.04) e l’editing audio e video (Sound Forge XP della Sonic Foundry, Cool Edit 2000 della Syntrillium e Premiere della Adobe). Sviluppo di siti utilizzando Dreamweaver e Flash di Macromedia. Modalità d’esame L’esame consiste nella discussione orale di un progetto realizzato in SMIL o VRML. Bibliografia Oltre ai materiali distribuiti a lezione si consiglia il seguente testo: - T. KENNEDY, M. SLOWINSKI, SMIL Adding Multimedia to the Web, SAMS Publishing, 2002. LABORATORIO DI SISTEMI OPERATIVI Docente Dott. Antonio D’Angelo Programma 1. La shell di Unix 1.1 Cenni storici allo sviluppo dei Sistemi; 1.2 Installazione di un Sistema Linux; 1.3 Ruolo delle shell in Unix; 1.4 Comandi principali, ridirezione, variabili predefinite, script; 1.5 Strumenti per la configurazione e il mantenimento dei sistemi; 1.6 Applicazioni alle reti di calcolatori: esecuzione remota di comandi. 2. Programmazione di sistema in Unix 2.1. Uso del compilatore g++: programmi e generazione del codice; 2.2. Breve introduzione all’uso del linguaggio C; 2.3 Mantenimento del software: il comando make; 2.4 Multithreading, gestione delle interruzioni software e semafori; 2.5 Comunicazione fra programmi: introduzione all’uso delle socket; 2.6 Simulazione dell’interazione con l’ambiente mediante I/O asincrono. 3. Comunicazione fra calcolatori 3.1 Protocolli per la comunicazione; 3.2 Esempi applicativi per HTML, Javascript, CGI, Perl; 130 3.3 Impiego del multithreading; 3.4 Interruzioni SIGALRM e SIGPOLL/SIGIO; 3.5 Comunicazione continua mediante socket non connesse. 4. Gestione dei servizi di sistema 4.1 Accesso e controllo della configurazione di sistema; 4.2 Il server Apache; 4.3 Il Mail server; 4.4 Iptables, il firewall di Unix. Modalità d’esame Sviluppo di esercizi individuali e di gruppo proposti nel corso delle lezioni secondo le modalità indicate. Bibliografia - G. GLASS, K. ABLES, UNIX for Programmers and Users, Prentice Hall, seconda edizione, 1999. - P. CORNES, The Linux A-Z, Prentice Hall, 1997. - K. HAVILAND, D. GRAY, B. SALAMA, UNIX System Programming, Addison Wesley, seconda edizione, 1999. - C. B ROWN , Unix Distributed Programming, Prentice-Hall 1994. - A. SILBERSCHATZ, P. GALVIN, Sistemi Operativi, quarta edizione, Addison Wesley, 1996. - H. DEITEL, P. DEITEL, D. CHOFFNES, Sistemi Operativi, terza edizione, Pearson Education Italia, 2005. - S. LEFFLER, M. MCKUSICK, M. KARELS, J. QUARTERMAN, The Design and Implementation of the 4.3BSD UNIX Operating System, Addison Wesley, 1990. - R. THOMAS, L. ROGERS, J. YATES, OSBORNE, Advanced Programmer’s Guide to Unix System V, McGrawHill, 1986. - A. B ERSON , Client Server Architectures, seconda edizione, McGraw Hill, 1996. - A. D’ANGELO, Dispense del corso, disponibile sul Web. programmi - TWM triennale LABORATORIO DI TECNOLOGIE LATO SERVER Docenti Dott. Ivan Scagnetto Dott. Vincenzo Della Mea Crediti 4 Programma - Introduzione alle tecnologie lato server: funzionamento di un server web, CGI, scripting. - Introduzione a PHP. Il linguaggio ed esercizi (cookies, Mysql, images). - Introduzione a Java 2 Enterprise Edition ed alle servlet. - Tomcat (installazione, struttura delle directory, file di configurazione, utilizzo), esempi di servlet (dalla stesura del codice sorgente al dispiegamento sul server). - Approfondimenti sulle servlet: metodo destroy, lettura di parametri dal file web.xml, thread-safety, tener traccia del client tramite cookie e sessioni, scrivere nei file di log di Tomcat, file WAR (deployment con il Tomcat Web Manager). - Introduzione a JSP. - Introduzione a JDBC. - Un esempio complesso con JSP: costruzione di un front end per un negozio virtuale. - Introduzione ai CMS. Esercizi con Zope e Plone. - Altre tecniche lato server: templates, MVC, web services. Esercizi in PHP. - Introduzione a Java 2 Enterprise Edition ed alle servlet. - Tomcat (installazione, struttura delle directory, file di configurazione, utilizzo), esempi di servlet (dalla stesura del codice sorgente al dispiegamento sul server). 131 programmi - TWM triennale LABORATORIO DI TECNOLOGIE WEB Docente Prof. Vito Roberto Crediti 4 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. MATEMATICA DISCRETA Docente Prof. Giovanni Panti Crediti 6 Finalità del corso Fornire gli strumenti fondamentali di matematica di base, algebra e algebra lineare. Abituare alla formalizzazione e al rigore logico. Fornire un vocabolario matematico corretto e preciso. Programma Monoidi, gruppi, sottogruppi normali e omomorfismi. Gruppi di permutazioni. Anelli, ideali, polinomi. Domini Euclidei e algoritmo di Euclide. Spazi vettoriali, basi, applicazioni lineari. Sistemi di equazioni lineari, determinante, autovalori e autovettori. Modalità d’esame Prova scritta ed eventuale esame orale. Bibliografia Vedere http://www.dimi.uniud.it/ ~panti/didattica/MD/programma_MD.h tml MATEMATICA DI BASE Docente Prof. Giovanna D’Agostino Crediti 3 Programma - Insiemi, funzioni e relazioni. - Numeri naturali: principio d’induzione, divisibilità e numeri primi, algoritmo di euclide. Metodi dimostrativi: ragionamento per assurdo, dimostrazione per casi, contronominale. Equivalenze e partizioni, aritmetica modulo n, congruenze. - Il sistema crittografico RSA. - Cardinalità di insiemi. - Ordinamenti. - Matrici. 132 Bibliografia Viene utilizzato lo stesso testo del corso di Matematica Discreta, vedi http://www.dimi.uniud.it/~panti/didattica/MD/programma_MD.html PROGETTO DI SITI E PORTALI WEB Docente Dott. Giorgio Brajnik Crediti 6 Pagina del corso www.dimi.uniud.it/giorgio/dida/psw/ps w.html Finalità del corso Se è facile convincersi che la nostra sia una società dell’informazione, meno facile è controllare la crescente complessità delle attività di acquisizione, organizzazione ed accesso all’informazione. Infatti gli sviluppi della tecnologia informatica e dei flussi dell’informazione sono fenomeni che si alimentano vicendevolmente e che portano l’uomo ad interagire con ambienti virtuali la cui complessità è in rapida crescita. Il corso ha lo scopo di investigare gli aspetti informatici su cui si basano l’organizzazione e l’accesso all’informazione. Nel contesto di siti e applicazioni web: (1) comprendere i concetti di architettura dell’informazione e di struttura e modelli dell’interazione (sapere cosa sono, come li si definisce, costruisce, analizza, e valuta); (2) saper valutare l’usabilità e accessibilità di un sito web (sia di aspetti concettuali che tecnici); (3) conoscere gli aspetti principali legati alle fasi di analisi e sviluppo di un sistema informativo complesso; (4) acquisire una conoscenza di programmi - TWM triennale base sulle tecnologie sottostanti il web. Non è un corso su HTML, né Dreamweaver, Flash o JSF. I quattro punti evidenziati sopra sono relativamente stabili rispetto all’evolvere della tecnologia, e quelli più difficili da sviluppare nel mondo del lavoro. Per questa ragione il corso si concentra su di essi, piuttosto che su specifiche tecnologie. Programma - Processi informativi e sistemi informativi; scopo di un processo informativo; la persuasione, la centralità dell’utente; - natura di un sistema informativo: struttura conversazionale, contenuto, presentazione; tipologie di siti web; tipologie di motori di ricerca; - architettura informativa, struttura dell’interazione; - concetti di base dell’interazione: azione, gesto, modalità, obiettivo, compito, processo, attività, scenario; fenomeni e modelli dell’interazione: apprendimento esplorativo, il ciclo dell’interazione; - accessibilità e usabilità: concetti, linee guida, tecnologie assistive, esempi, la normativa Stanca; - le indagini di accessibilità e usabilità: linee guida, metodi (user testing, heuristic evaluation, heuristic walkthrough); metriche, strumenti; stesura dei rapporti; - user-centered design: fasi, problemi, metodi per l’analisi e lo sviluppo di sistemi basati su web: definizione del problema, casi d’uso, modelli dei compiti; l’impiego dei casi d’uso per la stesura dei requisiti; documenti di studio di fattibilità, analisi competitiva; tecniche di acquisizione e raccolta delle informazioni. Bibliografia - G. BRAJNIK, E. TOPPANO, Creare siti web multimediali, Pearson Education, Addison-Wesley, 2007. 133 programmi - TWM triennale - R. P OLILLO , Plasmare il web, Apogeo, 2006 (soprattutto i capitoli da 3 a 10). - J. THATCHER et al., Web Accessibility: Web Standards and Regulatory Compliance, FriendsofEd, 2006 (capitoli da 4 a 15). PROGRAMMAZIONE E LABORATORIO Docenti Prof. Stefano Mizzaro Dott. Paolo Coppola Crediti 6 Finalità del corso 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 polimorfi- smo (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). Modalità d’esame Scritto (o prove di accertamento durante l’anno), progetto e orale. 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, terza 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). PROGRAMMAZIONE ORIENTATA AGLI OGGETTI Docente Prof. Vitaliano Milanese Crediti 6 134 programmi - TWM triennale Finalità del corso Il corso di Programmazione Orientata agli Oggetti (OOP) intende affrontare le problematiche più significative del paradigma ad oggetti inteso quale estensione e superamento del paradigma imperativo. Come tale, il corso verterà principalmente sugli aspetti seguenti: confronto tra lo sviluppo di programmi imperativi e la progettazione di applicazioni basate su oggetti; approfondimento degli aspetti tipici della OOP (classi, oggetti, metodi, messaggi, ereditarietà, polimorfismo); analisi delle modalità di interazione con l’ambiente operativo secondo il modello di gestione degli eventi (operazioni di I/O, eccezioni, multithreading, concorrenza); generazione di interfacce grafiche; costruzione di applet per applicazioni in rete. Linguaggio di riferimento: Java2. Bibliografia - B. E CKEL , Thinking in Java, Apogeo, 2003. - S. MAZZANTI, V. MILANESE, Programmazione di applicazioni grafiche in Java, Apogeo, 2006. PSICOLOGIA DELLA COMUNICAZIONE Docente Dott. Silvia Gabrielli Crediti 6 Finalità del corso Il corso si articola in tre blocchi di lezioni: la psicologia generale (che presenta un quadro introduttivo e culturale su cui costruire le conoscenze successive), la comunicazione e la metodologia della ricerca (per poter verificare in modo oggettivo qualsiasi ipotesi bisogna saper condurre una ricerca in modo corretto e valido). Il corso ha un valore formativo con un duplice obiettivo, generale e specifico. In senso ampio, ci si propone di avvicinare gli studenti alla psicologia in quanto scienza che studia l’uomo, le sue attività, i suoi vissuti, il suo mondo interiore e sociale, i processi che sottostanno al suo comportamento, in modo da ampliare la cultura di base riguardo ad aspetti della vita quotidiana. In modo specifico, il corso ha lo scopo di far acquisire un insieme di conoscenze psicologiche che saranno utili alle attività future degli studenti (es., percezione di immagini, ruolo delle emozioni, corretto utilizzo della comunicazione nel proprio campo per conoscerne potenzialità e limiti), e di far acquisire un metodo scientifico nella conduzione di esperimenti per evitare errori ed ottenere risultati validi. Programma Psicologia Generale - Cenni sulla percezione: assenza e presenza fenomenica; l’organizzazione figura-sfondo; la costanza di grandezza e forma; spazio, distanza e movimento; influenze sulla percezione. - La coscienza e l’attenzione. - L’apprendimento e la memoria: condizionamento classico ed operante; l’apprendimento verbale; modelli di memoria. - Il pensiero: la formazione dei concetti; la soluzione dei problemi; la creatività; il pensiero prevenuto e il pregiudizio. - Le motivazioni e le emozioni. Comunicazione - I modelli della comunicazione. - Il processo di comunicazione. - La comunicazione non verbale. - La comunicazione persuasiva. - La captologia. Metodologia della Ricerca - Differenze tra senso comune e scienza. programmi - TWM triennale - Come si fa una ricerca? Fasi operative. - Il campionamento. - Disegni di ricerca: sperimentali, quasisperimentali, presperimentali, correlazionali. - Validità interna ed esterna di una ricerca. Modalità d’esame L’esame è costituito da una prova scritta. Bibliografia - L. ANOLLI, P. LEGRANZI, Psicologia Generale, Il Mulino, 2001. Capitolo 1: sottoparagrafi 1.1 e 1.2 (pag. 9-13). Capitolo 2: tutto (pag. 47-75). Capitolo 3: paragrafi 1 e 2 (pag. 77-86). Capitolo 4: paragrafi 1 e 2 (pag. 103-133). Capitolo 5: tutto (pag. 137166). Capitolo 6: tutto (pag. 169-202). Capitolo 7: tutto (pag. 203-230). Capitolo 8: paragrafi 1, 2, 3, 4 (pag. 233-261). - D.H. MCBURNEY, Metodologia della ricerca in psicologia, Il Mulino, 1986. Capitoli completi: 3, 4, 5, 6, 7, 8, 10. - R. C IALDINI , Le armi della persuasione, Giunti, 2005. RETI DI CALCOLATORI Docente Prof. Elio Toppano Crediti 6 Finalità del corso L’obiettivo del corso è quello di introdurre i concetti fondamentali delle moderne reti di calcolatori e fornire allo studente le necessarie conoscenze per affrontare l’analisi e lo studio di una rete distribuita di calcolatori. In particolare, saranno presentate le caratteristiche generali delle reti, la loro topologia, l’architettura ed i principali protocolli utilizzati per la trasmissione delle informazioni tra calcolatori. 135 Programma - Introduzione alle reti di calcolatori. Scopi, applicazioni, evoluzione storica, caratteristiche e struttura a livelli, tipologie di rete, architetture di rete, stratificazioni, tipi e primitive di servizio, protocolli di rete, controllo di flusso e controllo di errore, messaggi e pacchetti, strategie di commutazione (circuito e pacchetto), indirizzamento, instradamento ed interconnessione. - Principali componenti di una rete e tecniche di trasmissione dati. Mezzi trasmissivi elettrici e ottici, banda di un segnale, capacità di canale, I e II Teorema di Nyquist, Teorema di Shannon, attenuazione e distorsione, cenni alla trasmissione dati analogica e alla trasmissione dati digitale, principali componenti di una rete (modem, multiplexer, bridge, switch, router). - Il modello ISO/OSI. Architettura, servizi e protocolli. Il livello fisico. Il livello datalink. Protocolli per il controllo di flusso (Stop&Wait, Go-Back-N, Sliding Window) e per il controllo di errore (controllo di parità, codici CRC). Calcolo dell’efficienza dei protocolli di livello datalink. Protocollo HDLC. - Il livello di rete. Tecniche di instradamento (routing by network, address label swapping, source routing), architettura di un router e tabelle di instradamento, algoritmi di routing statico (fixed directory routing, flooding e selective flooding) e dinamico (distance vector e link state). Il protocollo IP, formato del pacchetto IP e indirizzamento IP, classi di indirizzi, sottoreti e netmask. Protocolli ARP, IGP, RIP, OSPF, BGP. Protocollo Ipv6, formato dei pacchetti, header opzionali. Protocollo Network Address Translation (NAT). - Il livello di trasporto. Servizi ed indirizzi del livello di trasporto, creazione, gestione e chiusura di una connessione. Il problema delle due armate. Protocollo Hand- 136 Shake a tre vie. Il livello di trasporto in Internet: i protocolli UPD (User datagram protocol) e TCP (Transport control protocol). - Il livello delle applicazioni: Applicazioni di Rete: Domain Name Server (DSN), Simple Mail Transfer Protocol (SMTP), Simple Network Management Protocol (SNMP), la posta elettronica, telnet, file transfer protocol (FTP). - Progetto topologico di una rete di calcolatori. Progettazione topologica, cenni alla teoria dei grafi, matrice di traffico, matrice di costo e assegnazione di flusso, affidabilità di una rete, analisi di connettività, reti di flusso, taglio minimo e capacità del taglio in una rete, algoritmo di Ford-Fulkerson, flusso massimo, connettività d’arco, percorsi arco-disgiunti, connettività di nodo, esempi. - Analisi delle prestazioni di una rete di calcolatori Cenni alla teoria delle code, definizione di Kendall, sistemi a nascita e morte, catene di Markov, intensità del traffico, approssimazione di indipendenza di Kleinrock, numero medio di pacchetti in una rete, ritardo medio di pacchetto, Teorema di Little, esempi ed esercizi. • Approfondimenti. Reti ISDN e ISDN a larga banda. Reti ATM. Modalità d’esame L’esame si compone di una prova scritta e di una prova orale. La prova scritta richiede di svolgere esercizi inerenti gli argomenti del corso. La prova orale consiste nella discussione di alcuni degli argomenti trattati a lezione. Bibliografia Testo consigliato: - A.S. T ANEMBAUM , Computer Networks, quarta edizione, Addison-Wesley, pubblicato in Italia da Pearson Education Italia, 2003. Testi di approfondimento: programmi - TWM triennale - J. KUROSE, K. ROSS, Internet e Reti di Calcolatori, McGraw-Hill, seconda edizione, 2003. - D. COMER, Internetworking con TCP/IP, Addison-Wesley, pubblicato in Italia da Pearson Education Italia, 2002. - M. BALDI, P. NICOLETTI, Internetworking, McGraw-Hill, 1999. - R. ADINOLFI, Reti di Computer, seconda edizione, McGraw-Hill, 1999. - F. HALSALL, Reti di Calcolatori e Sistemi Aperti, quarta edizione, Addison Wesley, 1998. SISTEMI OPERATIVI Docente Dott. Giorgio Brajnik Crediti 9 Pagina del corso www.dimi.uniud.it/giorgio/dida/so/so.h tml Programma Scopo e contenuti: i sistemi operativi sono parte essenziale di un sistema di calcolo. È pertanto necessario che uno studente di tecnologie web possieda le basi per comprendere le principali problematiche relative all’efficace utilizzo (da utente, da progettista, da programmatore, da amministratore di rete) di un sistema operativo moderno. Allo scopo di fornire tali basi, durante il corso verranno discussi alcuni concetti fondamentali relativi ai sistemi operativi e alle loro funzionalità primarie (gestione dei processori, della memoria e dei dispositivi di ingresso/uscita). Inoltre, data l’importanza che applicazioni concorrenti e distribuite hanno nell’ambito del web, un moderno informatico non può non conoscere tecniche di programmazione con- programmi - TWM triennale corrente, le quali sono strettamente correlate alle funzionalità del sistema operativo. Il corso tratterrà tale argomento discutendo i principi di base e le tecniche più importanti per la realizzazione di applicazioni concorrenti in Java legate al web. Verrà anche diffusamente trattato (più di metà delle lezioni) il compito dell’amministratore del sistema, nel contesto di un sistema GNU/Linux, coprendo in dettaglio le attività di installazione ed aggiornamento del sistema, l’uso della shell, la configurazione, gestione e monitoraggio dei servizi di rete, lo svolgimento dei backup, la gestione della sicurezza del sistema. Articolazione: il corso è articolato in 80 ore di lezione. Attività pratica: il corso accessorio di Laboratorio di Sistemi Operativi offre l’opportunità allo studente di mettere in pratica le nozioni apprese e di verificarne la comprensione. Inoltre tale corso offrirà le nozioni di base relative all’uso di linguaggi di scripting e relative all’amministrazione di un sistema Linux. Per ulteriori dettagli consultare www.dimi. uniud.it/giorgio/dida/so/so.html SISTEMI MULTIMEDIALI Docente Prof. Elio Toppano Crediti 6 Finalità del corso Il corso intende fornire un insieme di conoscenze di base - concettuali, procedurali e metodologiche - finalizzate sia all’analisi e valutazione di prodotti multimediali sia alla loro progettazione, realizzazione e distribuzione. Particolare attenzione viene rivolta allo studio delle caratteristiche dei singoli media - testo, imma- 137 gini audio e video - e alle problematiche che emergono dalla loro integrazione. Accanto agli aspetti più propriamente tecnici e metodologici si affrontano anche tematiche relative agli effetti pragmatici e sociali dell’uso dei multimedia. Programma Processi informativi e siti web. Elementi di semiotica applicata ai siti web. Modelli concettuali di media, multimedia e ipermedia. Testi alfabetici. La scrittura su web. Immagini digitali: grafica pittorica e vettoriale. Elaborazione delle immagini bit mapped. Colore: caratteristiche del colore, spazi colore, gestione del colore. Tecniche di compressione di immagini (con e senza perdite). Formati di archiviazione di testi e immagini. Cenni di semiotica visiva. Suoni: caratteristiche fisiche e percettive. Rappresentazione digitale di suoni. Supporti e formati di archiviazione dei suoni. Elaborazione dei suoni. Psicologia dell’udito: mascheramento e segregazione del suono. Compressione audio. Audio e musica: lo standard MIDI. Sintesi del suono. Spazializzazione e modellizzazione di ambienti acustici. Uso del suono nei prodotti multimediali. Video analogico e digitale. Formati dei segnali video. Compressione video. La famiglia degli standard MPEGx. Il processo di produzione video. Progettazione e integrazione di media. Progettazione orientata all’utente. Usabilità e accessibilità dei prodotti multimediali. Metodologie di progetto di ipermedia. Lo standard ISO 14915. Aspetti legali legati al multimedia: la legge sul diritto d’autore. Video e audio streaming. Architetture per lo streaming. Protocolli per lo streaming. Applicazioni dei multimedia con particolare riguardo al campo dell’e-learning. Modalità d’esame L’esame consiste in una prova scritta e 138 programmi - TWM triennale nella discussione orale di un progetto realizzato in SMIL o VRML. dovranno essere superate nello stesso appello. Bibliografia Oltre ai materiali distribuiti a lezione si consigliano i seguenti testi: - N.P. CHAPMAN, J.CHAPMAN, Digital Multimedia, John Wiley & Sons, 2000. - L. T OSCHI (a cura di), Il linguaggio dei nuovi media, Apogeo, 2002. Bibliografia - L. PACE, A. SALVAN, Introduzione alla Statistica (I Statistica Descrittiva), Cedam, Padova, 1996. - G. CICCHITELLI, Probabilità e Statistica, Maggioli Editore, 1984. - Appunti delle lezioni. STATISTICA APPLICATA STORIA DELL’INFORMATICA Docente Prof. Vidoni Paolo Crediti 6 Finalità del corso L’obiettivo del corso è introdurre lo studente a quelli che sono i concetti fondamentali della Statistica descrittiva e inferenziale, quale strumentazione di base per l’analisi dei dati e lo studio dei fenomeni aleatori. Tali nozioni verranno presentate sottolineando l’ambito delle applicazioni pur senza tralasciare gli aspetti formali. Programma - Statistica descrittiva: Caratteri statistici; Serie, seriazioni e distribuzioni di frequenza; Indici di posizione e di variabilità. - Calcolo delle Probabilità: Probabilità elementare; Variabili casuali; Modelli probabilistici; Variabili casuali multivariate e convergenza. - Inferenza statistica: Stima puntuale; Intervalli di confidenza; Verifica di ipotesi; Cenni sull’Analisi della varianza. Modalità d’esame L’esame consiste in una prova scritta seguita, per i sufficienti, da una prova orale. La prova scritta e la prova orale Docenti Dott. Corrado Bonfanti Dott. Paolo Giangrandi Crediti 3 Finalità del corso Il corso fornisce una panoramica generale sulle tappe fondamentali che hanno caratterizzato la storia degli strumenti di calcolo, approfondendo in particolare l’evoluzione delle tecnologie del computer elettronico moderno. Si evidenzia come gli attuali computer non siano il frutto del lavoro di un singolo inventore e di una singola idea geniale, bensì il risultato dei contributi di moltissimi studiosi e sperimentatori appartenenti a diverse discipline; contributi che, nelle varie epoche, hanno dato luogo a diversi filoni concettuali e tecnologici, talvolta complementari e altre volte divergenti. Programma - Gli antichi strumenti di calcolo. L’era dei calcolatori meccanici: calcolatori analogici e calcolatori digitali. - Macchine programmabili: automi meccanici, telaio Jacquard, strumenti musicali automatici, Charles Babbage. - I sistemi meccanografici a schede perforate. - Le radici concettuali del computer: dal 139 programmi - TWM triennale programma di Leibniz alle macchine di Turino. - I pionieri del calcolo elettronico, l’architettura di von Neumann e i primi calcolatori a programma memorizzato. - L’evoluzione delle tecnologie: dal mainframe al personal computer. - Gli ambienti applicativi e l’evoluzione del software. - Oltre il calcolo scientifico: sviluppo dell’industria e del mercato in uno scenario mondiale. - Reti telematiche: dalle origini a Internet. - L’informatica in Italia. Bibliografia - Appunti delle lezioni. - M.R. WILLIAMS, A History of Computing Technology, Prentice-Hall, 1985. - M. D A V I S , Il calcolatore universale, Adelphi, 2003. - C. B ONFANTI , Mezzo secolo di futuro. L’informatica italiana compie cinquant’anni, Mondo Digitale, n.3/2004. Durante il corso verranno forniti anche gli indirizzi di diversi siti web dove sono reperibili numerosi documenti multimediali sulla storia dell’informatica. TECNOLOGIE WEB Docente Prof. Vito Roberto 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. 140 programmi - matematica triennale CORSO DI LAUREA IN MATEMATICA ALGEBRA 1 ALGEBRA 2 Docente Dott. Maria Silvia Lucido Docente Prof. Dikran Dikranjan Crediti 6 Crediti 6 Finalità del corso Lo scopo dei corsi di Algebra 1 e 2 è di sviluppare le capacità algebriche e di ragionamento dello studente. Verranno introdotte le strutture algebriche fondamentali, gruppi, anelli e campi, sottolineando le loro connessioni con le altre aree della matematica. Finalità del corso Lo scopo dei corsi di Algebra 1 e 2 è di sviluppare le capacità algebriche e di ragionamento dello studente. Verranno introdotte le strutture algebriche fondamentali, gruppi, anelli e campi, sottolineando le loro connessioni con le altre aree della matematica. Programma - Prerequisiti su insiemi e operazioni tra insiemi. - I numeri complessi. - I numeri interi: congruenze. - Prime nozioni di teoria dei gruppi: gruppi e sottogruppi. - Classi laterali di un sottogruppo, il teorema di Lagrange. - Sottogruppi normali, gruppo quoziente. - Omomorfismi, i teoremi di omomorfismo, il teorema di corrispondenza. - Gruppi ciclici, periodo di un elemento, Teorema di struttura dei gruppi abeliani finiti (senza dimostrazione). - Prodotti diretti. - Gruppi di permutazioni: decomposizione in cicli disgiunti. - Gruppi di automorfismi: coniugio, il gruppo di automorfismi di un gruppo ciclico. Bibliografia - Appunti del docente. Programma - Prime nozioni di teoria degli anelli: sottoanelli e ideali. - Congruenze e anello quoziente. - Omomorfismi e il teorema dell’omomorfismo. - Prodotti diretti e anelli di matrici. - Ideali massimali e ideali primi di un anello commutativo. - Anelli di polinomi, algoritmo della divisione. - Domini d’integrità: elementi irreducibili e primi. - Domini di fattorizzazione unica, domini euclidei e domini di ideali principali. - Campo di quozienti di un dominio d’integrità. - Teoria dei campi - prime nozioni, radici dell’unità. - Anelli di polinomi su un campo: radici, teorema di Ruffini. - Polinomi irriducibili su un campo, fattorizzazione, criterio di Eisenstein. - Campi algebricamente chiusi, numeri reali e complessi, polinomi irriducibili su R e su C. Bibliografia - Appunti del docente. 141 programmi - matematica triennale ALGEBRA 3 Docente Prof. Mario Mainardis Crediti 6 Programma - Azioni di gruppi, di anelli e di K-algebre. - Azioni di gruppi: G-insiemi, sotto-Ginsiemi, omomorfismi, quozienti, orbite, equazione delle orbite, azioni transitive e primitive, applicazioni: Teoremi di Sylow, centro di un p-gruppo finito, Teorema di Schur-Zassenhaus, semplicità dei gruppi speciali lineari proiettivi. - Azioni di Anelli: R-moduli, sottomoduli, omomorfismi, quozienti, moduli ciclici, moduli irriducibili, prodotto tensoriale di moduli, teorema di struttura dei moduli finitamente generati su domini a ideali principali, applicazioni: forma canonica razionale, forma di Jordan delle matrici. - Azioni di algebre: A-moduli, sottomoduli, omomorfismi, quozienti, moduli ciclici, moduli irriducibili, Teorema di Wedderburn-Artin, cenni sulle rappresentazioni lineari di gruppi. Bibliografia - M. MAINARDIS, Appunti di teoria dei gruppi, file pdf scaricabile dall’indirizzo: http://users.dimi.uniud.it/~mario.mainardis/classnotes.htm - N. JACOBSON, Basic Algebra 1. - I.N. HERSTEIN, Algebra. - M. ASCHBACHER, Finite Groups. - J. ALPERIN, R.B. BELL, Groups and Representations. ALGEBRA 4 Docente Dott. Maria Silvia Lucido Crediti 6 Finalità del corso La classificazione delle algebre di Lie semisemplici in un campo algebricamente chiuso e di caratteristica 0. Programma Definizioni, algebre di matrici, gl(n,K), sl(n, K), u(n,k), t(n,K). Algebre ortogonali e simplettiche. Algebre nilpotenti. Teorema di Engel. Algebre risolubili. Teorema di Lie. Criterio di Kartan. Forma di KIlling. Algebre semisemplici. Teorema di Weyl. Decomposizione in spazi di radici. Rappresentazioni irriducibili di sl(2,K). Proprietà razionali e integrali. Sistemi di radici e loro classificazione. Prerequisiti Geometria 1 e 2; Algebra 1 e 2. ALGEBRA 5 Docente Prof. Giovanni Panti Crediti 6 Finalità del corso Introdurre le nozioni fondamentali di Algebra Commutativa e di Teoria delle Categorie. Programma Anelli commutativi e ideali. Moduli. Localizzazione. Decomposizione primaria. Categorie e funtori. Trasformazioni naturali. Modalità d’esame Esame orale. Bibliografia - A TIYAH , M AC D ONALD , Introduction to 142 programmi - matematica triennale Commutative Algebra, Addison Wesley. - ZARISKI, SAMUEL, Commutative Algebra. Graduate Texts in Mathematics, n. 28, Springer. - M AC L ANE , Categories for the Working Mathematician. Graduate Texts in Mathematics, n. 5, Springer. ANALISI MATEMATICA 1 Docente Dott. Paolo Baiti Crediti 6 Finalità del corso Lo scopo del corso è introdurre gli studenti al metodo dell’Analisi Matematica fornendo i primi concetti della disciplina e dando le prime applicazioni. Finalità del corso Fornire allo studente gli elementi del calcolo differenziale ed integrale in una variabile e della teoria delle serie numeriche, nonché la capacità di eseguire i calcoli relativi. Programma Teoremi conclusivi su continuità ed uniforme continuità. Derivazione e calcolo differenziale in una variabile con applicazioni (Hopital,Taylor, studio di funzioni). Calcolo integrale in una variabile. Serie numeriche. Modalità d’esame Scritto ed orale. Bibliografia - C. CITRINI, Analisi matematica 1, Boringhieri. ANALISI MATEMATICA 3 Programma Preliminari. Relazioni e funzioni. Elementi di topologia. Limiti di successioni. Limiti di funzioni e continuità. Docente Dott. Maurizio Trombetta Modalità d’esame Scritto e orale. Crediti 6 Bibliografia - ACERBI, BUTTAZZO, Primo corso di Analisi Matematica, Pitagora. - CITRINI, Analisi Matematica 1, Boringhieri. - Dispense a cura del docente. Programma Spazi metrici. Lo spazio Rn: Non ordinabilità ordine parziale; intervalli; Teorema di Cantor. La distanza euclidea e sue proprietà; intorni di un punto e loro proprietà; insiemi aperti; il caso delle palle aperte. Punti di accumulazione e Teorema di Bolzano-Weierstrass. Punti aderenti, chiusura, insiemi chiusi. Applicazioni da Rn a Rm: dominio, componenti. Definizione di limite, continuità. Rienunciazione dei principali teoremi sui limiti e la continuità. Struttura lineare di Rn: la norma euclidea e sue proprietà; il prodotto scalare e sue proprietà. La disuguaglianza di Cauchy-Schwarz. Esempi di ANALISI MATEMATICA 2 Docente Prof. Carlo Cecchini Crediti 6 143 programmi - matematica triennale altre distanze e la definizione di spazio metrico. Insiemi aperti e insiemi chiusi; punti aderenti e punti di accumulazione; unione e intersezione di aperti e chiusi. Frontiera e sue proprietà. Applicazioni fra spazi metrici; limiti e continuità. Insiemi connessi per archi e per insiemi e relative implicazioni. I connessi di R. Teorema di connessione. Compattezza sequenziale; legame con la proprietà di Bolzano-Weierstrass. I compatti di Rn. Teorema di compattezza. Continuità uniforme e Teorema di Heine. Condizione di Cauchy e completezza. Completezza di Rn. Spazi normati. Deducibilità di una metrica da una norma. Spazi vettoriali con prodotto scalare. Deducibilità di una norma da un prodotto scalare (s.d.). Cenno sugli spazi topologici. Definizione a partire dagli intorni. Legame con gli insiemi aperti. Gli assiomi di separazione T0, T1 e T2. Esempi di spazi topologici. Applicazioni fra spazi topologici. Limiti e continuità. Caratterizzazione delle funzioni continue mediante le controimmagini di aperti e di chiusi. Successioni e serie di funzioni. Successioni di funzioni. Convergenza puntuale e uniforme. Il Teorema di Cauchy. Teorema dei due limiti; teoremi sulla continuità e sull’integrabilità della funzione limite. Convergenza uniforme e derivata. I Teoremi di Weierstrass e di Dini. Il caso delle serie di funzioni. I teoremi precedenti nel caso delle serie di funzioni. Serie di potenze. Lemma di Abel e sue conseguenze. Raggio, intervallo e insieme di convergenza di una serie di potenze. Teorema di Abel. Criteri del rapporto e della radice. Raggio di convergenza della serie delle derivate. Teoremi di derivabilità e integrabilità. Sviluppabilità in serie di potenze. Criteri di sviluppabilità. Sviluppi delle funzioni elementari. Calcolo differenziali per funzioni di priabili. Campi scalari: derivate parziali e direzionali. Derivate di ordine superiore. Teorema di Schwarz. Esempi di funzioni derivabili ma non continue. La differenziabilità e sue conseguenze. La matrice jacobiana; il gradiente. Il Teorema del differenziale totale. Campi vettoriali. Differenziabilità. Differenziabilità della funzione composta. Formula del valor medio. Campi scalari con gradiente identicamente nullo. Il differenziale secondo per i campi scalari. La matrice hessiana e sua simmetria. La formula di Taylor. Funzioni implicite. Il Teorema di Dini. Teorema di invertibilità locale. Matrici simmetriche e forme quadratiche. Teorema di Jacobi (s.d.). il caso n = 2. Estremi liberi assoluti e relativi per i campi scalari. Test delle derivate prime e Test delle derivate seconde. Estremi vincolati. Il metodo dei moltiplicatori di Lagrange. Bibliografia - Appunti del docente. ANALISI MATEMATICA 4 Docente Prof. Fabio Zanolin Crediti 6 Finalità del corso Fornire allo studente la nozione di misura e integrale di Lebesgue e introdurlo allo studio delle equazioni differenziali. Programma - Misura e integrale di Lebesgue. Passaggio al limite e derivazione sotto il segno di integrale. Teoremi di Fubini e calcolo degli integrali. Cambiamento di variabile negli integrali. Integrazione sulle superfici. - Equazioni differenziali ordinarie. Equazioni del prim’ordine e problema di Cauchy. Equazioni non lineari a variabili 144 programmi - matematica triennale separabili. Esistenza e unicità della soluzione del problema di Cauchy. Sistemi di equazioni differenziali lineari. Equazioni differenziali a coefficienti costanti. Vari esempi di equazioni e sistemi di equazioni differenziali. Modalità d’esame Scritto e orale. Bibliografia - E. GIUSTI, Analisi Matematica 2, Boringhieri. - Dispense a cura del docente. ANALISI MATEMATICA 5 Docente Prof. Gianluca Gorni Crediti 6 Finalità del corso Completare la formazione di base di Analisi Matematica nel settore delle equazioni differenziali e delle forme differenziali. Programma Equazioni differenziali non lineari: soluzioni massimali, teoremi di esistenza e unicità in grande, fuga dai compatti, criterio dell’asintoto, integrali primi. Integrazione alla Henstock- Kurzweil. Curve parametriche. Curve rettificabili. Formula integrale per la lunghezza. Forme differenziali: integrazione su curve, forme chiuse, forme esatte e localmente esatte, omotopie. Modalità d’esame Una prova scritta di esercizi e una prova orale di sola teoria. Bibliografia - G. DE MARCO, Analisi Due. ANALISI MATEMATICA 6 Docente Prof. Gianluca Gorni Crediti 6 Finalità del corso Introduzione all’Analisi Funzionale: definizione e studio dei principali spazi vettoriali normati di funzioni integrabili, e degli spazi di Hilbert, con applicazione alle serie di Fourier. Programma Integrazione astratta alla Lebesgue, spazi L^p, spazi di Hilbert, serie di Fourier. Modalità d’esame Una prova scritta di esercizi e una prova orale di sola teoria. Bibliografia Da decidere. ANALISI NUMERICA 1 Docente Prof. Dario Fasino Crediti 6 Finalità del corso L’analisi numerica si occupa dello studio degli algoritmi, ovvero dei procedimenti costruttivi, della matematica del continuo. Questo corso ha lo scopo di introdurre lo studente ad alcuni temi di base di questa disciplina, enfatizzandone gli aspetti formali, attraverso lo studio dei principali algoritmi dell’algebra lineare numerica, l’esposizione della teoria degli errori e di alcune tecniche fondamentali del calcolo scientifico. Le lezioni teoriche 145 programmi - matematica triennale saranno affiancate da esempi computazionali. Al termine del corso lo studente saprà analizzare e risolvere numericamente alcuni problemi della matematica del continuo, stimare l’attendibilità dei risultati e riconoscere i vincoli di precisione e di tempo imposti dalle risorse di calcolo. Programma Algebra lineare numerica: richiami di algebra lineare, norme vettoriali e matriciali, prodotti scalari. Fattorizzazione di Schur. Algoritmo di Gram-Schmidt. Decomposizione spettrale e ai valori singolari. Risoluzione di sistemi lineari. Metodi diretti. Fattorizzazione LU e sue varianti; fattorizzazione QR. Teorema di Rigal-Gaches. Metodi iterativi stazionari: Iterazioni lineari, metodi di Richardson, Jacobi, Gauss-Seidel. Risoluzione di problemi ai minimi quadrati discreti mediante equazioni normali, fattorizzazione QR e decomposizione ai valori singolari. Problemi agli autovalori: Teoremi di Gershgorin e di Bauer-Fike, metodo delle potenze e delle potenze inverse, iterazione QR. Teoria degli errori: errori assoluti e relativi, errore inerente e algoritmico, numero di condizionamento di un problema computazionale, numeri e operazioni di macchina, precisione di macchina, cancellazione catastrofica. Analisi dell’errore algoritmico. Algoritmi stabili in avanti, all’indietro, instabili. Risoluzione di equazioni e sistemi nonlineari. Metodo di bisezione e delle secanti. Iterazioni funzionali. Teorema delle funzioni contrattive. Metodi di Newton e di Newton-Raphson. Convergenza locale o globale. Ordine di convergenza di una successione. Ordine di convergenza dei principali metodi iterativi. Criteri di terminazione. Modalità d’esame Prova scritta e orale. La prova scritta potrà essere sostituita da due prove di valutazione intermedia da svolgere durante il corso. Bibliografia - E. TYRTYSHNIKOV, A Brief Introduction to Numerica Analysis, Birkhauser, 1997. - A. Q UARTERONI , R. S ACCO , F. S ALERI , Matematica Numerica, Springer, 2000. ANALISI NUMERICA 2 Docente Prof. Rossana Vermiglio Crediti 6 Finalità del corso Lo scopo del corso consiste nel fornire la conoscenza dei metodi numerici fondamentali nell’ambito della teoria dell’approssimazione, dell’integrazione e differenziazione attraverso l’analisi delle loro proprietà teoriche di base (stabilità, accuratezza e complessità) e delle loro prestazioni su esempi computazionali. Nel corso verrà utilizzato il software MATLAB sia per l’analisi critica dei risultati numerici ottenuti su esempi test sia per la sperimentazione in laboratorio di alcuni casi di studio. Programma Approssimazione di funzioni: interpolazione polinomiale, il problema della convergenza, interpolazione polinomiale a tratti, splines, trigonometrica; splines parametriche e curve di Bezier; approssimazione di funzioni: miglior approssimazione uniforme (teoria di Chebyshev) e in spazi prehilbertiani (teoria di Fourier); polinomi ortogonali; integrazione numerica; formule di Newton-Cotes, formule composite e adattive, le formule gaussiane;la tecnica di estrapolazione di 146 programmi - matematica triennale Richardon e l’integrazione di Romberg, integrali singolari. Differenziazione numerica: metodi alle differenze finite, differenze finite compatte, la tecnica pseudospettrale. Nelle esercitazioni, integrate con esperienze in laboratorio, saranno presentati dei semplici casi di studio di particolare interesse applicativo. Modalità d’esame Prova orale. Bibliografia - Appunti del docente. - A. Q UARTERONI , R. S ACCO , F. S ALERI , Matematica Numerica, Springer Verlag Italia, 2000. - L.N. T REFETHEN , Spectral methods in MATLAB, SIAM, 2000. ARITMETICA Docente Prof. Pietro Corvaja Crediti 6 Finalità del corso Lo scopo del corso è fornire allo studente gli strumenti necessari per affrontare il Corso di Laurea in Matematica, dando le prime nozioni sugli insiemi, sugli insiemi numerici e sul calcolo combinatorio. Programma - Insiemi e operazioni tra insiemi. - Primi elementi di calcolo combinatorio e permutazioni. - I numeri naturali e l’induzione. - I numeri interi e la loro aritmetica: l’algoritmo della divisone con resto. - Massimo comun divisore, numeri primi, teorema fondamentale dell’aritmetica. - I numeri complessi. - I polinomi: la divisione euclidea tra polinomi. Modalità d’esame Scritto e orale. Bibliografia - B. S CIMEMI , Algebretta, Decibel, Zanichelli. - Dispense. COMUNICAZIONE EFFICACE Docente Prof. Angelo Marzollo Crediti 1 Finalità del corso Il corso (pari ad un credito formativo) è mutuato da quello di Laboratorio di Tecniche di Comunicazione, e coincide con le prime otto lezioni di quest’ultimo. 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 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, ecc.). 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. Modalità d’esame L’esame consisterà in una prova di comunicazione (scritta ed eventualmente 147 programmi - matematica triennale anche orale) il più possibile aderente a situazioni che lo studente dovrà affrontare nella sua vita lavorativa e sociale. Gli studenti che superino l’esame di Laboratorio di Tecniche di Comunicazione, le cui prime otto lezioni affrontano gli argomenti sopra descritti, sono esentati dal sostenere separatamente l’esame di Comunicazione Efficace, ottenendone automaticamente l’idoneità. 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. - Grafici di funzioni elementari. - Funzioni esponenziali e logaritmiche. - Richiami di trigonometria: coordinate cartesiane e polari; funzioni trigonometriche; trigonometria elementare. - Richiami di geometria analitica: punti, rette, parabole, ellissi nel piano cartesiano; formule notevoli per alcuni poligoni regolari; cenni di geometria solida. Modalità d’esame Il corso si conclude con un test scritto facoltativo, allo scopo di rendere lo studente consapevole del livello delle sue conoscenze di base. Bibliografia - E. A CERBI , G. B UTTAZZO , Matematica preuniversitaria di base, Pitagora. - M. TROMBETTA, Precorso di matematica, Forum, Udine. CORSO INTRODUTTIVO Docente Prof. Paolo Cragnolini Finalità del corso Questo corso, la cui frequenza è facoltativa, si svolge prima delle altre lezioni dell’anno accademico e ha il duplice scopo di ricapitolare alcune nozioni e conoscenze elementari necessarie per iniziare proficuamente gli studi universitari in Matematica e di colmare eventuali lacune nella preparazione di base degli studenti. Programma - Elementi di logica e di teoria degli insiemi; numeri interi, razionali, reali; potenze e polinomi; algebra elementare; equazioni di primo e secondo grado in una variabile; sistemi lineari in due variabili; disequazioni e sistemi di disequazioni in una o due variabili. - Equazioni e disequazioni con radicali. FISICA 1 Docente Prof. Furio Ercolessi Crediti 6 Finalità del corso Scopo del corso è di fornire gli elementi di base della meccanica e della termodinamica. Durante il corso vengono presentati diversi esempi ed esercizi. Programma La misura dello spazio e del tempo; il Sistema Internazionale. Scalari e vettori. Cinematica: traiettoria, velocità e accelerazione, moti circolari, moti relativi. Massa e forza: leggi di Newton, sistemi di riferimento inerziali. Forze gravitazionali, normali, di tensione, elastiche, di attrito statico e dinamico. Energia cinetica, lavoro, energia potenziale e conservazio- 148 programmi - matematica triennale ne dell’energia. Centro di massa, quantità di moto. Sistemi a massa variabile. Urti. Rotazioni attorno ad un asse fisso: momento di inerzia, momento della forza, momento angolare, leggi di Newton in forma angolare. Rotolamento, precessione. Equilibrio statico. Oscillazioni: moto armonico, pendolo. Fluidi: pressione, principi di Pascal e Archimede, equazioni di continuità e di Bernoulli. Termologia: temperatura, calore. Gas ideali e teoria cinetica dei gas. Trasformazioni termodinamiche, prima legge della termodinamica. Macchine termiche: postulati di Kelvin e di Clausius, ciclo e teorema di Carnot. L’entropia e la seconda legge della termodinamica. Programma Forze in natura. Gravitazione. Elettromagnetismo. Onde ed onde elettromagnetiche in particolare. Cenni sulla relatività speciale e sulla formulazione covariante delle equazioni di Maxwell (facoltativo). Modalità d’esame Prova scritta con domande di teoria ed esercizi; compiti per casa. Bibliografia - SERWAY, JEWETT, Principi di Fisica. - HALLIDAY, RESNICK, WALZER, Fondamenti di Fisica. - Appunti di lezione. Modalità d’esame L’esame consta di una prova scritta e di una orale. Bibliografia - D. HALLIDAY, R. RESNICK, J. WALKER, Fondamenti di Fisica, sesta edizione, Casa Editrice Ambrosiana. FISICA 2 Docente Prof. Alessandro De Angelis Crediti 6 Pagina del corso http://www.fisica.uniud.it/~deangeli/fisi ca2/corsonuovo.html Finalità del corso Illustrare i fondamenti dell’elettromagnetismo e della meccanica ondulatoria. Il corso è indirizzato agli studenti di Matematica. Prerequisiti Nozioni di base dell’Analisi Matematica (limiti, derivate, integrali); Fisica 1. FISICA MATEMATICA Docente Dott. Stefano Ansoldi Crediti 6 Finalità del corso Introduzione alla Teoria della Relatività (Speciale e Generale) dal punto di vista delle Geometria Differenziale (con un’introduzione di base alle teorie di campo classiche in fisica). Programma - Concetti fondamentali in Teoria dei Campi: dai sistemi discreti ai sistemi continui; il concetto di campo; densità di Lagrangiana, Hamiltoniana, momento; cenni di base alla formulazione Lagrangiana e Hamiltoniana di una teoria di campo; cenni al calcolo delle variazioni in più dimensioni. - Complementi di Algebra: prodotto tensoriale di spazi vettoriali, il concetto di tensore e di componenti di un tensore, contrazione di tensori; prodotti scalari pseudo-Euclidei, segnatura di una metri- 149 programmi - matematica triennale ca, metriche Lorentziane, classificazione di vettori: tipo tempo, tipo spazio e tipo luce. - Geometria Differenziale: complementi (richiamo di concetti base di topologia, fibrati vettoriali e sezioni di fibrati, partizioni differenziabili dell’unità, curve su varietà, parentesi di Lie e loro proprietà); tensori e campi di tensori su varietà; connessioni e derivata covariante; curvatura; definizione del tensore di Riemann; relazione tra il tensore di Riemann e la derivata covariante seconda di un campo di vettori; componenti del tensore di Riemann in una base di coordinate; proprietà di simmetria del tensore di Riemann; tensore di Ricci, scalare di Ricci; curve auto-parallele e la mappa esponenziale su varietà; geometria Riemanniana e Lorentziana; metriche Riemanniane/L orentziane e loro esistenza. - Relatività: Relatività Speciale, principio di relatività e legge di propagazione della luce nel vuoto, riflessione di Einstein sui concetti di spazio e tempo, definizione operativa di simultaneità, trasformazioni di Lorentz ed il gruppo di Lorentz; Relatività Generale, sistemi inerziali e noninerziali, l’esperimento dell’ascensore di Einstein; il principio di equivalenza; il principio di covarianza generale; equazioni di Einstein nel vuoto e loro derivazione da un principio variazionale, proprietà delle equazioni di Einstein, significato fisico del tensore metrico, proprietà di conservazione in fisica classica ed in Relatività Speciale, leggi di conservazione e principio di covarianza generale, il tensore energia impulso e le equazioni di Einstein in presenza di sorgenti. Modalità d’esame Orale (a scelta, anche a progetto). Bibliografia - Note delle lezioni preparate dal docente (e disponibili anche on-line). FISICA MODERNA Docente Prof. Alessandro De Angelis Crediti 6 Pagina del corso http://www.fisica.uniud.it/~deangeli/fis mod/corsofismod.html Finalità del corso Introdurre la Fisica Quantistica e la Relatività. Il corso è indirizzato agli studenti di Fisica Computazionale, Matematica, Informatica e Ingegneria. Prerequisiti Fisica 1 e 2; Analisi applicata alle funzioni di una e più variabili. Programma Caduta della fisica classica. La prima formulazione della meccanica quantistica. Equazione di Schroedinger ed applicazioni. Conduzione e semiconduttori; funzionamento dei dispositivi elettronici a semiconduttore. Cenni sulla computazione quantistica. Relatività speciale e formulazione covariante dell’elettromagnetismo. Cenni sulla fisica delle particelle elementari e la cosmologia. Modalità d’esame Per chi frequenta il corso: compiti per casa. Per chi non frequenta il corso: esame orale. Bibliografia - K.S. KRANE, Modern Physics, seconda edizione, Wiley, 1996. - Appunti di lezione. 150 programmi - matematica triennale FONDAMENTI DELLA MATEMATICA 1 (tace nell’a.a. 2007/08) GEOMETRIA 1 Docente Prof. Pietro Corvaja Crediti 6 Finalità del corso Obiettivo del corso è di fornire una buona conoscenza delle possibilità di definire e sviluppare le nozioni e strutture matematiche fondamentali, e di analizzarle criticamente, alla luce delle principali acquisizioni logico-matematiche del Novecento. Programma Una scelta fra i seguenti argomenti: - Sistemi classici e costruttivi per l’Aritmetica e la Teoria degli Insiemi e loro relazioni. La fondazione insiemistica della matematica. - La crisi dei fondamenti, il programma di Hilbert e i teoremi di incompletezza di Godel. - Matematica senza infinito e matematica dell’infinito. - Risultati di coerenza e di indipendenza. Bibliografia - Dispense del docente. - S. FEFERMAN et al. (eds.), Kurt Godel - Collected Works, voll. I e II, Oxford University Press 1986-1990. - M. SZABO, The Collected Papers of Gerhard Gentzen, Noth Holland, 1969. - R. S MULLIAN , Godels’s Incompleteness Theorems, Oxford Logic Guides, 1992. - F. ARZARELLO, Matematica dell’Infinito, voll. I e II, CLU, Torino, 1980. - K. KUNEN, Set Theory: an Introduction to Independence Results, North Holland, 1981. - G. LOLLI, Dagli insiemi ai numeri, Boringhieri, 1994. Crediti 6 Programma - Risoluzione dei sistemi lineari e matrici, matrici invertibili. - Spazi vettoriali, sottospazi, dimensione, coordinate, formula di Grassman, rango, Teorema di Rouché-Capelli. - Funzioni lineari, nucleo, immagine, isomorfismi, matrice di una funzione lineare, spazio duale, quozienti. GEOMETRIA 2 Docente Prof. Pietro Corvaja Crediti 6 Programma - Proprietà del determinante, esistenza, unicità, matrice dei cofattori, regola di Cramer. - Funzioni lineari e matrici diagonalizzabili, autovettori, autovalori, polinomio caratteristico, autospazi e diagonalizzabilità, triangolazione. - Spazi affini, sottospazi, parallelismo, intersezioni, formula di Grassman, affinità. - Forme bilineari e quadratiche, ortogonalità, basi ortogonali, segnatura, teorema di Sylvester, prodotti scalari, matrici ortogonali, spazi euclidei, isometrie. GEOMETRIA 3 Docente Prof. Paolo Cragnolini 151 programmi - matematica triennale Crediti 6 Finalità del corso Il corso si propone di presentare alcuni elementi di geometria proiettiva e della teoria delle quadriche, proseguendo lo studio della geometria affine iniziato nel corso di Geometria 2 e sviluppandone i metodi. Vengono introdotti gli strumenti di algebra bilineare necessari. Programma 1. Spazi proiettivi e sistemi di riferimento proiettivi. Sottospazi proiettivi. Sottospazio proiettivo generato ed indipendenza lineare. Formula di Grassmann, posizione generale, proiezioni. 2. Il complementare di un iperpiano è uno spazio affine. I teoremi di Talete e di Pappo. 3. Lo spazio proiettivo duale. I sottospazi proiettivi del duale e la dualità. 4. Proiettività, punti fissi e iperpiani uniti. Trasformazioni affini. Il birapporto. Involuzioni. L’invariante j. 5. Ipersuperficie proiettive. Punti regolari e iperpiano tangente. Quadriche. Classificazione proiettiva ed affine. Il Teorema di Sylvester. Bibliografia - E. S ERNESI , Geometria 1, Boringhieri, Torino, 1989. - P. CRAGNOLINI, Appunti del corso. GEOMETRIA 4 Docente Prof. Paolo Cragnolini Crediti 6 Finalità del corso Il corso si propone di applicare i metodi proiettivi introdotti nel corso di Geometria 3 allo studio delle cubiche piane e dei sistemi lineari. Vengono inoltre presentati gli strumenti di base della topologia generale che saranno applicati ai casi più semplici della classificazione topologica delle ipersuperficie proiettive. Programma La quadrica di Klein. Sistemi lineari di quadriche. Curve proiettive piane, intersezioni con rette, molteplicità. Il teorema di Bezout in forma debole. Classificazione proiettiva delle cubiche piane. Spazi topologici, intorni, chiusi, funzioni continue. Sottospazi topologici, prodotti finiti, quozienti. Compattezza, connessione. Topologia delle coniche, delle quadriche nello spazio tridimensionale e delle cubiche singolari. Bibliografia - E. S ERNESI , Geometria 1, Boringhieri, Torino, 1989. - E. S ERNESI , Geometria 2, Boringhieri, Torino, 1994. - P. CRAGNOLINI, Appunti del corso. GEOMETRIA 5 Docente Prof. Francesco Zucconi Crediti 6 Finalità del corso Il corso è concepito come un’introduzione alla Geometria Differenziale. Programma - Varietà differenziabili. - Campi di vettori. - Teorema egregium. - Fibrati vettoriali. - Forme differenziali. - Cosmologia di De Rham. - Nozione di grado e di indice. - Cenni sui gruppi di Lie. 152 programmi - matematica triennale Bibliografia D. BARDEN & C., An Introduction to Differential Manifolds, Thomas Imperial College Press, 2003. GEOMETRIA 6 Docente Prof. Francesco Zucconi Crediti 6 Finalità del corso Il corso mira a preparare lo studente alla nozione di funzione meromorfa e a quella di Superficie di Riemann. Programma - Analisi locale di un’applicazione olomorfa. - Formula di Cauchy, analiticità delle funzioni olomorfe. - Serie e prodotti infiniti di applicazioni olomorfe. - Teorema dei residui e sue applicazioni. - Funzioni meromorfe. Funzioni meromorfe notevoli. - Nozione di superficie di Riemann. - Applicazioni olomorfe tra Superficie di Riemann. - Fibrati invertibili su una superficie di Riemann. - Teorema di Riemann-Roch. Bibliografia - R. REINOLD, Theory of Complex Functions, G.T.M. Springer-Verlag, New York, 1991. - K. KUNIHIKO, Introduction to Complex Analysis, C.U.P., 1984. - F. OTTO, Lectures on Riemann Surfaces, G.T.M. Springer-Verlag, New York, 1991. INFORMATICA 1 Docente Prof. Agostino Dovier Crediti 6 Finalità del corso Oltre a fornire una prima ‘alfabetizzazione informatica’, il corso ha come scopo principale quello di sviluppare nello studente la sensibilità per l’aspetto ‘computazionale’ dell’attività scientifico-matematica. Programma Breve Storia del Calcolatore. Programmazione. Il concetto di Algoritmo. Esistenza di funzioni non computabili. Diagrammi di flusso ed il Teorema di Bohm-Jacopini. Linguaggi di Programmazione: Panoramica generale, compilazione ed interpretazione. La Programmazione Imperativa usando C. Parole riservate, Identificatori, Variabili, Tipi Primitivi, Costanti, Letterali. Operatori, Espressioni e loro tipi. Istruzione di Assegnamento. Sequenza, blocco, istruzioni if-(then)-else, while e for. Struttura di un programma C mediante BNF. Vettori e matrici. Funzioni: definizione ed uso. Parametri formali ed attuali. Passaggio parametri per valore e per indirizzo. Variabili locali e globali. Definizioni ricorsive. Esercitazioni in laboratorio. realizzazione di algoritmi in C, tra cui l’algoritmo di Euclide, il test di primalità, la stampa di semplici figure bidimensionali, il calcolo di massimo e del minimo degli elementi di un vettore e/o di una matrice, le definizioni ricorsive del Fattoriale, dell’algoritmo di Euclide, del problema della torre di Hanoi, della successione di Fibonacci, nonché la stesura di algoritmi aritmetici su interi ‘lunghi’. Esercitazioni con il programma MATLAB: principali istruzioni, calcolo 153 programmi - matematica triennale matriciale, grafica e programmazione. Complessità. Principali concetti. Confronto tra classi di complessità e studio degli effetti dell’evoluzione dell’HW sulle varie famiglie. La notazione ‘O’ grande. Calcolo della complessità degli algoritmi scritti in C anche in presenza di ricorsione. Ricerca lineare e binaria di un elemento in un vettore. Ordinamento di un vettore: bubble sort e merge sort. Rappresentazione dell’Informazione. Rappresentazione di numeri interi, numeri reali, caratteri, suoni e immagini e cenni sulla compressione. Architettura di un calcolatore. Gerarchia di macchine astratte. Architettura di Von Neumann e a Bus. La CPU, i Bus Dati e Bus Indirizzi, la memoria principale, la memoria Cache e la Memoria Secondaria. Modalità d’esame Prova scritta ed orale Bibliografia - J.G. B ROOKSHEAR , Informatica. Una panoramica generale, AddisonWesley/Pearson. - Dispense del docente sulla programmazione in C, disponibili in rete. - Dispense su MATLAB, disponibili in rete. INFORMATICA 2 Docente Prof. Carla Piazza Crediti 6 Finalità del corso Obiettivo del corso è l’approfondimento sistematico delle tematiche affrontate nel corso di Informatica 1. Argomenti principali del corso sono lo studio, l’analisi e la sintesi di algoritmi, con particolare riferi- mento all’utilizzo di strutture dati opportune e alla valutazione della loro complessità temporale e spaziale. Verranno, infine, forniti alcuni elementi di teoria della computabilità e di complessità computazionale, con particolare riferimento all’introduzione delle principali classi di complessità temporale e spaziale. È prevista attività di laboratorio con programmazione in linguaggi imperativi. Programma - Cenni di Teoria della Calcolabilità. Nozione intuitiva di algoritmo. Macchine di Turing. Tesi di Church. Macchine di Turing Universali. Teorema dell’arresto. Calcolabilità e Decidibilità. Unlimited Register Machine. - La nozione di Complessità. Complessità in termini di Tempo e Spazio. Criterio uniforme e criterio logaritmico. Tesi di Church estesa. Complessità asintotica. Metodi di risoluzione per equazioni ricorsive di complessità. Classi di Complessità. - Elementi di Algoritmi e Strutture Dati. Strutture dati: Vettori, Record, Liste, Pile, Code, Alberi, Grafi. Algoritmi: HeapSort, Moltiplicazione di Matrici, String Matching, Algoritmi su grafi. Bibliografia - T.H. CORMEN, C.E. LEISERSON, R.L. RIVEST, Introduction to Algorithms, second edition, MIT Press, 2001. - J.E. HOPCROFT, J.D. ULLMAN, Introduction to Automata Theory, Languages and Computation, Addison-Wesley, 1979. - N. CUTLAND, Computability, Cambridge University Press. LINGUAGGIO MATEMATICO Docente Prof. Franco Parlamento 154 programmi - matematica triennale Bibliografia - Appunti del docente. Crediti 2 Programma Introduzione al linguaggio matematico: il linguaggio matematico si distingue da altri linguaggi ‘professionali’ per uno sviluppo notevole del formalismo simbolico e per un uso costante ed indispensabile di alcuni paradigmi logici. Lo scopo di queste lezioni è di rendere lo studente esplicitamente consapevole dei vari aspetti del linguaggio matematico. LOGICA MATEMATICA 1 Docente Prof. Franco Parlamento Crediti 6 Finalità del corso Sviluppare una buona competenza nel verificare o refutare il sussistere di relazioni di conseguenza logica, inserendola in un quadro matematicamente preciso e particolarmente rigoroso di acquisizioni teoriche. Programma - Operatori logici e regole di deduzione. - Logica e logica classica. - Linguaggi del prim’ordine. - Sistemi di deduzione naturale. - Completezza e decidibilità del calcolo proposizionale classico. - Calcoli dei sequenti. - Teorema di eliminazione del taglio e applicazioni. - Teoremi di Herbrand e di HilbertAckermann. - Tavole semantiche e completezza della logica classica. Modalità d’esame Esame scritto e esame orale. LOGICA MATEMATICA 2 Docente Prof. Franco Parlamento Crediti 6 Finalità del corso Integrare la preparazione di base di logica matematica e sviluppare una buona padronanza delle parti elementari della teoria assiomatica degli insiemi e della teoria della calcolabilità. Programma A1. Sistemi alla Hilbert. A2. Logica con uguaglianza. A3. Il metodo delle valutazioni classiche. A4. Trasformate di Herbrand e di Skolem. A5. Estensioni definitorie e interpretazioni sintattiche. A6. Semantica insiemistica. A7. Relazioni fra interpretazioni. A8. Compattezza. B1. Assiomatica di Zermelo Fraenkel. B2. Ordinali e naturali B3. Induzione e ricorsione. B4. Insiemi ben fondati. B5. Cardinali. B6. Assioma della scelta. C1. Funzioni ricorsive e primitive ricorsive. C2. Macchine a registri e macchine di Turino. C3. Codificabilità di programmi e computazioni. C4. Teorema di forma normale di Kleene. C5. Problemi in decidibili. C6. Indecidibilità della logica di Horn. Modalità d’esame Prova orale. Bibliografia - Appunti del docente. - N. CUTLAND, Computability, Cambridge University Press. 155 programmi - matematica triennale MATEMATICHE COMPLEMENTARI 1 Docente Prof. Alberto Marcone Crediti 6 Pagina del corso http://www.dimi.uniud.it/marcone/MC 2.html Finalità del corso Questo corso si svolgerà interamente in laboratorio ed ha lo scopo di familiarizzare gli studenti con alcuni dei software che stanno trovando ampio utilizzo nella didattica della matematica nelle scuole primarie e secondarie. Programma La prima parte del corso verrà dedicata al programma Cabri per la geometria dinamica. Nella seconda parte del corso si utilizzerà un software di calcolo simbolico (quali Maple, Mathematica, Derive, ecc.): presumibilmente il programma freeware Maxima. spettiva moderna e avanzata su alcuni argomenti che sono alla base della matematica insegnata nelle scuole superiori allo scopo di fornire i futuri insegnanti di solide basi teoriche riguardo a ciò che insegneranno. Programma In questo corso la geometria ‘classica’ viene affrontata da un punto di vista moderno, attraverso un approccio rigoroso all’assiomatica della geometria piana. Verranno usati diversi modelli della geometria per discutere gli assiomi man mano che vengono introdotti, giungendo ad una familiarità con le problematiche relative alla geometria neutrale (o assoluta). Infine, concentrandosi in particolare sul piano cartesiano e sul piano di Poincaré, verranno presentate le basi della geometria euclidea e di quella non-euclidea iperbolica. Modalità d’esame Prova orale. Bibliografia R.S. MILLMAN, G.D. PARKER, Geometry. a Metric Approach with Models, Springer, 1991. Modalità d’esame Prova pratica con i software. MECCANICA RAZIONALE 1 MATEMATICHE COMPLEMENTARI 2 (tace nell’a.a. 2007/08) Docente Dott. Stefano Ansoldi Docente Prof. Alberto Marcone Crediti 6 Crediti 6 Finalità del corso Introduzione ai principi base della meccanica razionale come strumento per lo studio di sistemi classici composti da un numero finito di particelle; cenni al calcolo delle variazioni; studio del moto in presenza di forze centrali. Finalità del corso Fornire alcune competenze utili a chi intende intraprendere la strada dell’insegnamento con l’acquisizione di una pro- 156 Programma Richiamo di concetti preliminari: sistema di coordinate, posizione, spostamento, velocità. Fondamenti concettuali della meccanica classica e loro estensione: spazio, tempo, simultaneità, trasformazioni di Galileo, legge Galileiana di composizione delle velocità, principio di relatività nel senso ristretto; legge di propagazione della luce nel vuoto e apparente contraddizione con il principio di relatività; relatività della simultaneità, il tempo in relatività speciale; trasformazioni di Lorentz; limiti della relatività speciale; principio di relatività generale e sistemi di coordinate non inerziali; massa inerziale e massa gravitazionale; l’esperimento dell’ascensore di Einstein: fondamenti concettuali della relatività generale. Calcolo delle variazioni: introduzione; funzionale; variazione degli argomenti e loro ‘vicinanza’; funzionali continui, funzionali lineari; variazione di un funzionale; estremi di un funzionale e condizione necessaria di estremo; funzionali integrali dipendenti da più funzioni reali di una variabile reale, equazioni di Eulero, estremali. La meccanica del punto materiale: prima e seconda legge di Newton, conservazione del momento lineare, conservazione del momento angolare e dell’energia. La meccanica dei sistemi di punti materiali: forze interne ed esterne, terza legge di Newton (forme debole e forte), forze conservative; teoremi di conservazione; centro di massa e proprietà, decomposizione del moto in moto del centro di massa e moto relativo al centro di massa; corrispondente decomposizione delle grandezze dinamiche; energia potenziale e sua espressione in termini delle energie potenziali di interazione e delle energie potenziali delle forze esterne. Oscillatore armonico unidimensionale, sua importanza per la discussione delle piccole oscillazioni nell’intorno di un punto di equilibrio stabile di un poten- programmi - matematica triennale ziale arbitrario. Vincoli e sistemi vincolati: classificazione dei vincoli, gradi di libertà, coordinate generalizzate, velocità generalizzate; spostamenti reali e virtuali; forze attive e reazioni vincolari; lavori virtuali; principio di d’Alembert; energia cinetica come forma quadratica non omogenea nelle velocità generalizzate; equazioni di Eulero-Lagrange del primo tipo; funzione potenziale; funzione Lagrangiana. Meccanica Lagrangiana: equazioni di Eulero-Lagrange del secondo tipo; funzione potenziale generalizzato; funzione Hamiltoniana e sua interpretazione fisica; coordinate cicliche e quantità conservate; teorema di conservazione dell’Hamiltoniana; spazio delle configurazioni, delle configurazioni esteso, delle fasi, delle fasi esteso; moto nello spazio delle configurazioni e nello spazio delle configurazioni esteso, traiettoria di fase, integrali primi del moto e loro rappresentazione nello spazio delle fasi; formulazione di un sistema non autonomo in termini di un sistema autonomo equivalente; applicazioni del calcolo delle variazioni alla meccanica Lagrangiana; funzionale d’azione e principio dell’azione stazionaria (principio di Hamilton); applicazione di principi variazionali alla formulazione della dinamica di sistemi vincolati; concetto di simmetria/invarianza per un sistema lagrangiano; struttura di gruppo delle trasformazioni di simmetria; simmetrie e quantità conservate, teorema di Noether. Moto di una punto materiale in un campo centrale conservativo: riduzione del problema ad un problema unidimensionale equivalente; analisi qualitativa della dinamica; integrali primi e riduzione del problema alle quadrature; determinazione dei potenziali per i quali tutte le orbite limitate sono chiuse; problema di Keplero: soluzioni delle equazioni per orbite limitate; dimostrazione delle leggi di Keplero. Studio del moto di due punti materiali interagenti tramite forze con- 157 programmi - matematica triennale servative in assenza di forze esterne: scomposizione del problema in moto del centro di massa e moto relativo (massa ridotta) e sua soluzione). Cenni alla formulazione della meccanica analitica tramite i metodi della geometria differenziale: varietà differenziabile, spazio tangente, fibrato tangente, Lagrangiana come funzione sul fibrato tangente. Modalità d’esame Scritto e orale. Bibliografia - H. GOLDSTEIN, Meccanica classica, Zanichelli. - V.I. A RNOLD , Metodi matematici della meccanica classica, Editori Riuniti. - L.E. ELSGOLTS, Equazioni differenziali e calcolo delle variazioni, Editori Riuniti. MECCANICA RAZIONALE 2 Docente Prof. Lorenzo Freddi Crediti 6 Programma Geometria delle masse. Cinematica dei sistemi rigidi. Grandezze dinamiche dei sistemi materiali. Teoremi generali della meccanica dei sistemi materiali discreti. Statica dei sistemi materiali. Dinamica dei sistemi materiali. Meccanica analitica. Bibliografia I testi adottati saranno comunicati agli studenti all’inizio del corso. OTTIMIZZAZIONE 1 Docente Prof. Franca Rinaldi Crediti 6 Finalità del corso L’ottimizzazione (o programmazione matematica) è una disciplina che gioca un ruolo di primo piano nel processo di modellizzazione e risoluzione dei complessi problemi di decisione che emergono in ambito applicativo. Il corso si propone di presentare una panoramica delle principali classi di problemi di ottimizzazione, quali la programmazione lineare, la programmazione lineare intera e l’ottimizzazione combinatoria, e delle rispettive metodologie risolutive. Nel modulo I verranno anche richiamate alcune nozioni di base di tre argomenti fondamentali per lo sviluppo del programma di ottimizzazione: la teoria della complessità computazionale, l’analisi convessa e la teoria dei grafi. Per ulteriori informazioni sulla ricerca operativa e sull’ottimizzazione si consulti il sito dell’INFORMS (Institute for Operations Research and Management Science) www.informs.org. Programma Introduzione ai problemi di ottimizzazione (4 ore) Problemi reali, modelli e algoritmi risolutivi. Esempi di problemi di ottimizzazione continua e discreta: problemi di programmazione lineare, non lineare e lineare intera. Esempi di problemi di ottimizzazione combinatoria: Bin Packing, Knapsack, Assegnamento tridimensionale, Set Covering, Set Packing, Set Partitioning, Soddisfattibilità. Cenni di teoria dei grafi (4 ore) Definizioni fondamentali. Matrici di incidenza. Tagli e cammini. Connessione e 158 programmi - matematica triennale forte connessione. Alberi, cricche e insiemi stabili. Problemi di ottimizzazione su grafi. Cenni di complessità computazionale (6 ore) Algoritmi e loro complessità. Problemi di decisione. Classi P ed NP. Trasformazioni polinomiali ed NP-completezza. Esempi di problemi NP-completi. Cenni di analisi convessa (10 ore) Definizioni fondamentali. Teorema di Caratheodory. Operazioni algebriche su insiemi. Proprietà topologiche. Teoremi di separazione. Poliedri. Funzioni convesse. Proprietà differenziali. Minimizzazione di funzioni convesse. Programmazione lineare (12 ore) Definizioni fondamentali ed esempi. Geometria della PL. Dualità. Condizioni di complementarità. Cenni sulla complessità della PL. Metodo del simplesso. Analisi di sensistività. Programmazione lineare intera (12 ore) Introduzione ed esempi. Matrici totalmente unimodulari. Metodo del branch and bound. Metodo del branch and cut. Diseguaglianze di Chvìtal e tagli di Gomory. Modalità d’esame L’esame consiste in una prova scritta e in una prova orale. Bibliografia - P. SERAFINI, Ottimizzazione, Zanichelli, Bologna, 2000. OTTIMIZZAZIONE 2 Docente Prof. Franca Rinaldi Crediti 6 Finalità del corso Il corso completa la presentazione dei principali argomenti dell’ottimizzazione matematica, sviluppando la teoria delle reti di flusso, la programmazione dinamica ed alcuni temi fondamentali di ottimizzazione combinatoria. Programma Teoria delle reti di flusso (14 ore) Definizioni fondamentali. Il problema di flusso a costo minimo. Il metodo del simplesso adattato alle reti di flusso. Il problema del massimo flusso e l’algoritmo di Dinic-Karzanov. Il problema del cammino minimo e l’algoritmo di Dijkstra. L’algoritmo ‘out-of-kilter’. Programmazione dinamica (12ore) Il principio di ottimalità e l’equazione di Bellman. L’algoritmo di Bellman-Ford. L’algoritmo per reti acicliche. L’algoritmo di Floyd-Warshall. Applicazioni della PD a: il problema del knapsack, il problema dell’allineamento di due stringhe, un problema di schedulazione. Ottimizzazione combinatoria (22 ore) Problemi di accoppiamento e assegnamento. Algoritmi per l’accoppiamento di cardinalità massima. Ottimizzazione su matroidi. Algoritmo di Kruskal per il problema dell’albero di supporto di costo minimo. Combinatorica poliedrale. Analisi poliedrale del problema dell’accoppiamento di costo minimo, del problema del commesso viaggiatore e del problema dell’insieme stabile. Modalità d’esame L’esame consiste in una prova scritta ed in una prova orale. Bibliografia - P. SERAFINI, Ottimizzazione, Zanichelli, Bologna, 2000. 159 programmi - matematica triennale PARTICELLE E INTERAZIONI FONDAMENTALI Docente Dott. Marina Cobal Crediti 6 Pagina del corso http://www.fisica.uniud.it/%7Ecobal/pa rticelle_welcome.html Finalità del corso Questo corso è un’introduzione alla Fisica delle Particelle e delle Interazioni Fondamentali. Si discutono alcune delle proprietà dei costituenti fondamentali della materia e le loro interazioni, così come i metodi sperimentali e le tecnologie coinvolte. In generale, intenzione del corso non è quella di derivare modelli teorici da principi primi, ma piuttosto di confrontare previsioni fenomenologiche con risultati sperimentali, così da introdurre le conoscenze necessarie per affrontare questo tipo di ricerca. Il corso è indirizzato agli studenti di Fisica Computazionale, Matematica, Informatica e Ingegneria. Prerequisiti Fisica 1 e 2; Fisica Moderna; eventualmente Meccanica Quantistica. Programma Concetti base: unità di misura, relatività speciale, sezioni d’urto, rate di decadimento. Particelle ed interazioni fondamentali: quarks, leptoni, bosoni di gauge, interazioni elettromagnetiche, forti e deboli. Leptoni: elettroni e positroni, muoni e tau, neutrini. Metodi sperimentali: acceleratori di particelle e rivelatori di particelle. Adroni e forze nucleari. Risonanze. Struttura degli adroni e scattering deep in elastico. Stranezza. Modello a quark degli adroni. Quark pesanti. Il mec- canismo GIM. La matrice CKM. Unificazione elettrodebole e bosoni W e Z. Correnti neuter. Simmetrie discrete e interazioni deboli: parità, coniugazione di carica e CP. Quantocromodinamica (QCD): colore, accoppiamento forte, sconfinamento, getti di particelle. Il meccanismo di Higgs e la ricerca sperimentale dell’Higgs. Modalità d’esame Compiti per casa e relazione finale su un articolo a scelta. Bibliografia - PERKINS, High Energy Physics, quarta edizione, Addison-Wesley. - B.R. MARTIN, G. SHAW, Particle Physics, seconda edizione, Wiley. - Appunti di lezione, disponibili sul sito: http://www.fisica.uniud.it/~cobal/particelle_welcome.html PROBABILITÀ 1 Docente Prof. Carlo Cecchini Crediti 6 Finalità del corso Introdurre lo studente agli elementi di base del calcolo delle probabilità e consentirgli di applicare in questo contesto in modo interdisciplinare quanto visto nei corsi già seguiti. Si pone particolare attenzione alle applicazioni. Programma - Spazio di probabilità e probabilità elementare. - Variabili aleatorie scalari e vettoriali discrete e continue, con i concetti di base relativi (massa,media, varianza, momenti, distribuzione e densità, covarianza, 160 programmi - matematica triennale ecc.). - Condizionamento. - Funzioni generatrici. - Cenno sui processi. Modalità d’esame Scritto ed orale. PROBABILITÀ 2 Docente Prof. Vidoni Paolo Crediti 6 Programma 1. Richiami di Calcolo delle Probabilità. 2. Valori attesi e distribuzioni condizionate. 3. Introduzione ai processi stocastici. 4. Catene di Markov. 5. Processi di Poisson. 6. Martingale. 7. Moto browniano. Modalità d’esame L’esame consiste in una prova orale. Bibliografia - Per gli argomenti 1. e 2.: appunti delle lezioni e, come consultazione e complemento, alcuni paragrafi della Dispensa Probabilità 2. - Per gli argomenti 3., 4., 5., 6., 7.: appunti delle lezioni e, come consultazione, D. BOSQ, H.T. NGUYEN, A Course in Stochastic Processes: Stochastic Models and Statistical Inference, Kluwer, 1996. STATISTICA 1 Docente Prof. Luigi Pace Crediti 6 Finalità del corso Il corso presenta un’introduzione all’inferenza statistica e ad alcune importanti applicazioni, sulla base del concetto di funzione di verosimiglianza. Programma - Richiami e complementi di Calcolo delle Probabilità; le variabili casuali normale bivariata e normale multivariata; la distribuzione di combinazioni lineari e forme quadratiche di componenti di una normale multivariata. - Modelli statistici; il problema; modelli parametrici e non parametrici; modelli statistici parametrici notevoli, il controllo empirico di un modello statistico (metodi grafici: probabilty plot, stima della densità). - Inferenza statistica: le procedure fondamentali; il problema; definizioni di base; stima puntuale; problemi di previsione; verifica delle ipotesi statistiche; stima intervallare; i test di Kolmogorov-Smirnov; la simulazione. - La funzione di verosimiglianza; motivazione e definizioni di base (funzione score, informazione osservata); lo stimatore di massima verosimiglianza; i test di verosimiglianza; parametri di interesse e parametri di disturbo: la verosimiglianza profilo; verosimiglianze penalizzate e selezione del modello. Modalità d’esame L’esame consiste in una prova scritta seguita, per i sufficienti, da una prova orale. Entrambe le prove dovranno essere superate nello stesso appello. Bibliografia - Appunti delle lezioni. - A. AZZALINI, Inferenza Statistica: un’introduzione basata sul concetto di verosimiglianza, Springer-Verlag, 1992. - L.J. BAIN, M. ENGELHARDT, Introduction to Probability and Mathematical Statistics, PWS-Kent Publishing co., 1992. programmi - matematica triennale 161 STATISTICA 2 Modalità d’esame L’esame consiste in una prova scritta seguita, per i sufficienti, da una prova orale. Entrambe le prove dovranno essere superate nello stesso appello. Docente Prof. Luigi Pace Crediti 6 Finalità del corso Il corso approfondisce l’inferenza statistica parametrica basata sul concetto di verosimiglianza e tratta alcune applicazioni riferite a modelli di regressione. Programma - Verosimiglianza: aspetti teorici. L’immutabilità della verosimiglianza; statistiche sufficienti e verosimiglianza; distribuzioni campionarie asintotiche delle principali quantità di verosimiglianza e loro uso come approssimazioni. - Procedure statistiche ottimali. Stimatori non distorti ed efficienti tra i non distorti; test più potenti; intervalli di confidenza più accurati; i teoremi fondamentali. - I modelli binomiali. Stima della probabilità; verifica di ipotesi e test dei segni per mediana e quantili; test per la probabilità comune; il modello di regressione logistica; l’algoritmo di Newton-Raphson per la determinazione di una soluzione dell’equazione di verosimiglianza. - I modelli multinomiali. Stima delle probabilità di cella; test chiquadrato di adattamento; test di indipendenza in una tabella di contingenza; test di omogeneità di più tabelle. - I modelli Poisson. Stima e verifica di ipotesi sul parametro; modelli di regressione. - I modelli normali. Stima e verifica di ipotesi sui parametri; modelli di regressione lineare. Bibliografia - Appunti delle lezioni. - A. AZZALINI, Inferenza Statistica: un’introduzione basata sul concetto di verosimiglianza, Springer-Verlag, 1992. - L. PACE, A. SALVAN, Teoria della Statistica, Cedam, 1996. STRUMENTI INFORMATICI PER LA MATEMATICA Docente Prof. Gianluca Gorni Crediti 1 Finalità del corso Avviare gli studenti all’uso del LaTeX, il sistema gratuito standard per la scrittura di testi matematici. Programma Motivazioni e storia del LaTeX; sintassi di base; la struttura a grande scala di un documento di LaTeX; scrittura di testi; scrittura di formule matematiche. Modalità d’esame Presentazione di un progettino, consistente in un paio di pagine scritte in LaTeX, che usino titolazione, sezionamenti, testo e formule. Bibliografia Presentazione del corso e altro materiale disponibile in rete. 162 programmi - biotecnologie triennale CORSO DI LAUREA INTERFACOLTÀ IN BIOTECNOLOGIE blemi che serviranno come paradigma nella risoluzione di particolari tipi di problemi di biologia computazionale. Programmi dei corsi tenuti dai docenti della Facoltà di Scienze MFN; per gli altri corsi consultare le guide delle facoltà di Agraria, Medicina e Medicina Veterinaria. Programma Algoritmi: definizione, misura della complessità, classi di complessità. Complessità di problemi: problemi di decisione, classe P, trasformazioni di problemi, classe NP, problemi NP-completi. Strutture dati: specifica di una struttura dati, implementazione di una struttura dati, efficienza dell’implementazione, strutture dati elementari: pile, code, alberi, alberi binari di ricerca. Equazioni ricorsive: fattoriale, numeri di Fibonacci, formule esplicite, Master Theorem. Algoritmi di Ordinamento: inserzione, bubblesort, quicksort, mergesort, heapsort, radixsort. Programmazione dinamica: principio di ottimalità, equazione di Bellman, cammini minimi e massimi, algoritmo di Bellman-Ford, algoritmo di Dijkstra, algoritmo di Floyd-Warshall, confronto di stringhe, altri esempi. Altri algoritmi su grafi: minimo albero di supporto, max flow-min cut, assegnamento. Programmazione lineare: problema primale e duale, complementarità, totale unimodularità. Problemi NP-completi: TSP, insiemi stabili, knapsack. ALGORITMI E STRUTTURE DATI Docente Prof. Paolo Serafini Crediti 5 Pagina del corso http://www.dimi.uniud.it/~serafini/AS D0607.pdf Finalità del corso Il corso introduce lo studente ai concetti che stanno alla base dell’elaborazione dei dati da parte di un calcolatore. Infatti i dati devono essere presentati al calcolatore secondo opportune strutture ed elaborati, stando a modalità precisamente definite e che si applicano a classi di dati dello stesso tipo. Gli algoritmi sono appunto le modalità secondo cui un calcolatore elabora i dati. Essenziale è comprendere come le risorse di tempo e di spazio vengano impiegate da un algoritmo per capire se l’elaborazione possa essere praticamente portata a termine (cioè in tempi ragionevoli e senza eccedere la memoria disponibile nel calcolatore). Il comportamento di un algoritmo dipende non solo dalla natura del problema i cui dati si devono elaborare ma anche da come questi vengono strutturati. Verranno quindi presentate le strutture dati più comunemente usate ed alcuni degli algoritmi che più frequentemente compaiono nell’elaborazione di grandi quantità di dati. Il corso sarà concluso da una presentazione di alcuni pro- Modalità d’esame L’esame consiste in una prova orale. BASI DI DATI Docente Dott. Nicola Vitacolonna Crediti 5 programmi - biotecnologie triennale Finalità del corso Obiettivo fondamentale del corso di Basi di Dati è l’acquisizione dei concetti, delle metodologie e degli strumenti fondamentali nel campo delle basi di dati, con particolare attenzione ai modelli (concettuale e logico) e ai linguaggi (di definizione, di aggiornamento e di interrogazione) dei sistemi per basi di dati. Vengono inoltre forniti elementi di progettazione concettuale (costruzione di modelli Entità/Relazioni) e logica (mapping E/R relazionale) di basi di dati. Infine, viene fornita una panoramica delle principali basi di dati proposte nell’ambito della biologia, con particolare attenzione alla loro organizzazione interna e alle possibili modalità di utilizzo. Dopo aver superato l’esame lo studente dovrebbe essere in grado di: (I) progettare semplici basi di dati a livello concettuale (costruzione di schemi Entità/Relazioni a partire da insiemi di requisiti espressi in linguaggio naturale) e logico (chiavi e forme normali delle tabelle relazionali); (II) formalizzare in un linguaggio relazionale semplici operazioni di definizione e manipolazione (aggiornamenti ed interrogazioni) dei dati espresse in linguaggio naturale; (III) utilizzare in modo effettivo ed efficace le basi di dati biologiche disponibili. È prevista anche un’attività di laboratorio per verificare sul campo la padronanza delle metodologie e degli strumenti studiati. Programma Parte 1. Concetti di Base. Ruolo e funzionalità di una base di dati, astrazione sui dati, modelli dei dati, istanze e schemi, indipendenza dei dati dal livello logico e fisico, linguaggi per la definizione e la manipolazione dei dati, sistema di gestione di una base di dati (DBMS), amministratore e utenti di una base di dati, il dizionario dei dati, struttura generale di una base di dati. 163 Parte 2. Il Modello Relazionale e il linguaggio SQL. Il modello relazionale: concetti e vincoli che caratterizzano il modello relazionale dei dati, operazioni di definizione, aggiornamento ed interrogazione, l’algebra relazionale (cenni). Il linguaggio SQL: definizione dei dati in SQL, interrogazioni in SQL, aggiornamenti in SQL, le viste in SQL, funzionalità avanzate (cenni). Parte 3. Laboratorio di basi di dati. Breve panoramica sui DBMS esistenti. Il DBMS MySQL. Il modello Client/Server. Principali differenze tra il linguaggio SQL supportato da MySQL e lo standard SQL. Esempi di definizione, aggiornamento e interrogazione dei dati in MySQL. Alcuni semplici casi di studio (la base di dati di sequenze nucleotidiche TSDB). Parte 4. Progetto di basi di dati. Il modello Entità/Relazioni (ER): tipi e istanze di entità e di relazioni, attributi (semplici, composti, a singolo valore, multivalore, derivati) e chiavi, dominio di un attributo, vincoli associati alle relazioni (partecipazione e rapporto di cardinalità), relazioni ricorsive e ruoli, relazioni di grado superiore al secondo, entità deboli, gerarchie di specializzazione/generalizzazione (cenni), i diagrammi Entità/Relazioni. La progettazione concettuale dei dati basata sul modello ER. La progettazione logica (ristrutturazione di schemi ER, traduzione nel modello relazionale, normalizzazione). Parte 5. Basi di dati per la biologia. Introduzione. Dalle analisi ai dati in formato digitale. Le analisi biologiche e i dati da esse prodotti. L’organizzazione dei dati. Organizzazione dei dati e basi di dati. Alcuni esempi (dati prodotti dal sequenziamento del DNA e dati prodotti con tecniche di Micro-Array). Basi di dati biologiche di sequenze (NCBI), di annotazioni (Ensembl), specifiche (Transfac), di analisi (MA e 164 programmi - biotecnologie triennale Proteomica), di proteine (Swiss Prot). Modalità di accesso ai dati di alto livello (interfacce web) e di basso livello (via SQL). Le interfacce di Ensembl e Transfac. Modalità d’esame Prova scritta (durata 2h). Bibliografia - P. A TZENI , S. C ERI , S. P ARABOSCHI , R. TORLONE, Basi di dati. Modelli e linguaggi di interrogazione, McGraw-Hill, 2002. - L. WELLING, L. THOMSON, MySQL Tutorial, Pearson Education Inc., 2004. - Dispense e lucidi del docente (prodotte in collaborazione col dott. Michele Braidotti). Altri testi di riferimento: - R. ELMASTRI, S. NAVATHE, Sistemi di basi di dati. Fondamenti, Pearson/AddisonWesley (quarta edizione italiana), 2004. BIOINFORMATICA 3 Docente Prof. Giuseppe Lancia Crediti 3 Programma Introduzione alla bioinformatica, cenni storici. Confronto di sequenze. Allineamenti di coppie e allineamenti multipli. Matrici di sostituzione. Allineamenti con alberi filogenetici. Polimorfismi di singolo nucleotide. Ricostruzione di aplotipi. Strutture proteiche. Predizione e confronto di strutture tridimensionali. Data Base strutturali. FISICA 1 Docente Prof. Alessandro De Angelis Crediti 4 Pagina del corso http://www.fisica.uniud.it/~deangeli/bio tec Finalità del corso Scopo del corso è di fornire gli elementi di base della meccanica e delle interazioni fondamentali. Prerequisiti Nozioni di base dell’analisi matematica (limiti, derivate, integrali). Programma Unità di misura. Cinematica. Forze in natura: interazioni elettromagnetica e gravitazionale. Dinamica. Energia. Oscillazioni. Moto ondulatorio e onde elettromagnetiche. Fluidi e sistemi a molti corpi. Modalità d’esame Nella sessione d’esame che segue il corso il voto proposto è dato dal voto di un accertamento finale (valutato fino a 30 punti), cui viene aggiunto un bonus da 0 a 6 punti per chi ha svolto i compiti per casa. Per la verifica dello svolgimento dei compiti per casa, il quaderno va consegnato imperativamente entro il primo appello. Nelle sessioni successive (un appello a luglio e uno a settembre) l’esame consiste in una prova scritta che include domande di teoria. Bibliografia - Serway, Jewett, Principi di Fisica, vol. 1, ultima edizione, EdiSES. programmi - biotecnologie triennale FISICA 2 Docente Prof. Gennaro Esposito Crediti 3 Finalità del corso Acquisizione di conoscenze di chimica fisica e fisica di rilevanza biochimica e biotecnologica. Prerequisiti Formazione di base in Fisica Generale, Chimica Generale (inorganica ed organica), Analisi Matematica. Programma Termodinamica: Sistemi e processi. Trasformazioni reversibili ed irreversibili. Passaggi di stato. Variabili di stato, equazione di stato. Stato di equilibrio. Stato stazionario Gas ideali e reali. Teoria cinetica dei gas. Lavoro e calore. Capacità termica dei gas e dei solidi. Principio zero. Temperatura e scale termometriche. 1° principio. Energia interna. Lavoro e calore in processi reversibili ed irreversibili. Processi isocori ed isobarici. Entalpia, legge di Hess. Il potenziale termodinamico. L’entropia ed il 2° principio. Significato statistico dell’entropia. Trasformazioni. L’energia libera di Gibbs e di Helmoltz. Potenziale chimico. Stati di riferimento. Criteri di spontaneità di un processo. L’equilibrio, la costante di equilibrio e DG 0 . Cenni di elettrochimica. Transizioni di fase e capacità termica. Calorimetria e Microcalorimetria: Diagramma di stato e transizioni di fase. DSC, ITC e applicazioni biotecnologiche. Analisi di termogrammi. Entalpia, entropia ed energia libera di Gibbs e loro variazione con la temperatura. Entalpia calorimetrica e secondo van’t Hoff. Elaborazione di termogrammi. Microcalorimetria di 165 proteine, acidi nucleici e biomolecole. Procedure ed apparati sperimentali. Applicazioni per studi biofisici. Studio di stabilità termica di proteine (unfolding e refolding). Studi di interazione biomolecole-ligandi. Competizione di legame tra stato nativo e denaturato. Effetti di pH e forza ionica. Interazioni con ioni metallici. Termodinamica di biopolimeri: Misura della stabilità conformazionale di proteine. Selezione e criteri di scelta delle tecniche di misura. Generalità sull’applicazione di tecniche spettroscopiche e non. Denaturazione termica e con agenti chimici. Elaborazione dei dati sperimentali. Equilibrio e reversibilità. Procedure sperimentali per studi di denaturazione. Estensione di concetti termodinamici e teoria dello stato di transizione. Cinetica: Cinetica di reazione ed equazione empirica di Arrehenius. Energia di attivazione e velocità assoluta. Equazione di Eyring. Energia ed entalpia di attivazione e corrispondenti termodinamici. Cinetica di reazione e reazioni endotermiche e di denaturazione di biopolimeri. Surface Plasmon Resonance: Il concetto di biosensore e la base fisica della SPR. Lo strumento BIAcore e suo principio di funzionamento. Riflessione interna totale. La rifrazione e l’indice di rifrazione. La matrice e l’immobilizzazione del ligando. Applicazioni SPR per la misure cinetiche e termodinamiche. Scambio isotopico: Applicazioni classiche dello scambio isotopico a proteine. Meccanismi di scambio isotopico per polipeptidi. Catalisi acida e basica. La costante di scambio complessiva, k ex . Valori tipici di kex. Dipendenza dalla temperatura. Dipendenza dal pH. Effetti della sequenza sulle velocità di scambio. Contributo di struttura secondaria e terzaria. Fattore di protezione. Scambio in polipeptidi destrutturati. Scambio in polipeptidi strutturati. Meccanismo dell’aper- 166 programmi - biotecnologie triennale tura locale. Regimi limite di scambio EX1 e EX2. Velocità di scambio correlate e non. Costanti fenomenologiche di scambio e stabilità termodinamica locale. Fenomeni ondulatori: Onde longitudinali e onde trasversali, oscillatore armonico, oscillazione smorzata, oscillazione forzata, equazione di propagazione di una onda, principio di Huyghens, analisi di Fourier, spettro di potenza, riflessione, rifrazione e riflessione totale, coerenza, interferenza costruttiva e distruttiva, diffrazione, onde stazionarie e battimenti. Emissione e temperatura. La radiazione del corpo nero. Leggi di Wein, StefanBoltzmann e Rayleigh. Correzioni quantistiche. Onde elettromagnetiche. Polarizzazione. Spettro elettromagnetico e spettro del visibile. Interazione radiazione materia. Cenni sulle principali spettroscopie ottiche. Dicroismo circolare, UV e fluorescenza. Diffrazione di raggi X e cristallografia. Modalità d’esame Compito scritto con problemi e domande a scelta multipla. Bibliografia - P.W. ATKINS, J. DE PAULA, Elementi di chimica fisica, terza edizione italiana. ISBN 978-8808-1-9285-1. - Materiale didattico on-line. FISICA 3 Docente Dott. Gilberto Giugliarelli Crediti 3 Pagina del corso http://www.fisica.uniud.it/~giugliarelli/Pa geFisica3Biotecnologie_2005-06.html http://materialedidattico.uniud.it Finalità del corso Lo scopo centrale del corso è quello di introdurre i concetti fisici e la modellistica di base necessaria ad affrontare lo studio fisico dei sistemi biologici al fine di chiarire e precisare gli obiettivi e il tipo di contributi che tale approccio può dare. A tale scopo, nella prima parte del corso verranno introdotti i concetti base di termodinamica e meccanica statistica necessari per lo studio dei sistemi complessi. Di seguito, dopo una breve trattazione delle proprietà statistiche di catene molecolari disordinate, verranno discusse ed analizzate le problematiche fisiche riguardanti le simulazioni numeriche riguardanti due argomenti principali: a) il Protein Folding; b) transizioni helix-coil e zipping nel DNA. Prerequisiti Conoscenza di base delle leggi della fisica classica e in particolare delle leggi della dinamica e della termodinamica, nonché di nozioni base di elettrostatica e magnetostatica. Conoscenza delle principali tecniche fisiche sperimentali utilizzate nello studio dei sistemi biologici. Programma - Richiami di Termodinamica: Prima e seconda Legge della Termodinamica, Energia interna, Entropia e loro significato. - Fondamenti di Meccanica Statistica: Statistica e microstati e nozione di insiemi statistici. Insiemi Microcanonico e Canonico, funzione di partizione e semplici applicazioni degli insiemi. Insieme Grancanonico. - Statistica di catene molecolari: Freely jointed chain (random walk) e distribuzione di probabilità della distanza end-toend e distribuzione radiale. Freely rotating chain: distanza end-to-end. Effetti di volume escluso. - Proteine e Protein Folding: Composizio- programmi - biotecnologie triennale ne e struttura delle proteine. Struttura secondaria e stato nativo di una proteina. Caratteristiche del processo di folding. Specificità del folding e transizione di folding. Modelli ‘minimalisti’ (su reticolo) per il protein folding. Metodo Monte Carlo. Cinetica del protein folding e profilo dell’energia libera. Modello a due stati. Analisi delle varie caratteristiche della transizione di folding in un modello su reticolo. La dinamica molecolare e dinamica delle macromolecole biologiche. Analisi di un programma per la dinamica molecolare di macromolecole biologiche. - Cambiamenti strutturali nel DNA: Caratteristiche generali della struttura del DNA. Introduzione a modelli computazionali per la denaturazione e l’unzipping del DNA basati su polimeri e co-polimeri. Il modello zipper: dalla transizione helixcoil allo zipping del DNA. Modalità d’esame L’esame comprende una prova scritta e un colloquio orale. Bibliografia - C.R. CANTOR, P.R. SCHIMMEL, Biophysical Chemistrry, W.H. Freeman and Company, San Francisco, 1980. - B. NOLTING, Methods in Modern Biophysics, Springer Verlag, NewYork, 2003. - Note complete del corso in formato .pdf. FISICA APPLICATA Docente Prof. Gennaro Esposito Crediti 3 Finalità del corso Acquisizione di conoscenze di metodi analitici di rilevanza biochimica e biotecnologica. 167 Prerequisiti Formazione di base in Fisica Generale, Chimica Generale (inorganica ed organica), Chimica biologica, Analisi Matematica, Statistica. Programma Elettromagnetismo: L’interazione tra cariche. Legge di Coulomb. Il campo elettrico. Dipoli e quadrupoli. Teorema di Gauss. Il magnetismo. Induzione magnetica. Forza di Lorentz. Moto di una carica in campo magnetico. Equazione del ciclotrone e spettrometri di massa. Momento di dipolo magnetico. Energia potenziale di un dipolo magnetico in un campo magnetico. Moto di una carica in campo elettromagnetico. Proprietà magnetiche della materia. Spettrometria di massa: Campi di applicazione della spettrometria di massa. Applicazioni di interesse biotecnologico. Massa molecolare, definizione ed accuratezza. Massa molecolare nominale, media e monoisotopica. Distribuzione isotopica naturale e utilizzazione in spettrometria di massa. Lo spettrometro di massa. Iniezione diretta, per via cromatografica e per via elettroforetica. Metodi di ionizzazione. Metodi di ionizzazione soft. Analizzatori a settore magnetico o quadrupolo, analizzatore TOF, analizzatore a risonanza ciclotronica. Strumenti a doppio o multiplo quadrupolo e spettrometria di massa tandem o massa-massa. L’importanza delle metodiche di ionizzazione soft in analisi di biopolimeri. Ionizzazione elettrospray. Tecnica nanospray. Dettagli su ionizzazione MALDI. Lo spettrometro MALDI-TOF. Metodi di analisi massa-massa. Scansione di ioni prodotto o precursore. Scansione a perdita neutra costante. Sequenziamento peptidico. Identificazione di proteine. Proteomica. Risoluzione in spettrometria di massa. Spettrometria di massa e Proteomica: Oggetto e motivazione della ricerca pro- 168 teomica. Dimensioni del problema ed efficienza operativa. Proteomica strutturale e funzionale. Metodiche analitiche. Elettroforesi 2D (focalizzazione isoelettrica e SDS PAGE). Gradienti di pH, interfacciamento con gel e migrazione elettroforetica. Accorgimenti per solubilizzazione e condizioni riducenti. Analisi di mappe 2D e proteomica quantitativa. Metodi alternativi. ICAT e MCAT. Separazioni Multidimensionali. Prefrazionamento elettroforetico o cromatografico. Protein Chip. Determinazione di modificazioni posttraduzionali mediante spettrometria di massa. Applicazioni analitiche biomediche. Spettroscopia NMR: Generalità sul magnetismo. Correnti in spire e momento di dipolo magnetico. Interazione momento-campo magnetico. Forza di Lorentz. Nuclei e momento magnetico di spin nucleare. Descrizione classica. Precessione ed equazione di Larmor. Rapporto giromagnetico. Descrizione quantomeccanica. Quantizzazione del momento angolare di spin nucleare e del momento di dipolo magnetico nucleare. Transizioni e regole di selezione. Magnetizzazione macroscopica longitudinale e trasversale. Coerenza di fase e segnale NMR. Campionamento di segnale e trasformata di Fourier. Eccitazione NMR e impulsi di radiofrequenza. Sistema di riferimento rotante e di laboratorio. Equazioni di Bloch e costanti di rilassamento T1 e T2. FID. Intensità del segnale NMR. Chemical shift e natura chimica. Chemical shift di biopolimeri. Chemical shift limite e contributi di struttura secondaria e terziaria. Chemical Shift Index. Accoppiamento scalare. Molteplicità ed accoppiamento scalare. Accoppiamento scalare forte. Accoppiamento dipolare. Chemical shift isotropo e MAS. Scambio chimico. Regimi di scambio ed effetti su chemical shift e costanti di accoppiamento scalare. Rilassamento longitudinale e trasversale. programmi - biotecnologie triennale Misura di T1 e T2. Mobilità molecolare e rilassamento. Funzione di autocorrelazione e densità spettrale. Effetto Overhauser nucleare (NOE) e sua misura per inversione selettiva o saturazione selettiva. NOE, mobilità molecolare e struttura spaziale. NOE eteronucleare. Applicazioni a biopolimeri per determinazioni strutturali e funzionali: Spettroscopia NMR multidimesionale. Campionamento discreto e frequenza di campionamento. Acquisizione discreta indiretta nella seconda dimensione. Trasformata in due dimensioni. Spettri 2D omonucleari ed eteronucleari. Concetto di correlazione o connettività. Correlazioni scalari e dipolari. Spettri di tipo COSY. Pattern COSY di amminoacidi e nucleotidi ed identificazione dei sistemi di spin. COSY con filtri quantici multipli. TOCSY. Struttura fine di cross-peak. Correlazioni dipolari e spettri NOESY. Assegnazione sequenziale. Correlazioni dipolari e struttura molecolare. Riconoscimento di struttura secondaria di proteine. Struttura secondaria ed assegnazione sequenziale. Scambio isotopico: Misure di scambio isotopico. Incorporazione di 3H. Metodo IR. Massa ridotta e frequenze di assorbimento IR. La banda ammide II. Metodi di spettrometria di massa. Scambio isotopico e frammentazione proteolitica. Tarature e retroscambio. Distribuzione di pattern isotopici. Condizioni di misura e distribuzioni bimodali. Misure di scambio isotopico mediante NMR. Applicazioni per studi funzionali. Modalità d’esame Compito scritto con problemi e domande a scelta multipla. Bibliografia - P.W. ATKINS, J. DE PAULA, Elementi di chimica fisica, terza edizione italiana. ISBN 978-8808-1-9285-1. - Materiale didattico on-line. 169 programmi - biotecnologie triennale INFORMATICA Docenti Prof. Alberto Policriti Dott. Nicola Vitacolonna Crediti 6 Finalità del corso Il corso introduce i concetti e le nozioni fondamentali dell’Informatica con l’obiettivo di familiarizzare gli studenti con i più importanti strumenti tecnologici a disposizione nella moderna attività professionale e di ricerca nell’ambito delle biotecnologie. Nella parte iniziale verranno introdotte le nozioni di base relative all’architettura degli elaboratori, ai sistemi operativi e alle basi di dati e verranno illustrate le potenzialità connesse con un utilizzo consapevole degli strumenti di calcolo e di alcuni significativi pacchetti applicativi. Nella seconda parte si indirizza lo studente verso l’utilizzo degli strumenti di natura computazionale nella realtà dell’attività scientifica, con particolare riferimento alle problematiche di natura computazionale connesse con le moderne tecniche di ricerca in Biologia. In questa parte si approfondiranno le questioni di base riguardanti la nozione di algoritmo, si introdurranno con esempi i moderni linguaggi di programmazione imperativi e procedurali e si svilupperà l’attitudine ad applicare i paradigmi iterativo e ricorsivo/funzionale alla soluzione di semplici problemi di natura biologica. Programma Fondamenti della scienza degli elaboratori - Il modello di von Neumann. - Elementi di sistemi operativi. - Elementi di basi di dati e di linguaggi per la loro interrogazione. - Introduzione alle banche dati biologiche. - Elementi di reti di calcolatori. - Algoritmica e linguaggi di programmazione per le biotecnologie. Linguaggi - Linguaggio BioPerl: introduzione e fondamenti con esempi ed esercitazioni. - Linguaggio C: introduzione e fondamenti. - Linguaggio Java: introduzione e fondamenti. Modalità d’esame L’esame consiste in una prova scritta e di una prova orale successiva e facoltativa. Sempre facoltativo è anche lo sviluppo di un progetto concordato con il docente ed implementato utilizzando uno dei linguaggi visti a lezione. Bibliografia - C. GIBAS, P. JAMBEK, Developing Bioinformatics Computer Skills, O’Reilly. - G. V ALLE , M. H ELMER C ITTERICH , M. ATTIMONELLI, G. PESOLE, Introduzione alla Bioinformatica, Zanichelli. - J. TISDALL, Beginning Perl for Bioinformatics, O’Reilly. - Appunti delle lezioni e materiale disponibile via web sui siti dei docenti. MATEMATICA Docente Prof. Fabio Zanolin Crediti 5 Finalità del corso Presentare allo studente le nozioni di base della matematica necessarie per la sua professionalità. Programma Introduzione sulla logica e i metodi della 170 programmi - biotecnologie triennale matematica. I numeri. Il concetto di funzione. Limiti e continuità. Calcolo differenziale ed integrale in una variabile con applicazioni. Serie numeriche. Equazioni differenziali. Modalità d’esame Scritto ed orale. Bibliografia - P. BAITI, L. FREDDI, Note di Matematica e Biomatematica, Forum. Probabilità condizionali. Valore medio e variabili casuali. Ordinamenti per inversione e numero medio di breakpoints in una permutazione. Generazione di tutti i sottoinsiemi/permutazioni e di sottoinsiemi/permutazioni casuali. - Teoria dei grafi. Definizioni fondamentali. Grafi euleriani e hamiltoniani. Grafi bipartiti. Connessione. Alberi. Grafi orientati. Grafi pesati. - Ottimizzazione combinatoria. Problemi ‘facili’ e ‘difficili’. Il problema del minimo albero di supporto. Accoppiamenti e coperture di vertici. Clique e insieme indipendente. Colorazione di grafi. Il problema del commesso viaggiatore. (Il problema del matrimonio stabile). MATEMATICA DISCRETA Docente Prof. Giuseppe Lancia Crediti 7 Programma 4 lezioni a settimana, 2 ore l’una. - Cenni di algebra booleana, logica, teoria degli insiemi e funzioni. Sommatorie e loro manipolazioni. Il principio di induzione. Ricorrenze e formule ricorsive. - Elementi di Combinatorica. Disposizioni, permutazioni, sequenze (stringhe). Il principio della piccionaia (pigeon-hole). Tecniche per contare. Numeri di Fibonacci. Il principio di inclusione-esclusione. Gli spiazzamenti. - Aritmetica intera, quoziente e resto, scomposizione in fattori primi. MCD e mcm. Cenni su algoritmi e pseudo-linguaggio di programmazione. Algoritmo di Euclide. Cenni di teoria dei numeri. Numeri primi e fattorizzazione. Il piccolo teorema di Fermat. La distribuzione dei primi. - Cenni di teoria delle probabilità. Probabilità combinatorie. Probabilità uniformi. Bibliografia - L. L OVASZ , K. V ESZTERGOMBI , Discrete Mathematics, disponibile su web (download). - J.P. D’ANGELO, D.B. WEST, Mathematical Thinking - Problem Solving and Proofs (parti di), Prentice Hall. Testi di consultazione: - A. BRUALDI, Introductory Combinatorics, North Holland. - T. C ORMEN , C. L EISERSON , R. R IVEST , Introduction to Algorithms (parti di), MIT press. SISTEMI OPERATIVI Docente Prof. Marino Miculan Crediti 5 Pagina del corso http://www.dimi.uniud.it/~miculan/Did attica/SOB04/ Finalità del corso I sistemi operativi sono parte essenziale 171 programmi - biotecnologie triennale di un sistema di calcolo. Nella maggior parte dei casi, essi implementano la vera piattaforma sulla quale si svolge tutta l’attività di analisi, sviluppo, implementazione ed esecuzione dei sistemi software, incapsulando ed astraendo dal sistema hardware sottostante. Questo corso mira a presentare alcuni concetti fondamentali relativi ai sistemi operativi e alle loro funzionalità primarie (gestione dei processori, della memoria e del file system). Di notevole importanza, inoltre, per il biotecnologo computazionale sono le basi fondamentali di programmazione concorrente, e gli aspetti concernenti il calcolo parallelo e distribuito. I concetti generali previsti per il corso, ampliamente coperti dal materiale bibliografico consigliato, verranno discussi a lezione in maniera relativamente indipendente da specifici sistemi operativi. Essi saranno comunque esemplificati facendo riferimento a comuni sistemi operativi (Unix, Linux, Windows XP, ecc.) Parallelamente alle lezioni teoriche in aula, verranno tenute delle lezioni pratiche in laboratorio, offrendo allo studente l’opportunità di mettere in pratica gli aspetti teorici e di verificarne la comprensione. Inoltre tale attività pratica forniranno le nozioni di base relative all’uso di linguaggi di scripting, dell’amministrazione di sistema Programma - Aspetti generali; Richiami di Architetture. - Processi e Thread. - Programmazione concorrente. - Gestione della memoria. - Il file system. - Sistemi con processori multipli. - Sistemi e servizi di rete. Modalità d’esame Esame orale, con progettino di laboratorio per casa. Bibliografia - ANCILOTTI, BOARI, CIAMPOLINI, LIPARI, Sistemi Operativi, McGraw-Hill, 2004. ISBN: 88-386-6069-7. STATISTICA 1 Docente Prof. Paolo Vidoni Crediti 6 Finalità del corso L’obiettivo del corso è introdurre lo studente a quelli che sono i concetti fondamentali della Statistica descrittiva e inferenziale, quale strumentazione di base per l’analisi dei dati e lo studio dei fenomeni aleatori. Tali nozioni verranno presentate sottolineando l’ambito delle applicazioni, pur senza tralasciare gli aspetti formali. In particolare si forniranno alcuni strumenti di base necessari alla comprensione della letteratura scientifica e alla esecuzione delle attività proprie dell’operatore in biotecnologie. Programma 1) Statistica descrittiva: Caratteri statistici; Serie, seriazioni e distribuzioni di frequenza; Indici di posizione e di variabilità. 2) Calcolo delle Probabilità: Probabilità elementare; Variabili casuali; Modelli probabilistici; Variabili casuali multivariate e convergenza. 3) Inferenza statistica: Stima puntuale; Intervalli di confidenza; Verifica di ipotesi; Disegno sperimentale ed Analisi della varianza; Cenni sull’analisi statistica multivariata. Modalità d’esame L’esame consiste in una prova scritta seguita, per i sufficienti, da una prova orale. Entrambe le prove dovranno essere superate nello stesso appello. 172 programmi - biotecnologie triennale Bibliografia - CAMUSSI, MÖLLE, OTTAVIANO, SARI GORLA, Metodi Statistici per la sperimentazione biologica, seconda edizione, Zanichelli, 1995. - G. CICCHITELLI, Probabilità e Statistica, Maggioli Editore, 1984. - Appunti delle lezioni. delle applicazioni, pur senza tralasciare gli aspetti formali. Programma - Complementi di inferenza statistica. - La regressione lineare. - Disegno sperimentale e analisi della varianza. - Analisi statistica multivariata. - Catene di Markov (cenni). STATISTICA 2 Crediti 4 Finalità del corso L’obiettivo del corso è approfondire i concetti fondamentali della Statistica inferenziale e presentare le principali tecniche statistiche, utili per l’analisi di dati sperimentali, con particolare riferimento alle scienze biologiche. Tali nozioni saranno presentate enfatizzando l’ambito Modalità d’esame L’esame consiste in una prova scritta seguita, per i sufficienti, da una prova orale. Entrambe le prove dovranno essere superate nello stesso appello. Bibliografia - CAMUSSI, MÖLLE, OTTAVIANO, SARI GORLA, Metodi Statistici per la sperimentazione biologica, seconda edizione, Zanichelli, 1995. - Appunti delle lezioni. 173 programmi - LS informatica CORSO DI LAUREA SPECIALISTICA IN INFORMATICA ALGORITMI AVANZATI Docente Prof. Alberto Policriti Crediti 6 Programma Algoritmi di confronto di stringhe. Algoritmi randomizzati e di approssimazione. Analisi ammortizzata degli algoritmi. Alberi di ricerca e alberi auto-aggiustanti. Bibliografia - Appunti delle lezioni. - T.H. C ORMEN , C.E. L EISERSON , R.L. RIVEST, Introduction to Algorithms, 2nd edition, MIT Press, 2001. - D. GUSFIELD, Algorithms on Strings, Trees and Sequences, Cambridge University Press, 1997. - R. MOTWANI, P. RAGHAVAN, Randomized Algorithms, Cambridge University Press, 1995. - R.E. TARJAN, Data Structures and Network Algorithms, SIAM press, 1983. ALGORITMI E COMPLESSITÀ Docente Prof. Carla Piazza Crediti 6 Finalità del corso 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. - Quantum Computing. Macchina di Turing quantistica. Macchina di Turing Quantistica Universale. 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. - Algoritmi. Il problema della riduzione di automi e la bisimulazione. Algoritmo di Hopcroft. Algoritmo di Paige-Tarjan. Algoritmo di Paige-Tarjan-Bonic. Il problema della simulazione ed algoritmi efficienti per la sua risoluzione. Bibliografia - C.H. P APADIMITRIOU , Computational Complexity, Addison Wesley, 1995. - Articoli e dispense. BASI MATEMATICHE PER LA REALTÀ VIRTUALE (tace nell’a.a. 2007/08) Crediti 6 Finalità del corso La realtà virtuale intende studiare un insieme di metodi per la decodifica sen- 174 programmi - LS informatica soriale di modelli costruiti con il computer. Al presente molti tentativi sono stati fatti per la decodifica di modelli coinvolgenti tutti e cinque sensi ma i risultati più importanti riguardano i metodi di esplorazione e interazione spaziale tridimensionale. Al fine di ottenere questi risultati è necessario sfruttare metodi matematici che riguardano l’analisi, la geometria differenziale e la geometria proiettiva. Opportunamente applicando questi metodi è possibile costruire sistemi di rappresentazione della realtà e di interazione spaziale; in tal modo viene anche simulata la presenza di operatori umani in ambienti virtuali esistenti solo in forma digitale all’interno del computer. In questo corso si presenta la teoria e le applicazioni di tali metodi. BASI DI DATI SPAZIALI Docente Prof. Angelo Montanari Dott. Alessandra Chiarandini Crediti 6 Programma Obiettivo fondamentale del corso è evidenziare le caratteristiche peculiari dell’informazione spaziale e descrivere i concetti, le tecniche, le metodologie e gli strumenti sviluppati nell’ambito delle basi di dati per il trattamento di informazioni spaziali/geografiche. Verranno presentati i modelli dei dati, i linguaggi di definizione e manipolazione dei dati e le metodologie di progettazione sviluppati nell’ambito delle basi di dati spaziali. Particolare attenzione verrà prestata alle tecniche di rappresentazione degli oggetti spaziali e agli algoritmi che implementano le operazioni sui dati spaziali. Infine, verranno analizzati i legami tra le basi di dati spaziali e i sistemi informativi geografici (GIS). Dopo aver superato l’esame si ritiene che lo studente sia in grado di progettare basi di dati spaziali di una certa complessità e di analizzare le caratteristiche funzionali e tecnologiche delle basi di dati spaziali, in modo da comprenderne il funzionamento e sfruttarne adeguatamente le potenzialità specie nell’ambito dei sistemi informativi territoriali. Parte I. Introduzione generale: basi di dati spaziali e sistemi informativi geografici, le caratteristiche fondamentali delle basi di dati spaziali, la manipolazione dei dati spaziali. La rappresentazione di oggetti spaziali: modelli dei dati spaziali e modalità di rappresentazione, la visione a campi e la visione ad oggetti, i formati raster e vettoriale, modelli logici per basi di dati spaziali, metodi di rappresentazione (liste di coordinate vs. strutture basate sulla topologia). Le relazioni topologiche, le relazioni basate sulla direzione e le relazioni basate sulla distanza. La geo-algebra relazionale. Estensioni spaziali di SQL. Il linguaggio Oracle Spatial. La progettazione di una base di dati spaziale: la progettazione concettuale e la progettazione logica. Gli indici spaziali: elementi di base, tipi di indici (space-driven vs. data-driven), grid file e fixed grid, quadtree, R-tree. Il Geography Markup Language (GML). Parte II. Introduzione ai sistemi informativi geografici. La tecnologia dei sistemi informativi geografici. Modelli dei dati e customizzazione. Creazione e gestione di una base di dati geografica. Elementi di cartografia. L’informazione territoriale strutturata. Il sistema GeoMedia. WebGIS. Metadati, qualità dei dati e interoperabilità. Telerilevamento ed elaborazione delle immagini. La rete GPS. Bibliografia Testi adottati: - F. RIGAUX, M. SCHOLL, A. VOISARD, Spa- programmi - LS informatica tial Databases with Application to GIS, Academic Press, 2002. (È, inoltre, disponibile in rete il materiale didattico predisposto da A. Chiarandini, D. Gubiani e A. Montanari). Altri testi di riferimento: - M.F. WORBOYS, GIS: A Computing Perspective, Taylor Francis Ltd, 1995. - S. SHEKHAR, S. CHAWLA, Spatial Databases: a Tour, Paerson Education Inc., 2003. - T. BERNHARDSEN, Geographic Information Systems: an Introduction, third edition, John Wiley & Sons, 2002. COMMERCIO ELETTRONICO Docente Dott. Roberto Pugliese Crediti 8 Finalità del corso 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. 175 Definizione di E-commerce (EC). EC vs. E-business. Pure vs. Partial EC. ‘Brickand-mortar’ vs. EC. Cenni storici ed evoluzione tecnologica (EFT, EDI, VAN, Internet, Intranet, Extranet). Business models. Esempi di business models innovativi. Supply chain. Tipologie di portali. Discipline che contribuiscono all’EC. - Tipologie di Commercio Elettronico. Business-to-Business (B2B). Business-toConsumer (B2C). Consumer-to-Consumer (C2C). Intra-business. Altre tipologie. Casi di studio stranieri ed italiani. E-market. E-exchange. Dynamic pricing. Interorganizational Information Systems. Mobile Commerce. - Impatto dell’e-commerce sulle aziende e sulle organizzazioni. Strategic Systems, Total Quality Management (TQM), Justin-time (JIT), Business Process Re-engineering (BPR), alleanze, uso dell’Information Technology (IT) ed EC. Vantaggi e svantaggi del commercio elettronico. Caso di studio dettagliato: le agenzie viaggi ed EC. La digitalizzazione di prodotti, servizi e processi. Disintermediazione e reintermediazione. Effetti sulle attività commerciali tradizionali. - Applicazioni Business-to-consumer (B2C). Caso di studio dettagliato: la vendita di libri on-line. Caratteristiche e funzionalità necessarie in un sito B2C. Il processo d’acquisto. Il comportamento dei consumatori nel processo d’acquisto. Ausili on-line al processo d’acquisto. Etailing business models. Esempi di business model B2C, Direct Marketing. Strategie ‘Click-and-mortar’. Channel conflict. - Internet Marketing. Marketing plan. Marketing vs. Merchandising. Ruolo delle ricerche di mercato nel commercio elettronico. Metodi per le ricerche di mercato tradizionali ed on-line. Segmentazione. Il comportamento dei consumatori on-line: tipologie. Peculiarità della situazione italiana. Caratteristiche personali e 176 demografiche degli utenti Internet. Strategie di personalizzazione e marketing one-to-one. - Customer Relationship Management (CRM). Tipi di funzionalità offerte ai clienti. Strumenti di servizio ai clienti. Uso di Agenti Intelligenti nelle diverse fasi del processo d’acquisto. Call center/Teleweb. - Internet Advertising. Scopi e motivazioni per la pubblicità su Internet. Ad views, impressions. Clickthrough ratio. CPM. Tipi di banner. Targeted (one-to-one) advertising. Metodi di advertisement. Strategie pull e push. Eventi e promozioni on-line. Valutare l’efficacia della pubblicità su Internet. I cataloghi on-line. - Applicazioni Business-to-business (B2B). Company-centric B2B. From Traditional to Internet-Based EDI. E-Marketplaces and B2B. Extranets. B2B Support Services. - Altri tipi di applicazioni del Commercio Elettronico. Consumer-to-Consumer (C2C). Dynamic Pricing, Auction. Service Industries, Online Publishing, and Knowledge Dissemination. Intrabusiness, e-Government. E-Communities. - Mobile Commerce. Wireless and mobile technologies. M-commerce applications. Mobile marketing, advertising and customer service. Location-based commerce. Current limitations of M-commerce. - Realizzazione di servizi di Commercio Elettronico. Infrastructure. Tools. Page design. Web programming. E-Commerce Security. Electronic Payment Systems. Order Fulfillment, Logistics, and Supply Chain Management. - Interfacce utente per applicazioni di Commercio Elettronico. Linee guida. Progetto dell’interfaccia. Recenti tendenze evolutive: interfacce per 1-to-1 e-commerce, mobile commerce, experiential ecommerce. Modalità d’esame L’esame si compone di una prova scritta. programmi - LS informatica Bibliografia - E. TURBAN, J. LEE, D. KING, M. WARKENTIN, H.M. CHUNG, Electronic Commerce: a Managerial Perspective, 2nd edition, Prentice-Hall, 2002. - G.P. SCHNEIDER, J.T. PERRY, Electronic Commerce, 2 nd edition, Thomson Learning, 2001. COMPILATORI Docente Prof. Maria Staniszkis Crediti 6 Programma - Sistemi di rescrittura: definizioni, proprietà, esempi. - Analisi lessicale: la costruzione di Thompson, la costruzione di Berri-Sethi, generazione degli analizzatori lessicali. - Analisi sintattica: l’algoritmo di CockeYounger-Asami, analisi top-down: analizzatori LL; analisi bottom-up: analizzatori LR; le proprietà delle grammatiche e linguaggi LR. - Valutatori semantici. - Errori e ricovero dagli errori sintattici. Bibliografia - A.V. AHO, R. SETHI, D. ULLMAN, Compilers, Principles, Techniques and Tools, Addison Wesley, 1987. - S. SIPPU, E. SOISALON-SOININEN, Parsing Theory, vol. 1 e 2, Springer. - G. BERRY, R. SETHI, From Regular Expressions to Deterministic Automata, Theoretical Computer Science, 48, 1986, pp. 117126. - Altro materiale da indicare durante il corso. programmi - LS informatica COMPLEMENTI DI COMPILATORI Docente Prof. Maria Staniszkis Crediti 6 Programma Il corso si articola in due parti distinte. La prima, approfondendo le tematiche introdotte nel corso Compilatori, si occupa delle ottimizzazioni associate al processo di compilazione. La seconda parte affronta le problematiche connesse con la compilazione dei linguaggi orientati agli oggetti. Si parte con l’approfondimento dei concetti associati con la teoria dei oggetti considerando il linguaggio ML come esempio. Successivamente si discute la problematica di compilare programmi espressi nei comuni linguaggi orientati agli oggetti come C++, Java, con un particolare attenzione al trattamento del polimorfismo. Bibliografia - A.V. AHO, R. SETHI, J.D. ULLMAN, Compilers. Principles, Techniques and Tools, Addison Wesley, 1986. - A.W. APPEL, Modern Compiler Implementation in Java/ML/C, Cambridge University Press, 1998. - M. ABADI, L. CARDELLI, A theory of Objects, Springer 1996. - H.R. N IELSON , F. N IELSON , Semantics with Applications: Model Based Program Analysis, Computer Science Department, Aarhus University, Denmark, 1996. COMPLEMENTI DI BASI DI DATI Docente Prof. Angelo Montanari Crediti 6 177 Programma Parte 1 - La progettazione delle basi di dati (complementi). La progettazione concettuale delle basi di dati e il modello Dataflow: i costrutti di base del modello Dataflow (processi, flussi dei dati, depositi dei dati e interfacce), diagrammi contesto e diagrammi di flusso dei dati, progetto funzionale basato sul modello Dataflow; progetto di sistemi informativi: un approccio integrato alla progettazione delle funzioni e dei dati (sintesi degli schemi ER esterni e loro integrazione). La progettazione logica dei dati: soddisfacibilità e violazione di dipendenze funzionali, chiusura di insiemi di dipendenze, un calcolo delle dipendenze (gli assiomi di Armstrong), chiusura di insiemi di attributi, algoritmi per il calcolo della chiusura di insiemi di attributi, insiemi di dipendenze logicamente equivalenti, coperture minimali, scomposizioni e loro proprietà, forme normali e normalizzazione, algoritmi per la determinazione di scomposizioni in specifiche forme normali. Parte 2 - Il linguaggio SQL (complementi). SQL e i linguaggi di programmazione: introduzione, 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). Parte 3 - L’organizzazione fisica dei dati. Memorizzazione dei record ed organizzazione dei file primari: introduzione, strumenti e tecniche per la gestione della memoria secondaria, buffering dei blocchi, memorizzazione di file di record su disco, operazioni sui file, file di record non ordinati (heap file), file di record ordinati (sorted file), tecniche di hashing, altre possibili organizzazioni dei file pri- 178 mari, uso della tecnologia RAID per parallelizzare l’accesso a disco. Strutture di indicizzazione dei file: tipi di indici ordinati di livello singolo (primari, di clustering, secondari), indici multilivello, indici multilivello dinamici che utilizzano B-alberi e B + -alberi, altri tipi di indici. Parte 4 - Tecnologia delle basi di dati centralizzate. La nozione di transazione: introduzione, proprietà desiderabili delle transazioni, scheduling e recupero delle transazioni, tecniche di serializzazione, supporto alle transazioni in SQL. Tecniche di controllo della concorrenza: problematiche, architettura, anomalie delle transazioni concorrenti, tecniche basate su viste, conflitti, locking a due fasi (2PL e 2PL stretto) e timestamp, tecniche multiversione, granularità dei data item. Il gestore del buffer: architettura del buffer manager, primitive per la gestione del buffer, politiche di gestione del buffer, relazione tra il gestore del buffer e il file system. Tecniche di controllo dell’affidabilità: concetti di base, architettura del controllore dell’affidabilità, memoria stabile, organizzazione del log, gestione delle transazioni, gestione dei guasti. Elaborazione e ottimizzazione delle interrogazioni: i cataloghi di sistema; ottimizzazione delle interrogazioni (rappresentazione interna delle interrogazioni, profili delle relazioni, ottimizzazione basata sui costi); progettazione fisica di una base di dati. La sicurezza nelle basi di dati: introduzione, controllo obbligatorio degli accessi per supportare livelli multipli di sicurezza, la sicurezza nelle basi di dati statistiche (cenni). Parte 5 - Basi di dati distribuite. Introduzione ai DBMS distribuiti, 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, programmi - LS informatica controllo della concorrenza e dell’affidabilità nelle basi di dati distribuite. Parte 6 - Basi di dati e World Wide Web (cenni). Nozioni di base (Internet, World Wide Web, HTML, protocollo HTTP), gateway e form, tecniche e strumenti per l’accesso a basi di dati attraverso il Web, accesso a basi di dati tramite programmi CGI, strumenti di sviluppo, limiti del protocollo CGI, soluzioni basate sul server, soluzioni basate sul client, sistemi informativi sul web, progettazione concettuale di applicazioni web. Parte 7 - Argomenti conclusivi (cenni). Basi di dati per il supporto alle decisioni (data warehouse); dati semistrutturati in XML; basi di dati a oggetti e ibride (ad oggetti e relazionali); basi di dati attive; basi di dati temporali e spaziali. Bibliografia Testi adottati: - P. A TZENI , S. C ERI , P. F RATERNALI , S. P ARABOSCHI , R. T ORLONE , Basi di dati: architetture e linee di evoluzione, McGrawHill, 2003. - R. ELMASTRI, S. NAVATHE, Fundamentals of Database Systems, 5th edition, Pearson International Education / Addison Wesley, 2007. In alternativa: - R. ELMASTRI, S. NAVATHE, Sistemi di basi di dati. Complementi, quarta edizione, Pearson Education Italia / Addison Wesley, 2005. Altri testi di riferimento: - J.D. ULLMAN, Principles of Databases and Knowledge-Base Systems, volume I, Computer Science Press, 1988. - SILBERSCHATZ, H.F. KORTH, S. SUDARSHAN, Database System Concepts, 4th edition, McGraw-Hill, 2002. - A. ALBANO, Costruire sistemi per basi di dati, Addison-Wesley, 2001. - A. ALBANO, G. GHELLI, R. ORSINI, Fondamenti di basi di dati, Zanichelli, 2005. - P. A TZENI , S. C ERI , S. P ARABOSCHI , R. programmi - LS informatica TORLONE, Basi di dati: modelli e linguaggi di interrogazione, seconda edizione, McGraw-Hill, 2006. DATA WAREHOUSE Docente Dott. Anna Marzona Crediti 6 Finalità del corso Il corso si propone di fornire all’allievo le nozioni fondamentali sui sistemi informazionali, assumendo come prerequisito una sufficiente conoscenza delle basi di dati di tipo relazionale. L’accento viene posto sulle tematiche legate ai sistemi di data warehousing (cosa sono, come si progettano) e sull’analisi multidimensionale dei dati (come viene condotta, quali sono i principali vantaggi e svantaggi). Parte integrante del corso sono le esercitazioni di laboratorio, basate su casi pratici aziendali. Prerequisiti È richiesta una buona conoscenza dei contenuti dell’insegnamento di Basi di dati 1. Programma - I Sistemi di Supporto alle Decisioni (DSS). Motivazioni, metodologie e architetture. - Distinzione tra sistema informazionale e sistema operazionale. Approfondimento sui sistemi informazionali: il modello multidimensionale e l’analisi OLAP. Data Warehouse e Data Mart: definizioni, obiettivi d’uso, differenze. - Progettazione di Data Warehouse: il ciclo di vita dei sistemi di data warehousing. Analisi dei requisiti e riconciliazione delle fonti dati. Architetture a diversi 179 livelli. Il modello concettuale: Data Fact Model (DFM). I modelli logici: MOLAP, ROLAP, HOLAP. Schemi a stella e a fiocco di neve. Il trattamento delle variazioni nei fatti e nelle dimensioni. - Politiche di popolamento. Generazione e aggiornamento della struttura dati multidimensionale. Meccanismi di alimentazione totale e incrementale. Le procedure di Estrazione, Trasformazione e caricamento (ETL): principali problemi da affrontare, esempi di possibili soluzioni. - Strumenti per l’analisi dei dati: Reporting, navigazione OLAP, Data Mining. Approfondimenti sull’approccio Hypotheses driven e sull’analisi OLAP. - Cenni sul Data Mining: problematiche di base, ambiti di applicazione, modalità operative. - Analisi e progettazione di un case-study aziendale con passaggio dal modello relazionale al modello multidimensionale. Modalità d’esame 32 ore di lezione ed esercitazioni; sviluppo di progetto in piccoli gruppi; prova orale individuale finale. Bibliografia - M. GOLFARELLI, S. RIZZI, Data Warehouse: teoria e pratica della progettazione, McGraw-Hill, 2006. - M. PIGHIN, A. MARZONA, Sistemi Informativi Aziendali - Struttura e applicazioni (Parte 3: I Sistemi Informazionali), Pearson Italia, 2004. - Materiale didattico disponibile sul sito dell’Università. Altri testi di consultazione: Per un inquadramento generale dei problemi legati ai sistemi di supporto alle decisioni si vedano: - M. PIGHIN, A. MARZONA, Sistemi Informativi Aziendali - Struttura e applicazioni (Parte 1 e Parte 2), Pearson Italia, 2004. - G. BRACCHI, G. MOTTA, Processi Aziendali e Sistemi Informativi, Franco Angeli, 2000. 180 programmi - LS informatica Per richiami al modello relazionale, il testo di riferimento del corso di Basi di Dati - A TZENI , C ERI , P ARABOSCHI , T ORLONE , Basi di Dati, seconda edizione, McGrawHill, 1999. Per case study in diversi settori si rimanda la classico: - R. KIMBALL, M. ROSS, Data Warehouse La guida completa, Hoepli, 2002. Per approfondimenti sul tema del Data Mining: - J.HAN, M. KAMBR, Data Mining, Morgan Kaufman, 2001. analisi di realizzazioni di noti sound designers. L’esame consiste in un test finale e nella realizzazione di un progetto. Bibliografia - V. LOMBARDO, A. VALLE, Audio e Multimedia, seconda edizione, APOGEO. - B. BARTLETT, J. BARTLETT, Tecniche di registrazione, APOGEO. - R. P APEN , Virtual Instruments. User’s manual. - Lucidi delle lezioni e materiali scaricati dal web. FONDAMENTI DELL’INFORMATICA 2 DESIGN DEL SUONO Docente Prof. Elio Toppano Crediti 3 Finalità del corso Obiettivo fondamentale del corso è l’acquisizione dei concetti, degli strumenti e delle metodologie di base per l’analisi e la progettazione di oggetti sonori finalizzati alla comunicazione (es. loghi sonori, suoni per interfacce e produzioni multimediali, sonorizzazioni di eventi e luoghi). Programma Analisi spettromorfologica del suono. Caratterizzazione percettiva degli oggetti sonori e tipologie di ascolto. Tecniche di sintesi. Effetti e processori di segnale. Strumenti virtuali. Editing, missaggio e registrazione. Montaggio di oggetti sonori. L’uso del suono con le immagini. Applicazione: realizzazione di coreografie sonore finalizzate ad obiettivi comunicativi. Modalità d’esame Il corso comprende esercizi di ascolto e Docente Prof. Agostino Dovier Crediti 6 Finalità del corso Approfondire le competenze degli argomenti già trattati nel corso di Fondamenti dell’Informatica 1. Dopo aver superato l’esame si ritiene che lo studente sia in grado di discutere la decidibilità o meno (la polinomialità o meno) di problemi, anche utilizzando tecniche raffinate di riduzione, e conosca gli aspetti rilevanti della teoria dei linguaggi formali. Programma Il corso si divide in tre parti: linguaggi formali, calcolabilità e complessità. Linguaggi formali. Richiami sui linguaggi regolari. Automi a stati finiti deterministici e non-deterministici, e loro equivalenza. Espressioni regolari. Pumping Lemma per i linguaggi regolari e sue applicazioni. Proprietà di chiusura e di decidibilità dei linguaggi regolari. Il teorema di MyhillNerode; unicità e determinazione dell’automa minimo. Linguaggi liberi dal 181 programmi - LS informatica contesto. Grammatiche libere dal contesto e alberi di derivazione. Grammatiche ambigue. Le forme normali di Chomsky e di Greibach. Il pumping lemma per i linguaggi liberi e le sue applicazioni. Proprietà di chiusura e di decidibilità dei linguaggi liberi. Grammatiche lineari destre e sinistre, grammatiche di tipo 0 e 1 e gerarchia di Chomsky. Calcolabilità. Richiamo dei formalismi delle funzioni primitive ricorsive, ricorsive parziali e Macchine di Turing. Equivalenza tra le funzioni ricorsive parziali e le funzioni Turing-calcolabili. Calcolabilità e Linguaggi di Programmazione. Il linguaggio While: Sintassi, semantica e funzioni While-calcolabili. Turing completezza del linguaggio While. Il linguaggio For. Equivalenza tra funzioni For-calcolabili e funzioni primitive ricorsive. Indecidibilità dell’halting problem senza aritmetizzazione. Il teorema S-m-n per la While calcolabilità e gli Specializzatori. Il Teorema di ricorsione di Kleene, il Teorema di Rice e le proprietà di programmi e il Teorema di RiceShapiro. Applicazioni alla programmazione. Riducibilità funzionale. Studio della relazione. Insiemi ricorsivi e completi. Insiemi creativi e produttivi. Secondo Teorema di Ricorsione e Teorema di Myhill. Insiemi semplici: esistenza di un insieme semplice. Complessità. Problemi e linguaggi. Problemi decisionali e funzionali. Classi di Complessità in tempo deterministiche: Riassunto dei principali risultati. Classi non deterministiche e classi in spazio. Principali risultati. Riduzioni, completezza, ed esempi. Teoremi di Cook. NP-completezza di alcuni problemi fondamentali mediante riduzione. Modalità d’esame Prova scritta ed orale. Bibliografia - A. DOVIER, R. GIACOBAZZI, Fondamenti dell’Informatica: Linguaggi Formali, Calcolabilità e Complessità, disponibile on-line. - N.J. CUTLAND, Computability: an Introduction to Recursive Function Theory, Cambridge Univ. Press, Cambridge 1980. - J.E. HOPCROFT, J.D. ULLMAN, Introduction to Automata, Languages and Computation, Addison-Wesley, Reading 1979. - C.H. P APADIMITRIOU , Computational Complexity, Addison Wesley, 1995. GEOMETRIA COMPUTAZIONALE Docente Prof. Adriano Pascoletti Crediti 6 Finalità del corso Acquisire familiarità con una serie di problemi di natura geometrica la cui soluzione richiede la conoscenza di strutture dati e tecniche algoritmiche sorte nell’ambito della geometria computazionale. Utilizzo delle tecniche di base per lo studio di problemi più complessi. Capacità di valutazione critica dell’efficacia e della robustezza degli algoritmi e delle strutture dati impiegati per la soluzioni dei problemi proposti. Programma Rappresentazione di oggetti geometrici; intersezioni di insiemi di segmenti; triangolazioni; problemi di point location, vicinanza e visibilità; pianificazione del movimento. Modalità d’esame Prova orale. Bibliografia - M. DE BERG, M. VAN KREVELD, M. OVERMARS , O. S CHWARZKOPF , Computational 182 programmi - LS informatica Geometry - Algorithms and Applications, Springer Verlag, 1997. - A. PASCOLETTI, dispense del corso. LABORATORIO DI GEOMETRIA COMPUTAZIONALE Finalità del corso Realizzazione di un software non banale al fine di mettere lo studente di fronte ai problemi tipicamente incontrati nel passaggio dalla formulazione di un algoritmo di geometria computazionale ad una completa ed affidabile implementazione. Modalità d’esame Discussione del software sviluppato. GRAFICA 3D INTERATTIVA base e avanzate - uso di di texture: tecniche di base e avanzate - rendering basato su immagini - strutture dati spaziali algoritmi di culling - programmable shaders - analisi e uso della libreria OpenGL - analisi e uso di un motore per il rendering real-time. Modalità d’esame L’esame consiste nella realizzazione di un progetto che utilizzi, approfondisca o estenda alcuni degli argomenti o strumenti visti nel corso, ed in una prova orale sui contenuti del corso. Bibliografia - T. A KENINE -M ULLER , E. H AINES , RealTime Rendering, A.K. Peters Ltd. ISBN 1568811829. - E. ANGEL, Interactive Computer Graphics: a Top-Down Approach with OpenGL, Addison-Wesley. ISBN 020138597X. Docente Dott. Roberto Ranon HIGH PERFORMANCE COMPUTING Crediti 6 Pagina del corso http://www.dimi.uniud.it/ranon/int3d.h tml Finalità del corso Il corso tratta i principali algoritmi e strumenti usati nella grafica 3D interattiva e nelle sue applicazioni (videogame, visualizzazione scientifica). Vengono esaminati sia aspetti teorici (come le principali tecniche per il rendering 3D real-time), sia aspetti pratici nell’uso delle tecnologie oggi disponibili (in particolare, librerie e motori grafici). Programma - La pipeline per il rendering real-time - le primitive grafiche - cenni a trasformazioni - illuminazione e shading: tecniche di Docente Prof. Dario Fasino Crediti 6 Finalità del corso Questo corso, dedicato al calcolo ad alte prestazioni, intende familiarizzare lo studente con le principali problematiche del calcolo non sequenziale (ossia del calcolo effettuato avvalendosi di un unico processore di struttura hardware tradizionale), nei suoi molteplici aspetti (architetture, linguaggi, algoritmi, programmazione), con particolare riguardo alla risoluzione di problemi di calcolo scientifico su architetture di tipo cluster. Il corso mirerà a trasmettere concetti di programmazione parallela non legati a particolari tecnolo- 183 programmi - LS informatica gie o ambienti di calcolo, spendibili in vari ambiti applicativi. Programma Introduzione alle architetture parallele: tassonomia di Flynn, architetture a memoria condivisa o distribuita, macchine vettoriali, superscalari, multiprocessore, cluster. Topologie di connessione tra i processori e la memoria. Algoritmi di base per elaboratori paralleli a memoria distribuita. Sincronizzazione e comunicazione dei processi. Metodologie e criteri per lo sviluppo di algoritmi paralleli: decomposizione dei dati, decomposizione funzionale, tecniche di ottimizzazione seriale e parallela, granularità, load balancing. Il modello message-passing: caratteristiche e funzioni di base; comunicazioni collettive e punto-punto; primitive sincrone e asincrone. Cenni alle librerie BSP, PVM e MPI. Analisi delle prestazioni: Concetti e misure di efficienza, scalabilità e speed-up di un algoritmo parallelo. Legge di AmdahlWare e di Gustafsson. Isoefficienza. Overhead parallelo e analisi dei tempi di comunicazione. Calcolo scientifico ad alte prestazioni: Alcuni casi di studio tratti dall’algebra lineare numerica (prodotto matrice-vettore e matrice-matrice, tecnologia delle matrici sparse, BLAS, algoritmo FFT, algoritmi veloci per matrici con struttura) e dalla Matematica Computazionale. Modalità d’esame Esame finale orale, comprendente la discussione dell’attività eventualmente svolta durante le esercitazioni in laboratorio. Bibliografia - J. DONGARRA, I. DUFF, D. SORENSEN, H. VAN DER VORST, Numerical Linear Algebra for High-Performance Computers, SIAM, 1998. - K. D OWD , C. S EVERANCE , High Performance Computing, O’Reilly, 1998. - L. FOSDICK et al., An Introduction to High Performance Scientific Computing, MIT Press, 1996. - P.S. PACHECO, Parallel Programming with MPI, Morgan Kaufmann Publ., 1997. IMMAGINI E MULTIMEDIALITÀ Docente Prof. Vito Roberto Crediti 6 Finalità del corso I corsi nell’insieme forniscono una panoramica su principi e tecniche di Riconoscimento di Forme (Pattern Recognition), e in particolare l’analisi, interpretazione e comunicazione di segnali ed immagini. Tutti gli argomenti sono basati su esercitazioni pratiche in laboratorio, con l’utilizzo delle attrezzature e del software del Laboratorio Immagini del Dipartimento di Informatica dell’Università di Udine. Informazioni sul Laboratorio Immagini sono reperibili sul sito web: http://mvl.dimi.uniud.it/ Programma - Elementi di visione artificiale [d2]. Introduzione alla Computer Vision. Formazione dell’immagine. Elaborazione. Modello geometrico della telecamera. Ricostruzione da Visione Stereo. Analisi del Movimento. - Sintesi di mondi tridimensionali. Il Linguaggio VRML (Virtual Reality Modelling Language). Rendering 3D tramite oggetti VRML; il colore; il movimento; il suono. Multimedialità nei mondi 3D. - Esercitazioni di im. Vengono utilizzati l’ambiente software MATLAB (su licenza The Mathworks Inc.) versione 5.1.0.421, 184 programmi - LS informatica con l’aggiunta del pacchetto Image Processing, vers. 2.0, ed il linguaggio VRML v.2.0. Bibliografia - Dispense del corso di Teoria e Tecniche di Elaborazione dell’Immagine, a cura del docente. - E. TRUCCO, A. VERRI, Introductory Techniques for 3-D Computer Vision, Prentice Hall, 1998. INFORMATICA MEDICA Docente Dott. Vincenzo Della Mea Crediti 6 Finalità del corso Il corso di Informatica Medica si propone di introdurre gli studenti ai problemi specifici legati all’applicazione delle metodologie e tecnologie informatiche in ambito medico-clinico, partendo da un’introduzione alle caratteristiche dei dati e del ragionamento in Medicina. Particolare attenzione viene rivolta ai sistemi informativi in ambito clinico sia per i temi più tradizionali, come le cartelle cliniche elettroniche, sia per quanto riguarda aspetti prossimi al supporto alla decisione, come i sistemi basati sui protocolli ed il necessario supporto costituito dalle terminologie. Nel corso verranno, inoltre, sottolineati quegli aspetti applicativi tipici dell’ambito medico, ed al contempo riguardanti problemi aventi anche una valenza generale, che si configurano come validi banchi di prova per settori di ricerca dell’informatica, quali, ad esempio, l’elaborazione ed analisi di biosegnali e bioimmagini, e le applicazioni del Semantic Web alla Medicina. Programma 1. Caratteristiche dei dati e del ragionamento in Medicina. 2. La cartella clinica elettronica: - caratteristiche; - implementazione e standard disponibili. 3. Terminologie e classificazioni. 4. Sistemi basati sui protocolli. 5. Elaborazione di biosegnali e bioimmagini. 6. Applicazioni mediche del Semantic Web. Casi di studio: sistemi, articoli scientifici, seminari esterni. Modalità d’esame Lo studente approfondirà un tema del corso, a scelta, mediante una delle seguenti modalità: un seminario interno durante lo svolgimento del corso, oppure una relazione scritta, oppure un progetto breve. A seguito di ciò, l’esame consiste in un colloquio nel corso del quale verrà verificata la capacità dello studente di considerare e fondere sia gli aspetti teorico-metodologici propri dell’informatica sia le esigenze applicative tipiche dell’ambito medico-clinico. Bibliografia Testi consigliati: - E.H. SHORTLIFFE, L.M. FAGAN, G. WIEDERHOLD, L.E. PERREAULT, Medical Informatics: Computer Applications in Health Care and Biomedicine, seconda edizione, Springer-Verlag, 2000. - J. V AN B EMMEL , Handbook of Medical Informatics, seconda edizione, SpringerVerlag, 2002. - E. COIERA, Guida all’Informatica Medica, Internet e Telemedicina, Pensiero Scientifico, 2000. - Materiale fornito a lezione ed altre fonti indicate dal docente. Il sito del corso si trova all’indirizzo http://mitel.dimi. uniud.it/med/ programmi - LS informatica INGEGNERIA DEL SOFTWARE 2 Docenti Prof. Maurizio Pighin Dott. Anna Marzona Crediti 6 Finalità del corso Obiettivo del corso è l’approfondimento delle principali tematiche dell’Ingegneria del Software. Viene richiamato il ciclo di progettazione e di vita di un prodotto Software. Vengono poi studiati e approfonditi gli argomenti più avanzati, quali il configuration management, le metodologie di test, la progettazione dei sistemi, le metriche teoriche ed operative, i più noti modelli di qualità di prodotto e di processo, le metodiche di pianificazione e controllo, i principali strumenti di lavoro. Nel correlato corso di Laboratorio avanzato (4 CFU) viene svolto un casestudy completo, seguendo un processo di sviluppo di un progetto Software in tutte le fasi sia del ciclo di vita (specifiche, progetto, codifica, test, rilascio, manutenzione) che operativo (pianificazione, analisi costi, metriche, organizzazione del lavoro, consuntivazioni economiche). Programma - Introduzione e Richiami Generali: le motivazioni del Software Engineering. Richiami alle definizioni di base. La dimensione economica del problema. I fattori di complessità del processo di sviluppo. - Configuration Management: le motivazioni del Configuration Management. Il CM-Planning. Trattamento delle versioni. Assemblaggio dei componenti e System Building. - Ingegneria del Software Esistente: l’I.S.E: definizioni e problematiche. Le metodologie di re-engineering. Le meto- 185 dologie di riuso. Lo sviluppo per il riuso e tramite il riuso. - Verifica e Validazione: i risultati teorici negativi. Strategie di test. Test dinamico. Le catene di test. I test di regressione. L’automazione del test e l’analisi mutazionale. Test statico. Cenni sui metodi formali di test. - Metriche: le definizioni generali. Gli obiettivi delle misure. Le scale di misurazione. Le misure di controllo e predittive. Il data collection. Gli attributi interni e le loro misurazioni. La metrica di Halstead. La metrica di Albrecht. La metrica di McCabe ed altre metriche di complessità. Gli attributi esterni e le loro misurazioni. - Modelli di qualità: la certificazione di qualità e i principali modelli di certificazione di processo e di prodotto: Richiami al modello ISO 9000, il modello CMM, cenni su altri modelli: BOOTSTRAP, BOOTSTRAP, SYNQUEST, SPICE. Il modello IS0 9126. - Valutazione e stima dei costi: l’analisi prestazioni/costo e l’analisi delle decisioni. La stima dei costi del Software. Richiamo modello COCOMO. Altri modelli di stima. - Pianificazione e Controllo del Processo Produttivo: l’organizzazione e gestione dei gruppi di lavoro. La pianificazione ed i suoi obiettivi. I diagrammi di Pert e gli schemi di Gantt. - Manutenzione: costi, stime, misurazioni, dinamica del processo manutentivo. Il modello COCOMO. - Extreme programming: metodologie organizzative: pianificazione, testing. Tecniche di sviluppo. - Strumenti di lavoro: la tecnologia CASE: Tools, Ambienti. Le funzionalità. Gli strumenti di supporto nelle varie fasi del processo di sviluppo. Modalità d’esame L’esame consiste nella discussione del progetto fatto durante il laboratorio. 186 programmi - LS informatica Alternativamente lo studente può sostenere una prova scritta/orale sugli argomenti del programma. Bibliografia - R.S. PRESSMAN, Principi di Ingegneria del Software, quarta edizione, McGrawHill, 2005. - I. S OMMERVILLE , Software Engineering, settima edizione, Addison Wesley P.C., 2004. - N.E. F ENTON , S.L. P FLEEGER , Software Metrics - A Rigorous and Practical Approach, 2 nd edition, PWS Publishing Company, 1997. - A. B INATO , A. F UGGETTA , L. S FARDINI , Ingegneria del Software, creatività e metodo, Pearson-Addison Wesley, 2006. - C. GHEZZI, M. JAZAYERI, D. MANDRIOLI, Ingegneria del Software - Fondamenti e Principi, seconda edizione, Pearson-PrenticeHall, 2004. - AA. VV., Metriche del software - esperienze e ricerche, Franco Angeli, 2006. - Materiale didattico disponibile sul sito d’Ateneo. INTELLIGENZA ARTIFICIALE Docente Prof. Carlo Tasso Crediti 6 Finalità del corso Il corso si propone di introdurre alcune delle tematiche fondamentali dell’intelligenza artificiale. Programma Programma e bibliografia potranno subire variazioni. 1. Introduzione - Intelligenza ed intelligenza artificiale: concetti introduttivi e cenni storici. Agen- ti: agenti razionali ed agenti intelligenti, programmi agente (simplex reflex agent, agenti che tengono traccia dell’ambiente in cui operano, goal-based agents, utilitybased agents). 2. Rappresentazione della conoscenza in AI - Reti semantiche. - Reti di frames. - Sistemi a regole di produzione. 3. Ruolo della metodologia ordinata in AI - Medodi basati su descrizione e confronto. - Metodi sintattici. - Utilizzo di vincoli naturali. - Propagazione dei vincoli, procedura di Waltz. - Paradigma di generazione e test. - Metodi per la riduzione di problemi. 4. Il problema della ricerca: esplorazione di alternative - Formulazione di problemi come ricerca in uno spazio di stati. Tipi ed esempi di problemi. - Metodi di ricerca del cammino e/o del cammino ottimo: depth-first, breadthfirst, hill climbing, best-first, algoritmo A*. - Risoluzione di giochi basata sulla ricerca: algoritmo del min-max, procedura alpha-beta, metodi euristici. 5. Apprendimento - Cenni introduttivi. - Alberi di decisione. - Apprendimento delle classi attraverso esempi. - Apprendimento supervisionato: reti neurali (perceptron, perceptron multistrato, alberi di reti neurali), algoritmo back-propagation. - Apprendimento non supervisionato: reti auto-organizzanti. - Esempi applicativi (in Laboratorio). Bibliografia - S. RUSSEL, P. NORVIG, Artificial Intelligence: a Modern Approach, Prentice-Hall International, 1995. programmi - LS informatica - P.H. WINSTON, Artificial Intelligence, 3rd edition, Addison-Wesley, 1992. - S. H AYKIN , Neural Networks: a Comprehensive Fundation, 2nd edition, Prentice Hall, 1999. Testi di approfondimento: - E.A. BENDER, Mathematical Methods in Artificial Intelligence, IEEE Computer Society Press, 1995. - B.D. R IPLEY , Pattern Recognition and Neural Networks, Cambridge University Press, UK, 1996. - E. GOSE, R. JOHNSONBAUGH, S. JOST, Pattern Recognition and Image Analysis, Prentice Hall, 1996. - J. PEARL, Probabilistic Reasoning in Intelligent Systems: Networks of Plausible Inference, Morgan Kaufmann Publishers, San Mateo, CA, 1988. - M. GINSBERG, Essentials of Artificial Intelligence, Morgan Kaufman,1993. INTERAZIONE UOMO-MACCHINA 1 Docente Prof. Luca Chittaro Crediti 6 Finalità del corso Scopo del corso è di introdurre i principi, le metodologie di progettazione e le diverse scelte implementative per la costruzione di software che sia usabile in modo semplice, intuitivo, produttivo ed affidabile dagli utenti a cui è rivolto. Il raggiungimento di questo obbiettivo richiede lo studio di tre diverse tematiche: l’uomo (caratteristiche psicologiche dell’utente); la macchina (strumenti per la realizzazione di interfacce con il mondo esterno); l’interazione (analisi, progetto, valutazione di interfacce uomo-macchina). Oltre a presentare le nozioni di base della disciplina, il corso pone anche l’accento su 187 alcuni sviluppi recenti di particolare importanza, quali le interfacce 3D ed il groupware. Programma - Introduzione: Obiettivi dell’Interazione Uomo-Macchina e sua importanza nei diversi settori applicativi dell’Informatica. - Aspetti Psicologici dell’Interazione Uomo-Macchina: Psicologia Cognitiva. Canali sensoriali. Limitazioni e aspettative umane nei processi percettivi. Percezione visiva. Percezione auditiva. Percezione tattile. Movimento. La Memoria umana: sensoriale, a breve termine, a lungo termine. Differenze individuali. Modelli mentali. Metafore. Errori umani: slip e mistake. - Periferiche per l’Interazione UomoMacchina: Periferiche per l’inserimento di testo. Periferiche per il puntamento e posizionamento. Periferiche 3D. Periferiche per l’output visivo, auditivo, tattile. Periferiche ed interfacce per utenti disabili. - Modelli e Paradigmi di Interazione Uomo-Macchina: Modelli per caratterizzare le fasi dell’interazione. Aspetti ergonomici dell’interazione. Stili di interazione: dai linguaggi di comando alle interfacce 3D. Interfacce a finestre (WIMP). Progetto dei menu e delle icone. Paradigmi di interazione. - Interazione Uomo-Macchina e Ciclo di Vita del Software: Analisi dei requisiti di usabilità. Principi di usabilità. User-centred design. Usability Engineering. Tecniche di prototyping. Tecniche per favorire la creatività. Documentazione delle scelte di progetto. - Environment, User, Task Analysis: Determinazione del contesto dell’interazione con modelli socio-tecnici. Il metodo USTM/CUSTOM. Analisi dei compiti degli utenti. Il metodo HTA. Modelli predittivi: GOMS, KLM. - Metodi Formali nell’Interazione Uomo- 188 Macchina: State transition network ed altre notazioni diagrammatiche. Notazioni testuali. Progetto ed analisi di dialogo mediante state transition network. - Guidelines e Standard per le Interfacce Utente: Definizione. Scelta ed uso di guidelines. Esempi di guidelines: MITRE, Apple, Microsoft, guidelines IBM per interfacce 3D. Lo standard ISO 9241. - Strumenti per l’Implementazione di Interfacce Utente: Windowing System. Tecniche di programmazione. Toolkit. Caso di studio: il toolkit di Java. User Interface Management System. - Valutazione di Usabilità: Scopo della valutazione. Strumenti di registrazione. Osservazione dell’utente. Raccolta di opinioni. Interviste. Questionari. Esperimenti. Valutazione predittiva. Cognitive walkthrough. Valutazione interpretativa. - Help: Assistenza all’utente. Requisiti di un help system. Principali approcci. Interfacce adattive ed adattabili. - Computer-Supported Cooperative Work: Groupware. La comunicazione mediata dal calcolatore. E-mail e sistemi di comunicazione testuale. Videoconferenza. Ambienti collaborativi virtuali. Sistemi workflow. Aspetti sperimentali ed organizzativi del lavoro cooperativo. - Recenti Paradigmi di Interazione Uomo-Macchina: Ubiquitous computing. Realtà virtuale. Tipologie di realtà virtuale. Il linguaggio VRML. Interfacce multi-sensoriali (o multi-modali). Information visualization. Ipertesti. Interfacce multimediali e ipermediali. Bibliografia - A. DIX, J. FINLAY, G. ABOWD, R. BEALE, Human Computer Interaction, 3rd edition, Prentice Hall, 2003. - J. P REECE , Y. R OGERS , H. S HARP , D. BENION, S. HOLLAND, T. CAREY, Human Computer Interaction, Addison Wesley, 1994. programmi - LS informatica INTERAZIONE UOMO-MACCHINA 2 Docente Prof Luca Chittaro Crediti 6 Finalità del corso 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 rientreranno in tre categorie di pari importanza: la visualizzazione delle informazioni (progetto di un’interfaccia visuale e tecniche di Information Visualization), l’interazione con dispositivi e servizi mobili (ad esempio, telefoni cellulari, PDA, strumenti di bordo degli autoveicoli), la Realtà Virtuale (Immersiva, Desktop o Web-based). Programma - Visualizzazione delle informazioni (IV). Information Visualization (IV): definitions. Data vs. Information. Goals of IV. Information Visualization vs. Scientific Visualization. Issues involved in IV Design. Mapping: principles, visual attributes, examples. 2D vs. 3D visualizations. Typical IV design problems. A model for IV. A classification of data types: Categorical, Numerical, Topological, Symbolic, Textual Data. An alternative classification of data types: 1-dimensional, 2-dimensional, 3-dimensional, temporal, multidimensional, tree, network. A classification of task types: overview, zoom, filter, details-on-demand, relate, history, extract. - Tecniche per visualizzare ed interagire con i dati. Bivariate, Trivariate, Multivariate data: Scatterplots, Mosaic Display, Parallel coordinate plots, Starplot, Chernoff Faces, Hierarchical Axis, Dimensional programmi - LS informatica Stacking, Dynamic Queries, Alphasliders, The Attribute Explorer, SDM (Selective Display and Manipulation). InfoZoom. Pixel-oriented visualizations: screen-filling curves, recursive pattern, circle segments. Trees: Treemaps, Cone Trees, Camtrees, Star Tree, Hyperbolic Trees. Networks: SeeNet, HierNet, NetMap. Temporal data: Lifelines, AsbruView, Paint Strips. Documents: TileBars, document Galaxies, Themescape, Citeseer-Relator, MDS-interactive. Information Workspace: Rooms, Web Forager, Windows Task Gallery, Sun Looking Glass. - Il problema della presentazione. Overview+Detail techniques. Focus+Context techniques. Distortion-oriented techniques. Table Lens. Perspective Wall. Fisheye view. - Caso di studio: IV per internet ed il web. NattoView. Self-organizing maps. Skitter. Cichlid. Web Forager. Disk tree. Time tube. Dome tree. Web page caricatures. Visualizing Social activities on the Web. - Caso di studio: IV in medicina. Visualizing medical data: medical imaging vs. IV. A gallery of examples: Therapy Planning, Interactive Data Exploration of clinical databases, Digital libraries of anatomical images, Preoperative Surgery Planning, Treatment of Phobias, Magnetic Resonance Image Viewing, visual data mining of Hemodialysis data. - Fattori umani e cognitivi dell’IV. Visual perception aspects. Navigation in abstract or physical spaces. Improving navigation. Navigation aids. User Evaluation of IV systems. Detailed case studies: querying medical databases, 3D navigation aids. - Interazione con dispositivi mobili. Mobile and Wireless Devices. Mobile Operating Systems. Wireless Networks. Differences between the mobile context and the desktop PC context. Size issues in mobile devices. Cultural issues. Social issues. The Mobile User Experience. 189 - Telefoni cellulari. Mobile Phones: Historical Data. User Interfaces (UIs) of Mobile Phones. Mobile Product Categories. UI Styles in Mobile Phones. Example: Twosoftkey 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. Interface Elements of Menu-based Mobile Phones. Menu Interfaces in Mobile Phones. Call-related Interactions. Number of Keys in Mobile Devices. - Valutazione di interfacce per dispositivi mobili. Ethnographic methods. Case study: Indian users. Paper Prototyping Tour. Controlled experiments. Case Study: a mixed-design experiment with WAP phones. Longitudinal User Studies. Example: the Nokia One-Row Keyboard. - Visualizzazione su dispositivi mobili. Visualizing data for mobile users. Visualizing data about mobile users. Relevant Subjects of Mobile Visualizations. Visualizing text on mobile devices. Visualizing maps on mobile devices. DateLens. - Interfacce a bordo di veicoli e problematiche di sicurezza. Centralized Control Systems. Examples: COMAND, Connect, iDrive, future concepts. Using the Keystrokelevel 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. Reducing risks. - Interazione con sistemi di realtà virtuale. General architecture of a virtual reality (VR) system. Output peripherals: headmounted displays, 3D Glasses, new types of display, 3D projection, CAVE, retinal display, 3D positional audio. Input peripherals: trackers, data glove, phantom. - Progetto di siti web 3D. Issues in 3D Web site design. Added value. A case study: 190 designing the 3D Web site of the Italian Aerobatic Team. - Virtual Humans. Avatars. Ergonomic dummies. Autonomous agents. Embodied interface agents. General architecture. Applications. Bibliografia - R. S PENCE , Information Visualization, Addison Wesley, 2000. - 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. INTERPRETAZIONE ASTRATTA E ANALISI AUTOMATICA DEL SOFTWARE Analisi, Debugging, Verifica e Trasformazione Automatica di Programmi basata sulla semantica Docente Prof. Marco Comini Crediti 6 Finalità del corso La crescente dipendenza della società dalle applicazioni informatiche fa sì che l’analisi e la verifica della correttezza dei sistemi complessi rappresenti sempre di più un fattore critico del processo di sviluppo. Il malfunzionamento dei sistemi, siano essi hardware, software o protocolli di comunicazione, può comportare danni rilevanti di ogni genere: dalla perdita finanziaria alla perdita di vite umane. Inoltre, quando i difetti non sono rilevati prima dell’impiego del sistema, l’applicazione di eventuali misure correttive è, quando possibile, ben più difficile e costosa. Esempi dal recente passato includono il millennium bug, gli errori di alcu- programmi - LS informatica ne versioni del processore Pentium, lo scoperto da 32 miliardi di dollari alla N.Y. Bank, il fallimento iniziale del vettore Ariane 5, e gli incidenti mortali del Therac-25. Il corso intende fornire una introduzione (relativamente) estesa alle tecniche che stanno alla base dell’analisi automatica del software e della verifica formale (nonché debugging) assistiti dal calcolatore. Prerequisiti - Semantica dei Linguaggi di Programmazione (condizione sufficiente è il corso di Semantica dei Linguaggi di Programmazione). - Nozioni base su Linguaggi Dichiarativi (Logici, Funzionali e Logico-Funzionali; condizione sufficiente sono i corsi di Linguaggi 1 e 2). Programma 1. Introduzione alle tecniche di trattamento del software basate sulla semantica. 2. Richiami di Semantica: - Posets, CPO, Reticoli; - Semantica Operazionale; - Semantica Denotazionale; - Semantica di Punto Fisso. Da programmi a proprietà: Analisi statica di programmi 1. Schemi monotoni: Esempi di DFA (Data-flow analysis). 2. Interpretazione astratta: - Ottimizzazione di un programma imperativo; - Reticoli completi econnessioni di Galois; - Upper closure operators; - Semantiche standard e non standard della programmazione logica. 3. Domini astratti per l’ottimizzazione della programmazione dichiarativa: Pos, Def e Sharing. 4. Disegno di domini astratti: prodotto ridotto, complementazione, raffinamenti e loro inversione. 191 programmi - LS informatica 5. Tecniche di accelerazione del punto fisso (Widening/Narrowing). 6. Applicazioni. Da programmi a programmi: Trasformazione e Valutazione parziale 1. Trasformazione. 2. Ottimizzazione mediante partial evaluation. Con programmi e proprietà: Debugging e Verifica 1. Specifiche e proprietà di programmi. 2. Debugging Algoritmico. 3. Abstract Diagnosis. 4. Logica di Hoare e verifica di programmi sequenziali. 5. Asserzioni come dominio astratto. 6. Abstract Verification: Analisi e verifica, verso una teoria unificante: - Type checking come caso particolare di Abstract Verification. Da proprietà a programmi: Sintesi di Programmi 1. Sintesi di programmi logici. Bibliografia - K.R. A PT , E. O LDEROG , Verification of Sequential and Concurrent Programs, 2nd edition, 1997. ISBN: 0-387-94896-1. - N.D. JONES, C.K. GOMARD, P. SESTOFT, Partial Evaluation and Automatic Program Generation, Prentice-Hall, Englewood Cliffs, NJ, 1993. - P. COUSOT, R. COUSOT, Abstract Interpretation and Application to Logic Programs, Journal of Logic Programming, 13(23):103-179, 1992. - M. C OMINI , An Abstract Interpretation Framework for Semantics and Diagnosis of Logic Programs, Ph.D. thesis TD-5/98, Dipartimento di Informatica, Università di Pisa, 1998. - P. COUSOT, Semantic Foundations of Program Analysis, in S.S. Muchnick, N.D. Jones (eds), Program Flow Analysis: Theory and Applications, chapter 10, pages 303342. Prentice-Hall Inc., Englewood Cliffs, New Jersey, USA, 1981. - P. COUSOT, Abstract Interpretation Based Formal Methods and Future Challenges, Invited Paper, in R. Wilhelm (ed), Informatics - 10 Years Back, 10 Years Ahead, volume 2000 of Lecture Notes in Computer Science, pages 138-156, SpringerVerlag, 2000. LINGUAGGI DI NUOVA CONCEZIONE Docente Prof. Agostino Dovier Crediti 6 Finalità del corso Lo scopo del corso è lo studio di moderni paradigmi di programmazione dichiarativi fondati sul concetto di vincolo. Sarà data particolare enfasi ai linguaggi logici con vincoli su domini finiti e al cosiddetto Answer Set Programming. Tali linguaggi vengono oggigiorno utilizzati con successo nella risoluzione di problemi di ottimizzazione (scheduling, timetabling, planning, etc). I paradigmi saranno presentati in modo rigoroso sia per quanto riguarda gli aspetti semantici ed implementativi che sotto il profilo pratico, mediante lo sviluppo in laboratorio di opportuni prototipi. Programma Brevi richiami di Logica del prim’ordine, con particolare riferimento all’unificazione sintattica e semantica e al meccanismo di risoluzione. Richiami sui linguaggi di programmazione basati su clausole di Horn, sulla loro Turing Completezza e semantica. Programmi logici con vincoli: Sintassi e semantica. Programmazione dichiarativa: metodologia Generate test vs Constrain generate. Vincoli su domini finiti: risolutori. Alcuni casi di studio da 192 programmi - LS informatica svilupparsi in laboratorio: N-regine, Map Coloring, puzzles, problemi di allocazione di risorse, problemi di biologia computazionale, giochi. Answer set programming: Sintassi e semantica. Suo utilizzo per la codifica di problemi NP-completi. Fondamenti della programmazione concorrente con vincoli e sul linguaggio di coordinamento LINDA. Modalità d’esame Progetto e Prova orale. Bibliografia - K. MARRIOTT, P. STUCKEY, Programming with Constraints, The MIT Press, 1998. - K.R. A PT , Principles of Constraint Programming, Cambridge University Press, 2003. - A. DOVIER, Dispense del corso, disponibile on-line. - K.R. A PT , From Logic Programming to Prolog, International Series in Computer Science, Prentice Hall, 1997. - L. STERLING, E. SHAPIRO, The Art of Prolog, second edition, The MIT Press 1994. - Articoli lasciati durante il corso. LINGUAGGI DI PROGRAMMAZIONE 1 Docente Prof. Marco Comini Crediti 6 Finalità del corso Il corso di Linguaggi 1, in congiunzione con il corso di Linguaggi 2, intende fornire una conoscenza delle caratteristiche dei vari paradigmi di programmazione, cercando il più possibile di evitare di concentrarsi su uno specifico linguaggio, andando bensì a presentare i principi che guidano la progettazione, realizzazione e implementazione dei moderni linguaggi di programmazione. Con solida conoscenza delle caratteristiche ‘universali’ si potrà così in futuro imparare nuovi linguaggi in pochissimo tempo. A questa visione generale si giunge attraverso la descrizione dei principali paradigmi di programmazione: imperativo, funzionale, logico e logico-funzionale. Questi paradigmi, oltre a essere esaminati nei loro aspetti pragmatici più immediati, sono analizzati e confrontati sulla base dei principi generali, in modo tale da permettere una comprensione critica della maggior parte dei linguaggi di uso comune. In questo modo si intende sviluppare uno spirito critico che permetta di arrivare ad una programmazione consapevole in cui saper scegliere il paradigma più adatto a seconda del problema da risolvere e sapere quali costrutti di un linguaggio usare, e a quale costo. I due corsi intendono inoltre fornire una conoscenza relativamente approfondita (soprattutto dell’aspetto programmativo) dei paradigmi di programmazione dichiarativa (funzionale, logico e logico-funzionale) che, grazie alla loro espressività, si prestano naturalmente quale base di sviluppo di software corretto. Il corso di Linguaggi 1, in particolare, tratterà i concetti generali, il paradigma imperativo e quello funzionale. Il corso di Linguaggi 2 completerà la presentazione dei paradigmi dichiarativi: logico e logicofunzionale. Programma Paradigma Imperativo - Macchine astratte, Interpretazione e Compilazione. - Descrivere un linguaggio di Programmazione (Sintassi e Semantica). - I nomi e l’ambiente. - La gestione della memoria. - Strutturare il controllo. - p-code. programmi - LS informatica - Astrarre sul controllo (Metodi di passaggio dei parametri). - Strutturare i dati. - Type checking monomorfo e polimorfo. Paradigma Funzionale - Introduzione alla Programmazione Funzionale. - High-order Programming. - Il linguaggio Haskell (list comprehensions, partial applications of curried functions, sections, non-strict functions, infinite data structures, case expressions, pattern matching). - Types, Classes and Overloading. - Haskell’s monadic I/O. - Standard Haskell Classes. - Monads. - Modules. Bibliografia - M. GABBRIELLI, S. MARTINI, Linguaggi di Programmazione - Principi e Paradigmi, McGraw-Hill. ISBN 88-386-6261-4. - HUDAK, FASEL, A Gentle Introduction to Haskell, 1992. Libri e Testi di consultazione: - B. W ADLER , Introduction to Functional Programming Using Haskell, Prentice Hall PTR, 1998. ISBN: 0134843460. - N.D. JONES, C.K. GOMARD, P. SESTOFT, Partial Evaluation and Automatic Program Generation, Prentice-Hall, Englewood Cliffs, NJ, 1993. LINGUAGGI DI PROGRAMMAZIONE 2 Docente Prof. Marco Comini Crediti 6 Finalità del corso Il corso di Linguaggi 2, in congiunzione con il corso di Linguaggi 1, intende forni- 193 re una conoscenza delle caratteristiche dei vari paradigmi di programmazione, cercando il più possibile di evitare di concentrarsi su uno specifico linguaggio, andando bensì a presentare i principi che guidano la progettazione, realizzazione e implementazione dei moderni linguaggi di programmazione. Con solida conoscenza delle caratteristiche ‘universali’ si potrà così in futuro imparare nuovi linguaggi in pochissimo tempo. A questa visione generale si giunge attraverso la descrizione dei principali paradigmi di programmazione: imperativo, funzionale, logico e logico-funzionale. Questi paradigmi, oltre a essere esaminati nei loro aspetti pragmatici più immediati, sono analizzati e confrontati sulla base dei principi generali, in modo tale da permettere una comprensione critica della maggior parte dei linguaggi di uso comune. In questo modo si intende sviluppare uno spirito critico che permetta di arrivare ad una programmazione consapevole in cui saper scegliere il paradigma più adatto a seconda del problema da risolvere e sapere quali costrutti di un linguaggio usare, e a quale costo. Il corso di Linguaggi 2, in particolare, vuol presentare i paradigmi dichiarativi che, grazie alla loro espressività, si prestano naturalmente quale base di sviluppo di software corretto. Si mostrerà come caratteristiche quali high-order e non-determinismo possano essere sfruttate per scrivere codice compatto, elegante e flessibile (riutilizzabile). Programma Modelli di esecuzione del paradigma funzionale - Sistemi di riscrittura, Pattern Matching. Paradigma Logico - Introduzione alla Programmazione Logica: unificazione, SLD-derivations. - Semantica denotazionale della Programmazione Logica. 194 - Non-deterministic Programming. - Il linguaggio Prolog. - Warren Abstract Machine. Paradigma Logico-Funzionale - Programmazione Logico Funzionale: narrowing (needed narrowing). - High-order Non-deterministic Programming. - Il linguaggio Curry. Bibliografia Paradigma Funzionale - M. GABBRIELLI, S. MARTINI, Linguaggi di Programmazione - Principi e Paradigmi, McGraw-Hill. ISBN 88-386-6261-4. - TERESE, Term Rewriting Systems. Cambridge Tracts, in Theoretical Computer Science, Vol. 55, Cambridge University Press, 2003. Paradigma Logico - K.R. A PT , From Logic Programming to Prolog, International Series in Computer Science, Prentice Hall, 1997. - L. STERLING, E. SHAPIRO, The Art of Prolog, MIT Press, 1986. - H ASSAN A IT -K ACI , Warren’s Abstract Machine: a Tutorial Reconstruction, MIT Press, 1991. ISBN 0-262-01123-9. Paradigma Logico-Funzionale - M. HANUS, The Integration of Functions into Logic Programming: From Theory to Practice, Journal of Logic Programming, 19/20: 583-628, 1994. - S. ANTOY, R. ECHAHED, M. HANUS, A Needed Narrowing Strategy, Journal of the ACM, 2000. - M. HANUS, S. ANTOY, Curry: a Tutorial Introduction, 2004. Libri e testi di consultazione: - HUDAK, FASEL, A Gentle Introduction to Haskell, 1992. - B. W ADLER , Introduction to Functional Programming Using Haskell, Prentice Hall PTR, 1998. ISBN: 0134843460. programmi - LS informatica LINGUAGGI E MODELLI PER IL GLOBAL COMPUTING Docenti Prof. Marina Lenisa Prof. Marino Miculan Crediti 6 Finalità del corso Negli ultimi anni, il passaggio dal modello di calcolo standalone, isolato, a quello globale, interconnesso ha portato in evidenza molti aspetti riguardanti la computazione distribuita. La necessità di ragionare rigorosamente su questa nuova dimensione del calcolo ha portato ad esplorare nuovi modelli, tecniche e metodologie, che superassero le limitazioni delle tradizionali logiche di programmi. In questo corso si presentano alcuni dei modelli astratti e metodi formali più efficaci per il calcolo globale e ubique, con particolare attenzione alle problematiche di comunicazione, sicurezza e mobilità. Non mancheranno occasioni per evidenziare applicazioni pratiche e problemi aperti di questa area di punta dell’informatica moderna. Prerequisiti Metodi Formali dell’Informatica 1. Programma 1. Introduzione ai calcoli per la concorrenza. Il CCS. 2. Sistemi a topologia dinamica: il p-calcolo. Sintassi, semantica operazionale late e early, bisimulazioni late, early. 3. Sistemi a canali cifrati: lo spi-calcolo. Sintassi, semantica operazionale, sistemi di tipi, sicurezza dei protocolli. 4. Sistemi per la mobilità: il calcolo degli ambienti mobili. Sintassi, semantica operazionale, logica modale spaziale, sistemi di tipi. Varianti. 195 programmi - LS informatica Modalità d’esame Seminario monografico su un argomento attinente al corso. Bibliografia - Dispense, articoli e note fornite dai docenti. LOGICA MATEMATICA Docente Prof. Giovanna D’Agostino Crediti 6 Finalità del corso Raggiungere un’adeguata comprensione degli aspetti teorici collegati all’uso della logica nelle applicazioni informatiche, con particolare attenzione alle questioni di correttezza, completezza, decidibilità e potere espressivo per logiche classiche e non. Programma - Sistemi Deduttivi per la logica classica. - Deduzione naturale. - Metodo di risoluzione. - Introduzione alla programmazione logica (prolog). - Logiche modali e temporali. - Risultati di correttezza, completezza ed espressività. Modalità d’esame Esame scritto e orale. Bibliografia Un testo di base di logica per informatica, ad esempio: - N ERODE , S HORE , Logic for Application, Springer. - B LACKBURN , DE R IJKE , V ENEMA , Modal Logic, Cambridge Tracts in Theoretical Computer Science, 53. MATEMATICA COMPUTAZIONALE Docente Prof. Rossana Vermiglio Crediti 6 Finalità del corso Negli ultimi anni i modelli matematici sviluppati per le discipline scientifiche sono diventati sempre più complessi e l’analisi numerica svolge un importante ruolo nell’ambito del calcolo scientifico. Nel corso l’attenzione è focalizzata in particolare sui metodi numerici per le equazioni differenziali ordinarie e alle derivate parziali. Per introdurre le idee fondamentali e la teoria matematica necessaria per lo sviluppo e l’analisi di tali metodi, sono presentati le principali tecniche classiche, senza trascurare però anche problematiche di più recente interesse. Programma Equazioni alle differenze. Equazioni differenziali ordinarie: metodi numerici per problemi a valori iniziali. Metodi ad un passo e a passi multipli. Problemi Stiff. Stabilità. Integrazione geometrica. Problemi con valori ai limiti. Metodi alle differenze finite, di collocazione e shooting. Equazioni differenziali alle derivate parziali. Metodi alle differenze finite. Metodi agli elementi finiti. Potranno inoltre essere inseriti approfondimenti e/o cenni ad altri argomenti tra i quali: metodi numerici per equazione differenziali algebriche, sistemi dinamici, equazioni differenziali con ritardo, equazioni integrali e integrodifferenziali, calcolo parallelo. Modalità d’esame Prova orale. Bibliografia - V. C O M I N C I A L I , Analisi Numerica, 196 programmi - LS informatica McGraw-Hill Libri Italia, 1990. - P. DEUFHARD, F. BORNEMANN, Scientific Computing with Ordinary Differential Equations, Springer, New York, 2002. - E. H AIRER , S.P. N ORSETT , G. W ANNER , Solving Ordinary Differential Equations I, Springer, Berlin, 1987. - E. HAIRER, G. WANNER, Solving Ordinary Differential Equations II, Springer, Berlin, 1996. - E. HAIRER, C. LUBICH, G. WANNER, Geometric Numerical Integration, Springer, Berlin, 2001. - L AMBERT , Numerical Methods for Ordinary Differential Equations, Wiley, 1991. - A. Q UARTERONI , R. S ACCO , F. S ALERI , Numerical Mathematics Springer, New York, 2000. METODI FORMALI DELL’INFORMATICA 1 Docente Prof. Marina Lenisa Crediti 6 Finalità del corso In sistemi informatici ‘life-critical’, o a forte impatto ambientale, oppure in produzioni su larga scala, che comporterebbero costi ingenti di correzione, le tradizionali tecniche di certificazione del software, basate solo su testing, sono inadeguate. La verifica formale rigorosa del software è pertanto divenuta un requisito essenziale nella produzione industriale di sistemi software complessi. Questo processo comporta l’introduzione e l’utilizzo di tecniche logico-matematiche per specificare rigorosamente la semantica dei programmi e per verificarne la correttezza rispetto a questa semantica. Scopo di questo corso è quello di introdurre le problematiche ed i concetti fondamentali della verifica del software nonché alcuni dei ‘metodi formali’ più in uso per realizzare questo scopo. Programma Verranno discusse la semantica operazionale strutturata, la semantica denotazionale, i sistemi di riscrittura e svariati sistemi formali alla Hoare per stabilire proprietà di programmi sequenziali e concorrenti. In particolare, saranno studiati e sperimentati sistemi per stabilire la correttezza parziale e totale di programmi deterministici, programmi paralleli che comunicano attraverso la condivisione di variabili, programmi paralleli con primitive di sincronizzazione, programmi distribuiti che comunicano attraverso lo scambio di messaggi, programmi nondeterministici. Particolare attenzione sarà dedicata allo studio di proprietà di fairness. Modalità d’esame L’esame è costituito da una prova scritta ed una orale. Bibliografia - K. A PT , E.R. O LDEROG , Verification of Sequential and Concurrent Programs, GTCS Springer Verlag, New York, 1997. - Appunti del corso. MODEL CHECKING Docente Prof. Giovanna D’Agostino Crediti 6 Finalità del corso Il corso si propone di introdurre l’importante e innovativa tecnica di verifica di correttezza di programmi chiamata Model Checking. In particolare si svilup- programmi - LS informatica peranno i prerequisiti necessari e si approfondirà lo studio e l’utilizzo di algoritmi (efficienti) per la verifica basati sul Model Checking classico e simbolico. La tecnica del Model Checking, introdotta da Clarke, Emerson e Sistla agli inizi degli anni ’80 e successivamente resa altamente efficiente da McMillan mediante la rappresentazione simbolica degli stati facente uso degli Ordered Binary Decision Diagrams (OBDD), è oramai uno standard nella verifica di software per il controllo di sistemi reattivi concorrenti. L’introduzione e lo sviluppo dei model checker è basato su idee estremamente semplici ed è probabilmente uno dei più significativi avanzamenti della ricerca in Computer Science di base di questo periodo. L’utilizzo di algoritmi di Model Checking permette di verificare effettivamente la correttezza di classi significative di programmi e proprietà ed è già possibile trovare molti pacchetti commerciali che contengono moduli che implementano varie versioni di tali algoritmi. Anche i più semplici tra tali prodotti implementano l’idea del Model Checking ad un livello di precisione tale da permettere non solo di scoprire eventuali inconsistenze rispetto alle specifiche ma sono anche in grado di indicare il punto in cui il codice genera l’inconsistenza. I principali obiettivi del corso sono quelli di familiarizzare lo studente con gli strumenti fondamentali per la comprensione e l’utilizzo di algoritmi di Model Checking, lo studio dei principali algoritmi relativi a tale tecnica, le più importanti ottimizzazioni ed estensioni della tecnica stessa e l’utilizzo di software che implementi lo strumento formale e dei principali ambienti di utilizzo. La prima parte del corso riguarderà essenzialmente lo sviluppo dei prerequisiti relativi alla logica temporale, alla teoria degli automi su parole infinite e ai relativi aspetti algoritmici. La tecnica di base, introdotta alla fine della prima parte, 197 verrà quindi estesa ed approfondita nella parte rimanente del corso. Programma - Introduzione e nozioni preliminari: Introduzione. Elementi di logica classica e modale. Logica temporale. Automi e parole infinite. Automi e algoritmi di minimizzazione e raffinamento. Aspetti algoritmici e di complessità computazionale. - La tecnica di base: La rappresentazione formale di sistemi e proprietà. La verifica (hardware e software). Il Model Checking di base. Complessità computazionale. L’esplosione del numero degli stati e il Model Checking simbolico. OBDD e varianti. - Argomenti avanzati: Model Checking per linguaggi più espressivi del linguaggio di base. Model Checking mediante automi. Model Checking e sistemi con un numero infinito di stati. Automi temporizzati e sistemi ibridi. Astrazione. Realtime Model Checking. - Strumenti e pacchetti: I model checker SPIN, SMV, NuSMV, VIS, ecc: Esempi di utilizzo. Bibliografia - Appunti delle lezioni. - E. C LARKE , O. G RUMBERG , D. P ELED , Model Checking, MIT press, 1999. - R. A LUR , D.L. D ILL , A Theory of Timed Automata Theoretical Computer Science, 126: 183-235, 1994. - R. ALUR, C. COURCOUBETIS, N. HALBWACHS, T.A. HENZINGER, P. HO, X. NICOLLIN, A. O LIVERO , J. S IFAKIS , S. Y OVINE , The Algorithmic Analysis of Hybrid Systems, Theoretical Computer Science, 138: 3-34, 1995. N.B.: Il corso si svolge ad anni alterni. Verrà attivato nell’a.a. 07/08 e NON verrà attivato nell’a.a. 08/09. Possono frequentarlo sia gli studenti del primo anno che quelli del secondo anno. 198 MODELLI E ALGORITMI PER LA GESTIONE DELLE RISORSE Docente Prof. Franca Rinaldi programmi - LS informatica Modalità d’esame L’esame consiste in una prova orale. Bibliografia - Materiale bibliografico fornito dal docente. Crediti 6 OTTIMIZZAZIONE 1 Finalità del corso Obiettivo del corso è presentare le principali metodologie modellistiche utilizzate nel settore della gestione e pianificazione integrata dei trasporti e della produzione e le relative tecniche risolutive. A completamento della panoramica dei metodi dell’Ottimizzazione, vengono inoltre introdotte alcune tecniche euristiche di ricerca locale e la classe degli algoritmi approssimati. Al termine del corso lo studente dovrebbe essere in grado di modellare un problema non troppo complesso di gestione e pianificazione e proporre adeguati strumenti di risoluzione. Programma - Algoritmi approssimati e metodi di ricerca locale (12 ore). Algoritmi approssimati e schemi di approssimazione polinomiali. Esempi. Metodi di ricerca locale: Simulated Annealing e Tabu Search. Esempi. - Problemi di routing (18 ore). Problemi di arc routing. I problemi del postino cinese e del postino rurale e loro varianti. Problemi di node routing. Il Travelling Salesman Problem, il Vehicle Routing Problem e loro varianti. Per i diversi problemi verranno presentati modelli di ILP e metodi di risoluzione esatti e/o euristici. - Problemi di schedulazione (18 ore). Definizione, analisi e classificazione dei problemi di schedulazione. Problemi ad una macchina. Problemi su macchine parallele. Open Shop, Flow Shop e Job Shop. Docente Prof. Franca Rinaldi Crediti 6 Finalità del corso L’ottimizzazione (o programmazione matematica) è una disciplina che gioca un ruolo di primo piano nel processo di modellizzazione e risoluzione dei complessi problemi di decisione che emergono in ambito applicativo. Il corso si propone di presentare una panoramica delle principali classi di problemi di ottimizzazione, quali la programmazione lineare, la programmazione lineare intera e l’ottimizzazione combinatoria, e delle rispettive metodologie risolutive. Nel modulo I verranno anche richiamate alcune nozioni di base di tre argomenti fondamentali per lo sviluppo del programma di ottimizzazione: la teoria della complessità computazionale, l’analisi convessa e la teoria dei grafi. Per ulteriori informazioni sulla ricerca operativa e sull’ottimizzazione si consulti il sito dell’INFORMS (Institute for Operations Research and Management Science), www.informs.org. Programma Introduzione ai problemi di ottimizzazione (4 ore). Problemi reali, modelli e algoritmi risolutivi. Esempi di problemi di ottimizzazione continua e discreta: problemi di programmazione lineare, non lineare e 199 programmi - LS informatica lineare intera. Esempi di problemi di ottimizzazione combinatoria: Bin Packing, Knapsack, Assegnamento tridimensionale, Set Covering, Set Packing, Set Partitioning, Soddisfattibilità. Cenni di teoria dei grafi (4 ore). Definizioni fondamentali. Matrici di incidenza. Tagli e cammini. Connessione e forte connessione. Alberi, cricche e insiemi stabili. Problemi di ottimizzazione su grafi. Cenni di complessità computazionale (6 ore). Algoritmi e loro complessità. Problemi di decisione. Classi P ed NP. Trasformazioni polinomiali ed NP-completezza. Esempi di problemi NP-completi. Cenni di analisi convessa (10 ore). Definizioni fondamentali. Teorema di Caratheodory. Operazioni algebriche su insiemi. Proprietà topologiche. Teoremi di separazione. Poliedri. Funzioni convesse. Proprietà differenziali. Minimizzazione di funzioni convesse. Programmazione lineare (12 ore). Definizioni fondamentali ed esempi. Geometria della PL. Dualità. Condizioni di complementarità. Cenni sulla complessità della PL. Metodo del simplesso. Analisi di sensistività. Programmazione lineare intera (12 ore). Introduzione ed esempi. Matrici totalmente unimodulari. Metodo del branch and bound. Metodo del branch and cut. Diseguaglianze di Chvital e tagli di Gomory. Modalità d’esame L’esame consiste in una prova scritta e in una prova orale. Bibliografia - P. SERAFINI, Ottimizzazione, Zanichelli, Bologna, 2000. OTTIMIZZAZIONE 2 Docente Prof. Franca Rinaldi Crediti 6 Finalità del corso Il corso completa la presentazione dei principali argomenti dell’ottimizzazione matematica, sviluppando la teoria delle reti di flusso, la programmazione dinamica ed alcuni temi fondamentali di ottimizzazione combinatoria. Programma Teoria delle reti di flusso (14 ore). Definizioni fondamentali. Il problema di flusso a costo minimo. Il metodo del simplesso adattato alle reti di flusso. Il problema del massimo flusso e l’algoritmo di Dinic-Karzanov. Il problema del cammino minimo e l’algoritmo di Dijkstra. L’algoritmo ‘out-of-kilter’. Programmazione dinamica (12 ore). Il principio di ottimalità e l’equazione di Bellman. L’algoritmo di Bellman-Ford. L’algoritmo per reti acicliche. L’algoritmo di Floyd-Warshall. Applicazioni della PD a: il problema del knapsack, il problema dell’allineamento di due stringhe, un problema di schedulazione. Ottimizzazione combinatoria (22 ore). Problemi di accoppiamento e assegnamento. Algoritmi per l’accoppiamento di cardinalità massima. Ottimizzazione su matroidi. Algoritmo di Kruskal per il problema dell’albero di supporto di costo minimo. Combinatorica poliedrale. Analisi poliedrale del problema dell’accoppiamento di costo minimo, del problema del commesso viaggiatore e del problema dell’insieme stabile. Modalità d’esame L’esame consiste in una prova scritta ed in una prova orale. 200 programmi - LS informatica Bibliografia - P. SERAFINI, Ottimizzazione, Zanichelli, Bologna, 2000. PERSONALIZZAZIONE DEI CONTENUTI WEB Docente Prof. Carlo Tasso Crediti 6 Finalità del corso Finalità del corso è introdurre la personalizzazione dei contenuti Web e le metodologie di sviluppo dei sistemi basati sulla conoscenza. In particolare vengono illustrate le metodologie per l’analisi, il progetto, lo sviluppo e la valutazione dei sistemi basati sulla conoscenza e le tecniche di acquisizione della conoscenza. Inoltre viene introdotta l’area dello user modelling ed illustrate le principali tecniche di personalizzazione dei contenuti Web. Programma Processi per lo Sviluppo dei Sistemi Basati sulla Conoscenza. La metodologia KLIC. Processi primari di analisi. Analisi di opportunità. Studio di plausibilità. Processi primari di sviluppo. Sviluppo del dimostratore. Sviluppo del prototipo. Progettazione e Strumenti di Sviluppo. Implementazione, installazione ed avvio del sistema finale. Tecniche per l’Acquisizione della Conoscenza. Personalizzazione dei contenuti Web: definizioni generali; user modelling; tecniche di personalizzazione, tracciamento ed identificazione dell’utente, selezione dei contenuti, filtraggio collaborativo, cognitivo e basato su conoscenza. Applicazione delle tecniche di personalizzazione. Modalità d’esame Sono previsti: lo svolgimento di un seminario da parte di ciascuno studente nell’ultima settimana del corso su una tematica rilevante ed un esame orale. Bibliografia - Materiale didattico (slide e testi esercitazioni) disponibile su http://twm. dimi.uniud.it/ - C. TASSO, P. OMERO, La personalizzazione dei contenuti web - e-commerce, i-access, e-government, Franco Angeli, Milano, 2002. - G. GUIDA, C. TASSO, Design and Development of Knowledge-Based Systems, J. Wiley, 1994. PROGETTAZIONE SITI WEB Docente Dott. Giorgio Brajnik Crediti 6 Pagina del corso www.dimi.uniud.it/giorgio/dida/psw/ps w.html Finalità del corso Se è facile convincersi che la nostra sia una società dell’informazione, meno facile è controllare la crescente complessità delle attività di acquisizione, organizzazione ed accesso all’informazione. Infatti gli sviluppi della tecnologia informatica e dei flussi dell’informazione sono fenomeni che si alimentano vicendevolmente e che portano l’uomo ad interagire con ambienti virtuali la cui complessità è in rapida crescita. Il corso ha lo scopo di investigare gli aspetti informatici su cui si basano l’organizzazione e l’accesso all’informazione. Nel contesto di siti e applicazioni web: (1) 201 programmi - LS informatica comprendere i concetti di architettura dell’informazione e di struttura e modelli dell’interazione (sapere cosa sono, come li si definisce, costruisce, analizza, e valuta), (2) saper valutare l’usabilità e accessibilità di un sito web (sia di aspetti concettuali che tecnici), (3) conoscere gli aspetti principali legati alle fasi di analisi e sviluppo di un sistema informativo complesso, (4) acquisire una conoscenza di base sulle tecnologie sottostanti il web. Non è un corso su HTML, né Dreamweaver, Flash o JSF. I quattro punti evidenziati sopra sono relativamente stabili rispetto all’evolvere della tecnologia, e quelli più difficili da sviluppare nel mondo del lavoro. Per questa ragione il corso si concentra si du essi, piuttosto che su specifiche tecnologie. Programma - Processi informativi e sistemi informativi: scopo di un processo informativo; la persuasione, la centralità dell’utente. - Natura di un sistema informativo: struttura conversazionale, contenuto, presentazione; tipologie di siti web; tipologie di motori di ricerca. - Architettura informativa, struttura dell’interazione. - Concetti di base dell’interazione: azione, gesto, modalità, obiettivo, compito, processo, attività, scenario; fenomeni e modelli dell’interazione: apprendimento esplorativo, il ciclo dell’interazione. - Accessibilità e usabilità: concetti, linee guida, tecnologie assistive, esempi, la normativa Stanca. - Le indagini di accessibilità e usabilità: linee guida, metodi (user testing, heuristic evaluation, heuristic walkthrough); metriche, strumenti; stesura dei rapporti. - User-centered design: fasi, problemi, metodi per l’analisi e lo sviluppo di sistemi basati su web: definizione del problema, casi d’uso, modelli dei compiti; l’impiego dei casi d’uso per la stesura dei requisiti; documenti di studio di fattibilità, analisi competitiva; tecniche di acquisizione e raccolta delle informazioni. Bibliografia - G. BRAJNIK, E. TOPPANO, Creare siti web multimediali, Pearson Education Addison-Wesley, 2007. - R. P OLILLO , Plasmare il web, Apogeo, 2006 (soprattutto i capitoli da 3 a 10). - J. THATCHER et al., Web Accessibility: Web Standards and Regulatory Compliance, FriendsofEd, 2006 (i capitoli da 4 a 15). PROGETTAZIONE E ANALISI ORIENTATE AGLI OGGETTI Docente Prof. Stefano Mizzaro Crediti 6 Finalità del corso 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, i pattern di progetto (e di analisi, accennati), il refactoring. 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 con- 202 cetti 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. - Casi di studio. I concetti e le tecniche introdotti vengono esemplificati in situazioni reali, attraverso un’attività seminariale che può essere svolta, opzionalmente, anche dagli studenti. Possibili argomenti sono: sviluppo collegiale di diagrammi UML; i tool per disegnare diagrammi UML; programmazione estrema (eXtreme Programming, XP); analisi delle API di Java (standard edition, enterprise edition, micro edition); sviluppo di applicazioni Web (servlet, Java Server Pages, EJB); estensioni di UML per il Web; refactoring; altri linguaggi OO quali il C++ o il C#; gli agenti come estensione degli oggetti; Jini; ecc. Modalità d’esame Orale. Sono previste anche attività, opzionali e a scelta dello studente ma caldamente consigliate, che portano a un esame semplificato e a una votazione superiore: seminari svolti durante il corso o progetti concordati con il docente. Al corso è possibile affiancare il laboratorio: in tal caso l’attività progettuale è più impegnativa. programmi - LS informatica Bibliografia - M. PAGE -J ONES , 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 (disponibile anche in italiano). - M. F O W L E R , K. B E C K , J. B R A N T , W. OPDYKE, D. ROBERTS, Refactoring: Improving the Design of Existing Code, AddisonWesley, 1999. ISBN: 0201485672. - A. SHALLOWAY, J. TROTT, Design Patterns Explained - A New Perspective on Object Oriented Design, Addison Wesley, 2002. ISBN: 0201715945. A lezione verranno comunicati eventuali altri testi e verrà segnalato o fornito altro materiale (lucidi di tutte le lezioni, pagine Web, dispense, altri testi di riferimento). PSICOLOGIA DELLA COMUNICAZIONE Docente Dott. Silvia Gabrielli Crediti 6 Finalità del corso Il corso si articola in tre blocchi di lezioni: la psicologia generale (che presenta un quadro introduttivo e culturale su cui costruire le conoscenze successive), la comunicazione, e la metodologia della ricerca (per poter verificare in modo oggettivo qualsiasi ipotesi bisogna saper condurre una ricerca in modo corretto e valido). Il corso ha un valore formativo con un duplice obiettivo, generale e specifico. In senso ampio, ci si propone di avvicinare gli studenti alla psicologia in quanto scienza che studia l’uomo, le sue attività, i suoi vissuti, il suo mondo interiore e 203 programmi - LS informatica sociale, i processi che sottostanno al suo comportamento, in modo da ampliare la cultura di base riguardo ad aspetti della vita quotidiana. In modo specifico, il corso ha lo scopo di far acquisire un insieme di conoscenze psicologiche che saranno utili alle attività future degli studenti (es., percezione di immagini, ruolo delle emozioni, corretto utilizzo della comunicazione nel proprio campo per conoscerne potenzialità e limiti), e di far acquisire un metodo scientifico nella conduzione di esperimenti per evitare errori ed ottenere risultati validi. Programma Psicologia Generale - Cenni sulla percezione: assenza e presenza fenomenica; l’organizzazione figura-sfondo; la costanza di grandezza e forma; spazio, distanza e movimento; influenze sulla percezione. - La coscienza e l’attenzione. - L’apprendimento e la memoria: condizionamento classico ed operante; l’apprendimento verbale; modelli di memoria. - Il pensiero: la formazione dei concetti; la soluzione dei problemi; la creatività; il pensiero prevenuto e il pregiudizio. - Le motivazioni e le emozioni. Comunicazione - I modelli della comunicazione. - Il processo di comunicazione. - La comunicazione non verbale. - La comunicazione persuasiva. - La captologia. Metodologia della ricerca - Differenze tra senso comune e scienza. - Come si fa una ricerca? Fasi operative. - Il campionamento. - Disegni di ricerca: sperimentali; quasisperimentali; presperimentali; correlazionali. - Validità interna ed esterna di una ricerca. Modalità d’esame L’esame è costituito da una prova scritta. Bibliografia - L. ANOLLI, P. LEGRANZI, Psicologia Generale, Il Mulino, 2001. Capitolo 1: sottoparagrafi 1.1 e 1.2 (pag. 9-13). Capitolo 2: tutto (pag. 47-75). Capitolo 3: paragrafi 1 e 2 (pag. 77-86). Capitolo 4: paragrafi 1 e 2 (pag. 103-133). Capitolo 5: tutto (pag. 137166). Capitolo 6: tutto (pag. 169-202). Capitolo 7: tutto (pag. 203-230). Capitolo 8: paragrafi 1, 2, 3, 4 (pag. 233-261). - D.H. MCBURNEY, Metodologia della ricerca in psicologia, Il Mulino, 1986. Capitoli completi: 3, 4, 5, 6, 7, 8, 10. - R. C IALDINI , Le armi della persuasione, Giunti, 2005. RETI DI CALCOLATORI E SICUREZZA Docenti Prof. Marino Miculan Dott. Paolo Dal Cin Crediti 6 Finalità del corso L’obiettivo del corso è quello di studiare ed approfondire i concetti principali relativi al funzionamento delle reti wireless e alla sicurezza delle reti. In particolare, lo studente dovrà acquisire competenze specifiche riguardo le caratteristiche principali e il funzionamento delle reti wireless. Dovrà inoltre acquisire competenze specifiche nell’ambito dei principali requisiti di sicurezza di una rete di calcolatori, della progettazione di adeguate politiche di sicurezza e acquisire conoscenze sui principali protocolli per la sicurezza di rete. Prerequisiti Reti di Calcolatori. 204 Programma 1. Reti locali wireless. Classificazione, Spread Spectrum (Direct Sequence, Frequency Hopping), Reti IEEE 802.11. Lo strato fisico e MAC di IEEE 802.11. Bluetooth: architettura ed applicazioni. 2. Sicurezza nelle reti di calcolatori. Livelli di sicurezza, diagnostica e monitoraggio di una rete, protezione delle connessioni alla rete, autenticazione, integrità, riservatezza, paternità. Principio di sicurezza minima. Valutazione della sicurezza di un sistema. Orange book. 3. Cenni di crittografia. Crittoanalisi, cifrari per trasposizione, cifrari monoalfabetici e polialfabetici. Cifrari poligrafici e cifrari composti. Crittografia moderna. Crittografia contemporanea. Algoritmi a chiave segreta: DES, IDEA e 3DES, AES. Algoritmi a chiave pubblica: RSA. Esempi. Firma digitale e gestione delle chiavi. 4. Sicurezza nei protocolli di rete. Sicurezza a livello fisico nelle reti wireless: WEP, WPA. Sicurezza livello di rete: protocollo IPsec. Definizione e progettazione di uno screening router, packet filtering. Virtual Private Network (VPN). Sicurezza a livello di trasporto: protocolli SSL e TLS. Sicurezza a livello di applicazione: Protocollo SET. 5. Difesa perimetrale di una rete. Teoria e architetture dei firewall: multihomed host, bastion host, DMZ. Proxy server. Esempio di un firewall. Server e reti civetta. Sistemi di Intrusion Detection (IDS) e real-time IDS. Sistemi di prevenzione dell’intrusione (IPS). 6. Attacchi esterni ad una rete. Classificazione degli attacchi ad una rete. Le porte di comunicazione ed i relativi servizi. Tecniche di raccolta delle informazioni (footprinting, enumerazione delle reti, interrogazione dei DNS) e scansioni (ping scanning, port scanning, etc.). Attacchi di tipo DOS. Attacchi basati sulla predizione del numero di sequenza e dirottamento di sessione TCP. Attacco programmi - LS informatica man-in-the-middle. Strumenti di attacco di un hacker. 7. Difesa di una rete. Difesa contro l’acquisizione di informazioni. Difesa contro i tentativi di ingresso non autorizzato. Modelli per la definizione di un piano di sicurezza. Modalità d’esame L’esame si compone di una prova scritta e di una prova orale facoltativa. La prova scritta richiede lo svolgimento di alcuni esercizi inerenti gli argomenti del corso e la risposta ad alcune domande teoriche. Bibliografia - A.S. T ANEMBAUM , Reti di calcolatori, quarta edizione, Addison-Wesley, pubblicato in Italia da Pearson Education Italia, 2003. - W. S TALLINGS , Crittografia e sicurezza delle reti, McGraw-Hill, 2004. - W.R. C H E S W I C K , S.M. B E L L O V I N , A. RUBIN, Firewalls e sicurezza in rete, Pearson-Addison Wesley, 2003. RICERCA OPERATIVA Docente Prof. Paolo Serafini Crediti 6 Pagina del Corso http://www.dimi.uniud.it/~serafini/ROI NF0607.html Finalità del corso La Ricerca Operativa si occupa di problemi di gestione efficiente affrontati con modelli matematici e algoritmici. Il corso vuole fornire allo studente gli strumenti principali per progettare un modello a partire da un problema reale e la necessaria comprensione delle strutture mate- 205 programmi - LS informatica matiche e algoritmiche dei modelli, con particolare riguardo alla programmazione lineare. A questo fine vengono presentati doversi modelli e per la maggior parte i modelli sono risolti usando Excel o pacchetti di programmazione lineare. Programma - Introduzione alla programmazione lineare. Modellizzazione: identificazione delle grandezze, dei vincoli e degli obiettivi. Ottimi di Pareto. Esempio della dieta: modello di programmazione lineare. Analisi di sensibilità. Identificazione di ulteriori obiettivi. Frontiera efficiente. Vincoli di interezza. - Proprietà della programmazione lineare. Struttura geometrica. Vertici e soluzioni di base. Problema duale. Complementarità. Cenni del metodo del simplesso. Metodo branch-and-bound per variabili intere. - Modelli di percorsi 1. Programmazione Dinamica. Principio di ottimalità. Equazione ricorsiva. Cammini minimi (Bellman-Ford, Dijkstra, Floyd-Warshall). - Modelli di percorsi 2. Cammini minimi con capacità: reti di flusso. Flussi di costo minimo. Massimo flusso. Minimi tagli. - Modelli di percorsi 3. Problema del commesso viaggiatore (formulazione con piani di taglio). Circuiti Euleriani. Accoppiamento. Minimi alberi di supporto (Kruskal e Prim). - Modelli di allocazione. Assegnamento. Knapsack. Bin packing. Modelli di turnazione. Generazione di colonne: cutting stock, massimo flusso. - Schedulazione. Schedulazione a risorsa infinita: PERT. Schedulazione a risorsa finita: problemi a una macchina, macchine parallele, flow-shop, job-shop e openshop. Il piano dettagliato delle lezioni si trova sul sito http://www.dimi. uniud.it/~serafini/ROINF0607.html Modalità d’esame Esame orale. Bibliografia - Dispense disponibili on-line. - P. SERAFINI, Ottimizzazione, Zanichelli, Bologna, 2000. - L. SCHRAGE, LINDO: An Optimization Modelling System, Palo Alto Scientific Press, 1991. N.B.: Informazioni sulla Ricerca Operativa e l’Ottimizzazione si trovano anche al sito dell’INFORMS (Institute for Operations Research and Management Science), http://www.informs.org/, oppure al sito del CIRO (Centro Interuniversitario in Ricerca Operativa), http://www.disp.uniroma2.it/ciro/index.html. ROBOTICA Docente Dott. Antonio D’Angelo Crediti 6 Pagina del corso http://www.dimi.uniud.it/~dangelo/Rob otica/robos.html Finalità del corso Obiettivo del corso è quello di fornire allo studente una panoramica dell’attuale stato dell’arte della robotica, ivi compresi gli strumenti necessari per comprendere e realizzare programmi di controllo per veicoli autonomi. La metodologia impiegata è quella degli agenti situati e basati sul comportamento, in parte attuata sperimentalmente mediante la realizzazione del controllo di robot autonomi mobili (Lego Mindstorm, MIT 6.270). Oltre ad affrontare il problema del movimento nel caso di veicoli autonomi, verranno considerato il problema più generale della locomozione nei ‘legged-robot’ (esapodi, quadrupedi, bipedi) fino a comprendere i cosiddetti robot umanoidi. 206 Programma 1. Agenti Situati 1.1. Percezione ed Azione. 1.2. Pianificazione. 1.3. Sistemi Reattivi. 1.4. Motivazioni Biologiche. 1.5. Vincoli ambientali attraverso la corporeità dell’agente. 1.6. Architetture Behaviour-based. 2. Veicoli Autonomi 2.1. Robotica Mobile. 2.2. Considerazioni sul Controllo. 2.3. Macchine di Braitenberg. 2.4. Applicazioni. 3. Agenti Dinamici 3.1. Cenni sui Sistemi Dinamici. 3.2. Veicoli Mobili. 3.3. Considerazioni sulla Rappresentazione. 3.4. Metodi per il Controllo del Movimento basati sull’Energia. 3.5. Roboticle. 4. Implementazione dei Comportamenti 4.1. Le basi Percettive del controllo Behaviour-based. 4.2. Considerazioni sulla Representazione. 4.3. Architetture Reattive. 4.4. Architetture Ibride. 4.5. Architetture Adattive. 4.6. Comportamenti Collettivi. 5. Locomotion 5.1 Veicoli Autonomi. 5.2 Robot su Gambe. 5.3 Esapodi, quadrupedi e bipedi. 5.4 Umanoidi: struttura generale. 5.5 Camminata Passiva e Attiva. 5.6 Controllo del passo mediante il modello del pendolo invertito. 6. Attività sperimentale 6.1. Il robot Whiskers. 6.2. Il robot Saphira Simulator. 6.3. LEGO Mindstorm. Modalità d’esame Approfondimento e discussione di un argomento riguardante la robotica con- programmi - LS informatica cordato col docente. Eventuale sperimentazione su richiesta dello studente. Bibliografia - R.C. A RKIN , Behavior-Based Robotics, MIT Press, 1998. - R. PFEIFER, C. SCHEIER, Understanding Intelligence, MIT Press, 1999. - M. BRADY, Robotics Science, MIT Press, 1989. - FU, LEE, GONZALES, Robotics, Mc-Graw Hill, 1987. - J.C. L ATOMBE , Robot Motion Planning, Kluwer, New York, 1991. - RUSSEL, NORVIG, Artificial Intelligence: a Modern Approach, Prentice Hall. - JOHNS, FLYNN, Mobile Robots, Inspiration to Implementation, A.K. Peters, 1993. - A. D’ANGELO, dispense del corso, disponibili via Web. SEMANTICA DEI LINGUAGGI DI PROGRAMMAZIONE Docente Prof. Fabio Alessi Crediti 6 Finalità del corso Scopo del corso è approfondire lo studio delle principali tecniche logico-matematiche utilizzate per descrivere la semantica dei linguaggi di programmazione introdotte nel corso Metodi Formali per l’Informatica 1. In particolare verranno discussi elementi di programmazione funzionale, di teoria dei domini di Scott, di teoria delle categorie e di teoria dei tipi. Programma - Programmazione funzionale e Linguaggi Funzionali - il linguaggio funzionale ML: espressioni e tipi, dichiarazioni, pat- 207 programmi - LS informatica terns, funzioni, polimorfismo, tipi di dato ricorsivi, tipi di dato astratto ricorsivi, eccezioni, strutture imperative, moduli, funtori. - Semantica: semantica operazionale e denotazionale dei linguaggi con contesto, corrispondenza, parametrizzazione e qualificazione; continuazioni, semantica diretta e semantica continuation-based. - Teoria delle Categorie: oggetti e morfismi, funtori, trasformazioni naturali, limiti e colimiti. - Teoria dei domini di Scott: soluzione di equazioni ricorsive di dominio, costruzione del limite inverso, un metalinguaggio funzionale per definire i punti dei domini, che sia anche un linguaggio di programmazione funzionale ed un linguaggio di termini per una logica di programmi. - Teoria dei Tipi: il sistema di assegnazione di tipi semplici per il lambda-calcolo, l’algoritmo di unificazione di Robinson, l’algoritmo di sintesi di tipo principale di Milner; inizialità del tipo principale, correttezza e completezza dell’algoritmo di Milner per la sintesi del tipo principale rispetto al sistema di assegnazione dei tipi semplici per il lambda-calcolo, semantica dei tipi semplici, correttezza del sistema di assegnazione di tipo rispetto alla semantica operazionale. Calcolo delle Costruzioni. Modalità d’esame L’esame è costituito da una prova orale. Bibliografia - G. WINSKEL, The Formal Semantics of Programming Languages, MIT Press, Cambridge, 1993. - Alcuni articoli apparsi su riviste scientifiche. - Appunti del corso. SISTEMI REATTIVI: AUTOMI, LOGICA, ALGORITMI Docente Prof. Angelo Montanari Crediti 6 Programma Parte 1. Sistemi reattivi. Sistemi reattivi e real-time, sistemi di transizione equi, un semplice linguaggio di programmazione (SPL): sintassi e semantica, moduli, specifiche logiche e loro proprietà, l’uso della logica temporale per la specifica, la verifica e la validazione di programmi. Parte 2. Automi su oggetti infiniti Automi su parole infinite: notazione, automi di Bàchi, congruenze e complementazione, il calcolo sequenziale, determinismo e teorema di McNaughton, elementi di teoria dei giochi, teoria dei giochi e linguaggi star-free, omega-linguaggi starfree e logica temporale. Automi su alberi infiniti: notazione, automi su alberi finiti, autonomi non deterministici su alberi infiniti di Bàchi e Rabin e loro relazioni, problema del vuoto e alberi regolari, complementazione e determinatezza dei giochi, teoria monadica degli alberi e risultati di decidibilità. Parte 3. Logiche modali e temporali Introduzione, classificazione delle logiche temporali, le logiche temporali lineari, le logiche temporali ramificate, un ambiente per la modellazione della concorrenza: modelli astratti e concreti di concorrenza, concorrenza e logica temporale, espressività, decidibilità e complessità delle logiche temporali, algoritmi di satisfiabilitychecking e di model-checking, altre logiche modali e temporali di interesse (cenni). Parte 4. Verifica e validazione di sistemi reattivi Algoritmi di satisfiabilitychecking e di model-checking per la veri- 208 programmi - LS informatica fica di programmi a stati finiti: soddisfacibilità e validità di una formula temporale, soddisfacibilità e validità rispetto ad un programma a stati finiti, esempi. Parte 5. Verifica di sistemi a stati infiniti (cenni). Introduzione, tecniche di base, grafi context-free e prefix-recognizable, grafi razionali e automatici, il metodo di contrazione, problemi di raggiungibilità. Bibliografia - W. THOMAS, Automata on Infinite Objects, in Handbook of Theoretical Computer Science, Volume B, capitolo 4, J. van Leeuwen (ed.), Elsevier Science Publisher, 1990. - W. THOMAS, Languages, Automata, and Logic, in Handbook of Formal Languages, Volume III, G. Rozenberg and A. Salomaa (eds.), Springer, pp. 389-455, 1997. - D. PERRIN, J. PIN, Infinite Words, Pure and Applied Mathematics Series, Elsevier, 2004. - E.A. E MERSON , Temporal and Modal Logic, in Handbook of Theoretical Computer Science, Volume B, capitolo 16, J. van Leeuwen (ed.), Elsevier Science Publisher, 1990. - Z. MANNA, A. PNUELI, The Temporal Logic of Reactive and Concurrent Systems: Specification, Springer, 1992. - Z. MANNA, A. PNUELI, Temporal Verification of Reactive Systems: Safety, Springer, 1995. sistemi basati sulla conoscenza e dei sistemi esperti, ed in particolare i meccanismi per la rappresentazione della conoscenza e gli algoritmi di ragionamento, i sistemi per il ragionamento non monotono, e le tecniche di modellizzazione concettuale. Vengono altresì trattate ed analizzate sperimentalmente alcune applicazioni significative nel campo della ricerca e filtraggio di informazioni su Web, affrontato con tecniche tradizionali e con tecniche di intelligenza artificiale. Programma Introduzione alle problematiche dell’Intelligenza Artificiale. Definizione di Sistema Basato sulla Conoscenza. Rappresentazione della Conoscenza e Algoritmi di ragionamento. Le reti semantiche. I frame. Le regole di produzione. Grafi Concettuali. Sistemi per il Ragionamento Non Monotono. ATMS. JTMS. Architetture a Blackboard. Tecniche di modellizzazione concettuale. Classificazione Euristica e Task Generici. Interfacce Intelligenti e Modellizzazione dell’Utente nei Sistemi di Reperimento e Filtraggio dell’Informazione su Web. Esercitazioni: una serie di esercitazioni in laboratorio sarà dedicata all’approfondimento delle tematiche applicative relative alla ricerca di informazioni si Web. Modalità d’esame Redazione di una relazione sulle esercitazioni ed esame orale. SISTEMI ESPERTI Docente Prof. Carlo Tasso Crediti 6 Finalità del corso Obiettivo del corso è l’introduzione alle tecniche di base per la realizzazione dei Bibliografia - Materiale didattico (slide e testi esercitazioni) disponibile su http://twm. dimi.uniud.it/ - G. GUIDA, C. TASSO, Design and Development of Knowledge-Based Systems, J. Wiley, 1994. - D. FUM, Intelligenza Artificiale, Il Mulino, 1994. - C. TASSO, P. OMERO, La personalizzazio- 209 programmi - LS informatica ne dei contenuti web - e-commerce, i-access, e-government, Franco Angeli, Milano, 2002. SISTEMI INFORMATIVI Docenti Prof. Carlo Tasso Prof. Maurizio Pighin Crediti 6 Finalità del corso Obiettivo del corso è la definizione delle problematiche informatiche nell’ambito di un’organizzazione (pubblica o privata) che intenda automatizzare i propri sistemi informativi. Si inquadrano le competenze del responsabile Sistemi Informativi e/o di chi sviluppa software per l’organizzazione, analizzando le problematiche applicative che dovrà affrontare, con uno sguardo ai risvolti tecnologici e ai rapporti di fornitura. Programma Introduzione: Concetti generali sull’informatica aziendale - Impatto dell’informatica nelle aziende - Impatto macroeconomico dell’ICT Struttura dell’azienda e del suo sistema informativo - Concetto di esigenza informativa - Scomposizione del sistema informativo Costi e Performance: Meccanismi di misurazione generali. Valutazione di Sistemi Informativi. Analisi costi benefici. Analisi del rischio. Gestione di un Progetto Informatico: Organizzazione risorse e processi decisionali. Metodologie di gestione e pianificazione di progetto. Tecniche di Project Management. Software e Hardware Selection. Sistemi operazionali - Finalità dei sistemi operazionali - Informazione operativa - Rappresentazione della realtà Potenzialità informatica - Composizione dei sistemi informativi operazionali Scomposizione per i sistemi operazionali di base - Sistemi di supporto primario all’ERP - Estensioni dell’ERP - Sistemi tecnici ERP: l’area amministrativa, logistica, vendite, acquisti, produttiva - Obiettivi - Strutture di base - Procedure di base - Flussi evoluti Sistemi Aziendali avanzati: E-Commerce, CRM, DataWarehouse, DataMining, Business Intelligence. Laboratorio Avanzato di Sistemi Informativi Analisi di un case-study industriale. Modalità d’esame L’esame consiste in un progetto di gruppo su problematiche reali, seguito da un colloquio orale. In alternativa è prevista una prova scritta/orale sugli argomenti del programma. Bibliografia - G. BRACCHI, C. FRANCALANCI, G. MOTTA, Sistemi Informativi e aziende in rete, McGraw-Hill Italia, Milano, 2001. - M. PIGHIN, A. MARZONA, Sistemi Informativi Aziendali - Struttura e Applicazioni, Pearson Education Italia, 2005. Ulteriori testi di consultazione - M. DE MARCO, Sistemi Infomativi Aziendali, Franco Angeli Edizioni, Milano, 2000. - G. BRACCHI, G. MOTTA, Processi Aziendali e Sistemi Informativi, Franco Angeli Edizioni, Milano, 2000. - P.F. CAMUSSONE, Il Sistema Informativo Aziendale, Etas, 2000. - D. AMOUR, E-Business (R)Evolution, Tecniche Nuove, 2000. SISTEMI MULTIMEDIALI Docente Prof. Elio Toppano Crediti 6 210 Finalità del corso Il corso intende fornire un insieme di conoscenze di base - concettuali, procedurali e metodologiche - finalizzate sia alla analisi e valutazione di prodotti multimediali sia alla loro progettazione, realizzazione e distribuzione. Particolare attenzione viene rivolta allo studio delle caratteristiche dei singoli media - testo, immagini audio e video - e alle problematiche che emergono dalla loro integrazione. Accanto agli aspetti più propriamente tecnici e metodologici si affrontano anche tematiche relative agli effetti pragmatici e sociali dell’uso dei multimedia. Programma Processi informativi e siti web. Elementi di semiotica applicata ai siti web. Modelli concettuali di media, multimedia e ipermedia. Testi alfabetici. La scrittura su web. Immagini digitali: grafica pittorica e vettoriale. Elaborazione delle immagini bit mapped. Colore: caratteristiche del colore, spazi colore, gestione del colore. Tecniche di compressione di immagini (con e senza perdite). Formati di archiviazione di testi e immagini. Cenni di semiotica visiva. Suoni: caratteristiche fisiche e percettive. Rappresentazione digitale di suoni. Supporti e formati di archiviazione dei suoni. Elaborazione dei suoni. Psicologia dell’udito: mascheramento e segregazione del suono. Compressione audio. Audio e musica: lo standard MIDI. Sintesi del suono. Spazializzazione e modellizzazione di ambienti acustici. Uso del suono nei prodotti multimediali. Video analogico e digitale. Formati dei segnali video. Compressione video. La famiglia degli standard MPEGx. Il processo di produzione video. Progettazione e integrazione di media. Progettazione orientata all’utente. Usabilità e accessibilità dei prodotti multimediali. Metodologie di progetto di ipermedia. Lo standard ISO 14915. Aspetti legali legati programmi - LS informatica al multimedia: la legge sul diritto d’autore. Video e audio streaming. Architetture per lo streaming. Protocolli per lo streaming. Applicazioni dei multimedia con particolare riguardo al campo dell’e-learning. Modalità d’esame L’esame consiste in una prova scritta e nella discussione orale di un progetto realizzato in SMIL o VRML. Bibliografia Oltre ai materiali distribuiti a lezione si consigliano i seguenti testi: - N.P. CHAPMAN, J. CHAPMAN, Digital Multimedia, John Wiley & Sons, 2000. - L. T OSCHI (a cura di), Il linguaggio dei nuovi media, Apogeo, 2002. STATISTICA MATEMATICA 1 Docente Prof. Luigi Pace Crediti 6 Finalità del corso Il corso presenta un’introduzione all’inferenza statistica e ad alcune importanti applicazioni, sulla base del concetto di funzione di verosimiglianza. Programma - Richiami e complementi di Calcolo delle Probabilità Le variabili casuali normale bivariata e normale multivariata; la distribuzione di combinazioni lineari e forme quadratiche di componenti di una normale multivariata. - Modelli statistici Il problema; modelli parametrici e non parametrici; modelli statistici parametrici notevoli, il controllo empirico di un modello statistico (metodi grafici: probabilty plot, stima della densità). 211 programmi - LS informatica - Inferenza statistica: le procedure fondamentali Il problema; definizioni di base; stima puntuale; problemi di previsione; verifica delle ipotesi statistiche; stima intervallare; i test di Kolmogorov-Smirnov; la simulazione. - La funzione di verosimiglianza. Motivazione e definizioni di base (funzione score, informazione osservata); lo stimatore di massima verosimiglianza; i test di verosimiglianza; parametri di interesse e parametri di disturbo: la verosimiglianza profilo; verosimiglianze penalizzate e selezione del modello. Modalità d’esame L’esame consiste in una prova scritta seguita, per i sufficienti, da una prova orale. Entrambe le prove dovranno essere superate nello stesso appello. Bibliografia - Appunti delle lezioni. - A. AZZALINI, Inferenza Statistica: un’introduzione basata sul concetto di verosimiglianza, Springer-Verlag, 1992. - L.J. BAIN, M. ENGELHARDT, Introduction to Probability and Mathematical Statistics, PWS-Kent Publishing co., 1992. STATISTICA MATEMATICA 2 Docente Prof. Luigi Pace Crediti 6 Finalità del corso Il corso approfondisce l’inferenza statistica parametrica basata sul concetto di verosimiglianza e tratta alcune applicazioni riferite a modelli di regressione. Programma - Verosimiglianza: aspetti teorici. L’immutabilità della verosimiglianza; statistiche sufficienti e verosimiglianza; distribuzioni campionarie asintotiche delle principali quantità di verosimiglianza e loro uso come approssimazioni. - Procedure statistiche ottimali. Stimatori non distorti e efficienti tra i non distorti; test più potenti; intervalli di confidenza più accurati; i teoremi fondamentali. - I modelli binomiali. Stima della probabilità; verifica di ipotesi e test dei segni per mediana e quantili; test per la probabilità comune; il modello di regressione logistica; l’algoritmo di Newton-Raphson per la determinazione di una soluzione dell’equazione di verosimiglianza. - I modelli multinomiali. Stima delle probabilità di cella; test chi-quadrato di adattamento; test di indipendenza in una tabella di contingenza; test di omogeneità di più tabelle. - I modelli Poisson. Stima e verifica di ipotesi sul parametro; modelli di regressione. - I modelli normali. Stima e verifica di ipotesi sui parametri; modelli di regressione lineare. Modalità d’esame L’esame consiste in una prova scritta seguita, per i sufficienti, da una prova orale. Entrambe le prove dovranno essere superate nello stesso appello. Bibliografia - Appunti delle lezioni. - A. AZZALINI, Inferenza Statistica: un’introduzione basata sul concetto di verosimiglianza, Springer-Verlag, 1992. - L. PACE, A. SALVAN, Teoria della Statistica, CEDAM, 1996. STORIA DELL’INFORMATICA Docenti Dott. Corrado Bonfanti Dott. Paolo Giangrandi 212 Crediti 3 Finalità del corso Il corso fornisce una panoramica generale sulle tappe fondamentali che hanno caratterizzato la storia degli strumenti di calcolo, approfondendo in particolare l’evoluzione delle tecnologie del computer elettronico moderno. Si evidenzia come gli attuali computer non siano il frutto del lavoro di un singolo inventore e di una singola idea geniale, bensì il risultato dei contributi di moltissimi studiosi e sperimentatori appartenenti a diverse discipline; contributi che, nelle varie epoche, hanno dato luogo a diversi filoni concettuali e tecnologici, talvolta complementari e altre volte divergenti. Programma - Gli antichi strumenti di calcolo. L’era dei calcolatori meccanici: calcolatori analogici e calcolatori digitali. - Macchine programmabili: automi meccanici, telaio Jacquard, strumenti musicali automatici, Charles Babbage. - I sistemi meccanografici a schede perforate. - Le radici concettuali del computer: dal programma di Leibniz alle macchine di Turing. - I pionieri del calcolo elettronico, l’architettura di von Neumann e i primi calcolatori a programma memorizzato. - L’evoluzione delle tecnologie: dal mainframe al personal computer. - Gli ambienti applicativi e l’evoluzione del software. - Oltre il calcolo scientifico: sviluppo dell’industria e del mercato in uno scenario mondiale. - Reti telematiche: dalle origini a Internet. - L’informatica in Italia. Bibliografia - Appunti delle lezioni. programmi - LS informatica - M.R. WILLIAMS, A History of Computing Technology, Prentice-Hall, 1985. - M. D A V I S , Il calcolatore universale, Adelphi, 2003. - C. B ONFANTI , Mezzo secolo di futuro. L’informatica italiana compie cinquant’anni, Mondo Digitale, n. 3/2004. Durante il corso verranno forniti anche gli indirizzi di diversi siti web dove sono reperibili numerosi documenti multimediali sulla storia dell’informatica. TECNOLOGIE WEB Docente Prof. Vito Roberto 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: 213 programmi - LS informatica la privatezza dei dati, la proprietà intellettuale su Internet e le implicazioni internazionali ed interculturali. TECNOLOGIE XML Docente Dott. Massimo Franceschet Crediti 6 Programma 1) Introduzione. In questa parte vengono richiamati alcuni argomenti relativi a XML e alle basi di dati tradizionali. 2) Linguaggi per la definizione di schemi XML. In questa sezione viene introdotto il linguaggio di definizione XML Schema (XSchema). 3) Linguaggi di interrogazione e di modifica per XML. Questo blocco è dedicato ai linguaggi che permettono di interrogare documenti XML, quali XML Path Language (XPath) e XML Query Language (XQuery) e al linguaggio di modifica XQuery Update Facility. 4) Basi di dati native per XML. Questa parte ha come obiettivo quello di imparare ad usare almeno una basi di dati nativa per XML. 5) Linguaggi di trasformazione. Questo segmento esplora la possibilità di trasformare documenti XML con il linguaggio Extensible Stylesheet Language Transformations (XSLT). 6) Programmare con XML. Questa blocco insegna come costruire applicazioni Java che lavorano con XML. In particolare introdurremo le interfacce DOM e SAX per l’analisi sintattica (parsing) di documenti XML e vedremo come fare il parsing, la validazione, la trasformazione, l’interrogazione, e la serializzazione di documenti XML usando JAXP (Java API for XML Processing). TEORIA DEI SISTEMI 1 Docente Prof. Adriano Pascoletti Crediti 6 Finalità del corso Fornire alcuni strumenti matematici utili nello studio di problemi riconducibili a sistemi dinamici. Ogni argomento trattato è accompagnato da numerosi esempi, spesso tratti da campi diversi dall’informatica, volti ad illustrare il processo di costruzione del modello e l’impiego degli strumenti matematici presentati. Programma Modelli dipendenti da un parametro discreto; ricorrenze lineari e sistemi di ricorrenze lineari di primo ordine; evoluzione e comportamento a lungo termine; equilibrio e stabilità. Modalità d’esame Prova orale. Bibliografia - D.G. LUENBERGER, Introduction to Dynamic Systems: Theory, Models & Applications, J.Wiley, 1979. - A. PASCOLETTI, dispense del corso. TEORIA DEI SISTEMI 2 Docente Prof. Adriano Pascoletti Crediti 6 Finalità del corso Approfondimento di alcuni argomenti trattati o solo accennati nel precedente corso di Teoria dei Sistemi I; approccio 214 sistemico alla soluzione di problemi attraverso l’analisi e l’implementazione di tecniche di generazione e conteggio di oggetti combinatori che portano in maniera naturale alla dinamica simbolica. Programma Esempi di sistemi dinamici per la generazione ed il conteggio di oggetti combinatori; funzioni generatrici; sistemi positivi e catene di Markov discrete. Modalità d’esame Prova orale. Bibliografia - D.G. LUENBERGER, Introduction to Dynamic Systems: Theory, Models & Applications, J.Wiley, 1979. - A. PASCOLETTI, dispense del corso. TEORIA DELL’INFORMAZIONE Docente Prof. Agostino Dovier Crediti 6 Finalità del corso Il corso si propone di fornire i fondamenti normativi della Teoria dell’Informazione, soffermandosi anche sulle principali applicazioni nell’ambito dei codici per la compressione dei dati e per la correzione degli errori. Programma Il corso si divide in due parti: la codifica di sorgente, che ha l’obiettivo di comprimere l’informazione, e la codifica di canale, mediante la quale si cerca di rilevare e correggere eventuali errori di trasmissione. - Codifica di sorgente. Generalità. Codici programmi - LS informatica B-LV. Alberi di codice, univoca e istantanea decodificabilità. Disuguaglianza di Kraft-McMillan. Lunghezza media di un codice. Entropia, Divergenza e Teorema di Shannon. Codici di Shannon-Fano. Sorgenti di Informazione. Tasso del codice e ottimalità asintotica dei codici di Shannon-Fano. Il codice di Fano ed il codice di Huffman. Entropia condizionata, mutua informazione, autoinformazione. Codice multinomiale e sua asintotica ottimalità. Codici LV-B. Famiglie esaurienti, a prefisso e complete. Alberi e Codici di Tunstall. Ottimalità degli stessi. Codici B-B. Valutazione del tasso in codifica priva di errore. Modelli con errore: codici delta-tipici e Secondo Teorema di Shannon. Codici LV-LV. Codici asintoticamente ottimi. Codici universale di ZivLempel, Ziv-Lempel-Welch, e di Burrows-Wheeler. - Codifica di canale. Generalità. Controllo parità, codice a ripetizione e codice di Hadamard. Il modello matematico del canale ed il Teorema di Shannon di canale. Calcolo e significato della capacità su alcune tipologie di canale. Decodifica di canale a massima verosimiglianza sulle stesse. Decodifica a minima distanza di Hamming. Distanza minima di un codice, tasso di correzione e relazioni con la Probabilità di errore. Limitazioni di Singleton, Plotkin, Hamming e Gilbert. Codici Correttori di Errore: introduzione ai codici algebrici. Decodifica usando la Tabella di Slepian. Codici di Hamming. Codici Perfetti: risultati principali. Codici BCH e codici di Reed-Muller. Codici ciclici. Definizioni principali, polinomio generatore, matrice generatrice e di controllo. Progetto dei codici ciclici a partire dalle radici primitive dell’unità e relazioni con la distanza minima. Codici convolutivi e l’algoritmo di Viterbi. Cenni sui codici segreti: breve storia della crittografia e principali risultati della crittografia a chiave pubblica. 215 programmi - LS informatica Modalità d’esame Prova orale. Bibliografia - F. FABRIS, Teoria dell’Informazione, codici, cifrari, Bollati-Boringhieri, Torino, 2001. - E. BERLEKAMP, Algebraic Coding Theory, McGraw-Hill, 1968. - R. G ALLAGER , Information Theory and Reliable Communication, Wiley, New York, 1968. - F.J. M AC W ILLIAMS , S LOANE N.J., The Theory of Error Correcting Codes, North Holland, 1977. TEORIE E TECNICHE DI ELABORAZIONE DELLE IMMAGINI Docente Prof. Vito Roberto Crediti 6 Finalità del corso I corsi nell’insieme forniscono una panoramica su principi e tecniche di Riconoscimento di Forme (Pattern Recognition), e in particolare l’analisi, interpretazione e comunicazione di segnali ed immagini. Tutti gli argomenti sono basati su esercitazioni pratiche in laboratorio, con l’utilizzo delle attrezzature e del software del Laboratorio Immagini del Dipartimento di Informatica dell’Università di Udine. Informazioni sul Laboratorio Immagini sono reperibili sul sito web: http://mvl.dimi.uniud.it/ Programma Rappresentazioni di segnali e immagini Segnali, immagini analogiche e digitali. Rumore nei segnali e nelle immagini. Rappresentazioni statistiche e frequenziali. Acquisizione d’immagini. Analisi delle immagini Processi di filtraggio d’immagine: frequenziale e statistico. Miglioramento di qualità delle immagini (enhancement). Operatori derivativi ed estrazione di primitive spaziali. Programma delle esercitazioni di TTEI - Segnali statistici. - Rappresentazioni frequenziali e filtraggio. - Rappresentazione ed elaborazione delle immagini. Viene utilizzato l’ambiente software MATLAB (su licenza The Mathworks Inc.) versione 5.1.0.421, con l’aggiunta dei pacchetti: Signal Processing (vers.4.0.1); Statistics (vers. 2.1.0); Image Processing (vers. 2.0). Bibliografia - Dispense del corso di Teoria e Tecniche di Elaborazione dell’Immagine, a cura del docente. Testi per la consultazione: - R. KLETTE, P. ZAMPERONI, Handbook of Image Processing Operators, Wiley, 1996. - J.C. RUSS, The Image Processing Handbook, CRC Press, 1995. WEB INFORMATION RETRIEVAL Docente Prof. Stefano Mizzaro Crediti 6 Finalità del corso Il corso mira ad introdurre le tematiche principali dell’Information Retrieval (IR), una disciplina importante storicamente e che ha ricevuto un forte impulso in seguito all’avvento del Web. Infatti, dopo la posta elettronica, l’uso di un motore di ricerca è oggi la seconda attività degli utenti del Web. Inoltre, svariati utenti del Web usano un motore di ricerca come 216 Google, Yahoo! o MSN Search come modalità principale di accesso alla rete. Infine, il Web IR è un settore in rapida crescita economica. Oltre alle tematiche assodate dell’IR classico, vengono presentate quelle, più recenti, specifiche del mondo Web. Vengono discussi sia argomenti di base sia le correnti linee di ricerca e le tendenze future. Programma Il corso è diviso in tre parti: - Information Retrieval classico: modelli concettuali della ricerca d’informazioni, modelli concettuali e formali dei sistemi d’IR, progetto e implementazione di un sistema d’IR, strutture dati e algoritmi di indicizzazione e ricerca, interfacce utente per l’IR, la problematica della valutazione dei sistemi d’IR. - Web Information Retrieval: modelli del Web (forma e dimensioni del grafo del Web, cenni all’analisi delle reti sociali e alle reti a invarianza di scala e piccolo mondo), analisi dei link e della connettività, iperlink e crawling, IR multimediale, meta-motori, progetto e implementazione di un motore di ricerca per il Web, biblioteche digitali. - Tematiche avanzate: IR parallelo e distribuito, ricerca d’informazioni tramite dispositivi mobili e su reti peer-to-peer, problemi fondazionali del settore (ad es., i concetti di informazione e pertinenza), sistemi per il filtraggio d’informazioni, clustering, banche dati specialistiche (ad es., mediche), ecc. Queste tematiche avanzate verranno trattate in forma di attività seminariale, che potrà essere svolta, opzionalmente, dagli studenti. Modalità d’esame Orale. Sono previste anche attività, opzionali e a scelta dello studente ma caldamente consigliate, che portano a un esame semplificato e a una votazione superiore: seminari svolti durante il corso programmi - LS informatica o semplici progetti concordati con il docente. Al corso è possibile affiancare il laboratorio: in tal caso l’attività progettuale è più impegnativa. Bibliografia - R. B A E Z A -Y A T E S , B. R I B E I R O -N E T O , Modern Information Retrieval, Addison Wesley, 1999. ISBN: 020139829X. - R. BELEW, Finding Out About - A Cognitive Perspective on Search Engine Technology and the WWW, Cambridge University Press, 2000. ISBN: 0-521-63028-2. - R. KORFHAGE, Information Storage and Retrieval, Wiley, 1997. ISBN: 0471143383. - M. L EVENE , An Introduction to Search Engines and Web Navigation, Addison Wesley, 2006. - S. CHAKRABARTI, Mining the Web, Morgan Kaufmann, 2003. Molti degli argomenti trattati non sono disponibili su testi, ma solo su articoli scientifici. A lezione verranno comunicati eventuali altri testi e verrà segnalato o fornito altro materiale (tutti i lucidi delle lezioni, pagine Web, dispense, altri testi di riferimento, articoli scientifici, ecc.). WEB SEMANTICO Docente Dott. Alessio Gugliotta Crediti 6 Finalità del corso Ricollegandosi alle nozioni acquisite, anche in laboratorio, sul linguaggio XML lo studente sarà in grado di: - conoscere l’impostazione gerarchica del Web Semantico quale si va affermando attualmente, orientandosi tra i livelli di rappresentazione dell’informazione; - conoscere le principali tecnologie coinvol- programmi - LS informatica te, con particolare riguardo alle ontologie; - saper progettare ontologie relative a domini applicativi, allo scopo di realizzare strati di software; - acquisire conoscenze pratiche sulle suddette tecnologie attraverso lezioni in laboratorio; casi di studio; homeworks. Programma 1. Introduzione al Web semantico Si parte da un’analisi critica del Web attuale; si illustrano le motivazioni del Web semantico, fino all’introduzione degli elementi tecnologici principali. 2. Sviluppo di ontologie Saranno illustrati alcuni dei metodi per lo sviluppo e gestione delle ontologie, e riportati esempi d’uso e applicazione. Saranno svolte esercitazioni in aula volte all’approfondimento di ontologie usando il linguaggio OWL e lo strumento di sviluppo Protégé. 3. Sviluppo del Web semantico: un approccio a strati Il Web semantico è introdotto seguendo l’approccio a strati: le strutture XML che definiscono l’accesso ai documenti Web; la descrizione e organizzazione delle risorse attraverso il linguaggio RDF; l’attuale proposta di OWL, linguaggio di ontologie per il Web. 4. Strumenti e applicazioni del Web semantico Le applicazioni sono trattate con riferimento alla gestione della conoscenza, personalizzazione e architetture orienta- 217 te ai servizi. Saranno svolte esercitazioni per lo sviluppo di una semplice applicazione, usando tecnologie e strumenti introdotti durante il corso. Bibliografia - G. A N T O N I O U , F. V A N H A R M E L E N , A Semantic Web Primer, Cambridge, MA: MIT Press, 2004. - J. DAVIES, R. STUDER, P. WARREN, Semantic Web Technologies. Trends and Research in Ontology-Based Systems, Wiley, 2006. - A. GOMEZ-PEREZ, M. FERNANDEZ-LOPEZ, O. C O R C H O , Ontological Engineering, Springer, 2004. - T. BERNERS-LEE, J. HENDLER, O. LASSILA, The Semantic Web, Scientific American 284,5 (May 2001): 34-43. - T. BERNERS-LEE, Weaving the Web, Harper, 1999. - Semantic Web Vision, a collection of resources: http://www.ics.forth.gr/isl/swprimer/in dex2.php?selected=1&opened=6 - OWL Web Ontology Language http://www.w3.org/TR/owl-ref/ - Protégé project. http://protege.stanford. edu/ - Ontology Development 101: A Guide to Creating Your First Ontology, N.F. Noy, D.L. McGuinness http://www.ksl.stanford. edu/people/dlm/papers/ontology101/ontology101-noy-mcguinness.html - Semantic Web Challenge. A new application award. http://challenge.semanticweb.org/ 218 programmi - LS tecnologie dell’informazione CORSO DI LAUREA SPECIALISTICA IN TECNOLOGIE DELL’INFORMAZIONE ALGORITMI E COMPLESSITÀ Docente Prof. Carla Piazza Crediti 6 Finalità del corso 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. - Quantum Computing. Macchina di Turing quantistica. Macchina di Turing Quantistica Universale. 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. - Algoritmi. Il problema della riduzione di automi e la bisimulazione. Algoritmo di Hopcroft. Algoritmo di Paige-Tarjan. Algoritmo di Paige-Tarjan-Bonic. Il pro- blema della simulazione ed algoritmi efficienti per la sua risoluzione. Bibliografia - C.H. P APADIMITRIOU , Computational Complexity, Addison Wesley, 1995. - Articoli e dispense. BASI MATEMATICHE PER LA REALTÀ VIRTUALE (tace nell’a.a. 2007/08) Crediti 6 Finalità del corso La realtà virtuale intende studiare un insieme di metodi per la decodifica sensoriale di modelli costruiti con il computer. Al presente molti tentativi sono stati fatti per la decodifica di modelli coinvolgenti tutti e cinque sensi ma i risultati più importanti riguardano i metodi di esplorazione e interazione spaziale tridimensionale. Al fine di ottenere questi risultati è necessario sfruttare metodi matematici che riguardano l’analisi, la geometria differenziale e la geometria proiettiva. Opportunamente applicando questi metodi è possibile costruire sistemi di rappresentazione della realtà e di interazione spaziale; in tal modo viene anche simulata la presenza di operatori umani in ambienti virtuali esistenti solo in forma digitale all’interno del computer. In questo corso si presenta la teoria e le applicazioni di tali metodi. COMPLEMENTI DI BASI DI DATI Docente Prof. Angelo Montanari Crediti 6 programmi - LS tecnologie dell’informazione Programma Parte 1 - La progettazione delle basi di dati (complementi) La progettazione concettuale delle basi di dati e il modello Dataflow: i costrutti di base del modello Dataflow (processi, flussi dei dati, depositi dei dati e interfacce), diagrammi contesto e diagrammi di flusso dei dati, progetto funzionale basato sul modello Dataflow; progetto di sistemi informativi: un approccio integrato alla progettazione delle funzioni e dei dati (sintesi degli schemi ER esterni e loro integrazione). La progettazione logica dei dati: soddisfacibilità e violazione di dipendenze funzionali, chiusura di insiemi di dipendenze, un calcolo delle dipendenze (gli assiomi di Armstrong), chiusura di insiemi di attributi, algoritmi per il calcolo della chiusura di insiemi di attributi, insiemi di dipendenze logicamente equivalenti, coperture minimali, scomposizioni e loro proprietà, forme normali e normalizzazione, algoritmi per la determinazione di scomposizioni in specifiche forme normali. Parte 2 - Il linguaggio SQL (complementi) SQL e i linguaggi di programmazione: introduzione, 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). Parte 3 - L’organizzazione fisica dei dati Memorizzazione dei record ed organizzazione dei file primari: introduzione, strumenti e tecniche per la gestione della memoria secondaria, buffering dei blocchi, memorizzazione di file di record su disco, operazioni sui file, file di record non ordinati (heap file), file di record ordinati (sorted file), tecniche di hashing, 219 altre possibili organizzazioni dei file primari, uso della tecnologia RAID per parallelizzare l’accesso a disco. Strutture di indicizzazione dei file: tipi di indici ordinati di livello singolo (primari, di clustering, secondari), indici multilivello, indici multilivello dinamici che utilizzano B-alberi e B + -alberi, altri tipi di indici. Parte 4 - Tecnologia delle basi di dati centralizzate La nozione di transazione: introduzione, proprietà desiderabili delle transazioni, scheduling e recupero delle transazioni, tecniche di serializzazione, supporto alle transazioni in SQL. Tecniche di controllo della concorrenza: problematiche, architettura, anomalie delle transazioni concorrenti, tecniche basate su viste, conflitti, locking a due fasi (2PL e 2PL stretto) e timestamp, tecniche multiversione, granularità dei data item. Il gestore del buffer: architettura del buffer manager, primitive per la gestione del buffer, politiche di gestione del buffer, relazione tra il gestore del buffer e il file system. Tecniche di controllo dell’affidabilità: concetti di base, architettura del controllore dell’affidabilità, memoria stabile, organizzazione del log, gestione delle transazioni, gestione dei guasti. Elaborazione e ottimizzazione delle interrogazioni: i cataloghi di sistema; ottimizzazione delle interrogazioni (rappresentazione interna delle interrogazioni, profili delle relazioni, ottimizzazione basata sui costi); progettazione fisica di una base di dati. La sicurezza nelle basi di dati: introduzione, controllo obbligatorio degli accessi per supportare livelli multipli di sicurezza, la sicurezza nelle basi di dati statistiche (cenni). Parte 5 - Basi di dati distribuite Introduzione ai DBMS distribuiti, elementi di base dell’architettura client-server, frammentazione dei dati, allocazione dei dati, livelli di trasparenza, tipi di siste- 220 mi di basi di dati distribuite, elaborazione delle interrogazioni in basi di dati distribuite, controllo della concorrenza e dell’affidabilità nelle basi di dati distribuite. Parte 6 - Basi di dati e World Wide Web (cenni) Nozioni di base (Internet, World Wide Web, HTML, protocollo HTTP), gateway e form, tecniche e strumenti per l’accesso a basi di dati attraverso il Web, accesso a basi di dati tramite programmi CGI, strumenti di sviluppo, limiti del protocollo CGI, soluzioni basate sul server, soluzioni basate sul client, sistemi informativi sul web, progettazione concettuale di applicazioni web. Parte 7 - Argomenti conclusivi (cenni) Basi di dati per il supporto alle decisioni (data warehouse); dati semistrutturati in XML; basi di dati a oggetti e ibride (ad oggetti e relazionali); basi di dati attive; basi di dati temporali e spaziali. Bibliografia Testi adottati - P. A TZENI , S. C ERI , P. F RATERNALI , S. P ARABOSCHI , R. T ORLONE , Basi di Dati: Architetture e Linee di Evoluzione, McGrawHill, 2003. - R. ELMASTRI, S. NAVATHE, Fundamentals of Database Systems, 5th edition, Pearson International Education / Addison Wesley, 2007. In alternativa: - R. ELMASTRI, S. NAVATHE, Sistemi di basi di dati. Complementi, quarta edizione, Pearson Education Italia / Addison Wesley, 2005. Altri testi di riferimento: - J.D. ULLMAN, Principles of Databases and Knowledge-Base Systems, Computer Science Press, 1988, volume I. - SILBERSCHATZ, H.F. KORTH, S. SUDARSHAN, Database System Concepts, 4th edition, McGraw-Hill, 2002. - A. ALBANO, Costruire sistemi per basi di dati, Addison-Wesley, 2001. programmi - LS tecnologie dell’informazione - A. ALBANO, G. GHELLI, R. ORSINI, Fondamenti di basi di dati, Zanichelli, 2005. - P. A TZENI , S. C ERI , S. P ARABOSCHI , R. TORLONE, Basi di Dati: Modelli e Linguaggi di Interrogazione, seconda edizione, McGraw-Hill, 2006. COMPLEMENTI DI TECNICHE DI COMUNICAZIONE (tace nell’a.a. 2007/08) Crediti 3 Finalità del corso Il corso si propone come approfondimento teorico e pratico del ‘Laboratorio di tecniche di comunicazione’ tenuto dal prof. Angelo Marzollo. In particolare saranno approfonditi tutti i temi, in parte introdotti già durante il ‘Laboratorio di tecniche di comunicazione’, che riguardano la scrittura chiara ed efficace della lingua italiana. Dopo aver verificato il grado di chiarezza ed efficacia di scrittura che ciascuno studente già possiede, il corso cercherà di ottimizzarlo, sia nella revisione di testi altrui che nella produzione di testi propri. Con numerose esercitazioni collettive e individuali, il corso avrà un’impostazione essenzialmente pratico-applicativa, costruendo un percorso per cui, alla fine delle 24 ore di lezione, tutti gli studenti avranno concretamente migliorato il loro modo di progettare e scrivere testi. I generi di testi scritti su cui si lavorerà saranno soprattutto tesine per esami, tesi di laurea, lettere tradizionali, scambi di mail, presentazioni personali, curriculum vitae et studiorum. Per le esercitazioni si privilegerà la scelta di testi proposti dagli studenti (es.: elaborati per esami già prodotti o in corso di produzione, capitoli di tesi già scritti su cui si abbiano dubbi e incertezze, presentazioni personali di cui discutere l’efficacia, ecc.), in modo da 221 programmi - LS tecnologie dell’informazione lavorare sempre su materiale ‘vivo’ e vicino alle esigenze concrete dei partecipanti al corso. Programma - Le tre fasi della scrittura: progettazione, redazione, revisione. - Tecniche di progettazione di un testo scritto. - Come organizzare al meglio un testo scritto. - Rudimenti di retorica classica: la ‘dispositio’ dall’incipit alle conclusioni. - Le tecniche fondamentali della scrittura chiara: periodi brevi, espressioni dirette, concrete, semplici e comuni, forma attiva dei verbi, evitare la nominalizzazione, scrivere per punti, e altro ancora. - Cosa vuol dire scrittura efficace: la definizione degli obiettivi e del target del testo, l’organizzazione del testo, la scelta del tono e dello stile, e così via. - Cooperazione e conflitto nella comunicazione interpersonale scritta: buona educazione ed effetti di aggressività nello scambio di mail. Modalità d’esame L’esame consisterà nella stesura di un elaborato scritto, che dovrà avere caratteristiche di chiarezza ed efficacia secondo i criteri individuati durante il corso. Il tempo a disposizione degli studenti per l’esame sarà di 2 ore. Bibliografia - A. LUCCHINI, Business writing. Scrivere nell’era di Internet, Sperling & Kupfer, Milano, ultima edizione. È il testo fondamentale dell’esame, che va studiato dalla prima all’ultima pagina e tenuto come punto di riferimento anche durante le esercitazioni, per le numerose indicazioni pratiche che contiene. - R. L ESINA , Il nuovo manuale di stile. Guida alla redazione di documenti, relazioni, articoli, manuali, tesi di laurea, Zani- chelli, Bologna, ultima edizione. È un manuale di riferimento per chiunque debba scrivere o redigere testi non letterari. Contiene suggerimenti preziosi su come progettare, organizzare e impaginare un testo, come trattare capitoli, paragrafi, nomi, titoli di opere, bibliografie, citazioni, tabelle, note, e molto altro ancora. Per l’esame non è necessario studiarlo dalla prima all’ultima pagina, ma basterà consultarne le parti che la docente indicherà a lezione. Una volta acquistato per l’esame, il testo rimarrà agli studenti come strumento di consultazione da tenere nella propria libreria, utilissimo da consultare, a seconda delle esigenze, ogni volta che, scrivendo, si è colti da un dubbio redazionale. - V. CERAMI, Consigli a un giovane scrittore, Einaudi, Torino, ultima edizione. È una lettura facoltativa per l’esame, consigliabile non solo a chi scrive storie, per diletto personale più o meno privato e nascosto (racconti, favole, un diario personale, il cosiddetto ‘romanzo nel cassetto’), ma a chiunque abbia voglia di approfondire gli aspetti creativi della scrittura, nella consapevolezza che sono importanti anche nella produzione di testi non letterari. DESIGN DEL SUONO Docente Prof. Elio Toppano Crediti 3 Finalità del corso Obiettivo fondamentale del corso è l’acquisizione dei concetti, degli strumenti e delle metodologie di base per l’analisi e la progettazione di oggetti sonori finalizzati alla comunicazione (es. loghi sonori, suoni per interfacce e pro- 222 programmi - LS tecnologie dell’informazione duzioni multimediali, sonorizzazioni di eventi e luoghi). Programma Analisi spettromorfologica del suono. Caratterizzazione percettiva degli oggetti sonori e tipologie di ascolto. Tecniche di sintesi. Effetti e processori di segnale. Strumenti virtuali. Editing, missaggio e registrazione. Montaggio di oggetti sonori. L’uso del suono con le immagini. Applicazione: realizzazione di coreografie sonore finalizzate ad obiettivi comunicativi. Modalità d’esame Il corso comprende esercizi di ascolto e analisi di realizzazioni di noti sound designers. L’esame consiste in un test finale e nella realizzazione di un progetto. Bibliografia - V. LOMBARDO, A. VALLE, Audio e Multimedia, seconda edizione, APOGEO. - B. BARTLETT, J. BARTLETT, Tecniche di registrazione, APOGEO. - R. P APEN , Virtual Instruments, User’s manual. - Lucidi delle lezioni e materiali scaricati dal web. E-GOVERNMENT corso è dedicata all’esame della legislazione più recente, sia a livello europeo che nazionale, volta a promuovere i progetti di e-government attraverso l’adozione di tecnologie ICT. Sono presentate anche architetture di sistemi che realizzano alcuni progetti. Parte del corso si svolge in laboratorio ed ha come scopo la progettazione e realizzazione di moduli specifici su piattaforme open-source. E-LEARNING Docente Prof. Vito Roberto Crediti 3 Finalità del corso Il corso si propone di fornire una panoramica delle problematiche connesse alla progettazione di sistemi di e-learning, e avviare gli studenti alla realizzazione di specifici moduli. Nella prima parte si introducono i concetti, si richiamano le tecnologie informatiche e gli standard internazionali correntemente in uso. La seconda parte del corso si svolge in laboratorio e consiste nello sviluppo di software, su piattaforma open-source, per la realizzazione di oggetti didattici multimediali (learning objects). Docente Dott. Alessio Gugliotta Crediti 3 Finalità del corso Il corso si propone di presentare gli sviluppi più recenti dell’e-government, inteso come insieme di iniziative per l’automazione dei servizi amministrativi ai cittadini, e dei servizi interni alle Pubbliche amministrazioni (backoffice). Parte del FONDAMENTI E METODI DELL’INFORMATICA Docente Prof. Furio Honsell Crediti 6 Finalità del corso Far riflettere gli studenti sulle limitazioni 223 programmi - LS tecnologie dell’informazione dei procedimenti algoritmici, limiti sia intrinseci sia dettati dalle risorse a disposizione. Gli studenti incontreranno il concetto di funzione calcolabile, di linguaggio formale, di automa, di classe di complessità e le loro reciproche relazioni. Dopo aver superato l’esame si ritiene che lo studente: conosca l’esistenza di problemi intrinsecamente irresolubili per via algoritmica; abbia una chiara idea delle relazioni note tra le classi di complessità logaritmica, polinomiale deterministica e non deterministica, esponenziale; conosca le prime nozioni relative ai linguaggi formali e alle loro relazioni con gli automi. Programma - Calcolabilità. Modelli di calcolo: la Macchina di Turing. Funzioni calcolabili e problemi decidibili. Enumerazione delle funzioni calcolabili, funzione universale. Tesi di Church. Esistenza di problemi non decidibili. Problemi semidecidibili. - Complessità. Macchine di Turing con risorse limitate. Classi di complessità. Alcune classi: P, NP, EXP, PSPACE. Riduzioni polinomiali e problemi completi. NP-completezza, teorema di Cook, esempi di problemi NP completi. - Linguaggi formali. Grammatiche a struttura di frase. Linguaggi regolari, espressioni regolari, automi finiti. Linguaggi liberi dal contesto, alberi di derivazione; automi a pila. Bibliografia - Appunti delle lezioni. - N.J. CUTLAND, Computability: An Introduction to Recursive Function Theory, Cambridge Univ. Press, Cambridge, 1980. - J.E. HOPCROFT, J.D. ULLMAN, Introduction to Automata, Languages and Computation, Addison-Wesley, Reading, 1979. GRAFICA 3D INTERATTIVA Docente Dott. Roberto Ranon Crediti 6 Pagina del corso http://www.dimi.uniud.it/ranon/int3d.h tml Finalità del corso Il corso tratta i principali algoritmi e strumenti usati nella grafica 3D interattiva e nelle sue applicazioni (videogame, visualizzazione scientifica). Vengono esaminati sia aspetti teorici (come le principali tecniche per il rendering 3D real-time), sia aspetti pratici nell’uso delle tecnologie oggi disponibili (in particolare, librerie e motori grafici). Programma - La pipeline per il rendering real-time. - Le primitive grafiche. - Cenni a trasformazioni. - Illuminazione e shading: tecniche di base e avanzate. - Uso di texture: tecniche di base e avanzate. - Rendering basato su immagini. - Strutture dati spaziali. - Algoritmi di cullino. - Programmable shaders. - Analisi e uso della libreria OpenGL. - Analisi e uso di un motore per il rendering real-time. Modalità d’esame L’esame consiste nella realizzazione di un progetto che utilizzi, approfondisca o estenda alcuni degli argomenti o strumenti visti nel corso, ed in una prova orale sui contenuti del corso. Bibliografia - T. A KENINE -M ULLER , E. H AINES , Real- 224 Time Rendering, A.K. Peters Ltd. ISBN 1568811829. - E. ANGEL, Interactive Computer Graphics: a Top-Down Approach with OpenGL, Addison-Wesley. ISBN 020138597X. programmi - LS tecnologie dell’informazione Bibliografia - Dispense del corso di Teoria e Tecniche di Elaborazione dell’Immagine, a cura del docente. - E. TRUCCO, A. VERRI, Introductory Techniques for 3-D Computer Vision, Prentice Hall, 1998. IMMAGINI E MULTIMEDIALITÀ Docente Prof. Vito Roberto Crediti 6 Finalità del corso I corsi nell’insieme forniscono una panoramica su principi e tecniche di Riconoscimento di Forme (Pattern Recognition), e in particolare l’analisi, interpretazione e comunicazione di segnali ed immagini. Tutti gli argomenti sono basati su esercitazioni pratiche in laboratorio, con l’utilizzo delle attrezzature e del software del Laboratorio Immagini del Dipartimento di Informatica dell’Università di Udine. Informazioni sul Laboratorio Immagini sono reperibili sul sito web: http://mvl.dimi.uniud.it/ Programma - Elementi di visione artificiale [D2]. Introduzione alla Computer Vision. Formazione dell’immagine. Elaborazione. Modello geometrico della telecamera. Ricostruzione da Visione Stereo. Analisi del Movimento. - Sintesi di mondi tridimensionali. Il Linguaggio VRML (Virtual Reality Modelling Language). Rendering 3D tramite oggetti VRML; il colore; il movimento; il suono. Multimedialità nei mondi 3D. - Esercitazioni di IM. Vengono utilizzati l’ambiente software MATLAB (su licenza The Mathworks Inc.) versione 5.1.0.421, con l’aggiunta del pacchetto Image Processing, vers. 2.0, ed il linguaggio VRML v.2.0. INFORMATICA MEDICA Docente Dott. Vincenzo Della Mea Crediti 6 Finalità del corso Il corso di Informatica Medica si propone di introdurre gli studenti ai problemi specifici legati all’applicazione delle metodologie e tecnologie informatiche in ambito medico-clinico, partendo da un’introduzione alle caratteristiche dei dati e del ragionamento in Medicina. Particolare attenzione viene rivolta ai sistemi informativi in ambito clinico sia per i temi più tradizionali, come le cartelle cliniche elettroniche, sia per quanto riguarda aspetti prossimi al supporto alla decisione, come i sistemi basati sui protocolli ed il necessario supporto costituito dalle terminologie. Nel corso verranno, inoltre, sottolineati quegli aspetti applicativi tipici dell’ambito medico, ed al contempo riguardanti problemi aventi anche una valenza generale, che si configurano come validi banchi di prova per settori di ricerca dell’informatica, quali, ad esempio, l’elaborazione ed analisi di biosegnali e bioimmagini, e le applicazioni del Semantic Web alla Medicina. Programma 1. Caratteristiche dei dati e del ragionamento in Medicina. 2. La cartella clinica elettronica: caratteri- 225 programmi - LS tecnologie dell’informazione stiche, implementazione e standard disponibili. 3. Terminologie e classificazioni. 4. Sistemi basati sui protocolli. 5. Elaborazione di biosegnali e bioimmagini. 6. Applicazioni mediche del Semantic Web Casi di studio: sistemi, articoli scientifici, seminari esterni. Modalità d’esame Lo studente approfondirà un tema del corso, a scelta, mediante una delle seguenti modalità: un seminario interno durante lo svolgimento del corso, oppure una relazione scritta, oppure un progetto breve. A seguito di ciò, l’esame consiste in un colloquio nel corso del quale verrà verificata la capacità dello studente di considerare e fondere sia gli aspetti teorico-metodologici propri dell’informatica sia le esigenze applicative tipiche dell’ambito medico-clinico. Bibliografia - E.H. SHORTLIFFE, L.M. FAGAN, G. WIEDERHOLD, L.E. PERREAULT, Medical Informatics: Computer Applications in Health Care and Biomedicine, 2nd edition, SpringerVerlag, 2000. - J. V AN B EMMEL , Handbook of Medical Informatics, 2nd edition, Springer-Verlag, 2002. - E. COIERA, Guida all’Informatica Medica, Internet e Telemedicina, Pensiero Scientifico, 2000. - Materiale fornito a lezione, ed altre fonti indicate dal docente. Il sito del corso si trova all’indirizzo http://mitel.dimi.uniud.it/med/ INGEGNERIA DEL SOFTWARE 2 Docente Prof. Maurizio Pighin Dott. Anna Marzona Crediti 6 Finalità del corso Obiettivo del corso è l’approfondimento delle principali tematiche dell’Ingegneria del Software. Viene richiamato il ciclo di progettazione e di vita di un prodotto Software. Vengono poi studiati e approfonditi gli argomenti più avanzati, quali il configuration management, le metodologie di test, la progettazione dei sistemi, le metriche teoriche ed operative, i più noti modelli di qualità di prodotto e di processo, le metodiche di pianificazione e controllo, i principali strumenti di lavoro. Nel correlato corso di Laboratorio avanzato (4 CFU) viene svolto un casestudy completo, seguendo un processo di sviluppo di un progetto Software in tutte le fasi sia del ciclo di vita (specifiche, progetto, codifica, test, rilascio, manutenzione) che operativo (pianificazione, analisi costi, metriche, organizzazione del lavoro, consuntivazioni economiche). Programma Introduzione e Richiami Generali: Le motivazioni del Software Engineering. Richiami alle definizioni di base. La dimensione economica del problema. I fattori di complessità del processo di sviluppo. Configuration Management: Le motivazioni del Configuration Management. Il CM-Planning. Trattamento delle versioni. Assemblaggio dei componenti e System Building. Ingegneria del Software Esistente: L’I.S.E: definizioni e problematiche. Le metodologie di reengineering. Le metodologie di riuso. Lo sviluppo per il riuso e tramite il riuso. Verifica e Validazione: I risultati teorici negativi. Strategie di test. Test dinamico. Le catene di test. I test di regressione. L’automazione del test e l’analisi mutazionale. Test statico. Cenni sui metodi formali di test. Metriche: Le 226 definizioni generali. Gli obiettivi delle misure. Le scale di misurazione. Le misure di controllo e predittive. Il data collection. Gli attributi interni e le loro misurazioni. La metrica di Halstead. La metrica di Albrecht. La metrica di McCabe ed altre metriche di complessità. Gli attributi esterni e le loro misurazioni Modelli di qualità: La certificazione di qualità e i principali modelli di certificazione di processo e di prodotto: Richiami al modello ISO 9000, il modello CMM, cenni su altri modelli: BOOTSTRAP, BOOTSTRAP, SYNQUEST, SPICE. Il modello IS0 9126. Valutazione e stima dei costi: L’analisi prestazioni/costo e l’analisi delle decisioni. La stima dei costi del Software. Richiamo modello COCOMO. Altri modelli di stima. Pianificazione e Controllo del Processo Produttivo: L’organizzazione e gestione dei gruppi di lavoro. La pianificazione ed i suoi obiettivi. I diagrammi di Pert e gli schemi di Gantt. Manutenzione: Costi, stime, misurazioni, dinamica del processo manutentivo. Il modello COCOMO. Extreme programming: Metodologie organizzative: pianificazione, testing. Tecniche di sviluppo Strumenti di lavoro: La tecnologia CASE: Tools, Ambienti. Le funzionalità. Gli strumenti di supporto nelle varie fasi del processo di sviluppo. programmi - LS tecnologie dell’informazione Metrics - A Rigorous and Practical Approach, 2 nd edition, PWS Publishing Company, 1997. - A. B INATO , A. F UGGETTA , L. S FARDINI , Ingegneria del Software, creatività e metodo, Pearson-Addison Wesley, 2006. - C. GHEZZI, M. JAZAYERI, D. MANDRIOLI, Ingegneria del Software - Fondamenti e Principi, seconda edizione, Pearson-PrenticeHall, 2004. - AA. VV., Metriche del software - esperienze e ricerche, Franco Angeli, 2006. - Materiale didattico disponibile sul sito d’Ateneo. INTERAZIONE UOMO-MACCHINA 2 Docente Prof. Luca Chittaro Crediti 6 Modalità d’esame L’esame consiste nella discussione del progetto fatto durante il laboratorio. Alternativamente lo studente può sostenere una prova scritta/orale sugli argomenti del programma. Finalità del corso 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 rientreranno in tre categorie di pari importanza: la visualizzazione delle informazioni (progetto di un’interfaccia visuale e tecniche di Information Visualization), l’interazione con dispositivi e servizi mobili (ad esempio, telefoni cellulari, PDA, strumenti di bordo degli autoveicoli), la Realtà Virtuale (Immersiva, Desktop o Web-based). Bibliografia - R.S. PRESSMAN, Principi di Ingegneria del Software, quarta edizione, McGrawHill, 2005. - I. SOMMERVILLE, Software Engineering, 7th edition, Addison Wesley P.C., 2004. - N.E. F ENTON , S.L. P FLEEGER , Software Programma - Visualizzazione delle informazioni (IV). Information Visualization (IV): definitions. Data vs. Information. Goals of IV. Information Visualization vs. Scientific Visualization. Issues involved in IV Design. Mapping: principles, visual attribu- programmi - LS tecnologie dell’informazione tes, examples. 2D vs. 3D visualizations. Typical IV design problems. A model for IV. A classification of data types: Categorical, Numerical, Topological, Symbolic, Textual Data. An alternative classification of data types: 1-dimensional, 2-dimensional, 3-dimensional, temporal, multidimensional, tree, network. A classification of task types: overview, zoom, filter, details-on-demand, relate, history, extract. - Tecniche per visualizzare ed interagire con i dati. Bivariate, Trivariate, Multivariate data: Scatterplots, Mosaic Display, Parallel coordinate plots, Starplot, Chernoff Faces, Hierarchical Axis, Dimensional Stacking, Dynamic Queries, Alphasliders, The Attribute Explorer, SDM (Selective Display and Manipulation). InfoZoom. Pixel-oriented visualizations: screen-filling curves, recursive pattern, circle segments. Trees: Treemaps, Cone Trees, Camtrees, Star Tree, Hyperbolic Trees. Networks: SeeNet, HierNet, NetMap. Temporal data: Lifelines, AsbruView, Paint Strips. Documents: TileBars, document Galaxies, Themescape, Citeseer-Relator, MDS-interactive. Information Workspace: Rooms, Web Forager, Windows Task Gallery, Sun Looking Glass. - Il problema della presentazione. Overview+Detail techniques. Focus+Context techniques. Distortion-oriented techniques. Table Lens. Perspective Wall. Fisheye view. - Caso di studio: IV per internet ed il web. NattoView. Self-organizing maps. Skitter. Cichlid. Web Forager. Disk tree. Time tube. Dome tree. Web page caricatures. Visualizing Social activities on the Web. - Caso di studio: IV in medicina. Visualizing medical data: medical imaging vs. IV. A gallery of examples: Therapy Planning, Interactive Data Exploration of clinical databases, Digital libraries of anato- 227 mical images, Preoperative Surgery Planning, Treatment of Phobias, Magnetic Resonance Image Viewing, visual data mining of Hemodialysis data. - Fattori umani e cognitivi dell’IV. Visual perception aspects. Navigation in abstract or physical spaces. Improving navigation. Navigation aids. User Evaluation of IV systems. Detailed case studies: querying medical databases, 3D navigation aids. - Interazione con dispositivi mobili. Mobile and Wireless Devices. Mobile Operating Systems. Wireless Networks. Differences between the mobile context and the desktop PC context. Size issues in mobile devices. Cultural issues. Social issues. The Mobile User Experience. - Telefoni cellulari. Mobile Phones: Historical Data. User Interfaces (UIs) of Mobile Phones. Mobile Product Categories. UI Styles in Mobile Phones. Example: Twosoftkey 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. Interface Elements of Menu-based Mobile Phones. Menu Interfaces in Mobile Phones. Call-related Interactions. Number of Keys in Mobile Devices. - Valutazione di interfacce per dispositivi mobili. Ethnographic methods. Case study: Indian users. Paper Prototyping Tour. Controlled experiments. Case Study: a mixed-design experiment with WAP phones. Longitudinal User Studies. Example: the Nokia One-Row Keyboard. - Visualizzazione su dispositivi mobili. Visualizing data for mobile users. Visualizing data about mobile users. Relevant Subjects of Mobile Visualizations. Visualizing text on mobile devices. Visualizing maps on mobile devices. DateLens. - Interfacce a bordo di veicoli e problematiche di sicurezza. Centralized Control Systems. Examples: COMAND, Connect, iDrive, future concepts. Using the Keystroke- 228 programmi - LS tecnologie dell’informazione 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 behaviour. Reducing risks. - Interazione con sistemi di realtà virtuale. General architecture of a virtual reality (VR) system. Output peripherals: headmounted displays, 3D Glasses, new types of display, 3D projection, CAVE, retinal display, 3D positional audio. Input peripherals: trackers, data glove, phantom. - Progetto di siti web 3D. Issues in 3D Web site design. Added value. A case study: designing the 3D Web site of the Italian Aerobatic Team. - Virtual humans. Avatars. Ergonomic dummies. Autonomous agents. Embodied interface agents. General architecture. Applications. Bibliografia - R. S PENCE , Information Visualization, Addison Wesley, 2000. - 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. LINGUAGGI DI PROGRAMMAZIONE Docente Prof. Marco Comini Crediti 6 Finalità del corso Il corso di Linguaggi intende fornire una conoscenza delle caratteristiche dei vari paradigmi di programmazione, cercando il più possibile di evitare di concentrarsi su uno specifico linguaggio, andando bensì a presentare i principi che guidano la progettazione, realizzazione e implementazione dei moderni linguaggi di programmazione. Con solida conoscenza delle caratteristiche ‘universali’ si potrà così in futuro imparare nuovi linguaggi in pochissimo tempo. A questa visione generale si giunge attraverso la descrizione dei principali paradigmi di programmazione: imperativo, funzionale, logico e logico-funzionale. Il corso di Linguaggi, in particolare, tratterà i concetti generali, il paradigma imperativo e quello funzionale. Questi paradigmi, oltre a essere esaminati nei loro aspetti pragmatici più immediati, sono analizzati e confrontati sulla base dei principi generali, in modo tale da permettere una comprensione critica della maggior parte dei linguaggi di uso comune. In questo modo si intende sviluppare uno spirito critico che permetta di arrivare ad una programmazione consapevole in cui saper scegliere il paradigma più adatto a seconda del problema da risolvere e sapere quali costrutti di un linguaggio usare, e a quale costo. Il corso intende inoltre fornire una conoscenza relativamente approfondita (soprattutto dell’aspetto programmativo) del paradigma di programmazione funzionale che, grazie alla sua espressività, si presta naturalmente quale base di sviluppo di software corretto. Programma Paradigma Imperativo - Macchine astratte, Interpretazione e Compilazione. - Descrivere un linguaggio di Programmazione (Sintassi e Semantica). - I nomi e l’ambiente. - La gestione della memoria. - Strutturare il controllo. - p-code. programmi - LS tecnologie dell’informazione - Astrarre sul controllo (Metodi di passaggio dei parametri). - Strutturare i dati. - Type checking monomorfo e polimorfo. Paradigma Funzionale - Introduzione alla Programmazione Funzionale. - High-order Programming. - Il linguaggio Haskell (list comprehensions, partial applications of curried functions, sections, non-strict functions, infinite data structures, case expressions, pattern matching). - Types, Classes and Overloading. - Haskell’s monadic I/O. - Standard Haskell Classes. - Monads. - Modules. Bibliografia - M. GABBRIELLI, S. MARTINI, Linguaggi di Programmazione - Principi e Paradigmi, McGraw-Hill. ISBN 88-386-6261-4. - HUDAK, FASEL, A Gentle Introduction to Haskell, 1992. Libri e testi di consultazione: - B. WADLER , Introduction to Functional Programming Using Haskell, Prentice Hall PTR, 1998. ISBN: 0134843460. - N.D. JONES, C.K. GOMARD, P. SESTOFT, Partial Evaluation and Automatic Program Generation, Prentice-Hall, Englewood Cliffs, NJ, 1993. METODI NUMERICI PER L’INFORMATICA Docente Prof. Dario Fasino Crediti 6 Finalità del corso Il corso esporrà le basi teoriche e implementative di alcune tecniche matemati- 229 che per il trattamento di problemi relativi al recupero di documenti sul web, alla loro classificazione e ordinamento, quali il Latent Semantic Indexing, l’algoritmo PageRank, i metodi per il data clustering. Il corso prevede la trattazione di vari esempi, casi di studio e lo svolgimento di attività sperimentali mediante esercitazioni e progetti in laboratorio. Dopo aver superato l’esame, si ritiene che lo studente conosca e sappia utilizzare tecniche dell’algebra lineare numerica (sistemi lineari, minimi quadrati, decomposizione ai valori singolari) nell’ambito dell’Information Retrieval e della analisi dei dati. Programma Richiami di algebra lineare: norme vettoriali e matriciali, prodotti scalari, fattorizzazioni notevoli di matrici. Ortogonalizzazione di Gram-Schmidt. Decomposizione ai valori singolari. Problemi ai minimi quadrati lineari. Modelli matematici per l’Information Retrieval: Matrice termini-documenti e modello dello spazio vettoriale. Ricerca testuale: Precision e recall; polisemia e sinonimia. Strategia del Latent Semantic Indexing (LSI). Fattorizzazioni QR ed SVD e loro utilizzo per l’implementazione del LSI. Tecniche numeriche per il clustering e la classificazione automatica dei documenti: ordinamento di documenti in un ipertesto in base all’analisi dei link; l’algoritmo di Kleinberg; hub e authorities. Il modello probabilistico di navigazione in un ipertesto; catene di Markov; teoria di Perron-Frobenius; l’algoritmo PageRank. Metodi per il calcolo di autovalori e autovettori dominanti e loro utilizzo negli algoritmi di page ranking. Tecniche numeriche e probabilistiche per il data mining; analisi spettrale di dati. Modalità d’esame Esame scritto e orale. L’esame scritto può essere sostituito da prove di valutazione intermedia da svolgere durante il corso. 230 programmi - LS tecnologie dell’informazione Bibliografia - M.W. BERRY, M. BROWNE, Understanding Search Engines: Mathematical Models and Text Retrieval, SIAM, 1999. Modalità d’esame Sono previsti: lo svolgimento di un seminario da parte di ciascuno studente nell’ultima settimana del corso su una tematica rilevante ed un esame orale. PERSONALIZZAZIONE DI CONTENUTI WEB Bibliografia - Materiale didattico (slide e testi esercitazioni) disponibile su http://twm.dimi. uniud.it/ - C. TASSO, P. OMERO, La Personalizzazione dei Contenuti Web - e-commerce, i-access, e-government, Franco Angeli, Milano, 2002. - G. GUIDA, C. TASSO, Design and Development of Knowledge-Based Systems, J. Wiley, 1994. Docente Prof. Carlo Tasso Crediti 6 Finalità del corso Finalità del corso è introdurre la personalizzazione dei contenuti Web e le metodologie di sviluppo dei sistemi basati sulla conoscenza. In particolare vengono illustrate le metodologie per l’analisi, il progetto, lo sviluppo e la valutazione dei sistemi basati sulla conoscenza e le tecniche di acquisizione della conoscenza. Inoltre viene introdotta l’area dello user modelling ed illustrate le principali tecniche di personalizzazione dei contenuti Web. Programma Processi per lo Sviluppo dei Sistemi Basati sulla Conoscenza. La metodologia KLIC. Processi primari di analisi. Analisi di opportunità. Studio di plausibilità. Processi primari di sviluppo. Sviluppo del dimostratore. Sviluppo del prototipo. Progettazione e Strumenti di Sviluppo. Implementazione, installazione ed avvio del sistema finale. Tecniche per l’Acquisizione della Conoscenza. Personalizzazione dei contenuti Web: definizioni generali; user modelling; tecniche di personalizzazione, tracciamento ed identificazione dell’utente, selezione dei contenuti, filtraggio collaborativo, cognitivo e basato su conoscenza. Applicazione delle tecniche di personalizzazione. PROGETTAZIONE E ANALISI ORIENTATE AGLI OGGETTI Docente Prof. Stefano Mizzaro Crediti 6 Finalità del corso 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, i pattern di progetto (e di analisi, accennati), il refactoring. Verranno anche discussi alcuni casi di studio di problemi reali. Programma - UML per il progetto. I diagrammi UML usati per la progettazione: diagrammi di 231 programmi - LS tecnologie dell’informazione 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. - Casi di studio. I concetti e le tecniche introdotti vengono esemplificati in situazioni reali, attraverso un’attività seminariale che può essere svolta, opzionalmente, anche dagli studenti. Possibili argomenti sono: sviluppo collegiale di diagrammi UML; i tool per disegnare diagrammi UML; programmazione estrema (eXtreme Programming, XP); analisi delle API di Java (standard edition, enterprise edition, micro edition); sviluppo di applicazioni Web (servlet, Java Server Pages, EJB); estensioni di UML per il Web; refactoring; altri linguaggi OO quali il C++ o il C#; gli agenti come estensione degli oggetti; Jini; ecc. Modalità d’esame Orale. Sono previste anche attività, opzionali e a scelta dello studente ma caldamente consigliate, che portano a un esame semplificato e a una votazione superiore: seminari svolti durante il corso o progetti concordati con il docente. Al corso è possibile affiancare il laboratorio: in tal caso l’attività progettuale è più impegnativa. Bibliografia - M. P AGE -J ONES , 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. (Disponibile anche in italiano). - M. F O W L E R , K. B E C K , J. B R A N T , W. OPDYKE, D. ROBERTS, Refactoring: Improving the Design of Existing Code, AddisonWesley, 1999. ISBN: 0201485672. - A. SHALLOWAY, J. TROTT, Design Patterns Explained - A New Perspective on Object Oriented Design, Addison Wesley, 2002. ISBN: 0201715945. A lezione verranno comunicati eventuali altri testi e verrà segnalato o fornito altro materiale (lucidi di tutte le lezioni, pagine Web, dispense, altri testi di riferimento). QUALITÀ E CERTIFICAZIONE WEB Docente Dott. Giorgio Brajnik Crediti 3 Finalità del corso Rendere gli allievi capaci di organizzare e svolgere efficacemente ed efficientemente l’attività di controllo di qualità (quality assurance) per una larga gamma di applicazioni web e di sistemi software interattivi. Particolare enfasi verrà data ai test funzionali, di carico e di stress, di regressione, nonché agli strumenti di supporto per tali attività. Il controllo di qualità è una delle attività più sottovalutate all’interno dello sviluppo di applicazioni web, sebbene essa 232 costituisca il meccanismo principale per garantire un’elevata qualità. Infatti essa è una delle attività, tra quelle svolte durante lo sviluppo e la manutenzione di un’applicazione web, che più incidono sulla qualità del risultato e sui costi correlati alla qualità erogata. Sebbene sia una delle attività a cui vengono dedicate relativamente poca attenzione e poche risorse, essa ha delle ripercussioni significative sia sul prodotto o servizio realizzato che sul processo di realizzazione. In particolare, oggigiorno, essa incide notevolmente sulla competitività aziendale in quanto permette di: - monitorare e di controllare/determinare il livello di qualità dei prodotti o servizi rilasciati (catturando una parte dei difetti prima possibile durante il processo di sviluppo, sapendo a priori quali difetti sono presenti in un sistema rilasciato); - ridurre i costi relativi alla bassa qualità dei prodotti o servizi rilasciati (riduzione di chiamate di supporto, riduzione di resi, riduzione di rilasci imprevisti, riduzione di interventi di modifica della documentazione accessoria, riduzione di richiami dei prodotti); - ridurre i costi relativi ai processi di sviluppo (identificando i difetti prima possibile si riducono le loro conseguenze negative nelle fasi di sviluppo, l’aver identificato anche l’importanza, la gravità dei difetti è possibile definire la loro priorità e allocare in maniera adeguata le risorse). Programma Contenuti 1. Qualità di un sistema basato su web; fattori di qualità e modello di qualità. 2. Rischi connessi alla bassa qualità; analisi dei rischi; failure mode and effects analysis. 3. Metodologia per il controllo di qualità: - pianificazione dei test; obiettivi, risorse, piano; ruoli professionali; - documenti di specifica: casi d’uso, modello dei compiti; programmi - LS tecnologie dell’informazione - tipi di test (funzionali, di modulo, di stress, di carico, di regressione, di usabilità, di accessibilità); - stesura del piano di test; - definizione dei test suite e test cases, stesura del test reports; - tattiche di individuazione dei test cases. 4. Strumenti di supporto: di automatizzazione dei test, di raccolta e catalogo di difetti, di svolgimento di test di carico e di stress, di svolgimento di test di accessibilità (eclipse, junit, jwebunit, jmeter, bugzilla, strumenti di test per l’accessibilità). 5. La certificazione dell’accessibilità; la gestione della qualità: modelli di qualità, approccio Goal-Question-Metrics; livelli di maturità. Articolazione Il corso è articolato in 20 ore di lezione. Gli studenti dovranno produrre 1 progetto pratico di pianificazione e svolgimento di test di determinate applicazioni web. Gli studenti possono decidere di associare un corso di laboratorio avanzato (5 crediti) da utilizzare come ‘contenitore’ per lo svolgimento dell’attività pratica autonoma. In questo caso dovranno produrre almeno 2 progetti. L’esame, solo orale, verterà soprattutto sull’attività pratica svolta dallo studente. Prerequisiti Per la fruizione ottimale delle lezioni l’allievo dovrebbe avere qualche esperienza legata allo sviluppo di applicazioni web e al linguaggio Java. Per ulteriori dettagli consultare www.dimi.uniud.it/giorgio/dida/qcw/qc w.html RICERCA OPERATIVA Docente Prof. Paolo Serafini Crediti 6 233 programmi - LS tecnologie dell’informazione Pagina del corso http://www.dimi.uniud.it/~serafini/ROI NF0607.html Finalità del corso La Ricerca Operativa si occupa di problemi di gestione efficiente affrontati con modelli matematici e algoritmici. Il corso vuole fornire allo studente gli strumenti principali per progettare un modello a partire da un problema reale e la necessaria comprensione delle strutture matematiche e algoritmiche dei modelli, con particolare riguardo alla programmazione lineare. A questo fine vengono presentati doversi modelli e per la maggior parte i modelli sono risolti usando Excel o pacchetti di programmazione lineare. Programma - Introduzione alla programmazione lineare. Modellizzazione: identificazione delle grandezze, dei vincoli e degli obiettivi. Ottimi di Pareto. Esempio della dieta: modello di programmazione lineare. Analisi di sensibilità. Identificazione di ulteriori obiettivi. Frontiera efficiente. Vincoli di interezza. - Proprietà della programmazione lineare. Struttura geometrica. Vertici e soluzioni di base. Problema duale. Complementarità. Cenni del metodo del simplesso. Metodo branch-and-bound per variabili intere. - Modelli di percorsi 1. Programmazione Dinamica. Principio di ottimalità. Equazione ricorsiva. Cammini minimi (Bellman-Ford, Dijkstra, Floyd-Warshall). - Modelli di percorsi 2. Cammini minimi con capacità: reti di flusso. Flussi di costo minimo. Massimo flusso. Minimi tagli. - Modelli di percorsi 3. Problema del commesso viaggiatore (formulazione con piani di taglio). Circuiti Euleriani. Accoppiamento. Minimi alberi di supporto (Kruskal e Prim). - Modelli di allocazione. Assegnamento. Knapsack. Bin packing. Modelli di turnazione. Generazione di colonne: cutting stock, massimo flusso. - Schedulazione. Schedulazione a risorsa infinita: PERT. Schedulazione a risorsa finita: problemi a una macchina, macchine parallele, flow-shop, job-shop e openshop. Il piano dettagliato delle lezioni si trova sul sito http://www.dimi.uniud.it/~serafini/ROINF0607.html. Modalità d’esame Esame orale. Bibliografia - Dispense disponibili on-line. - P. SERAFINI, Ottimizzazione, Zanichelli, Bologna 2000. - L. SCHRAGE, LINDO: An Optimization Modelling System, Palo Alto Scientific Press, 1991. N.B.: Informazioni sulla Ricerca Operativa e l’Ottimizzazione si trovano anche sul sito dell’INFORMS (Institute for Operations Research and Management Science) http://www.informs.org/, oppure sul sito del CIRO (Centro Interuniversitario in Ricerca Operativa) http://www.disp. uniroma2.it/ciro/index.html. SISTEMI MOBILI E WIRELESS Docente Prof. Luca Chittaro Crediti 6 Finalità del corso Obiettivo del corso è studiare i diversi aspetti dei sistemi mobili e wireless, dalla prospettiva delle reti, da quella dei dispositivi e da quella dei servizi. Nel corso, si studiano le tecnologie e reti wireless (ad esempio, Bluetooth, Wi-Fi, GPRS, 234 UMTS), i diversi tipi di servizi mobili e wireless offerti in modo crescente all’utenza, le diverse categorie di dispositivi mobili e le problematiche ad essi correlate (ad esempio, efficienza, sicurezza, privacy, consumo energetico, limitazioni hardware e software). Si illustrano poi anche con esercizi pratici le tecniche di programmazione client-side e server-side utilizzate per implementare servizi all’utente su dispositivi mobili. Programma Introduzione. Aspetti della mobilità: user mobility, device mobility. Wireless vs. mobile. Scenari Mobile and Wireless: veicoli, servizi di emergenza, mobile office, vendite, sostituzione delle reti fisse, location based services. Effetti della portabilità dei dispositivi. Storia delle reti wireless e statistiche. Mobile vs. desktop application design. Tipi di dispositivi mobili e loro caratteristiche: Form factor, CPU, Display, Memory, Battery. Applicazioni mobili. Navigation systems on PDAs. Navigation systems on mobile phones. Mobile GIS. Location-based services: mobile enterprise, mobile government, mobile consumer. Buddy finder and family finder applications. Geo-referenced photographs. Location-based search engines. Outdoor mobile guides. Indoor mobile guides. Valutazione di un caso di studio. Interfacce grafiche avanzate per dispositivi mobili. Comunicazioni e lavoro mobile. Local mobility e micro-mobility. Remote mobility. 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. Ambienti di sviluppo (JAVA Platform vs.NET Framework). Il.NET Framework programmi - LS tecnologie dell’informazione e la versione Compact per dispositivi mobili. Codice C++ nativo vs Managed C#. VisualStudio 2005 IDE. Configurare gli emulatori Pocket PC. Creare form e controlli. UI avanzate. Controlli ed Eventi Custom. Testing and debugging. Usare DataSets e XML databases in applicazioni mobili. Web Services. SQL Server CE. Tecniche di sincronizzazione di client mobili con server. Dati locali su database SQL Server CE. Recuperare e memorizzare dati con Web Services. Applicazioni mobili basate su GPS. Accesso ai dispositivi via porta seriale. Trasmissioni wireless. Segnali e frequenze, Antenne, Propagazione, Multiplexing. Modulazione: Advanced Frequency Shift Keying (e.g., MSK), Advanced Phase Shift Keying (e.g., BPSK and QPSK), Quadrature Amplitude Modulation, Hierarchical Modulation. Spread Spettro: Direct Sequence Spread Spectrum, Frequency Hopping Spread Spectrum. Cellular Systems, Frequency Planning, Cells Breathing. Motivazioni per un MAC specializzato: hidden terminals, exposed terminals, near and far terminals. Metodi di accesso e duplex. Demand Assigned Multiple Access (e.g., Packet Reservation MA, Reservation TDMA), Multiple Access with Collision Avoidance. Confronto SDMA/TDMA/FDMA/CDMA. Sistemi di telecomunicazioni e reti wireless. Reti cellulari: GSM, GPRS, DECT, TETRA, UMTS. Handover nel GSM. Wireless LANS. IR vs. radio. Infrastrutture ed ad-hoc networks, IEEE 802.11 (a, b, g, i,…). Supporto per il roaming. 802.11a vs. 802.11b. TECNOLOGIE LOCATION-SENSING. GPS. Miglioramenti alla precisione: GPS/INS (inertial navigation system), GPS + Electronic Compass, Kinematic Constraints, Map Matching technique. Protocollo NMEA. HDOP, VDOP e PDOP. Geo-referenziazione. Fingerprinting, un esempio di localizzazione in ambienti interni. 235 programmi - LS tecnologie dell’informazione Bibliografia - Per le parti del corso concernenti i diversi tipi di applicazioni mobili ed il loro sviluppo, tutti i materiali dei docenti sono a disposizione sul sito www.materialedidattico.uniud.it (accesso con password Sindy). - Per le parti sulle tecnologie wireless, si fa riferimento al libro di testo: J. SCHILLER, Mobile Communications, 2 nd edition, Addison Wesley, 2003. modellizzazione concettuale. Classificazione Euristica e Task Generici. Interfacce Intelligenti e Modellizzazione dell’Utente nei Sistemi di Reperimento e Filtraggio dell’Informazione su Web. Esercitazioni: una serie di esercitazioni in laboratorio sarà dedicata all’approfondimento delle tematiche applicative relative alla ricerca di informazioni sul Web. Modalità d’esame Redazione di una relazione sulle esercitazioni ed esame orale. SISTEMI ESPERTI Docente Prof. Carlo Tasso Crediti 6 Finalità del corso Obiettivo del corso è l’introduzione alle tecniche di base per la realizzazione dei sistemi basati sulla conoscenza e dei sistemi esperti, ed in particolare i meccanismi per la rappresentazione della conoscenza e gli algoritmi di ragionamento, i sistemi per il ragionamento non monotono, e le tecniche di modellizzazione concettuale. Vengono altresì trattate ed analizzate sperimentalmente alcune applicazioni significative nel campo della ricerca e filtraggio di informazioni su Web, affrontato con tecniche tradizionali e con tecniche di intelligenza artificiale. Programma Introduzione alle problematiche dell’Intelligenza Artificiale. Definizione di Sistema Basato sulla Conoscenza. Rappresentazione della Conoscenza e Algoritmi di ragionamento. Le reti semantiche. I frame. Le regole di produzione. Grafi Concettuali. Sistemi per il Ragionamento Non Monotono. ATMS. JTMS. Architetture a Blackboard. Tecniche di Bibliografia - Materiale didattico (slide e testi esercitazioni) disponibile su http://twm.d imi.uniud.it/ - G. GUIDA, C. TASSO, Design and Development of Knowledge-Based Systems, J. Wiley, 1994. - D. FUM, Intelligenza Artificiale, Il Mulino, 1994. - C. TASSO, P. OMERO, La Personalizzazione dei Contenuti Web - e-commerce, i-access, e-government, Franco Angeli, Milano, 2002. SISTEMI INFORMATIVI IN RETE Docenti Prof. Carlo Tasso Prof. Maurizio Pighin Crediti 6 Finalità del corso Obiettivo del corso è la definizione delle problematiche informatiche nell’ambito di un’organizzazione (pubblica o privata) che intenda automatizzare i propri sistemi informativi. Si inquadrano le competenze del responsabile Sistemi Informativi e/o di chi sviluppa software per l’organizzazione, analizzando le problematiche 236 applicative che dovrà affrontare, con uno sguardo ai risvolti tecnologici e ai rapporti di fornitura. Programma Introduzione: Concetti generali sull’informatica aziendale - Impatto dell’informatica nelle aziende - Impatto macroeconomico dell’ICT Struttura dell’azienda e del suo sistema informativo - Concetto di esigenza informativa - Scomposizione del sistema informativo Costi e Performance: Meccanismi di misurazione generali. Valutazione di Sistemi Informativi. Analisi costi benefici. Analisi del rischio. Gestione di un Progetto Informatico: Organizzazione risorse e processi decisionali. Metodologie di gestione e pianificazione di progetto. Tecniche di Project Management. Software e Hardware Selection. Sistemi operazionali - Finalità dei sistemi operazionali - Informazione operativa - Rappresentazione della realtà Potenzialità informatica - Composizione dei sistemi informativi operazionali Scomposizione per i sistemi operazionali di base - Sistemi di supporto primario all’ERP - Estensioni dell’ERP - Sistemi tecnici ERP: l’area amministrativa, logistica, vendite, acquisti, produttiva - Obiettivi - Strutture di base - Procedure di base - Flussi evoluti Sistemi Aziendali avanzati: E-Commerce, CRM, DataWarehouse, DataMining, Business Intelligence. Laboratorio Avanzato di Sistemi Informativi Analisi di un case-study industriale. Modalità d’esame L’esame consiste in un progetto di gruppo su problematiche reali, seguito da un colloquio orale. In alternativa è prevista una prova scritta/orale sugli argomenti del programma. Bibliografia - G. BRACCHI, C. FRANCALANCI, G. MOTTA, Sistemi Informativi e aziende in rete, programmi - LS tecnologie dell’informazione McGraw-Hill Italia, Milano, 2001. - M. PIGHIN, A. MARZONA, Sistemi Informativi Aziendali - Struttura e Applicazioni, Pearson Education Italia, 2005. Ulteriori testi di consultazione: - M. DE MARCO, Sistemi Infomativi Aziendali, Franco Angeli edizioni, Milano, 2000. - G. BRACCHI, G. MOTTA, Processi Aziendali e Sistemi Informativi, Franco Angeli edizioni, Milano, 2000. - P.F. CAMUSSONE, Il Sistema Informativo Aziendale, Etas, 2000. - D. AMOUR, E-Business (R)Evolution, Tecniche Nuove, 2000. STORIA DELL’INFORMATICA Docenti Dott. Corrado Bonfanti Dott. Paolo Giangrandi Crediti 3 Finalità del corso Il corso fornisce una panoramica generale sulle tappe fondamentali che hanno caratterizzato la storia degli strumenti di calcolo, approfondendo in particolare l’evoluzione delle tecnologie del computer elettronico moderno. Si evidenzia come gli attuali computer non siano il frutto del lavoro di un singolo inventore e di una singola idea geniale, bensì il risultato dei contributi di moltissimi studiosi e sperimentatori appartenenti a diverse discipline; contributi che, nelle varie epoche, hanno dato luogo a diversi filoni concettuali e tecnologici, talvolta complementari e altre volte divergenti. Programma - Gli antichi strumenti di calcolo. L’era dei calcolatori meccanici: calcolatori analogici e calcolatori digitali. 237 programmi - LS tecnologie dell’informazione - Macchine programmabili: automi meccanici, telaio Jacquard, strumenti musicali automatici, Charles Babbage. - I sistemi meccanografici a schede perforate. - Le radici concettuali del computer: dal programma di Leibniz alle macchine di Turino. - I pionieri del calcolo elettronico, l’architettura di von Neumann e i primi calcolatori a programma memorizzato. - L’evoluzione delle tecnologie: dal mainframe al personal computer. - Gli ambienti applicativi e l’evoluzione del software. - Oltre il calcolo scientifico: sviluppo dell’industria e del mercato in uno scenario mondiale. - Reti telematiche: dalle origini a Internet. - L’informatica in Italia. Bibliografia - Appunti delle lezioni. - M.R. WILLIAMS, A History of Computing Technology, Prentice-Hall, 1985. - M. D A V I S , Il calcolatore universale, Adelphi, 2003. - C. B ONFANTI , Mezzo secolo di futuro. L’informatica italiana compie cinquant’anni, Mondo Digitale, n.3/2004. Durante il corso verranno forniti anche gli indirizzi di diversi siti web dove sono reperibili numerosi documenti multimediali sulla storia dell’informatica. TECNOLOGIE XML XML e alle basi di dati tradizionali. 2) Linguaggi per la definizione di schemi XML. In questa sezione viene introdotto il linguaggio di definizione XML Schema (XSchema). 3) Linguaggi di interrogazione e di modifica per XML. Questo blocco è dedicato ai linguaggi che permettono di interrogare documenti XML, quali XML Path Language (XPath) e XML Query Language (XQuery) e al linguaggio di modifica XQuery Update Facility. 4) Basi di dati native per XML. Questa parte ha come obiettivo quello di imparare ad usare almeno una base di dati nativa per XML. 5) Linguaggi di trasformazione. Questo segmento esplora la possibilità di trasformare documenti XML con il linguaggio Extensible Stylesheet Language Transformations (XSLT). 6) Programmare con XML. Questa blocco insegna come costruire applicazioni Java che lavorano con XML. In particolare introdurremo le interfacce DOM e SAX per l’analisi sintattica (parsing) di documenti XML e vedremo come fare il parsing, la validazione, la trasformazione, l’interrogazione, e la serializzazione di documenti XML usando JAXP (Java API for XML Processing). TEORIA DEI SISTEMI Docente Prof. Adriano Pascoletti Docente Dott. Massimo Franceschet Crediti 6 Crediti 6 Finalità del corso Fornire alcuni strumenti matematici utili nello studio di problemi riconducibili a sistemi dinamici. Ogni argomento trattato è accompagnato da numerosi esempi, spesso tratti da campi diversi dall’infor- Programma 1) Introduzione. In questa parte vengono richiamati alcuni argomenti relativi a 238 programmi - LS tecnologie dell’informazione matica, volti ad illustrare il processo di costruzione del modello e l’impiego degli strumenti matematici presentati. Programma Modelli dipendenti da un parametro discreto; ricorrenze lineari e sistemi di ricorrenze lineari di primo ordine; evoluzione e comportamento a lungo termine; equilibrio e stabilità. Modalità d’esame Prova orale. Bibliografia - D.G. LUENBERGER, Introduction to Dynamic Systems: Theory, Models & Applications, J.Wiley, 1979. - A. PASCOLETTI, dispense del corso. LABORATORIO DI TEORIA DEI SISTEMI Finalità del corso Sviluppo di un software per l’analisi e/o la simulazione di un sistema o di una classe di sistemi dinamici. Modalità d’esame Discussione del software sviluppato. TEORIA DELL’INFORMAZIONE Docente Prof. Agostino Dovier Crediti 6 Finalità del corso Il corso si propone di fornire i fondamenti normativi della Teoria dell’Informazione, soffermandosi anche sulle principali applicazioni nell’ambito dei codici per la compressione dei dati e per la correzione degli errori. Programma Il corso si divide in due parti: la codifica di sorgente che ha l’obiettivo di comprimere l’informazione e la codifica di canale mediante la quale si cerca di rilevare e correggere eventuali errori di trasmissione. Codifica di sorgente. Generalità. Codici B-LV. Alberi di codice, univoca e istantanea decodificabilità. Disuguaglianza di Kraft-McMillan. Lunghezza media di un codice. Entropia, Divergenza e Teorema di Shannon. Codici di ShannonFano. Sorgenti di Informazione. Tasso del codice e ottimalità asintotica dei codici di Shannon-Fano. Il codice di Fano ed il codice di Huffman. Entropia condizionata, mutua informazione, autoinformazione. Codice multinomiale e sua asintotica ottimalità. Codici LV-B. Famiglie esaurienti, a prefisso e complete. Alberi e Codici di Tunstall. Ottimalità degli stessi. Codici B-B. Valutazione del tasso in codifica priva di errore. Modelli con errore: codici delta-tipici e Secondo Teorema di Shannon. Codici LV-LV. Codici asintoticamente ottimi. Codici universale di ZivLempel, Ziv-Lempel-Welch, e di Burrows-Wheeler. Codifica di canale. Generalità. Controllo parità, codice a ripetizione e codice di Hadamard. Il modello matematico del canale ed il Teorema di Shannon di canale. Calcolo e significato della capacità su alcune tipologie di canale. Decodifica di canale a massima verosimiglianza sulle stesse. Decodifica a minima distanza di Hamming. Distanza minima di un codice, tasso di correzione e relazioni con la Probabilità di errore. Limitazioni di Singleton, Plotkin, Hamming e Gilbert. Codici Correttori di Errore: introduzione ai codici algebrici. Decodifica usando la Tabella di Slepian. Codici di Hamming. Codici Perfetti: risultati principali. Codici BCH e codici di ReedMuller. Codici ciclici. Definizioni principali, polinomio generatore, matrice generatrice e di controllo. Progetto dei codici 239 programmi - LS tecnologie dell’informazione ciclici a partire dalle radici primitive dell’unità e relazioni con la distanza minima. Codici convolutivi e l’algoritmo di Viterbi. Cenni sui codici segreti: breve storia della crittografia e principali risultati della crittografia a chiave pubblica. Modalità d’esame Prova orale. Bibliografia - F. FABRIS, Teoria dell’Informazione, codici, cifrari, Bollati-Boringhieri, Torino, 2001. - E. BERLEKAMP, Algebraic Coding Theory, McGraw-Hill, 1968. - R. G ALLAGER , Information Theory and Reliable Communication, Wiley, New York, 1968. - F.J. M AC W ILLIAMS , N.J. S LOANE , The Theory of Error Correcting Codes, North Holland, 1977. TEORIE E TECNICHE DI ELABORAZIONE DELLE IMMAGINI Docente Prof. Vito Roberto Crediti 6 Finalità del corso I corsi nell’insieme forniscono una panoramica su principi e tecniche di Riconoscimento di Forme (Pattern Recognition), e in particolare l’analisi, interpretazione e comunicazione di segnali ed immagini. Tutti gli argomenti sono basati su esercitazioni pratiche in laboratorio, con l’utilizzo delle attrezzature e del software del Laboratorio Immagini del Dipartimento di Informatica dell’Università di Udine. Informazioni sul Laboratorio Immagini sono reperibili sul sito web: http://mvl.dimi.uniud.it/ Programma Rappresentazioni di segnali e immagini. Segnali, immagini analogiche e digitali. Rumore nei segnali e nelle immagini. Rappresentazioni statistiche e frequenziali. Acquisizione d’immagini. Analisi delle immagini. Processi di filtraggio d’immagine: frequenziale e statistico. Miglioramento di qualità delle immagini (enhancement). Operatori derivativi ed estrazione di primitive spaziali. Programma delle esercitazioni di TTEI: - segnali statistici; - rappresentazioni frequenziali e filtraggio; - rappresentazione ed elaborazione delle immagini. Viene utilizzato l’ambiente software MATLAB (su licenza The Mathworks Inc.) versione 5.1.0.421, con l’aggiunta dei pacchetti: Signal Processing (vers.4.0.1); Statistics (vers. 2.1.0); Image Processing (vers. 2.0). Bibliografia - Dispense del corso di Teoria e Tecniche di Elaborazione dell’Immagine, a cura del docente. Testi per la consultazione: - R. KLETTE, P. ZAMPERONI, Handbook of Image Processing Operators, Wiley, 1996. - J.C. RUSS, The Image Processing Handbook, CRC Press, 1995. WEB DESIGN Docente Dott. Paolo Omero Crediti 3 Programma Questo corso si colloca in un’area intermediale e interdisciplinare estremamente fluida in cui si incontrano diversi stili comunicativi e diverse discipline. Vengo- 240 no affrontati gli aspetti di base dei linguaggi visivi considerati fondamentali per la comprensione degli scenari reali in cui si sviluppa la formazione e la professione del progettista web che sempre più spesso si trova a coordinare grafica d’autore, direzione artistica, grafica di utente e di sistema. 1 - Introduzione: tre maestri della progettazione visiva contemporanea - La costruzione dell’identità visiva: Saul Bass. - Segnaletiche e modelli di articolazione dell’informazione: Massimo Vignelli. - La forma segue l’emozione: frogdesign (Hartmud Esslinger). - Eventi globali, eventi speciali: format e linguaggi (olimpiadi e grandi eventi). - Tassonomie e Classificazione dei siti web. 2 - I fondamenti: teorie, metodi e tecniche - Aspetti generali di organizzazione del campo visivo e psicologie dalla percezione (le leggi della chiusura, della pregnanza, triangoli di Kanitza, il rapporto figura sfondo, le ambiguità percettive, la trasparenza). - Composizione della pagina: modularità, griglie e layout, allineamenti, grafica invisibile, pagina fluida e pagina fissa, formati e dispositivi di lettura. - Lo spazio tipografico: classificazioni morfologiche e controlli di base degli aspetti legati ai tipi, alle famiglie e alla composizione del testo. Legibility e readability: forma e contenuto. - Tipometria multimediale (stampa, schermo, ecc.). - Le teorie del colore, i modelli percettivi e geometrici, le metriche e colorimetria, accordi e contrasti, simbolismi, aspetti tecnologici. Colore e texture. - Le immagini: fotografia digitale, grafiche in movimento. 3 - Il contesto - La location. - Effetti visivi e macchine grafiche per l’interazione. programmi - LS tecnologie dell’informazione - Nuovi format e dispositivi mobili. - Il corso prevede una esercitazione relativa allo sviluppo dello stile (personalizzazione di un template) di una piattaforma blog (wordpress e/o movabletype). Bibliografia Durante il corso verranno forniti i materiali reperibili in rete. Si raccomanda comunque la consultazione dei seguenti testi: - V. G OTZ , Grids for Internet and Other Digital Media, Ava, Crans-pres-Celigny, 2002. - W. LIDWELL, K. HOLDEN, J. BUTLER, Principi universali del design, Logos, Modena, 2005. - D. NORMAN, Il computer invisibile, Apogeo, Milano, 2000. WEB INFORMATION RETRIEVAL Docente Prof. Stefano Mizzaro Crediti 6 Finalità del corso Il corso mira a introdurre le tematiche principali dell’information retrieval (IR), una disciplina importante storicamente e che ha ricevuto un forte impulso in seguito all’avvento del Web. Infatti, dopo la posta elettronica, l’uso di un motore di ricerca è oggi la seconda attività degli utenti del Web, e svariati utenti del Web usano un motore di ricerca come Google come modalità principale di accesso alla rete. Oltre alle tematiche assodate dell’IR classico, vengono presentate quelle, più recenti, specifiche del mondo Web. Vengono discussi sia argomenti di base sia le correnti linee di ricerca e le tendenze future. 241 programmi - LS tecnologie dell’informazione Programma Il corso è diviso in tre parti: - Information Retrieval classico: modelli concettuali della ricerca d’informazioni, modelli concettuali e formali dei sistemi d’IR, progetto e implementazione di un sistema d’IR, strutture dati e algoritmi di indicizzazione e ricerca, interfacce utente per l’IR, la problematica della valutazione dei sistemi d’IR. - Web Information Retrieval: modelli del Web (forma e dimensioni del grafo del Web, cenni all’analisi delle reti sociali e alle reti piccolo mondo), analisi dei link e della connettività, iperlink e crawling, IR multimediale, meta-motori, progetto e implementazione di un motore di ricerca per il Web, biblioteche digitali. - Tematiche avanzate: IR parallelo e distribuito, ricerca d’informazioni tramite dispositivi mobili e su reti peer-to-peer, problemi fondazionali del settore (ad es., i concetti di informazione e pertinenza), sistemi per il filtraggio d’informazioni, clustering, banche dati specialistiche (ad es., mediche), ecc. Queste tematiche avanzate verranno trattate in forma di attività seminariale, che potrà essere svolta, opzionalmente, dagli studenti. Modalità d’esame Orale. Sono previste anche attività, opzionali e a scelta dello studente ma caldamente consigliate, che portano a un esame semplificato e a una votazione superiore: seminari svolti durante il corso o semplici progetti concordati con il docente. Al corso è possibile affiancare il laboratorio: in tal caso l’attività progettuale è più impegnativa. Bibliografia - R. B A E Z A -Y A T E S , B. R I B E I R O -N E T O , Modern Information Retrieval, Addison Wesley, 1999. ISBN: 020139829X. - R. BELEW, Finding Out About - A Cognitive Perspective on Search Engine Technology and the WWW, Cambridge University Press, 2000. ISBN: 0-521-63028-2. - R. KORFHAGE, Information Storage and Retrieval, Wiley, 1997. ISBN: 0471143383. Molti degli argomenti trattati non sono disponibili su testi, ma solo su articoli scientifici. A lezione verranno comunicati eventuali altri testi e verrà segnalato o fornito altro materiale (tutti i lucidi delle lezioni, pagine Web, dispense, altri testi di riferimento, articoli scientifici, ecc.). WEB SEMANTICO Docente Dott. Alessio Gugliotta Crediti 6 Finalità del corso Ricollegandosi alle nozioni acquisite, anche in laboratorio, sul linguaggio XML lo studente sarà in grado di: - conoscere l’impostazione gerarchica del Web Semantico quale si va affermando attualmente, orientandosi tra i livelli di rappresentazione dell’informazione; - conoscere le principali tecnologie coinvolte, con particolare riguardo alle ontologie; - saper progettare ontologie relative a domini applicativi, allo scopo di realizzare strati di software; - acquisire conoscenze pratiche sulle suddette tecnologie attraverso lezioni in laboratorio; casi di studio; homeworks. Programma 1. Introduzione al Web semantico Si parte da un’analisi critica del Web attuale; si illustrano le motivazioni del Web semantico, fino all’introduzione degli elementi tecnologici principali. 2. Sviluppo di ontologie 242 programmi - LS tecnologie dell’informazione Saranno illustrati alcuni dei metodi per lo sviluppo e gestione delle ontologie, e riportati esempi d’uso e applicazione. Saranno svolte esercitazioni in aula volte all’approfondimento di ontologie usando il linguaggio OWL e lo strumento di sviluppo Protégé. 3. Sviluppo del Web semantico: un approccio a strati Il Web semantico è introdotto seguendo l’approccio a strati: le strutture XML che definiscono l’accesso ai documenti Web; la descrizione e organizzazione delle risorse attraverso il linguaggio RDF; l’attuale proposta di OWL, linguaggio di ontologie per il Web. 4. Strumenti e applicazioni del Web semantico Le applicazioni sono trattate con riferimento alla gestione della conoscenza, personalizzazione e architetture orientate ai servizi. Saranno svolte esercitazioni per lo sviluppo di una semplice applicazione, usando tecnologie e strumenti introdotti durante il corso. Bibliografia - G. A N T O N I O U , F. VAN HARMELEN, A Semantic Web Primer, Cambridge, MA: MIT Press, 2004. - J. DAVIES, R. STUDER, P. WARREN, Semantic Web Technologies. Trends and Research in Ontology-Based Systems, Wiley, 2006. - A. GOMEZ-PEREZ, M. FERNANDEZ-LOPEZ, O. C O R C H O , Ontological Engineering, Springer, 2004. - T. BERNERS-LEE, J. HENDLER, O. LASSILA, The Semantic Web, Scientific American 284,5 (May 2001): 34-43. - T. BERNERS-LEE, Weaving the Web, Harper, 1999. - Semantic Web Vision, a collection of resources: http://www.ics.forth.gr/isl/swprimer/ index2.php?selected=1&opened=6 - OWL Web Ontology Language http:// www.w3.org/TR/owl-ref/ - Protégé project. http://protege. stanford.edu/ - Ontology Development 101: A Guide to Creating Your First Ontology, N.F. Noy and D.L. McGuinness http://www.ksl. stanford.edu/people/dlm/papers/ontology101/ontology101-noy-mcguinness.html - Semantic Web Challenge. A new application award. http://challenge.semanticweb.org/ 243 programmi - LS matematica CORSO DI LAUREA SPECIALISTICA IN MATEMATICA ALGEBRA 3 Docente Prof. Mario Mainardis Crediti 6 Programma Azioni di gruppi, di anelli e di K-algebre. Azioni di gruppi: G-insiemi, sotto-Ginsiemi, omomorfismi, quozienti, orbite, equazione delle orbite, azioni transitive e primitive, applicazioni: Teoremi di Sylow, centro di un p-gruppo finito, Teorema di Schur-Zassenhaus, semplicità dei gruppi speciali lineari proiettivi. Azioni di Anelli: R-moduli, sottomoduli, omomorfismi, quozienti, moduli ciclici, moduli irriducibili, prodotto tensoriale di moduli, teorema di struttura dei moduli finitamente generati su domini a ideali principali, applicazioni: forma canonica razionale, forma di Jordan delle matrici. Azioni di algebre: A-moduli, sottomoduli, omomorfismi, quozienti, moduli ciclici, moduli irriducibili, Teorema di Wedderburn-Artin, cenni sulle rappresentazioni lineari di gruppi. Bibliografia - M. MAINARDIS, Appunti di teoria dei gruppi, file pdf scaricabile dall’indirizzo: http://users.dimi.uniud.it/~mario.maina rdis/classnotes.htm - N. JACOBSON, Basic Algebra 1. - I.N. HERSTEIN, Algebra. - M. ASCHBACHER, Finite Groups. - J. ALPERIN, R.B. BELL, Groups and Representations. ALGEBRA 4 Docente Dott. Maria Silvia Lucido Crediti 6 Finalità del corso Finalità del corso è la classificazione delle algebre di Lie semisemplici in un campo algebricamente chiuso e di caratteristica 0. Programma Definizioni, algebre di matrici, gl(n,K), sl(n, K), u(n,k), t(n,K). Algebre ortogonali e simplettiche. Algebre nilpotenti. Teorema di Engel. Algebre risolubili. Teorema di Lie. Criterio di Kartan. Forma di KIlling. Algebre semisemplici. Teorema di Weyl. Decomposizione in spazi di radici. Rappresentazioni irriducibili di sl(2,K). Proprietà razionali e integrali. Sistemi di radici e loro classificazione. Prerequisiti Geometria 1 e 2; Algebra 1 e 2. ALGEBRA 5 Docente Prof. Giovanni Panti Crediti 6 Finalità del corso Introdurre le nozioni fondamentali di Algebra Commutativa e di Teoria delle Categorie. Programma Anelli commutativi e ideali. Moduli. Localizzazione. Decomposizione primaria. Categorie e funtori. Trasformazioni naturali. 244 programmi - LS matematica Modalità d’esame Esame orale. Bibliografia - A TIYAH , M AC D ONALD , Introduction to Commutative Algebra, Addison Wesley. - ZARISKI, SAMUEL, Commutative Algebra, Graduate Texts in Mathematics n. 28, Springer. - M AC L ANE , Categories for the Working Mathematician, Graduate Texts in Mathematics n. 5, Springer. ANALISI MATEMATICA 6 Docente Prof. Gianluca Gorni Crediti 6 Finalità del corso Introduzione all’Analisi Funzionale: definizione e studio dei principali spazi vettoriali normati di funzioni integrabili, e degli spazi di Hilbert, con applicazione alle serie di Fourier. ANALISI MATEMATICA 5 Docente Prof. Gianluca Gorni Crediti 6 Finalità del corso Completare la formazione di base di Analisi Matematica nel settore delle equazioni differenziali e delle forme differenziali. Programma Integrazione astratta alla Lebesgue, spazi L^p, spazi di Hilbert, serie di Fourier. Modalità d’esame Una prova scritta di esercizi e una prova orale di sola teoria. Bibliografia Da decidere. ANALISI MATEMATICA 7 Programma Equazioni differenziali non lineari: soluzioni massimali, teoremi di esistenza e unicità in grande, fuga dai compatti, criterio dell’asintoto, integrali primi. Integrazione alla Henstock- Kurzweil. Curve parametriche. Curve rettificabili. Formula integrale per la lunghezza. Forme differenziali: integrazione su curve, forme chiuse, forme esatte e localmente esatte, omotopie. Modalità d’esame Una prova scritta di esercizi e una prova orale di sola teoria. Bibliografia G. DE MARCO, Analisi Due. Docente Prof. Fabio Zanolin Crediti 6 Finalità del corso Scopo del corso è quello di presentare alcuni risultati fondamentali dell’Analisi Funzionale lineare e della teoria degli operatori negli spazi di Banach e di Hilbert, in vista anche di possibili applicazioni ad alcune problematiche di Analisi non lineare che verranno trattate nei successivi corsi di Analisi Matematica. Fra gli argomenti che verranno presentati si prevede una rivisitazione dei concetti di compattezza e di completezza negli spazi 245 programmi - LS matematica metrici con particolare riguardo agli spazi di funzioni, i teoremi di Hahn-Banach, di uniforme limitatezza, della mappa aperta, del grafico chiuso, di punto fisso di Brouwer e di Schauder, con alcuni esempi di applicazioni alle equazioni differenziali ed integrali. Modalità d’esame L’esame consta della sola prova orale. Bibliografia Verranno indicati di volta in volta i testi seguiti in base al programma specifico svolto. Verrà fornito inoltre direttamente il materiale utile alla preparazione dell’esame (sotto forma di note, articoli, ecc.) quando questo non sia di facile reperibilità. Agli studenti interessati verrà fornito il file contenente le note del corso in forma dettagliata. ANALISI MATEMATICA 8 Docente Dott. Paolo Baiti di volta in volta tenendo conto anche degli interessi specifici degli studenti che seguiranno il corso e se ne esporranno alcuni sviluppi in vista anche di orientare gli interessati verso possibili problemi di ricerca attuale. Si prevede quindi, se possibile, di cambiare il programma nel corso degli anni, in modo che possano essere presentate in tempi successivi varie diverse tematiche relative all’analisi moderna. Modalità d’esame L’esame consta di una prova scritta (eventuale) e di una prova orale. Bibliografia Verranno indicati di volta in volta i testi seguiti in base al programma specifico svolto. Verrà fornito inoltre direttamente il materiale utile alla preparazione dell’esame (sotto forma di note, articoli, ecc.) quando questo non sia di facile reperibilità. ANALISI MATEMATICA 9 Crediti 6 Docente Prof. Fabio Zanolin Finalità del corso Scopo del corso è quello di introdurre alcuni temi tipici dell’Analisi Funzionale e del Calcolo delle Variazioni, come, ad esempio, gli Spazi di Sobolev, i problemi di minimo per funzionali integrali ed il Metodo Diretto del Calcolo delle Variazioni, problemi di rilassamento, di rappresentazione integrale e di convergenza variazionale Saranno presentate anche alcune applicazioni alle teorie variazionali dell’elasticità lineare e non lineare. Potranno venire trattati anche alcuni argomenti scelti della teoria del controllo ottimo. Data la vastità dei temi previsti, si sceglierà un argomento da approfondire Crediti 6 Finalità del corso Scopo del corso è quello di introdurre alcuni temi tipici dell’Analisi non lineare, come, ad esempio, il calcolo differenziale negli spazi di Banach, la teoria dei punti critici, alcuni metodi nella teoria dei punti fissi, ecc. con applicazioni allo studio delle equazioni differenziali non lineari (ordinarie e a derivate parziali). Potranno venire trattati anche alcuni argomenti scelti dalla teoria dei sistemi dinamici. Data la vastità dei temi previsti, si sceglierà un argomento da approfondi- 246 programmi - LS matematica re di volta in volta, tenendo conto anche degli interessi specifici degli studenti che seguiranno il corso e se ne esporranno alcuni sviluppi in vista anche di orientare gli interessati verso possibili problemi di ricerca attuale. Si prevede quindi, se possibile, di cambiare il programma nel corso degli anni, in modo che possano essere presentate in tempi successivi varie diverse tematiche relative all’analisi moderna. Modalità d’esame L’esame consta della sola prova orale. Bibliografia Verranno indicati di volta in volta i testi seguiti in base al programma specifico svolto. Verrà fornito inoltre direttamente il materiale utile alla preparazione dell’esame (sotto forma di note, articoli, ecc.) quando questo non sia di facile reperibilità. ANALISI NUMERICA 2 Docente Prof. Rossana Vermiglio Crediti 6 Finalità del corso Lo scopo del corso consiste nel fornire la conoscenza dei metodi numerici fondamentali nell’ambito della teoria dell’approssimazione, dell’integrazione e differenziazione attraverso l’analisi delle loro proprietà teoriche di base (stabilità, accuratezza e complessità) e delle loro prestazioni su esempi computazionali. Nel corso verrà utilizzato il software MATLAB sia per l’analisi critica dei risultati numerici ottenuti su esempi test sia per la sperimentazione in laboratorio di alcuni casi di studio. Programma Approssimazione di funzioni: interpolazione polinomiale, il problema della convergenza, interpolazione polinomiale a tratti, splines, trigonometrica; splines parametriche e curve di Bezier; approssimazione di funzioni: miglior approssimazione uniforme (teoria di Chebyshev) e in spazi prehilbertiani (teoria di Fourier); polinomi ortogonali; integrazione numerica; formule di Newton-Cotes, formule composite e adattive, le formule gaussiane;la tecnica di estrapolazione di Richardon e l’integrazione di Romberg, integrali singolari. Differenziazione numerica: metodi alle differenze finite, differenze finite compatte., la tecnica pseudospettrale. Nelle esercitazioni, integrate con esperienze in laboratorio, saranno presentati dei semplici casi di studio di particolare interesse applicativo. Modalità d’esame Prova orale. Bibliografia - Appunti del docente - A. Q UARTERONI , R. S ACCO , F. S ALERI , Matematica Numerica, Springer Verlag Italia, 2000. - L.N. T REFETHEN , Spectral Methods in MATLAB, SIAM, 2000. ANALISI NUMERICA 3 Docente Prof. Rossana Vermiglio Crediti 6 Finalità del corso Negli ultimi anni i modelli matematici descritti da equazioni differenziali per le discipline scientifiche sono diventati sempre più complessi e l’analisi numeri- 247 programmi - LS matematica ca svolge un importante ruolo nell’ambito del calcolo scientifico. Nel corso l’attenzione è focalizzata sui metodi numerici per le equazioni differenziali ordinarie (problemi iniziali e con valori ai limiti) e alle derivate parziali. Per introdurre le idee fondamentali e la teoria matematica necessaria per lo sviluppo e l’analisi di tali metodi, il corso introduce le principali tecniche classiche, senza trascurare però anche problematiche di più recente interesse. Programma Equazioni alle differenze. Equazioni differenziali ordinarie: metodi numerici per problemi a valori iniziali. Metodi ad un passo e a passi multipli. Metodi continui. Problemi Stiff. Stabilità. Integrazione geometrica. Problemi con valori ai limiti. Metodi alle differenze finite, di collocazione e shooting. Formulazione debole del problema con valori ai limiti. Il teorema di Lax-Milgram. Formulazione variazionale. Metodo di Galerkin-elementi finiti. Metodo di Galerkin-spettrale. Metodo di Galerkin generalizzato. Equazioni differenziali alle derivate parziali: le equazioni ellittiche (problema di Poisson), le equazioni paraboliche (equazione del calore), equazioni iperboliche (equazione delle onde) Metodi alle differenze finite. Metodi agli elementi finiti. Potranno inoltre essere inseriti approfondimenti e/o cenni ad altri argomenti tra i quali: metodi numerici per equazioni differenziali algebriche, equazioni differenziali con ritardo, equazioni integrali ed integrodifferenziali di Volterra. Modalità d’esame Prova orale. Bibliografia - Appunti del docente. - A. QUARTERONI, F. SALERI, Modellistica numerica per problemi differenziali, Springer Verlag Italia, 2003. - A. Q UARTERONI , R. S ACCO , F. S ALERI , Matematica numerica, Springer Italia, 2000. ANALISI NUMERICA 4 Docente Prof. Rossana Vermiglio Crediti 6 Finalità del corso Il corso intende fornire un collegamento tra strumenti teorici e computazionali dell’Analisi Numerica e alcuni argomenti di Analisi Funzionale (teoria degli operatori su spazi vettoriali a dimensione infinita,di Hilbert e di Banach) e di Geometria Differenziale (sistemi dinamici su varietà, teoria delle perturbazioni); inoltre, prevede di trattare argomenti avanzati di Algebra Lineare Numerica (matrici strutturate, metodi iterativi non stazionari), ad approfondimento di alcuni contenuti del corso di Analisi Numerica 1. In alternativa ai temi di Algebra Lineare Numerica, gli argomenti avanzati potranno riguardare la risoluzione numerica di equazioni differenziali funzionali di tipo ritardato, equazioni integrali di Volterra con e senza ritardo, trattando la derivazione di metodi numerici, analizzando le proprietà di convergenza e stabilità ad approfondimento di alcuni dei contenuti dei corsi di Analisi Numerica 2 e 3. Programma Cenni di teoria degli operatori lineari su spazi di Banach e di Hilbert. Operatori compatti. Metodi di proiezione e di collocazione per la discretizzazione di operatori integrali e differenziali. Consistenza, convergenza, stabilità di metodi numeri- 248 programmi - LS matematica ci. Risoluzione numerica di problemi mal posti. Regolarizzazione di Tikhonov. Teoria delle perturbazioni per funzioni di matrici. Argomenti avanzati di Algebra Lineare Numerica. Il programma potrebbe svilupparsi in una direzione alternativa includendo degli argomenti avanzati nell’ambito del trattamento numerico (derivazione, analisi della convergenza e stabilità) delle equazioni differenziali con ritardo, delle equazioni integrali di Volterra, equazioni integrali di Volterra con ritardo. Particolare attenzione sarà dedicata alla trattazione numerica dei modelli di dinamica delle popolazioni con struttura. Sono previste anche attività sperimentali in Matlab (facoltative per lo studente). Modalità d’esame Esame orale. Bibliografia - E. TYRTYSHNIKOV, A Brief Introduction to Numerica Analysis, Birkhauser, 1997. - G.W. S TEWART , Matrix Perturbation Theory, Academic Press, 1990. - R. K RESS , Linear Integral Equations, Springer AMS 82, 1989. - A. B E L L E N , M. Z E N N A R O , Numerical Methods for Delay Differential Equations. Numerical Mathematics and Scientific Computation, Oxford Science Publications, Oxford University Press, 2003. - BRUNNER, H.P.J. VAN DER HOUWEN, The Numerical Solution of Volterra Equations, North-Holland, 1986. - Appunti del docente. FISICA MATEMATICA Docente Dott. Stefano Ansoldi Crediti 6 Finalità del corso Introduzione alla Teoria della Relatività (Speciale e Generale) dal punto di vista delle Geometria Differenziale (con un’introduzione di base alle teorie di campo classiche in fisica). Programma Concetti fondamentali in teoria dei campi: dai sistemi discreti ai sistemi continui; il concetto di campo; densità di Lagrangiana, Hamiltoniana, momento; cenni di base alla formulazione Lagrangiana e Hamiltoniana di una teoria di campo; cenni al calcolo delle variazioni in più dimensioni. Complementi di algebra: prodotto tensoriale di spazi vettoriali, il concetto di tensore e di componenti di un tensore, contrazione di tensori; prodotti scalari pseudoEuclidei, segnatura di una metrica, metriche Lorentziane, classificazione di vettori: tipo tempo, tipo spazio e tipo luce. Geometria differenziale: complementi (richiamo di concetti base di topologia, fibrati vettoriali e sezioni di fibrati, partizioni differenziabili dell’unità, curve su varietà, parentesi di Lie e loro proprietà); tensori e campi di tensori su varietà; connessioni e derivata covariante; curvatura; definizione del tensore di Riemann; relazione tra il tensore di Riemann e la derivata covariante seconda di un campo di vettori; componenti del tensore di Riemann in una base di coordinate; proprietà di simmetria del tensore di Riemann; tensore di Ricci, scalare di Ricci; curve auto-parallele e la mappa esponenziale su varietà; geometria Riemanniana e Lorentziana; metriche Riemanniane/ Lorentziane e loro esistenza. Relatività: Relatività Speciale, principio di relatività e legge di propagazione della luce nel vuoto, riflessione di Einstein sui concetti di spazio e tempo, definizione operativa di simultaneità, trasformazioni di Lorentz ed il gruppo di Lorentz; Relatività Generale, sistemi inerziali e non- 249 programmi - LS matematica inerziali, l’esperimento dell’ascensore di Einstein; il principio di equivalenza; il principio di covarianza generale; equazioni di Einstein nel vuoto e loro derivazione da un principio variazionale, proprietà delle equazioni di Einstein, significato fisico del tensore metrico, proprietà di conservazione in fisica classica ed in Relatività Speciale, leggi di conservazione e principio di covarianza generale, il tensore energia impulso e le equazioni di Einstein in presenza di sorgenti. ni. Conduzione e semiconduttori; funzionamento dei dispositivi elettronici a semiconduttore. Cenni sulla computazione quantistica. Relatività speciale e formulazione covariante dell’elettromagnetismo. Cenni sulla fisica delle particelle elementari e la cosmologia. Modalità d’esame Orale (a scelta, anche a progetto). Bibliografia - K.S. KRANE, Modern Physics, 2nd edition, Wiley, 1996. - Appunti di lezione. Bibliografia - Note delle lezioni preparate dal docente (e disponibili anche on-line). Modalità d’esame Per chi frequenta il corso: compiti per casa. Per chi non frequenta il corso: esame orale. FONDAMENTI DELLA MATEMATICA 1 (tace nell’a.a. 2007/08) FISICA MODERNA Docente Prof. Alessandro De Angelis Crediti 6 Crediti 6 Finalità del corso Obiettivo del corso è di fornire una buona conoscenza delle possibilità di definire e sviluppare le nozioni e strutture matematiche fondamentali, e di analizzarle criticamente, alla luce delle principali acquisizioni logico-matematiche del novecento. Pagina del corso http://www.fisica.uniud.it/~deangeli/fis mod/corsofismod.html Finalità del corso Introdurre la Fisica Quantistica e la Relatività. Il corso è indirizzato agli studenti di Fisica Computazionale, Matematica, Informatica e Ingegneria. Prerequisiti Fisica 1 e 2. Analisi applicata alle funzioni di una e più variabili. Programma Caduta della fisica classica. La prima formulazione della meccanica quantistica. Equazione di Schroedinger ed applicazio- Programma Una scelta fra i seguenti argomenti: - sistemi classici e costruttivi per l’Aritmetica e la Teoria degli Insiemi e loro relazioni. La fondazione insiemistica della matematica; - La crisi dei fondamenti, il programma di Hilbert e i teoremi di incompletezza di Godel; - Matematica senza infinito e matematica dell’infinito; - Risultati di coerenza e di indipendenza. 250 programmi - LS matematica Bibliografia - Dispense del docente. - S. FEFERMAN et al. (eds.), Kurt Godel - Collected Works, Vol. I e II, Oxford University Press 1986-1990. - M. SZABO, The Collected Papers of Gerhard Gentzen, North Holland, 1969. - R. S MULLIAN , Godels’s Incompleteness Theorems, Oxford Logic Guides, 1992. - F. ARZARELLO, Matematica dell’Infinito, Vol. I e II, CLU, Torino, 1980. - K. KUNEN, Set Theory: an Introduction to Independence Results, North Holland, 1981. - G. LOLLI, Dagli insiemi ai numeri, Boringhieri, 1994. GEOMETRIA 4 Docente Prof. Paolo Cragnolini Crediti 6 Finalità del corso Il corso si propone di applicare i metodi proiettivi introdotti nel corso di Geometria 3 allo studio delle cubiche piane e dei sistemi lineari. Vengono inoltre presentati gli strumenti di base della topologia generale che saranno applicati ai casi più semplici della classificazione topologica delle ipersuperfici proiettive. Programma La quadrica di Klein. Sistemi lineari di quadriche. Curve proiettive piane, intersezioni con rette, molteplicità. Il teorema di Bezout in forma debole. Classificazione proiettiva delle cubiche piane. Spazi topologici, intorni, chiusi, funzioni continue. Sottospazi topologici, prodotti finiti, quozienti. Compattezza, connessione. Topologia delle coniche, delle quadriche nello spazio tridimensionale e delle cubiche singolari. Bibliografia - E. S ERNESI , Geometria 1, Boringhieri, Torino, 1989. - E. S ERNESI , Geometria 2, Boringhieri, Torino, 1994. - P. CRAGNOLINI, Appunti del corso. GEOMETRIA 5 Docente Prof. Francesco Zucconi Crediti 6 Finalità del corso Il corso è concepito come un’introduzione alla Geometria Differenziale. Programma Varietà differenziabili. Campi di vettori. Teorema egregium. Fibrati vettoriali. Forme differenziali. Cosmologia di De Rham. Nozione di grado e di indice. Cenni sui gruppi di Lie. Bibliografia - An Introduction to Differential Manifolds, D. Barden & C., Thomas Imperial College press, 2003. GEOMETRIA 6 Docente Prof. Francesco Zucconi Crediti 6 Finalità del corso Il corso mira a preparare lo studente alla nozione di funzione meromorfa e a quella di Superficie di Riemann. 251 programmi - LS matematica Programma Analisi locale di una applicazione olomorfa. Formula di Cauchy, analiticità delle funzioni olomorfe. Serie e prodotti infiniti di applicazioni olomorfe. Teorema dei residui e sue applicazioni. Funzioni meromorfe. Funzioni meromorfe notevoli. Nozione di superficie di Riemann. Applicazioni olomorfe tra Superficie di Riemann. Fibrati invertibili su una superficie di Riemann. Teorema di Riemann-Roch. Bibliografia - R. REINOLD, Theory of Complex Functions, G.T.M. Springer-Verlag, New York, 1991. - K. K UNIHIKO , Introduction to Complex Analysis, C.U.P., 1984. - F. OTTO, Lectures on Riemann Surfaces, G.T.M. Springer-Verlag, New-York, 1991. GEOMETRIA 7 Docente Prof. Paolo Cragnolini Crediti 6 Finalità del corso Il corso si propone come un’introduzione allo studio delle curve algebriche utilizzando il linguaggio dell’algebra commutativa. Programma Insiemi algebrici affini. Varietà affini. Proprietà locali delle curve piane. Varietà proiettive. Curve piane proiettive. Varietà quasiproiettive, morfismi, applicazioni razionali. Risoluzione delle singolarità. Il Teorema di Riemann-Roch. Bibliografia Testi consigliati: - W. FULTON, Algebric Curves, Benjamin, New York, 1969. - R. H ARTSHORNE , Algebric Geometry, Springer GTM 52, 1977. - M. MANETTI, Corso introduttivo alla Geometria Algebrica, Scuola Normale Superiore, Pisa, 1998. GEOMETRIA 9 Docente Prof. Francesco Zucconi Crediti 6 Finalità del corso Introduzione alla Geometria Algebrica. Programma - Varietà affini: nozione di spazio tangente, dimensione, punti lisci e punti singolari teorema di uniformizzazione analitica. - Varietà proiettive: definizione, estensione dei concetti dall’affine al caso proiettivo, prodotti, immersione di Segre, corrispondenze teoria dell’eliminazione, teorema di normalizzazione di Noether. - Struttura delle corrispondenze: applicazioni lisce, principio dell’applicazione aperta, teorema principale di Zariski, teorema di connessione di Zariski principio di specializzazione, intersezione di varietà proiettive. - Teorema di Chow. - Grado di una varietà proiettiva: teorema di Bezout. - Sistemi lineari. - Curve proiettive e loro genere. - Geometria birazionale delle superficie algebriche. Nozione di punti lisci e punti singolari di una varietà. 252 programmi - LS matematica Bibliografia - D. MUMFORD, Algebraic Geometry I Complex Projective Varieties, Springer-Verlag, 1976. INFORMATICA 2 Docente Prof. Carla Piazza Crediti 6 Finalità del corso Obiettivo del corso è l’approfondimento sistematico delle tematiche affrontate nel corso di Informatica 1. Argomenti principali del corso sono lo studio, l’analisi e la sintesi di algoritmi, con particolare riferimento all’utilizzo di strutture dati opportune e alla valutazione della loro complessità temporale e spaziale. Verranno, infine, forniti alcuni elementi di teoria della computabilità e di complessità computazionale, con particolare riferimento all’introduzione delle principali classi di complessità temporale e spaziale. È prevista attività di laboratorio con programmazione in linguaggi imperativi. Programma - Cenni di Teoria della Calcolabilità. Nozione intuitiva di algoritmo. Macchine di Turing. Tesi di Church. Macchine di Turing Universali. Teorema dell’arresto. Calcolabilità e Decidibilità. Unlimited Register Machine. - La nozione di Complessità. Complessità in termini di Tempo e Spazio. Criterio uniforme e criterio logaritmico. Tesi di Church estesa. Complessità asintotica. Metodi di risoluzione per equazioni ricorsive di complessità. Classi di Complessità. - Elementi di Algoritmi e Strutture Dati. Strutture dati: Vettori, Record, Liste, Pile, Code, Alberi, Grafi. Algoritmi: HeapSort, Moltiplicazione di Matrici, String Matching, Algoritmi su grafi. Bibliografia - T.H. CORMEN, C.E. LEISERSON, R.L. RIVEST, Introduction to Algorithms, MIT Press, 2nd edition, 2001. - J.E. HOPCROFT, J.D. ULLMAN, Introduction to Automata Theory, Languages and Computation, Addison-Wesley, 1979. - N. CUTLAND, Computability, Cambridge University Press. INFORMATICA 3 Docente Prof. Alberto Policriti Crediti 6 Finalità del corso 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 253 programmi - LS matematica 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. - R. MOTWANI, P. RAGHAVAN, Randomized Algorithms, Cambridge University Press, 1995. - M.J. QUINN, Parallel Computing - Theory and Practice, 2nd edition, McGraw-Hill, 1994. Programma - 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. Crediti 6 Bibliografia - Appunti delle lezioni. - T.H. CORMEN, C.E. LEISERSON, R.L. RIVEST, Introduction to Algorithms, 2nd edition, MIT Press, 2001. - D. GUSFIELD, Algorithms on Strings, Trees and Sequences, Cambridge University Press, 1997. ISTITUZIONI DI LOGICA MATEMATICA 1 (tace nell’a.a. 2007/08) Finalità del corso In questo corso verranno sviluppate alcuni degli argomenti introdotti nei corsi di Logica Matematica 1 e 2. In particolare verranno approfondite la teoria dei modelli e la teoria della ricorsività. Programma Teoremi di Lowenheim-Skolem. Ultraprodotti e loro applicazioni. Il teorema di compattezza e le sue applicazioni. Categoricità. Insiemi definibili e teorie ominimali. Insiemi ricorsivamente enumerabili e loro caratterizzazioni. I teoremi di ricorsione, enumerazione e s-m-n. Relativizazzioni. La gerarchia aritmetica. Il problema di Post e il teorema di Friedberg-Muchnik. Altre applicazioni del metodo finite injury. Modalità d’esame Prova orale. Bibliografia - A. M ARCJA , C. T OFFALORI , A Guide to Classical and Modern Model Theory, Kluwer, 2003. - R. S OARE , Recursively Enumerable Sets and Degrees, Springer, 1987. 254 programmi - LS matematica LOGICA MATEMATICA 2 Docente Prof. Franco Parlamento Crediti 6 Finalità del corso Integrare la preparazione di base di logica matematica e sviluppare una buona padronanza delle parti elementari della teoria assiomatica degli insiemi e della teoria della calcolabilità. Programma A1. Sistemi a la Hilbert. A2. Logica con uguaglianza. A3. Il metodo delle valutazioni classiche. A4. Trasformate di Herbrand e di Skolem. A5. Estensioni definitorie e interpretazioni sintattiche. A6. Semantica insiemistica. A7. Relazioni fra interpretazioni. A8. Compattezza. B1. Assiomatica di Zermelo Fraenkel. B2. Ordinali e naturali. B3. Induzione e ricorsione. B4. Insiemi ben fondati. B5. Cardinali. B6. Assioma della scelta. C1. Funzioni ricorsive e primitive ricorsive. C2. Macchine a registri e macchine di Turino. C3. Codificabilità di programmi e computazioni. C4. Teorema di forma normale di Kleene. C5. Problemi in decidibili. C6. Indecidibilità della logica di Horn. MATEMATICHE COMPLEMENTARI 1 Docente Prof. Alberto Marcone Crediti 6 Pagina del corso http://www.dimi.uniud.it/marcone/MC 2.html Finalità del corso Questo corso si svolgerà interamente in laboratorio ed ha lo scopo di familiarizzare gli studenti con alcuni dei software che stanno trovando ampio utilizzo nella didattica della matematica nelle scuole primarie e secondarie. Programma La prima parte del corso verrà dedicata al programma Cabri per la geometria dinamica. Nella seconda parte del corso si utilizzerà un software di calcolo simbolico (quali Maple, Mathematica, Derive): presumibilmente il programma freeware Maxima. Modalità d’esame Prova pratica con i software. MATEMATICHE COMPLEMENTARI 2 (tace nell’a.a. 2007/08) Modalità d’esame Prova orale. Bibliografia - Appunti del docente. - N. CUTLAND, Computability, Cambridge University Press. Docente Prof. Alberto Marcone Crediti 6 Finalità del corso Fornire alcune competenze utili a chi programmi - LS matematica intende intraprendere la strada dell’insegnamento con l’acquisizione di una prospettiva moderna e avanzata su alcuni argomenti che sono alla base della matematica insegnata nelle scuole superiori allo scopo di fornire i futuri insegnanti di solide basi teoriche riguardo a ciò che insegneranno. Programma In questo corso la geometria ‘classica’ viene affrontata da un punto di vista moderno, attraverso un approccio rigoroso all’assiomatica della geometria piana. Verranno usati diversi modelli della geometria per discutere gli assiomi man mano che vengono introdotti, giungendo ad una familiarità con le problematiche relative alla geometria neutrale (o assoluta). Infine, concentrandosi in particolare sul piano cartesiano e sul piano di Poincaré, verranno presentate le basi della geometria euclidea e di quella non-euclidea iperbolica. Modalità d’esame Prova orale. Bibliografia - R.S. MILLMAN, G.D. PARKER, Geometry. A Metric Approach with Models, Springer, 1991. METODI MONTE CARLO Docente Prof. Furio Ercolessi Crediti 6 Pagina del corso http://www.fisica.uniud.it/~ercolessi/M C/ Prerequisiti Fisica 1; aver frequentato Meccanica Statistica 1. 255 Finalità del corso Lo scopo del corso è di dare le basi teoriche relative ai Metodi Monte Carlo (con enfasi sui metodi basati su catene di Markov), nonché discuterne e sperimentarne l’implementazione pratica e le strategie computazionali in alcuni casi rappresentativi. Viene inoltre introdotto il metodo della dinamica molecolare per le simulazioni atomiche. Programma Fondamenti di teoria della probabilità. Variabili e processi casuali. Generazione di numeri casuali. Distribuzioni di probabilità e loro caratterizzazione. Stima di medie, varianza, errori. Somma di variabili casuali; teorema del limite centrale. Integrazione Monte Carlo. Campionamento secondo una distribuzione. Campionamento con tecniche di reiezione. Metodi di riduzione della varianza: importance sampling, riduzione analitica, variabili antitetiche, stratificazione. Catene di Markov: cammini casuali, bilancio dettagliato, metodo di Metropolis-Rosenbluth-Teller. Applicazioni in meccanica statistica. Il problema del commesso viaggiatore attraverso annealing simulato (con laboratorio). Funzione di autocorrelazione e convergenza all’equilibrio. Modelli su reticolo e sul continuo. Il modello di Ising in due dimensioni (con laboratorio). Campionamento non-Boltzmann, campionamento a ombrello. Simulazione Monte Carlo di sistemi Lennard-Jones (con laboratorio). Calcolo della pressione. Monte Carlo in insiemi diversi da quello canonico. Introduzione alla dinamica molecolare. L’ipotesi ergodica. Statistica del campionamento. Geometria e condizioni al contorno periodiche. Integrazione temporale: algoritmo di Verlet e predictor-corrector. Errori. Instabilità di Lyapunov. Calcolo di forze e energia. Leggi di conservazione. Organizzazione di un calcolo di dinamica 256 molecolare. Simulazione di dinamica molecolare di sistemi Lennard-Jones (con laboratorio). Calcolo di proprietà statiche e dinamiche. Funzioni di autocorrelazione. Dinamica molecolare negli insiemi NVT e NPH. Cenni rapidi a metodi Monte Carlo quantistici: variational Monte Carlo e diffusion Monte Carlo. Modalità d’esame Realizzazione di un esperimento numerico, assegnato individualmente almeno due settimane prima dell’esame, sua descrizione in una relazione scritta, e discussione orale della relazione. programmi - LS matematica Programma Panoramica dei modelli trattati: a tempo continuo o discreto, lineari e non lineari. Stabilità dei punti di equilibrio. Modelli dipendenti dallo spazio e dal tempo. Cicli, biforcazioni, catastrofi. Modelli caotici. Modalità d’esame Prova orale. Bibliografia - E. BELTRAMI, Mathematics for Dynamic Modelling, Academic Press, 1987. OTTIMIZZAZIONE 1 Bibliografia - M.H. K ALOS , P.A. W HITLOCK , Monte Carlo Methods, Wiley, New York, 1986. - D. F RENKEL , B. S MIT , Understanding Molecular Simulation, 2nd edition, Academic Press, 2002. - M.P. A LLEN , D.J. T ILDESLEY , Computer Simulation of Liquids, Oxford, 1987. - Materiale preparato o selezionato dal docente; appunti di lezione. MODELLISTICA E SIMULAZIONE Docente Prof. Adriano Pascoletti Crediti 6 Finalità del corso Illustrazione del processo di costruzione di un modello attraverso la discussione di una serie di esempi non banali. Particolare attenzione è rivolta alla valutazione critica del campo di validità del modello, ai problemi computazionali connessi e all’intreccio tra ragionamento formale e intuizioni relative alla fisica del sistema da modellare. Docente Prof. Franca Rinaldi Crediti 6 Finalità del corso L’ottimizzazione (o programmazione matematica) è una disciplina che gioca un ruolo di primo piano nel processo di modellizzazione e risoluzione dei complessi problemi di decisione che emergono in ambito applicativo. Il corso si propone di presentare una panoramica delle principali classi di problemi di ottimizzazione, quali la programmazione lineare, la programmazione lineare intera e l’ottimizzazione combinatoria, e delle rispettive metodologie risolutive. Nel modulo I verranno anche richiamate alcune nozioni di base di tre argomenti fondamentali per lo sviluppo del programma di ottimizzazione: la teoria della complessità computazionale, l’analisi convessa e la teoria dei grafi. Per ulteriori informazioni sulla ricerca operativa e sull’ottimizzazione si consulti il sito dell’INFORMS (Institute for Operations Research and Management Science), www.informs.org. 257 programmi - LS matematica Programma Introduzione ai problemi di ottimizzazione (4 ore) Problemi reali, modelli e algoritmi risolutivi. Esempi di problemi di ottimizzazione continua e discreta: problemi di programmazione lineare, non lineare e lineare intera. Esempi di problemi di ottimizzazione combinatoria: Bin Packing, Knapsack, Assegnamento tridimensionale, Set Covering, Set Packing, Set Partitioning, Soddisfattibilità. Cenni di teoria dei grafi (4 ore) Definizioni fondamentali. Matrici di incidenza. Tagli e cammini. Connessione e forte connessione. Alberi, cricche e insiemi stabili. Problemi di ottimizzazione su grafi. Cenni di complessità computazionale (6 ore) Algoritmi e loro complessità. Problemi di decisione. Classi P ed NP. Trasformazioni polinomiali ed NP-completezza. Esempi di problemi NP-completi. Cenni di analisi convessa (10 ore) Definizioni fondamentali. Teorema di Caratheodory. Operazioni algebriche su insiemi. Proprietà topologiche. Teoremi di separazione. Poliedri. Funzioni convesse. Proprietà differenziali. Minimizzazione di funzioni convesse. Programmazione lineare (12 ore) Definizioni fondamentali ed esempi. Geometria della PL. Dualità. Condizioni di complementarità. Cenni sulla complessità della PL. Metodo del simplesso. Analisi di sensistività. Programmazione lineare intera (12 ore) Introduzione ed esempi. Matrici totalmente unimodulari. Metodo del branch and bound. Metodo del branch and cut. Diseguaglianze di Chvital e tagli di Gomory. Modalità d’esame L’esame consiste in una prova scritta e in una prova orale. Bibliografia - P. SERAFINI, Ottimizzazione, Zanichelli, Bologna, 2000. OTTIMIZZAZIONE 2 Docente Prof. Franca Rinaldi Crediti 6 Finalità del corso Il corso completa la presentazione dei principali argomenti dell’ottimizzazione matematica, sviluppando la teoria delle reti di flusso, la programmazione dinamica ed alcuni temi fondamentali di ottimizzazione combinatoria. Programma Teoria delle reti di flusso (14 ore) Definizioni fondamentali. Il problema di flusso a costo minimo. Il metodo del simplesso adattato alle reti di flusso. Il problema del massimo flusso e l’algoritmo di Dinic-Karzanov. Il problema del cammino minimo e l’algoritmo di Dijkstra. L’algoritmo ‘out-of-kilter’. Programmazione dinamica (12 ore) Il principio di ottimalità e l’equazione di Bellman. L’algoritmo di Bellman-Ford. L’algoritmo per reti acicliche. L’algoritmo di Floyd-Warshall. Applicazioni della PD a: il problema del knapsack, il problema dell’allineamento di due stringhe, un problema di schedulazione. Ottimizzazione combinatoria (22 ore) Problemi di accoppiamento e assegnamento. Algoritmi per l’accoppiamento di cardinalità massima. Ottimizzazione su matroidi. Algoritmo di Kruskal per il problema dell’albero di supporto di costo minimo. Combinatorica poliedrale. Analisi poliedrale del problema dell’accoppiamento di costo minimo, del problema del 258 programmi - LS matematica commesso viaggiatore e del problema dell’insieme stabile. Modalità d’esame L’esame consiste in una prova scritta ed in una prova orale. Bibliografia - P. SERAFINI, Ottimizzazione, Zanichelli, Bologna, 2000. OTTIMIZZAZIONE 3 Docente Prof. Franca Rinaldi Crediti 6 Finalità del corso Obiettivo del corso è presentare le principali metodologie modellistiche utilizzate nel settore della gestione e pianificazione integrata dei trasporti e della produzione e le relative tecniche risolutive. A completamento della panoramica dei metodi dell’Ottimizzazione, vengono inoltre introdotte alcune tecniche euristiche di ricerca locale e la classe degli algoritmi approssimati. Al termine del corso lo studente dovrebbe essere in grado di modellare un problema non troppo complesso di gestione e pianificazione e proporre adeguati strumenti di risoluzione. Programma - Algoritmi approssimati e metodi di ricerca locale (12 ore). Algoritmi approssimati e schemi di approssimazione polinomiali. Esempi. Metodi di ricerca locale: Simulated Annealing e Tabu Search. Esempi. - Problemi di routing (18 ore). Problemi di arc routing. I problemi del postino cinese e del postino rurale e loro varianti. Problemi di node routing. Il Travelling Salesman Problem, il Vehicle Routing Problem e loro varianti. Per i diversi problemi verranno presentati modelli di ILP e metodi di risoluzione esatti e/o euristici. - Problemi di schedulazione (18 ore). Definizione, analisi e classificazione dei problemi di schedulazione. Problemi ad una macchina. Problemi su macchine parallele. Open Shop, Flow Shop e Job Shop. Modalità d’esame L’esame consiste in una prova orale. Bibliografia - Materiale bibliografico fornito dal docente. OTTIMIZZAZIONE 4 (tace nell’a.a. 2007/08) Crediti 6 Finalità del corso Nel corso vengono presentati i concetti ed i risultati fondamentali della teoria delle decisioni e della teoria dei giochi. Programma Teoria delle decisioni (16 ore). Criteri di decisione in caso di incertezza. Criteri di decisione in caso di rischio. Valore atteso dell’informazione. Utilizzazione di informazione aggiuntiva tramite il teorema di Bayes. Alberi di decisione. Funzione di utilità. Valutazione della funzione di utilità tramite lotterie. Valutazione soggettiva delle probabilità tramite lotterie. Teoria dei giochi (16 ore). Forma estesa e forma normale. Strategie ed equilibri di Nash. Giochi ad informazione perfetta. Giochi a due persone a somma nulla. Strategie pure e miste. Teorema Minimax. Giochi a somma non costante. Gio- 259 programmi - LS matematica chi a n persone. Giochi non cooperativi. Giochi cooperativi. Coalizioni e imputazioni. Nucleo di un gioco. Valore di Shapley. Corso monografico. Crediti 6 Programma Concetti base: unità di misura, relatività speciale, sezioni d’urto, rate di decadimento. Particelle ed interazioni fondamentali: quarks, leptoni, bosoni di gauge, interazioni elettromagnetiche, forti e deboli. Leptoni: elettroni e positroni, muoni e tau, neutrini. Metodi sperimentali: acceleratori di particelle e rivelatori di particelle. Adroni e forze nucleari. Risonanze. Struttura degli adroni e scattering deep in elastico. Stranezza. Modello a quark degli adroni. Quark pesanti. Il meccanismo GIM. La matrice CKM. Unificazione elettrodebole e bosoni W e Z. Correnti neuter. Simmetrie discrete e interazioni deboli: parità, coniugazione di carica e CP. Quantocromodinamica (QCD): colore, accoppiamento forte, sconfinamento, getti di particelle. Il meccanismo di Higgs e la ricerca sperimentale dell’Higgs. Pagina del corso http://www.fisica.uniud.it/%7Ecobal/pa rticelle_welcome.html Modalità d’esame Compiti per casa e relazione finale su un articolo a scelta. Finalità del corso Questo corso è un’introduzione alla Fisica delle Particelle e delle Interazioni Fondamentali. Si discutono alcune delle proprietà dei costituenti fondamentali della materia e le loro interazioni, così come i metodi sperimentali e le tecnologie coinvolte. In generale, intenzione del corso non è quella di derivare modelli teorici da principi primi, ma piuttosto di confrontare previsioni fenomenologiche con risultati sperimentali, così da introdurre le conoscenze necessarie per affrontare questo tipo di ricerca. Il corso è indirizzato agli studenti di Fisica Computazionale, Matematica, Informatica e Ingegneria. Bibliografia - PERKINS, High Energy Physics, 4th edition, Addison-Wesley. - B.R. MARTIN, G. SHAW, Particle Physics, 2nd edition, Wiley. - Appunti di lezione, disponibili al sito: http://www.fisica.uniud.it/~cobal/particelle_welcome.html Modalità d’esame L’esame consiste in una prova orale. Bibliografia - Materiale bibliografico fornito dal docente. PARTICELLE E INTERAZIONI FONDAMENTALI Docente Dott. Marina Cobal Prerequisiti Fisica 1 e 2; Fisica Moderna; eventualmente Meccanica Quantistica. PROBABILITÀ 2 Docente Prof. Paolo Vidoni Crediti 6 Programma 1. Richiami di Calcolo delle Probabilità. 2. 260 programmi - LS matematica Valori attesi e distribuzioni condizionate. 3. Introduzione ai processi stocastici. 4. Catene di Markov. 5. Processi di Poisson. 6. Martingale. 7. Moto browniano. Modalità d’esame L’esame consiste in una prova orale. Bibliografia - Per gli argomenti 1 e 2: - Appunti delle lezioni e, come consultazione e complemento, alcuni paragrafi della Dispensa Probabilità 2. Per gli argomenti 3, 4, 5, 6, 7: - Appunti delle lezioni e, come consultazione: - D. BOSQ, H.T. NGUYEN, A Course in Stochastic Processes: Stochastic Models and Statistical Inference, Kluwer, 1996. STATISTICA 1 Docente Prof. Luigi Pace Crediti 6 Finalità del corso Il corso presenta un’introduzione all’inferenza statistica e ad alcune importanti applicazioni, sulla base del concetto di funzione di verosimiglianza. Programma - Richiami e complementi di Calcolo delle Probabilità Le variabili casuali normale bivariata e normale multivariata; la distribuzione di combinazioni lineari e forme quadratiche di componenti di una normale multivariata. - Modelli statistici Il problema; modelli parametrici e non parametrici; modelli statistici parametrici notevoli, il controllo empirico di un modello statistico (metodi grafici: probabilty plot, stima della densità). - Inferenza statistica: le procedure fondamentali Il problema; definizioni di base; stima puntuale; problemi di previsione; verifica delle ipotesi statistiche; stima intervallare; i test di Kolmogorov-Smirnov; la simulazione. - La funzione di verosimiglianza Motivazione e definizioni di base (funzione score, informazione osservata); lo stimatore di massima verosimiglianza; i test di verosimiglianza; parametri di interesse e parametri di disturbo: la verosimiglianza profilo; verosimiglianze penalizzate e selezione del modello. Modalità d’esame L’esame consiste in una prova scritta seguita, per i sufficienti, da una prova orale. Entrambe le prove dovranno essere superate nello stesso appello. Bibliografia - Appunti delle lezioni. - A. AZZALINI, Inferenza Statistica: un’introduzione basata sul concetto di verosimiglianza, Springer-Verlag, 1992. - L.J. BAIN, M. ENGELHARDT, Introduction to Probability and Mathematical Statistics, PWS-Kent Publishing co., 1992. STATISTICA 2 Docente Prof. Luigi Pace Crediti 6 Finalità del corso Il corso approfondisce l’inferenza statistica parametrica basata sul concetto di verosimiglianza e tratta alcune applicazioni riferite a modelli di regressione. Programma - Verosimiglianza: aspetti teorici. 261 programmi - LS matematica L’immutabilità della verosimiglianza; statistiche sufficienti e verosimiglianza; distribuzioni campionarie asintotiche delle principali quantità di verosimiglianza e loro uso come approssimazioni. - Procedure statistiche ottimali. Stimatori non distorti e efficienti tra i non distorti; test più potenti; intervalli di confidenza più accurati; i teoremi fondamentali. - I modelli binomiali. Stima della probabilità; verifica di ipotesi e test dei segni per mediana e quantili; test per la probabilità comune; il modello di regressione logistica; l’algoritmo di Newton-Raphson per la determinazione di una soluzione dell’equazione di verosimiglianza. - I modelli multinomiali. Stima delle probabilità di cella; test chi-quadrato di adattamento; test di indipendenza in una tabella di contingenza; test di omogeneità di più tabelle. - I modelli Poisson. Stima e verifica di ipotesi sul parametro; modelli di regressione. - I modelli normali. Stima e verifica di ipotesi sui parametri; modelli di regressione lineare. Modalità d’esame L’esame consiste in una prova scritta seguita, per i sufficienti, da una prova orale. Entrambe le prove dovranno essere superate nello stesso appello. Bibliografia - Appunti delle lezioni. - A. AZZALINI, Inferenza Statistica: un’introduzione basata sul concetto di verosimiglianza, Springer-Verlag, 1992. - L. PACE, A. SALVAN, Teoria della Statistica, CEDAM, 1996. TEORIA DEGLI INSIEMI Docente Prof. Alberto Marcone Crediti 6 Finalità del corso Il corso mira a introdurre gli studenti ad alcuni argomenti e tecniche della teoria degli insiemi, scelti sia per il loro interesse intrinseco che per le loro connessioni con altre parti della matematica. Programma - L’ipotesi del continuo e l’aritmetica cardinale. - L’assioma di Martin e alcune sue conseguenze. - L’ipotesi di Suslin. - Modelli interni e dimostrazioni di consistenza relativa. - Forcing e indipendenza di CH e di GCH. Modalità d’esame Prova orale. Durante il corso vengono assegnati esercizi a scadenza settimanale. Lo svolgimento corretto degli esercizi permette di abbreviare il colloquio orale. Bibliografia - T. JECH, Set Theory. The Third Millenium Edition, Springer, 2003. - K. KUNEN, Set Theory. An Introduction to Independence Proofs, North-Holland, 1980. - K. CIESIELSKI, Set Theory for the Working Mathematician, Cambridge UP, 1997. TEORIA DEI NUMERI 1 Docente Prof. Pietro Corvaja Crediti 6 Finalità del corso Il corso si propone di fornire un’introdu- 262 programmi - LS matematica zione ad un aspetto classico e centrale della teoria dei numeri: la soluzione di equazioni in numeri razionali. Il corso non richiede prerequisiti specifici. Programma Punti razionali su rette e quadriche: esistenza di punti nel caso classico e modulo p; parametrizzazione. Cubiche: generalità e legge di gruppo. Punti razionali su cubiche; struttura del gruppo, teorema di Mordell. Punti di torsione, teorema di Lutz-Nagell, algoritmi di calcolo. Applicazioni della teoria ad algoritmi di fattorizzazione di numeri interi. Modalità d’esame Solo orale. Bibliografia - S ILVERMAN , T ATE , Rational Points on Elliptic Curves. - C ASSELS , Elliptic Curves, LMS Lecture Notes. - Verranno distribuiti occasionalmente appunti e dispense di esercizi. TOPOLOGIA 1 Docente Prof. Dikran Dikranjan Crediti 6 Programma - Metriche, pseudometriche e ultrametriche. Norme. Metriche p-adiche. - Applicazioni uniformemente continue. - Introduzione di una topologia (tramite insiemi aperti, insiemi chiusi, intorni, chiusura, convergenza di Moore e Smith). - Completezza (esistenza del completamento). - Teorema di Heine-Cantor e spazi di Atsuji (senza dimostrazioni). - Teorema di Banach del punto fisso. - Teorema di Cantor. - Teorema di Baire delle categorie. - Funzioni ed applicazioni continue. - Base di uno spazio topologico. Spazi di Lindeloff, spazi separabili. - Assiomi di separazione. - Topologie indotte da ordini parziali (Alexandrov-Tucker). - Teorema del grafico chiuso. - Teorema di Tichonov dell’immersione in cubi di Tichonov. - Spazi normali. - Compattezza e le sue forme equivalenti. - Compattezza numerabile, pseudocompattezza, paracompattezza. - Compattificazioni: compattificazione di Alessandrov di uno spazio localmente compatto. - Spazi topologici connessi. - Lo spazio delle componenti connesse. - Lemma di Shura-Bura. - Lo spettro di un anello commutativo. - Dualità di Stone. - Anelli di funzioni continue. Bibliografia - Appunti del docente. Altri testi: - R. ENGELKING, General Topology, Helderman Verlag, Berlin. 1989. - J. K ELLEY , General Topology, D. Van Nostrand Company, New York, 1959. TOPOLOGIA 2 (tace nell’a.a. 2007/08) Crediti 6 Finalità del corso Fornire un’introduzione ai gruppi topologici. Non sono richiesti prerequisiti specifici tranne la buona conoscenza del materiale coperto dai corsi di algebra, geome- 263 programmi - LS matematica tria e analisi del primo biennio della laurea di primo livello in matematica. Programma 1. Richiami della topologia generale: metriche, completezza, basi, assiomi di separazione, compattezza e connessione. 2. Introduzione del concetto di gruppo topologico e prime proprietà. 3. Il gruppo quoziente e teorema dell’omomorfismo per i gruppi topologici. 4. I sottogruppi chiusi di Rn, il toro di dimensione n. 5. I gruppi dei numeri p-adici. 6. Invarianti cardinali dei gruppi abeliani astratti: gruppi abeliani liberi, rango libero e p-rango; gruppi abeliani divisibili. 7. Invarianti cardinali dei gruppi topologici: peso, densità, carattere, e pseudocarattere. 8. Il teorema di metrizzazione di Birkhoff-Kakutani. 9. Gruppi completi e completamento di un gruppo topologico. 10. Gruppi connes- si, componente connessa di un gruppo topologico. 11. Gruppi localmente compatti, teorema di Baire, teoremi della mappa aperta. 12. Teorema di PeterWeyl per i gruppi compatti abeliani. 13. Il gruppo duale di un gruppo localmente compatto abeliano. 14. Teorema di dualità di Pontryagin. Modalità d’esame Solo orale. Bibliografia - Appunti del corso (disponibili sul sito del docente). - D. DIKRANJAN, I. PRODANOV, L. STOYANOV, Topological Groups, Marcel Dekker Inc., New York-Basel, 1989. - A. ORSATTI, Introduzione ai gruppi abeliani astratti e topologici, Quaderni dell’Unione Mat. Italiana, Pitagora Ed., Bologna, 1979. 264 programmi - LS fisica computazionale CORSO DI LAUREA SPECIALISTICA IN FISICA COMPUTAZIONALE ANALISI NUMERICA Docente Prof. Rossana Vermiglio Crediti 6 Finalità del corso Completare o integrare le conoscenze di base dello studente nell’ambito dell’analisi numerica attraverso lo studio, la sperimentazione e l’analisi critica dei principali algoritmi per la risoluzione di alcuni problemi della matematica del continuo, che si incontrano nella fisica, biologia computazionale e ingegneria. Programma Approssimazione di funzioni: interpolazione, il problema della convergenza, interpolazione polinomiale a tratti, splines; approssimazione di funzioni: miglior approssimazione uniforme e in spazi prehilbertiani; polinomi ortogonali; integrazione numerica; formule di NewtonCotes, formule composite e adattive, le formule gaussiane; introduzione ai metodi numerici per equazioni differenziali. Introduzione ai metodi spettrali. Nelle esercitazioni integrate con esperienze in laboratorio saranno presentati dei semplici casi di studio di particolare interesse applicativo. Modalità d’esame Prova orale. Bibliografia - V. C O M I N C I A L I , Analisi numerica, McGraw Hill, 1990. - D. BINI, M. CAPOVANI, O. MENCHI, Meto- di numerici per l’algebra lineare, Zanichelli, 1988. - R. BEVILACQUA, D. BINI, M. CAPOVANI, O. M ENCHI , Metodi Numerici, Zanichelli, 1992. - G. M ONEGATO , Fondamenti di calcolo numerico, CLUT, 1998. - G.W. STEWART, Afternotes on Numerical Analysis, SIAM, 1996. - L.N. T REFETHEN , Spectral Methods in Matlab, SIAM, 2000. CHIMICA Docente Prof. Alessandro Del Zotto Crediti 6 Finalità del corso Il corso si prefigge l’obiettivo di fornire allo studente le nozioni basilari della Chimica Generale, in particolare i fondamenti della struttura della materia e le sue possibili trasformazioni chimiche e chimico-fisiche. Viene dato notevole risalto alla struttura molecolare e all’equilibrio chimico con particolare approfondimento dei concetti di acidità, basicità e pH. Il corso prevede una breve trattazione dei fondamenti della Chimica Inorganica. Programma - Fondamenti della teoria atomica e stechiometria. Particelle elementari. Atomo, elemento, isotopo, molecola, ione. Massa atomica: valori assoluti e scala relativa. Massa molecolare. Mole e numero di Avogadro. Formulazione dei composti chimici. Le equazioni chimiche ed il loro bilanciamento. - Struttura dell’atomo. Brevi cenni di teoria atomica. Orbitali atomici, loro rappresentazione grafica. L’atomo polielettroni- 265 programmi - LS fisica computazionale co e le configurazioni elettroniche degli elementi. - Legame chimico. Energia di ionizzazione, di affinità elettronica ed elettronegatività. Il legame chimico: covalente, ionico, metallico. Formalismo di Lewis, regola dell’ottetto. Teoria VSEPR e struttura. Orbitali molecolari, teoria LCAO. Orbitali sigma e pi-greco. Orbitali ibridi sp, sp2 e sp3. Orbitali delocalizzati e risonanza. Legame a ponte di idrogeno. - Stato liquido e soluzioni. Transizioni di fase ed equilibri tra fasi. Tensione di vapore di solidi e liquidi. Diagrammi di stato, il diagramma di stato dell’acqua. La soluzione. Concentrazione della soluzione. Legge di Raoult e proprietà colligative. Pressione osmotica. - Cinetica chimica. Velocità della reazione chimica. Legge cinetica Meccanismo di reazione. Legge di Arrhenius ed energia di attivazione. - Equilibrio chimico. Concetto di equilibrio. Legge d’azione di massa e costante di equilibrio. Principio dell’equilibrio mobile. Equilibri in soluzione acquosa. Acidi e basi. Prodotto ionico dell’acqua: Kw. Acidi e basi forti. Acidi e basi deboli, Ka e Kb, coppie coniugate. Il pH, calcolo del pH. Soluzioni tampone. - Elettrochimica. Reazioni redox. Potenziale d’elettrodo ed equazione di Nernst. Elettrodo standard ad idrogeno e scala dei potenziali standard di riduzione. Pile e forza elettromotrice. - Chimica inorganica. Tavola periodica degli elementi. Gruppi e periodi, blocchi s, p, d ed f. Proprietà chimiche e chimicofisiche degli elementi in relazione alla loro configurazione elettronica. Elementi fondamentali del blocco p: carbonio, azoto, ossigeno e loro principali composti. Composti inorganici naturali ed industriali di elevato interesse. Modalità d’esame Test scritto e successivo esame orale. Bibliografia Testi consigliati: - Appunti di lezione. - R.E. DICKERSON, H.B. GRAY, G.P. HAIGHT , Principi di Chimica, Ed. Grasso, Bologna. - S ACCO , Fondamenti di Chimica, CEA, Milano. COMPLEMENTI DI MECCANICA Crediti 6 Programma Geometria delle masse. Cinematica dei sistemi rigidi. Grandezze dinamiche dei sistemi materiali. Teoremi generali della meccanica dei sistemi materiali discreti. Statica dei sistemi materiali. Dinamica dei sistemi materiali. Meccanica analitica. Bibliografia I testi adottati saranno comunicati agli studenti all’inizio del corso. COSMOLOGIA E ASTROFISICA DELLE PARTICELLE Docente Prof. Persic Dott. Francesco Longo Dott. Riccardo Valdranini Crediti 6 Finalità del corso La ricerca di punta sta volgendo molta attenzione alla fisica astroparticellare, in particolare come campo di studio della fisica delle particelle ad energie non accessibili in esperimenti di laboratorio. A loro volta tali studi contribuiscono ad 266 approfondire la conoscenza della natura dell’Universo e delle sorgenti celesti. Scopo del corso è di introdurre lo studente alla comprensione degli attuali modelli cosmologici e delle sorgenti cosmiche di particelle di alta energia, nonché di passare criticamente in rassegna i diversi strumenti di rivelazione. Prerequisiti Particelle e Interazioni Fondamentali. Programma Parte I: Big Bang e sue implicazioni: breve introduzione alla relatività generale, modelli cosmologici, osservabili in Cosmologia, materia oscura, formazione delle strutture, Universo inflazionario. Parte II: Osservazioni dell’Universo dopo la Ricombinazione: neutrini, raggi cosmici, raggi gamma. Parte III: Rivelatori di sorgenti astrofisiche: richiami sull’interazione radiazione materia, rivelatori per raggi cosmici, X e gamma, strategie per la progettazione di nuovi strumenti. Approcci numerici alla fisica astroparticellare: presentazione dei codici numerici: DarkSUSY, CMBfast, esempio di problema ad N-corpi, CORSIKA, GalProp, Geant4. Modalità d’esame Tesina di approfondimento su un argomento trattato a lezione, preferibilmente con applicazione numerica. Colloquio. Bibliografia - L. B ERGSTROM , A. G OOBAR , Cosmology and Particle Astrophysics, Wiley. - J.A. PEACOCK, Cosmological Physics, Cambridge University Press. - M.S. LONGAIR, High Energy Astrophysics, Cambridge University Press. programmi - LS fisica computazionale FISICA DELLE ALTE ENERGIE Docenti Prof. Alessandro De Angelis Dott. Barbara De Lotto Crediti 6; dei 6 crediti, 2 sono di laboratorio (lo studente può anche scegliere i soli crediti di teoria). Finalità del corso Illustrare uno o più argomenti di ricerca in fisica delle alte energie. Il corso è indirizzato agli studenti di Fisica Computazionale, Matematica, Informatica e Ingegneria orientati alla ricerca, e agli studenti di Dottorato. Prerequisiti Nozioni di Fisica Quantistica e Relatività. Programma Articoli selezionati su argomenti di fisica e astrofisica delle alte energie; analisi dei dati di un esperimento. Modalità d’esame Seminario da parte dello studente su un argomento del corso scelto insieme ai docenti. Bibliografia - Articoli selezionati. FISICA MODERNA Docente Prof. Alessandro De Angelis Crediti 6 Pagina del corso http://www.fisica.uniud.it/~deangeli/fis mod/corsofismod.html 267 programmi - LS fisica computazionale Finalità del corso Introdurre la Fisica Quantistica e la Relatività. Il corso è indirizzato agli studenti di Fisica Computazionale, Matematica, Informatica e Ingegneria. Prerequisiti Fisica 1 e 2; Analisi applicata alle funzioni di una e più variabili. Programma Caduta della fisica classica. La prima formulazione della meccanica quantistica. Equazione di Schroedinger ed applicazioni. Conduzione e semiconduttori; funzionamento dei dispositivi elettronici a semiconduttore. Cenni sulla computazione quantistica. Relatività speciale e formulazione covariante dell’elettromagnetismo. Cenni sulla fisica delle particelle elementari e la cosmologia. - Struttura delle equazioni di NavierStokes (b). - Equazioni di diffusione monodimensionale. - Equazioni di diffusione in 2 e 3 dimensioni. - Equazioni di convezione lineari. - Equazioni di convezione non lineari: equazione di Burger. - Equazioni di Navier-Stokes. - Altri metodi per le equazioni di NavierStokes (2 ore). - Simulazione di flussi turbolenti (10 ore). - Reynolds Averaged Navier-Stokes (RANS). - Eddy Simulation (LES). - Direct Numerical Simulation (DNS). - Ottimizzazioni dell’efficienza e accuratezza computazionale (4 ore). FLUIDODINAMICA E TURBOLENZA Modalità d’esame Per chi frequenta il corso: compiti per casa. Per chi non frequenta il corso: esame orale. Bibliografia - K.S. KRANE, Modern Physics, 2nd edition, Wiley, 1996. - Appunti di lezione. FLUIDODINAMICA COMPUTAZIONALE Docente Dott. Luca Cortelezzi Crediti 6 Programma - Introduzione (2 ore). - Metodi di discretizzazione (4 ore). - Soluzione delle equazioni di NavierStokes (26 ore). Docente Prof. Alfredo Soldati Crediti 6 Prerequisiti Fisica Generale. Programma 1. Introduzione alla Dinamica dei Fluidi (10 h): - analisi dimensionale e Proprietà fisiche; - richiami di Statica; - forze esercitate da un fluido in moto. Dinamica di una sfera immersa in un fluido. 2. Equazioni di Bilancio (8 h): - conservazioni di Massa, Quantità di moto e Energia; - fluidi Newtoniani; Equazioni di Navier Stokes; - soluzioni Esatte: Flussi Unidirezionali. 3. Soluzioni Approssimate (16 h): 268 programmi - LS fisica computazionale - adimensionalizzazione; - creeping flow; - teoria di Reynolds - della lubrificazione; - moto potenziale; - autosimilarità: Strato Limite, Getti e Scie. 4. Instabilità e Turbolenza (14 h): - instabilità; - equazioni di Conservazione Mediate Secondo Reynolds (chiusura); - leggi di chiusura; - leggi di scala e auto-preservazione in flussi esterni e confinati. INFORMATICA 1 Docente Prof. Fabio Alessi Crediti 6 Finalità del corso Informatica 1 intende fornire un nucleo di conoscenze informatiche su cui sviluppare successive competenze specialistiche. In particolare, il corso fornisce gli strumenti per lo sviluppo di programmi imperativi mediante tecniche di raffinamento e strutturazione modulare del codice. Parallelamente affronta la realizzazione di strutture dati di più comune impiego. Programma Nozioni generali Introduzione ai concetti di algoritmo e di programma. Cenni all’architettura di Von Neumann. Rappresentazione dell’informazione numerica e non numerica. Codice macchina. Introduzione ai linguaggi di basso e alto livello. Programmazione Scomposizione dei problemi e progettazione di algoritmi per raffinamenti successivi. Componenti base e costrutti di un linguaggio impera- tivo. Funzioni e procedure. Passaggio dei parametri. Ricorsione e modello operazionale di procedure ricorsive. Relazione tra ricorsione e iterazione. Linguaggi di riferimento: Java e C. Strutture dati Specifica astratta delle strutture dati e diversità della loro implementazione. Strutture dati statiche, semidinamiche e dinamiche. Modalità d’esame Prova orale. Bibliografia - S. MIZZARO, Introduzione alla programmazione con il linguaggio Java, Franco Angeli, 1999. - Appunti delle lezioni. INFORMATICA 2 Docente Prof. Vitaliano Milanese Crediti 6 Finalità del corso Informatica 2 estende e completa le conoscenze acquisite con Informatica 1, introducendo il paradigma della programmazione ad oggetti e le metodologie per lo sviluppo di programmi basati su classi. Programma Nozioni generali Incapsulamento delle informazioni. Classi come astrazioni di dati e di modelli di funzionamento. Oggetti quali istanze autonome di classi. Cenni ai sistemi multithreading e concorrenti. Interazione con l’ambiente operativo secondo il modello di gestione degli eventi. Programmazione Progettazione di algoritmi basati sullo sviluppo di componenti modulari interagenti. Componenti base e costrutti di un lin- 269 programmi - LS fisica computazionale guaggio ad oggetti. Classi, oggetti, metodi e messaggi. Gerarchie di classi ed ereditarietà. Polimorfismo. Gestione delle eccezioni. Linguaggi di riferimento: Java e C++. Complementi Progettazione di software per la realizzazione di interfacce grafiche. Cenni all’architettura client/server. Applet Java per applicazioni di rete. Modalità d’esame Prova orale. Bibliografia - S. MIZZARO, Introduzione alla programmazione con il linguaggio Java, Franco Angeli, 1999. - Appunti delle lezioni. LABORATORIO DI ANALISI DEI DATI Docente Dott. Vincenzo Vitale Crediti 6 Finalità del corso Con il presente corso si intende introdurre: 1) l’analisi statistica di base su dati sperimentali; 2) uno strumento di calcolo professionale (ROOT) per la manipolazione, analisi e presentazione grafica di dati; 3) esempi reali di analisi dei dati in esperimenti di fisica. Programma - Parte 1: 1.1) errori sperimentali; 1.2) probabilità e statistica; 1.3) distribuzioni; 1.4) test di ipotesi e aggiustamento di parametri; 1.5) interpretazione di stime. - Parte 2: 2.1) introduzione del sistema ROOT: un framework per l’analisi dati object-oriented; 2.2) presentazione grafica di dati (1dim e 2dim); 2.3) macro-programmi per l’analisi di dati con ROOT. - Parte 3: 3.1) esempi di esperimenti di fisica e analisi dei dati. Bibliografia Testi facoltativi: - M. CAPORALONI, La misura e la valutazione della sua incertezza nella fisica sperimentale, Zanichelli. - G. C OWEN , Statistical Data Analysis, Oxford Sc. - L. LYONS, Statistics for Nuclear and Particle Physicists, Cambridge Univ. Press. LABORATORIO DI ELETTRONICA Docente Prof. Lorenzo Santi Crediti 6 Pagina del corso http://www.fisica.uniud.it/~milotti/Dida tticaUD/Elettronica/ArgomentiSvolti.ht ml Finalità del corso Lo scopo del corso è di fornire le basi per la comprensione dell’elettronica moderna. Il corso include anche una serie di sessioni di laboratorio. Programma Circuits. Introduzione alla Fisica dei semiconduttori. Diodi, transistor bipolari e FET. La fabbricazione dei circuiti integrati digitali. La famiglia logica TTL. Memorie RAM, DRAM etc. Convertitori ADC e DAC. La tecnologia di una moderna applicazione (il lettore di CD ROM). Modalità d’esame L’esame consiste in una prova pratica. Bibliografia - HOROWITZ, HILL, The Art of Electronics, 270 Cambridge University Press. - Dispense del corso. LABORATORIO DI STRUMENTI E MISURE DI FISICA Docenti Dott. Hans Grassmann Prof. Paolo Giannozzi Crediti 6 Finalità del corso Eseguire esperimenti di fisica aiuta lo studente ad acquisire una conoscenza più profonda delle leggi fondamentali di fisica e delle relazioni fra di loro. Da un punto di visto pratico il corso aiuta lo studente a capire che capacità servono per la ricerca fondamentale e per la ricerca applicata industriale, e come acquisire queste capacità. Programma Gli esperimenti includono meccanica classica, relatività, elettromagnetismo, ottica, termodinamica e fluidodinamica. La maggior parte degli esperimenti viene eseguita ed analizzata usando il computer. Agli studenti viene chiesto di spiegare il loro lavoro in ‘mini pubblicazioni’ e di presentare e difendere il lavoro in ‘mini seminari’. A conclusione viene eseguito un esperimento virtuale, usando un programma di simulazione numerica. Prerequisiti Fisica 1 e 2 per matematica; Fisica per informatici. programmi - LS fisica computazionale - U. AMALDI, Fisica, a cura di A. Chiari e E. Milotti, Zanichelli. - Dispense. MECCANICA QUANTISTICA Docente Prof. Paolo Giannozzi Crediti 6 Finalità del corso Lo scopo del corso è di trasmettere gli elementi di base necessari alla risoluzione numerica di problemi di meccanica quantistica non relativistica con particolare enfasi per problemi di fisica atomica. Il corso è organizzato in una serie di lezioni teoriche in cui vengono presentati i concetti fisici e numerici necessari, e in sessioni pratiche e homework in cui gli studenti sono chiamati a mettere in pratica le nozioni acquisite mediante la realizzazione e l’utilizzo di codici numerici. MECCANICA STATISTICA Docente Dott. Gilberto Giugliarelli Crediti 6 Pagina del corso http://www.fisica.uniud.it/~giugliarelli/MeccanicaStatistica1.html Modalità d’esame Prova orale. Finalità del corso Il corso ha lo scopo di fornire le conoscenze alla base dei fondamenti statistici della termodinamica e gli strumenti e i metodi della meccanica statistica. Bibliografia - P.A. TIPLER, Corso di Fisica, Zanichelli. Prerequisiti Fisica Moderna. programmi - LS fisica computazionale Programma Richiami di termodinamica. Prima e seconda legge. Equilibrio termico e temperatura. Relazioni di Maxwell ed equazione di Gibbs-Duhem. Equilibrio e stabilità. Insieme microcanonico e canonico. Insiemi generalizzati e insieme grancanonico. Fluttuazioni in sistemi di particelle non-correlate. Gas di fotoni e gas ideale di particelle reali. Elettroni nei metalli. Gas ideale classico e limite classico. Gas ideale di particelle classiche senza struttura. Gas diluito di atomi e di molecole diatomiche. Modello di Ising e Lattice Gas. Rottura di simmetria e lunghezza di correlazione. Teoria di campo medio. Trattamento variazionale della teoria di campo medio. Introduzione alla teoria del gruppo di rinormalizzazione. Applicazione al modello di Ising bidimensionale. Traiettorie e traiettorie Monte Carlo. Campionamento di tipo non-Boltzmann. Modalità d’esame L’esame comprende una prova scritta finale e una breve prova orale. Durante il corso vengono effettuati 3 accertamenti parziali che possono esonerare lo studente dalla prova scritta finale. Bibliografia - D. C HANDLER , Introduction to Modern Statistical Mechanics, Oxford University Press, 1987. METEOROLOGIA COMPUTAZIONALE Docente Dott. Fulvio Stel Crediti 6 Finalità del corso - Fornire agli studenti le conoscenze di 271 base inerenti alla fluidodinamica e termodinamica atmosferica nonché gli strumenti analitici atti ad analizzare i principali fenomeni che avvengono nella bassa atmosfera (troposfera); - Fornire agli studenti gli strumenti numerici necessari (essenzialmente il modello numerico di nuova generazione WRF) per effettuare simulazioni sull’evoluzione dell’atmosfera. Al termine del corso gli studenti saranno in grado di analizzare in maniera critica i principali fenomeni meteorologici che avvengono nella troposfera e di affrontare il problema delle simulazioni numeriche sia con finalità di previsione che di analisi di eventi. Programma 1. Le grandezze fondamentali (6 ore): struttura verticale dell’atmosfera; modalità di trasporto dell’energia; bilancio energetico Terra-Sole. 2. Termodinamica (6 ore): processi adiabatici; temperatura potenziale; temperatura equivalente potenziale instabilità idrostatica e condizionale. 3. Fluidodinamica in sistemi rotanti (6 ore): traiettorie e linee di flusso; coordinate naturali e sferiche; operatori in coordinate sferiche; derivate materiali e locali; equazioni fondamentali. 4. Applicazioni delle equazioni fondamentali (6 ore): vento geostrofico, termico, ciclostrofico e di gradiente; atmosfera barotropica e baroclina; instabilità barotropica e baroclina, fronti e frontogenesi; instabilità simmetrica. 5. Suddivisione dell’atmosfera in scale (4 ore): i principali fenomeni in ciascuna scala. 6. Simulazioni modello numerico WRF (18 ore): descrizione del modello numerico e sue caratteristiche; inizializzazione del modello; simulazione e visualizzazione dei risultati. 272 programmi - LS fisica computazionale Modalità d’esame Orale. Bibliografia - WRF Numerical Model. http://www.wrfmodel.org/ - J.A. DUTTON, Dynamics of Atmospheric Motion, Dover, 1995. - J.R. HOLTON, An Introduction to Dynamic Meteorology, Academic Press, 1992. - C.F. BOHREN, B.A. ALBRECHT, Atmospheric Thermodynamics, Oxford University Press, 1998. METODI MONTE CARLO Docente Prof. Furio Ercolessi Crediti 6 Pagina del corso http://www.fisica.uniud.it/~ercolessi/M C/ Finalità del corso Lo scopo del corso è di dare le basi teoriche relative ai Metodi Monte Carlo (con enfasi sui metodi basati su catene di Markov), nonché discuterne e sperimentarne l’implementazione pratica e le strategie computazionali in alcuni casi rappresentativi. Viene inoltre introdotto il metodo della dinamica molecolare per le simulazioni atomiche. Prerequisiti Fisica 1; aver frequentato Meccanica Statistica 1. Programma Fondamenti di teoria della probabilità. Variabili e processi casuali. Generazione di numeri casuali. Distribuzioni di probabilità e loro caratterizzazione. Stima di medie, varianza, errori. Somma di variabili casuali; teorema del limite centrale. Integrazione Monte Carlo. Campionamento secondo una distribuzione. Campionamento con tecniche di reiezione. Metodi di riduzione della varianza: importance sampling, riduzione analitica, variabili antitetiche, stratificazione. Catene di Markov: cammini casuali, bilancio dettagliato, metodo di Metropolis-Rosenbluth-Teller. Applicazioni in meccanica statistica. Il problema del commesso viaggiatore attraverso annealing simulato (con laboratorio). Funzione di autocorrelazione e convergenza all’equilibrio. Modelli su reticolo e sul continuo. Il modello di Ising in due dimensioni (con laboratorio). Campionamento non-Boltzmann, campionamento a ombrello. Simulazione Monte Carlo di sistemi Lennard-Jones (con laboratorio). Calcolo della pressione. Monte Carlo in insiemi diversi da quello canonico. Introduzione alla dinamica molecolare. L’ipotesi ergodica. Statistica del campionamento. Geometria e condizioni al contorno periodiche. Integrazione temporale: algoritmo di Verlet e predictor-corrector. Errori. Instabilità di Lyapunov. Calcolo di forze e energia. Leggi di conservazione. Organizzazione di un calcolo di dinamica molecolare. Simulazione di dinamica molecolare di sistemi Lennard-Jones (con laboratorio). Calcolo di proprietà statiche e dinamiche. Funzioni di autocorrelazione. Dinamica molecolare negli insiemi NVT e NPH. Cenni rapidi a metodi Monte Carlo quantistici: variational Monte Carlo e diffusion Monte Carlo. Modalità d’esame Realizzazione di un esperimento numerico, assegnato individualmente almeno due settimane prima dell’esame, sua descrizione in una relazione scritta, e discussione orale della relazione. 273 programmi - LS fisica computazionale Bibliografia - M.H. K ALOS , P.A. W HITLOCK , Monte Carlo Methods, Wiley, New York, 1986. - D. F RENKEL , B. S MIT , Understanding Molecular Simulation, 2nd edition, Academic Press, 2002. - M.P. A LLEN , D.J. T ILDESLEY , Computer Simulation of Liquids, Oxford, 1987. - Materiale preparato o selezionato dal docente; appunti di lezione. METODI NUMERICI PER LA STRUTTURA ELETTRONICA Docente Prof. Paolo Giannozzi Crediti 6 Finalità del corso Il corso presenta metodi avanzati di simulazione per il calcolo della struttura elettronica di atomi, molecole e sistemi condensati. Scopo di questi approcci è la descrizione accurata delle interazioni atomiche e la spiegazione a livello quantistico dei fenomeni fisici di materiali reali, con lo studio di un largo spettro di proprietà fisiche dello stato elettronico fondamentale e con estensione agli stati eccitati (proprietà strutturali, vibrazionali, elettroniche, magnetiche e ottiche). Prerequisiti Struttura della Materia. Programma - Teoria del funzionale densità (DFT). Proprietà di atomi e ioni. - La struttura elettronica delle molecole. La struttura elettronica dei solidi. - Metodo del tight-binding per il calcolo delle bande. - Pseudopotenziali ed onde piane. Energia totale di un solido. - Derivate dell’energia totale di un solido: forze e fononi. Modalità d’esame L’esame è costituito da una prova pratica da svolgere al calcolatore, utilizzando gli strumenti sviluppati durante il corso. METODI STOCASTICI PER SISTEMI QUANTISTICI A MOLTI CORPI (tace nell’a.a. 2007/08) Crediti 6 Finalità del corso Questo corso ha l’obiettivo di fornire allo studente le conoscenze ed i mezzi necessari ad affrontare problemi di molte particelle interagenti, in regime quantistico, con tecniche stocastiche. L’enfasi principale è sulla predizione di proprietà di stato fondamentale, con metodi di Monte Carlo quantistico che hanno analogie strette con problemi classici di diffusione. Saranno anche dati cenni a trattamento di sistemi a temperatura finita, con il metodo degli integrali sul cammino. Prerequisiti Meccanica Statistica. Programma - Monte Carlo Variazionale. - Processi di diffusione ed equazione di Fokker-Planck. - Evoluzione di Schrodinger in tempo immaginario e processi di diffusione. - Approcci alternativi al Monte Carlo di Diffusione. - Cenni agli integrali sul cammino e mapping quantistico/classico: il PIMC. - Cenno alla teoria delle funzioni di risposta. 274 programmi - LS fisica computazionale MODELLISTICA E SIMULAZIONE Docente Prof. Adriano Pascoletti Crediti 6 Finalità del corso Illustrazione del processo di costruzione di un modello attraverso la discussione di una serie di esempi non banali. Particolare attenzione è rivolta alla valutazione critica del campo di validità del modello, ai problemi computazionali connessi e all’intreccio tra ragionamento formale e intuizioni relative alla fisica del sistema da modellare. Programma Panoramica dei modelli trattati: a tempo continuo o discreto, lineari e non lineari. Stabilità dei punti di equilibrio. Modelli dipendenti dallo spazio e dal tempo. Cicli, biforcazioni, catastrofi. Modelli caotici. Modalità d’esame Prova orale. Bibliografia - E. BELTRAMI, Mathematics for Dynamic Modelling, Academic Press, 1987. PARTICELLE E INTERAZIONI FONDAMENTALI Docente Dott. Marina Cobal Crediti 6 Pagina del corso http://www.fisica.uniud.it/%7Ecobal/pa rticelle_welcome.html Finalità del corso Questo corso è un’introduzione alla Fisica delle Particelle e delle Interazioni Fondamentali. Si discutono alcune delle proprietà dei costituenti fondamentali della materia e le loro interazioni, così come i metodi sperimentali e le tecnologie coinvolte. In generale, intenzione del corso non è quella di derivare modelli teorici da principi primi, ma piuttosto di confrontare previsioni fenomenologiche con risultati sperimentali, così da introdurre le conoscenze necessarie per affrontare questo tipo di ricerca. Il corso è indirizzato agli studenti di Fisica Computazionale, Matematica, Informatica e Ingegneria. Prerequisiti Fisica 1 e 2; Fisica Moderna; eventualmente Meccanica Quantistica. Programma Concetti base: unità di misura, relatività speciale, sezioni d’urto, rate di decadimento. Particelle ed interazioni fondamentali: quarks, leptoni, bosoni di gauge, interazioni elettromagnetiche, forti e deboli. Leptoni: elettroni e positroni, muoni e tau, neutrini. Metodi sperimentali: acceleratori di particelle e rivelatori di particelle. Adroni e forze nucleari. Risonanze. Struttura degli adroni e scattering deep in elastico. Stranezza. Modello a quark degli adroni. Quark pesanti. Il meccanismo GIM. La matrice CKM. Unificazione elettrodebole e bosoni W e Z. Correnti neuter. Simmetrie discrete e interazioni deboli: parità, coniugazione di carica e CP. Quantocromodinamica (QCD): colore, accoppiamento forte, sconfinamento, getti di particelle. Il meccanismo di Higgs e la ricerca sperimentale dell’Higgs. Modalità d’esame Compiti per casa e relazione finale su un articolo a scelta. 275 programmi - LS fisica computazionale Bibliografia - PERKINS, High Energy Physics, 4th edition, Addison-Wesley. - B.R. MARTIN, G. SHAW, Particle Physics, 2nd edition, Wiley. - Appunti di lezione, disponibili al sito: http://www.fisica.uniud.it/~cobal/particelle_welcome.html QUANTUM COMPUTING Docente Prof. Alessandro De Angelis Crediti 6 complessità. Teoria quantistica della computazione. Algoritmi quantistici. Possibili realizzazioni sperimentali. Cenni di teoria quantistica dell’informazione. Argomenti avanzati di teoria dell’informazione quantistica. Modalità d’esame L’esame si svolgerà sotto forma di discussione di una tesina su argomenti di ricerca inerenti il corso. Bibliografia - Appunti del docente. - M. NIELSEN, I. CHUANG, Quantum Computation and Quantum Information, Cambridge University Press, 2000. Pagina del corso http://www.fisica.uniud.it/~riccardo/teaching/physics/qc2001.html Finalità del corso Scopo del corso è di fornire un’introduzione al Quantum Computing, sia negli aspetti di base sia in quelli più avanzati. Nella prima parte del corso verranno discussi ed analizzati i fondamenti matematici e concettuali della meccanica quantistica; nella seconda parte verranno applicati tali concetti alla teoria della computazione quantistica, analizzandone i contenuti innovativi e sottolineandone le differenze rispetto alla teoria classica. Il corso fornirà anche alcune nozioni di base su argomenti di punta della ricerca in questo campo, quali la teoria quantistica dell’informazione ed il teletrasporto quantistico. Prerequisiti Fisica Moderna. Programma Basi matematiche. Spazi di Hilbert. Meccanica quantistica. Sistemi composti. Teoria classica della computazione e della RELATIVITÀ GENERALE (tace nell’a.a. 2007/08) Crediti 6 Finalità del corso Il corso si propone di discutere argomenti avanzati di relatività generale. Programma Geometria differenziale. Teoria di Einstein della gravitazione. Formalismi lagrangiano e hamiltoniano in relatività generale. Problema ai valori iniziali. Onde gravitazionali. Struttura globale di uno spaziotempo. Buchi neri. Effetti quantistici in un campo gravitazionale. Prerequisiti Fisica Moderna. Modalità d’esame Il candidato terrà un seminario, della durata complessiva di circa un’ora, su un argomento fuori programma concordato con il docente. Al termine del seminario, seguirà un breve esame orale su argomenti sviluppati durante il corso. 276 programmi - LS fisica computazionale Bibliografia - R. D’I NVERNO , Introducing Einstein’s Relativity, Clarendon, 1992. - R.M. WALD, General Relativity, University of Chicago Press, 1984. - Appunti del docente. SIMULAZIONI ATOMISTICHE DI MATERIALI Docente Prof. Furio Ercolessi Crediti 6 Pagina del corso http://www.fisica.uniud.it/~ercolessi/SA / Finalità del corso Il corso si propone di fornire allo studente le conoscenze necessarie per capire, organizzare ed effettuare simulazioni a temperatura finita di sistemi condensati atomici e molecolari - solidi, liquidi, difetti, superfici, nanostrutture, clusters, sistemi organici - utilizzando i metodi della dinamica molecolare, Monte Carlo e tecniche affini. Il corso è costituito da tre linee parallele e relativamente indipendenti tra loro per quanto riguarda il materiale presentato in ciascuna di esse, ma con frequenti collegamenti trasversali. Nella prima vengono presentati aspetti teorici e pratici legati ai metodi di simulazione; nella seconda vengono discusse le proprietà dei materiali che sono più spesso oggetto di investigazione mediante simulazione; nella terza, importante per acquisire familiarità con tecniche e codici di calcolo, vengono effettuate delle misure su sistemi fisici mediante simulazione in modo da caratterizzarli sotto vari punti di vista. Ogni settimana una lezione viene dedicata a una discussione dei risultati e dei problemi ottenuti, e alla preparazione del lavoro per la settimana seguente. Prerequisiti Metodi Monte Carlo; Struttura della Materia. Programma I. Metodi di simulazione: A p p r o s s i mazione di Born-Oppenheimer. Indicatori della presenza di interazioni a molti corpi fra atomi. Potenziali a colla/embedded atom. Dinamica molecolare tightbinding. Potenziali da principi primi: indicazioni da tight binding, potenziali bond order per semiconduttori. Potenziali coulombiani: metodo delle somme di Ewald. Cenni ai force fields per sistemi organici. Molecole con dinamica vincolata (algoritmo SHAKE). Richiami di termodinamica. Dinamica molecolare negli insiemi NVT (Nose-Hoover) e NPT (Andersen, Parrinello-Rahman). Metodi per calcoli di energia libera: integrazione termodinamica; metodo di Bennett delle distribuzioni sovrapposte. Cenni su umbrella sampling. Calcolo di energia libera di solidi. Dinamica browniana (Langevin). Sistemi non in equilibrio: teorema di fluttuazione-dissipazione, e metodo di Bennett-Chandler per il calcolo di costanti di reazione di eventi rari. Algoritmi veloci per la dinamica molecolare: liste dei vicini e metodo delle celle, parallelizzazione mediante decomposizione spaziale, parallelizzazione mediante algoritmi sistolici. II. Proprietà dei materiali: Teoria dell’elasticità nei cristalli: costanti elastiche, strain, stress. Vibrazioni reticolari e fononi. I difetti nei solidi: difetti puntiformi e loro stabilità termodinamica. Ruolo dei difetti nelle proprietà meccaniche. Termodinamica delle superfici: superficie di Gibbs, energia libera di superficie e tensione superficiale. Coefficiente di diffusione: leggi di Fick, equazione di Ein- 277 programmi - LS fisica computazionale stein. Capillarità e legge di Laplace. Tensore di stress di superficie. Formula di Kirkwood-Buff per il calcolo dello stress. Energia libera di superfici cristalline: modello di Kossel. Costruzione di Wulff e sua dimostrazione. Legame analitico fra energia libera di superficie e forma di equilibrio; analogie con altri casi termodinamici. Surface stiffness. Sfaccettamento. Interazioni tra steps e forme di equilibrio a T finita, comportamento di Pokrovski-Talapov. Transizione di irruvidimento delle superfici. Diagrammi di fase di sostanze pure; equazione di ClausiusClapeyron. Diagrammi di fase di sistemi a due componenti: soluzioni, decomposizione spinodale, nucleazione e crescita, leghe a soluzione solida e leghe eutettiche. Fusione e non-fusione superficiale. III. Attività al computer: Verranno effettuate simulazioni su un sistema fisico, e in questo ambito verranno discussi metodi per il calcolo di funzioni di correlazione e varie proprietà strutturali, vibrazionali, termodinamiche del sistema. Modalità d’esame Realizzazione di un esperimento numerico, assegnato individualmente almeno due settimane prima dell’esame, sua descrizione in una relazione scritta, e discussione orale della relazione. Bibliografia - D. F RENKEL , B. S MIT , Understanding Molecular Simulation, 2nd edition, Academic, 2001. - M.P. A LLEN , D.J. T ILDESLEY , Computer Simulation of Liquids, Oxford, 1989. - J.I. G ERSTEN , F.W. S MITH , The Physics and Chemistry of Materials, Wiley, 2001. - M.C. DESJONQUERES, D. SPANJAARD, Concepts in Surface Physics, 2nd edition, Sprinter, 1996. - Materiale preparato o selezionato dal docente; appunti di lezione. STRUTTURA DELLA MATERIA Docente Prof. Paolo Giannozzi Crediti 6 Finalità del corso Lo scopo del corso è di fornire gli argomenti di base della fisica atomica, molecolare e dello stato solido, nell’ambito di un approccio rigoroso basato sul formalismo della Meccanica Quantistica; affronto di alcuni semplici problemi risolvibili in modo analitico. Programma Fondamenti di Fisica Atomica: atomo di H e atomi idrogenoidi (spettri, autofunzioni, regole di selezione); atomi alcalini e difetto quantico; atomo di He; approssimazione di campo centrale; il sistema periodico degli elementi. Fondamenti di Fisica Molecolare: il legame molecolare; approssimazione adiabatica; molecole biatomiche; classificazione degli stati elettronici; orbitali molecolari; spettri rotovibrazionali. Fondamenti di Fisica dello Stato Solido: strutture cristalline (reticoli diretto e reciproco, diffrazione); coesione; proprietà vibrazionali; elettroni liberi; elettroni nei cristalli. Modalità d’esame L’esame consta di tre provette scritte in itinere (o in alternativa di una prova scritta finale su tutto il programma) ed eventualmente di una prova orale. Bibliografia - Appunti di lezione (on-line e cartacei). - C OLOMBO , Elementi di Struttura della Materia, Hoepli. - KITTEL, Introduzione alla Fisica dello Stato Solido, Boringhieri. - EISBERG, RESNICK, Quantum Physics of Atoms, Molecules, Solids, Nuclei and Particles, J. Wiley. - BRANDSEN, JOACHAIN, Physics of Atoms and Molecules, Longman. general information and curricula 281 general information and curricula FACULTY OF MATHEMATICAL, PHYSICAL AND NATURAL SCIENCES Location and web site The Faculty is located in via delle Scienze, 208 (Loc. Rizzi) Udine - Tel. ++39043 2558681-4-7 - Fax ++39043 2558682; the Faculty web site has the following address: http://www.uniud.it/didattica/facoltà; request for information can be addressed to: [email protected] Courses The Faculty of Mathematical, Physical and Natural Sciences offers four kinds of courses: - Laurea courses: three-year courses aimed at obtaining the Laurea Degree. These courses require the student to get 180 ECTS credits * which can be obtained from exams and other activities (such as thesis, stage, etc.). - Laurea specialistica courses: two-year courses which can be followed by students who have previously obtained the Laurea Degree. They are aimed at extending and refining the knowledge and competences acquired in the three-year laurea courses. They allow the students to get the Laurea Specialistica Degree. They require 120 credits. - Master courses: aimed at acquiring specific professional competences. First Level Master Courses are devoted to students with the Laurea degree, whereas Second Level Master Courses are devoted to students with the Laurea Specialistica Degree. Both kinds of courses require 60 credits. * Courses are structured on a new measure of formative activity, made up of university formative credits (ECTS). One ECTS corresponds to 25 working hours by the student, generally divided into 8 hours of classroom lessons and 17 hours of individual study. - PhD courses: aimed at obtaining the highest level of qualification, with specific attention for research and top professional competences; they require three year attendance and a final research thesis. In the Academic Year 2007-08 the Faculty will offer the following courses: Laurea courses: Computer Science Mathematics Web and Multimedia Technologies Biotechnologies - course organized jointly with the Faculties of Medicine, Agriculture and Veterinary Medicine First level Master courses: Open Distance Learning Geographical Information Systems (GIS) Laurea Specialistica courses: Computer Science Computational Physics Information Technology Mathematics Statistic and Computer Science for Enterprise Management – course organized jointly with the Faculty of Economics PhD courses: Computer Science Mathematics and Physics ENTRANCE REQUIREMENTS Laurea courses require the High School Diploma or some equivalent degree obtained abroad. Application requests can be submitted from July 13, 2007 to September 21, 2007. The request should be presented directly to the Student Offices (Segreteria Studenti) located by the Faculty site. In special cases, the request can be presented later; in any case, not later than December 31, 2007. 282 The submission requests to the admission test for the course in Biotechnology are received by the Student Offices of the Faculty of Veterinary Medicine (same location) from July 13, 2007 to September 6, 2007. Prerequisites for access to Laurea courses In order to help the first-year students, the Faculty organizes an Introductory course for the Computer Science and the Web and Multimedia Technology courses. This course will be held at the site of the Faculty, Teaching Room H, from September 3 to September 14, each day, (Monday to Friday) from 9 am to 1 pm (except on September 10, when the course will be held from 2 pm to 7 pm teaching room 51). On September 19 a final test will be held beginning at 9.30 am, in Teaching Rooms H, I and 51. Analogously, the Faculty organizes an Introductory course for the Mathematics first-year students, from September 10 to September 21. Moreover, are online tests (accessible through the Faculty web site) is available for self evaluation. Information is available in the Faculty web site. The first-year students of the Biotechnology course are invited to follow the Introductory course organized for the Mathematics students. Pre requisites for access to Laurea Specialistica courses Foreign students willing to apply to the Laurea Specialistica courses area kindly requested to contact the Student Offices. Application requests are accepted from July 13 to November 5, 2007. Delays are accepted for special cases, but not later than April 15, 2008. general information and curricula TEACHING AND RESEARCH FACILITIES Departments Research and advanced training are carried on within the following three Departments: Dipartimento di Matematica e Informatica via delle Scienze, 208 (loc. Rizzi) 33100 Udine Tel. ++390432558400 Fax: ++390432558499 http://www.uniud.it/ricerca/strutture/di partimenti_scientifica/dimi Dipartimento di Fisica via delle Scienze, 208 (loc. Rizzi) 33100 Udine Tel. ++390432558210 Fax: ++390432558222 http://www.uniud.it/ricerca/strutture/di partimenti_scientifica/difa Dipartimento di Scienze Statistiche via Treppo, 18 33100 Udine Tel. ++390432275570 Fax: ++390432503240 http://www.uniud.it/ricerca/strutture/di partimenti_economica/diss Laboratories Training during regular courses is supported by several laboratories which allow the students to experiment practical skills. Laboratories are located in the Faculty and in Departments. Libraries Students can exploit the services provided by the following university libraries: - Centro Interdipartimentale dei Servizi Bibliotecari di Scienze, located in via delle Scienze, 208 (loc. Rizzi) - Udine - Tel. ++390432558561. 283 general information and curricula For any information: http://cisbscienze.bib.uniud.it/ or [email protected] - Centro Interdipartimentale dei Servizi Bibliotecari di Economia, located in via Tomadini, 30/a - Udine - Tel. ++390432249600. http://ecolex.bib.uniud.it/ The center for audio-visual study of languages (CLAV) Located in via Zanon, 8 - Udine - Tel. ++390432275570, organizes several foreign language courses, as well as courses on the Italian language for foreign students. http://www.uniud.it/didattica/servizi_st udenti/servizi_linguistici/laboratori_aut oapprendimento_linguistico [email protected] The center for computer services (CSIT) Located in via delle Scienze, 208 (loc. Rizzi) - Udine - Tel. ++390432558900 Fax: ++390432558911, provides students with several computerized services, such as e-mail. On-line application to exams, access to library catalogues, identification of stage opportunities, etc. http://www.uniud.it/didattica/servizi_st udenti/servizi_informatici_e_telematici INTERNATIONAL PROGRAMS Socrates-Erasmus and Leonardo International Programs The University of Udine adheres to the Socrates-Erasmus and Leonardo International Programs financed by the Euro- pean Union. The Faculty of Science has numerous partnership with other European Universities. Please, visit the sites: www.uniud.it/didattica/servizi_studenti/programma_socrates www.uniud.it/didattica/servizi_studenti/mobilita/programma_leonardo FURTHER INFORMATION Further information can be obtained from: - The University web site: www.uniud.it - The Student Office (Segreteria Studenti) via delle Scienze, 208 Rizzi - Udine - Tel. ++390432-558380/89 open from Monday to Friday, 9.00 am - 11.00 am, Thursday 2.00 - 4.00 p.m. as well. - The Student Office - Affari generali, diritto allo studio, via Mantica, 3 - Udine Tel. ++390432-556680 for information about taxes, tax reductions, grants, etc. Web site: http://www.uniud.it/didattica/servizi_studenti/tasse_contributi - International Students Office (CRIN) via Palladio, 2 - Udine - Tel. ++390432-556220. Web site: http://www.uniud.it/ateneo/organizzazione/amministrazione/amministrazione_centrale/crin - International students service: http://www.uniud.it/didattica/servizi_st udenti/international_students_service - the Faculty Office (Segreteria di Presidenza della Facoltà) via delle Scienze, 208 (loc. Rizzi) - Udine - Tel. ++390432558687/4/1 - Fax ++390432-558682, open 12.00 am - 1.00 pm, Monday, Wednesday and Friday. 284 general information and curricula LECTURE TIMETABE First term: Second term: Third term: September 24, 2007 - November 30, 2007 January 14, 2008 - March 19, 2008 April 21, 2008 - June 20, 2008 Exams First period: Second period: Third period: December 3 - 21, 2007 and January 7 - 11, 2008 March 26, 2008 - April, 18, 2008 June 23, 2008 - July 31, 2008 and September 1 - 19, 2008 How to register for exams To be registered for the exams, students must use the SINDY service, available through the web, at the site http://sindy.uniud.it. OFFICIAL FACULTY COMMITTEES Consiglio di Facoltà The Faculty is run by the Faculty Council, chaired by the Dean of the Faculty (currently Carlo Tasso, Professor of Computer Science, elected for the 3-year term 2007/08 - 2009/10) and consisting of full professors, associate professors, representatives of assistant professors and representatives of students. The current student representatives are: Lorenzon Maria; Bosa Elena; Tellini Andrea. Consigli di Corso di laurea Each degree course has a Degree Council, whose duties include solving all problems related to teaching and curricula. The council is made up of all teachers from the degree course (including temporary teaching staff), lecturers and student representatives. Computer Science Consiglio Unificato dei Corsi di Laurea della Classe 26 (Scienze e Tecnologie Informatiche) e Laurea Specialistica della classe 23/s (Scienze Informatiche) currently chaired by Luca Chittaro, Professor of Human Computer Interaction. No student representative has been elected. Mathematics Consiglio Unificato dei Corsi di laurea in Matematica, currently chaired by Gianluca Gorni, professor of Mathematics. The current student representatives are: Molaro Chiara; Lorenzon Maria; Gerola Silvia. Computational Physics Consiglio di Corso di laurea Specialistica in Fisica Computazionale, currently chaired by Alessandro De Angelis, professor of Physics. No student representative has been elected. general information and curricula CURRICULA THREE-YEAR LAUREA COURSE IN COMPUTER SCIENCE Normal duration 3 years, corresponding to 180 ECTS credits. Features and Objectives The course provides the competence necessary to work in the field of design, development, management and maintenance of software and computer systems, both in the manufacturing of computer systems and in industries, public administration and laboratories that make use of complex computer systems. Moreover, the curriculum provides the theoretical and methodological knowledge which forms the basis for a future specialization, aiming towards a second level degree or a first level master. The course offers the following study areas, or ‘curricula’, to fit specific professional needs: - Software Design; - Computer Services for Business and Public Administration; - Management and Planning; - Basic Curriculum for Laurea Specialistica. The degree course in computer sciences features a strong emphasis on laboratory courses and allows students to participate in on-site training stages as an integral part of their education, facilitating a future transfer from university to the business world. Further information may be obtained from the Faculty Web site or by contacting directly the Faculty Office. 285 THREE-YEAR LAUREA COURSE IN WEB AND MULTIMEDIA TECHNOLOGIES Normal duration 3 years, corresponding to 180 ECTS credits. Features and Objectives The course provides the competence necessary to work in the fields of analysis, design, development, management and maintenance of Internet/World Wide Web (WWW) and Multimedia systems, in companies producing such systems as well as in all sectors that make use of web and multimedia systems. Moreover, the curriculum provides the theoretical and methodological knowledge aiming towards a second level degree or a first level master course. Specifically, students will acquire the skills necessary to: quickly and professionally join development projects concerning web and multimedia applications with specific hardware and software requirements; select, evaluate, install and maintain private or public software and fit it to contexts typical of web and multimedia technologies; introduce new technologies and services based on web and multimedia technologies; configure, manage, monitor and analyse web sites and computer network activities, with regard also to security issues; support management decisions related to web activities and their integration with existing information systems; evaluate the usability and accessibility of the offered services. Therefore the course curriculum provides: the necessary background on the most recent developments in information, communication and interaction sciences and technologies, as well as their applications; good familiarity with the various communication forms allowed in 286 general information and curricula multimedia systems; knowledge of programming languages and development tools devoted to web and multimedia; awareness of social, ethical and deontological implications of this activity. The degree course in web and multimedia technologies features a strong emphasis on laboratory courses and allows students to participate in on-site training stages as an integral part of their education, facilitating a future transfer from university to the business world. The programme also provides the opportunity to learn English and to acquire communicative and organizational skills. THREE-YEAR LAUREA COURSE IN MATHEMATICS Normal duration 3 years, corresponding to 180 ECTS credits. Duration 3 years, corresponding to 180 ECTS credits. Features and Objectives The course is aimed at providing the basic knowledge and competences on biological systems (including the cellular, molecular and genomic levels), as well as the multidisciplinary skills on the typical techniques exploited in Biotechnology. Features and Objectives The course in Mathematics provides: basic mathematical knowledge; computer and computational skills; the ability to understand and use mathematical descriptions and models of concrete scientific and economic situations; the ability to carry out defined technical or professional tasks in all sectors of industry, finance, services and public administration, or in teaching of mathematics and science. A sound basis in mathematics, physics and computer science is combined, from the first phase of the course, with a professional preparation in various directions: general, teaching, statistical economics, logic and computer science, physics, management and numerical analysis. Such a preparation may be immediately exploited in the working world or utilized for further studies and research. The degree course is therefore structured in a way to offer different curricula, designed to satisfy specific professional needs. THREE-YEAR LAUREA COURSE IN BIOTECHNOLOGIES (Degree course jointly organized by the Faculties of Agricultural Sciences, Mathematics, Physics and Natural Sciences, Medicine and Surgery and Veterinary Medicine) Activated Curricula Three curricula are currently activated: - Agricultural Biotechnology; - Veterinary Medicine Biotechnology; - Computational Biology/Bioinformatics. FIRST LEVEL ON-LINE MASTER IN OPEN DISTANCE LEARNING Duration One year, corresponding to 60 ECTS credits. Features and Objectives The first level Master in Open Distance Learning is aimed at providing knowledge and competences on new information and communication technologies 287 general information and curricula for education and knowledge management. The Master is delivered in online mode. The major topics of the course are: elearning; basic knowledge of e-learning systems and models; multimedia design, accessibility and usability; virtual reality and 3D graphics; learning objects; human resource management; knowledge management; quality evaluation. The Master includes also a stage or a project work. This course is organized in cooperation with the Universities of Macerata and Camerino. FIRST LEVEL MASTER IN GEOGRAPHICAL INFORMATION SYSTEMS (GIS) Duration One year, corresponding to 60 ECTS credits. Features and Objectives The first level Master in Geographical Information Systems is aimed at providing knowledge and competences in the various fields included in this broad and fast growing area. The Master includes, among others, courses on computer sciences, topography, environmental Law and Land Management; Risk Management Cartography, Statistics, Spatial Data Bases, Image processing, geostatistics and geomarketing. The Master includes a 250-hour stage. OTHER FIRST LEVEL MASTER COURSES The Faculty cooperates to organize other first level master courses. Updated list at http://www.uniud.it/ didattica/facolta/scienze LAUREA SPECIALISTICA IN COMPUTER SCIENCE Normal duration 2 years, corresponding to 120 ECTS credits. Features and Objectives The specialized degree in Computer Science aims at strengthening the graduate’s knowledge of the theoretical foundations of computer science as well as many application issues together with analysis, design and evaluation methodologies. The graduates will have the opportunity to enter the computer science world at a high competence level both in the research field and in applications. The strong preparation in the fundamentals of computer science and in the application methodologies will allow the graduates to continue in the research field, whereas the acquired design tools will enable them to enter public and private organizations to manage and innovate information system and automation processes. Finally, those students who go on to earn a PhD degree in Computer Science will likely find employment at the university and at research institutes. In order to obtain a degree, a student has to earn 120 credits, equally divided over two years. The students may choose between two curricula: - Languages and algorithms, oriented toward algorithm analysis, programming languages and application of formal techniques to test software reliability; - Design and implementation of software systems, oriented toward information system design and implementation. 288 general information and curricula LAUREA SPECIALISTICA IN INFORMATION TECHNOLOGY Normal duration 2 years, corresponding to 120 ECTS credits. Features and Objectives The aim of this course is to provide highly specialized expertise and competences on modern and innovative information technologies, including high-level skills on analysis, design development and management of complex (networked) information systems, both in public and in private organizations. The course strengthens the knowledge acquired in the firs level degree courses on Computer Science and Web and Multimedia Technologies. The professionals with the Laurea Specialistica in Information Technologies are meant to play the role of innovation manager as well as top ICT designers. In order to obtain a degree, a student has to earn 120 credits, equally divided over two years. In order to fulfil the above stated goals, the curriculum includes courses on both traditional computer science technologies (such as software engineering, data bases and information retrieval) and innovative areas (such as mobile and wireless, web personalization, e-learning, egovernment and web design). LAUREA SPECIALISTICA IN MATHEMATICS Normal duration 2 years, corresponding to 120 ECTS credits. Features and Objectives The course is aimed at completing, deep- ening and strengthening the knowledge of Mathematical disciplines. The course includes three curricula: - General, devoted to specifically prepare towards research activities; - Educational, devoted to teaching; - Application, devoted to areas where mathematical thinking and approaches play a fundamental role, such as, for example, statistics, economics, computer logics and physical modelling. LAUREA SPECIALISTICA IN COMPUTATIONAL PHYSICS Duration 2 years, corresponding to 120 ECTS credits. Features and Objectives The method of Physical Sciences is based on the observation of the natural phenomena and on the elaboration of mathematical theories to describe their mechanisms and predict the outcomes. In the last 30 years, a third paradigm has joined the two traditional ones of Experimental and Theoretical Physics: Computational Physics. Thanks to computers, today is possible not only to solve equations of Theoretical Physics that could not be faced otherwise, but also to perform virtual experiments (simulations) on properties of matter not accessible in laboratory. The Laurea Specialistica in Computational Physics is meant to give skills to be spent in the fields of industrial research and development, and of pure and applied computational research. The studies are a balanced mixture of theoretical and experimental physics, as well as of advanced techniques of numerical commutation. A first period of 16 months is mostly dedicated to basic instruction, ranging from computer science to quan- general information and curricula tum mechanics; particular emphasis is given to data acquisition laboratories and to on-line data analysis. The last eight months provide training in research concluded by a thesis. Computational Physics allows to master many modelling and simulation techniques, and requires creativity and flexibility of thought. Such qualities and skills find a natural use in research and in all modern technical and scientific jobs; they can be applied in meteorology, seismology, ecology, optimization of production processes, and even on the control of risks in the financial markets, not to mention all the possible applications in the biomedical area. This course is organized in cooperation with the SISSA (International school for high advanced studies, Miramare - Trieste) and the University of Trieste. 289 LAUREA SPECIALISTICA IN STATISTIC AND COMPUTER SCIENCE FOR ENTERPRISE MANAGEMENT (course organized jointly with the Faculty of Economics) Normal duration 2 years, corresponding to 120 ECTS credits. Features and Objectives The course is aimed at providing knowledge and competences on various disciplines which play an important role for managing and processing quantitative information within enterprises, both in the area of production and financial/economic services. Activated Curricula - Statistics and Computer Technology for Enterprise Management; - Statistics for the Analysis of Financial Markets; - Statistics and Computer Science. programmes three-year laurea course in Computer Science THREE-YEAR LAUREA COURSE IN COMPUTER SCIENCE ADVANCES IN DATABASE SYSTEMS Teacher Prof. Angelo Montanari Credits 6 Program Part 1 - Database design (additional material) The conceptual design of databases and the Dataflow model: the basic constructs of the Dataflow model (process, data flow, data repository, interface); context diagrams and Dataflow diagrams; functional design based on the Dataflow model; the design of information systems: an integrated approach to the design of system functions and data (synthesis of external ER schemas and their integration). The logical design of databases: satisfiability and violation of functional dependencies, closure of dependency sets, a calculus of dependencies (Armstrong’s axioms), closure of attribute sets, algorithms to compute the closure of attribute sets, equivalences among sets of dependencies, minimal covers, decompositions and their properties, normal forms and normalization, algorithms to compute decompositions in specific normal forms. Part 2 - The SQL language (additional material) SQL and the programming languages: introduction, approaches to the database programming, stored procedures, triggers, static embedded SQL (simple and complex queries, the use of cursors), dynamic embedded SQL (immediate execution and two-phase execution), database programming with function calls: 293 SQL/CLI (Call Level Interface), ODBC e JDBC (a short account). Part 3 - The physical organization of data The storage of file records and the organization of primary files: introduction, devices and techniques for the management of secondary storage, buffering of blocks, placing file records on disks, operations on files, files of unordered records (heap files), files of ordered records (sorted files), hashing techniques, other primary file organizations, parallelizing disk access using RAID technology. Indexing structures for files: types of single-level ordered indexes (primary, clustering, secondary), multilevel indexes, dynamic multilevel indexes using B-trees and B + trees, other types of indexes. Part 4 - Database server technology The notion of transaction: introduction to transaction processing, desirable properties of transactions, transaction scheduling and recovery, serialization techniques, transaction support in SQL. Concurrency control techniques: problems, architecture, the anomalies of concurrent transactions, view-based techniques, conflict-based techniques, two-phase locking techniques (2PL and strict 2PL), concurrency control based on timestamp ordering, multiversioning-based techniques, granularity of data items. Buffer manager: architecture of the buffer manager, primitives for the management of the buffer, buffer management policies, on the relationships between buffer manager and file system. Database recovery techniques: basic concepts, architecture, stable memory, organization of the log, transaction processing, fault management. Query processing and optimization: system catalogs, query optimization (query internal representation, relation profiles, cost-based optimization), physical design of databases. Database security: introduction to database security issues, mandatory access control and 294 role-based access control for multilevel security, statistical database security (a short account). Part 5 - Distributed databases Introduction to distributed databases, basic elements of the client-server architecture, data fragmentation, data allocation, transparency levels, types of distributed DBMSs, query processing in distributed databases, concurrency control and recovery in distributed databases. Part 6 - Databases and World Wide Web (a short account) Basic notions (Internet, World Wide Web, HTML, the http protocol), gateway and form, tools and techniques to access databases via web, database access via CGI programs, development tools, the limitations of the CGI protocol, serverbased solutions, client-based solutions, web information systems, conceptual design of web applications. Part 7 - Additional topics (a short account) Databases in support of management’s decisions (data warehouse), semi structured data in XML, object and object-relational databases, active databases, temporal and spatial databases. References - P. A TZENI , S. C ERI , P. F RATERNALI , S. P ARABOSCHI , R. T ORLONE , Basi di Dati: Architetture e Linee di Evoluzione, McGrawHill, 2003. - R. ELMASTRI, S. NAVATHE, Fundamentals of Database Systems, 5th edition, Pearson International Education / Addison Wesley, 2007. Other suggested references: - R. ELMASTRI, S. NAVATHE, Sistemi di basi di dati. Complementi, quarta edizione, Pearson Education Italia / Addison Wesley, 2005. - J.D. ULLMAN, Principles of Databases and Knowledge-Base Systems, Volume I, Computer Science Press, 1988. - SILBERSCHATZ, H.F. KORTH, S. SUDAR- three-year laurea course in Computer Science Database System Concepts, 4th edition, McGraw-Hill, 2002. - A. A LBANO , Costruire sistemi per basi di dati, AddisonWesley, 2001. - A. ALBANO, G. GHELLI, R. ORSINI, Fondamenti di basi di dati, Zanichelli, 2005. - P. A TZENI , S. C ERI , S. P ARABOSCHI , R. TORLONE, Basi di Dati: Modelli e Linguaggi di Interrogazione, 2nd edition, McGrawHill, 2006. SHAN, ALGORITHMS AND DATA STRUCTURES Teacher Prof. Alberto Policriti Credits 10 Aims During this course we will introduce the notions at the basis of the theory of algorithms and data structures. Moreover, we will present the fundamental techniques for the analysis of the computational complexity of programs. One of the main objectives of this course is the study of basic problems and techniques for the design and analysis of algorithms. Having passed this course the student should be able to algorithmically solve some classical problems, to choose the opportune data structures to get computationally efficient solutions, and to investigate the complexity of the proposed algorithms. Program 1. Introduction and preliminary notions. Elements of logic and set theory. Threes and graphs. Discrete mathematics and Asymptotic analysis. Models for the definition of the computational complexity. Recursive problems and algorithmic aspects. 295 three-year laurea course in Computer Science 2. Sorting algorithms and order statistics. Basic sorting algorithms: selection-sort, insertion-sort, bubble-sort, heap-sort. Recursive algorithms: quick-sort, mergesort. Computational complexity and lower bounds. Linear-time algorithms (outside the comparison-based model): counting-sort, radix-sort, bucket-sort. Selection in linear time. 3. Data structures. Elementary data structures: linked lists, stacks and queues. Algorithms and data structures for dynamic sets: hash tables, binary search threes, red-black trees, and B-trees. Algorithms and data structures for disjoint sets. 4. Graph algorithms. Data structures for graphs. Breadth-first search and Depthfirst search. Strongly connected components. Topological-sort algorithms, minimum spanning tree (Prim and Kruskal), single-source shortest paths (Dijkstra, Bellmann-Ford), all-pairs shortest paths (Floyd-Warshall, Johnson). References - T.H. C ORMEN , C.E. L EISERSON , R.L. RIVEST, Introduction to Algorithms, MIT Press, 2nd edition, 2001. Other suggested references: - A.V. AHO, J.E. HOPCROFT, J.D. ULLMAN, Data Structures and Algorithms, AddisonWesley, 1983. - A.V. AHO, J.E. HOPCROFT, J.D. ULLMAN, The Design and Analysis of Computer Algorithms, Addison-Wesley, 1974. - D.E. KNUTH, Selected Papers in Computer Science Cambridge, University Press, 1996. - R.E. TARJAN, Data Structures and Network Algorithms, SIAM, 1983. COMMUNICATION SKILLS Teacher Prof. Angelo Marzollo Credits 1 Aims The course corresponds to one credit, and it coincides with the first eight lessons of the Economics and Business Organization course. The course aims at providing the students with basic communication operational tools so as to facilitate their first steps in the professional world. Program An analysis of individual communication abilities both at group and at interpersonal level will first be carried out (public reading and public speaking, CV preparation and illustration, job interviews and professional meetings, etc.), thus revealing the main problems to be tackled in these contexts. Specific communication experts will also intervene and suggest possible ways of overcoming the more common difficulties. Exams The examination will consist of a communicational task (written and possibly also oral) that will be as similar as possible to real situations to be met by the students in their social and professional lives. The students following the course in Economics and Business Organization (the first eight lessons of which are devoted to the topics described above) are exempt from taking a separate exam in Effective Communication. Instead, they will take a single exam (Economics and Business Organization) that will also include the course described here (Effective Communication). Therefore, passing the examination in Economics and Business Organization will automatically entail passing the one in Effective Communication, too. References Given the shortness of the course and its 296 three-year laurea course in Computer Science mainly operational approach, specific material will be indicated or distributed to integrate direct training and note-taking. Textbooks and manuals in the field are overabundant, and often very similar to one another. During the course they will be rapidly illustrated for those who might be interested in further individual study. COMPUTER ARCHITECTURE Teacher Prof. Pietro Di Gianantonio Credits 10 Aims The course illustrates the structure and functioning of a computer and its various hardware parts. The analysis starts from the smallest computer parts (digital gates inside chips) and moves upwards until it reaches the level of a full computer architecture. To better highlight the relations between the hardware and software level, the course deals with assembly programming. Program - Introduction: historical perspective on computer architecture, basic concepts, abstraction levels in computer architecture. - Logic Circuits: logic gates, Boolean algebra, most frequently used combinational circuits, synthesis of sequential circuits, memory chips. - Data Representation: binary representations, conversions, integer and floatingpoint numbers, character representation, error detection and correction. - Processor: fetch-decode-execute cycle, data path, control unit, detailed example of a simple architecture, pipeline, superscalar processor, branch prediction, Pentium IV, Sparc. - Input/Output: programmed I/O, Interrupt, DMA, peripheral devices, bus, bus arbitration, strobe control, PCI, USB, SCSI. - Memories: hard disk, RAID, optical disk, cache memory, virtual memory, pagination and segmentation, MMU. - Parallel architectures: classification, multiprocessor, multicomputer, processor interconnection, cache coherence, UMA, NUMA, COW, MPP architectures. - Assembly programming: MIPS architecture. MIPS assembly: assignment, branch instructions, arithmetic and logic instructions, subroutines. Exams The final exam consists of three parts: a written exam, a laboratory evaluation and oral discussion. During the course, student are offered the opportunity to take three written exams, each one dealing only with a part of the course topics. Students who pass successfully these three written exams do not need to take the written part of the final exam. References Textbook - A.S. TANENBAUM, Structured Computer Organization, 5th edition, Prentice-Hall, 2006. COMPUTER ARCHITECTURE LAB Teacher Prof. Pietro Di Gianantonio Credits 4 Aims The laboratory allows the student to practically experiment some of the relevant topics illustrated in the Computer Architecture course, by carrying out short projects with a computer. 297 three-year laurea course in Computer Science Program - Digital Circuits: Design and simulation of combinational and sequential circuits in a Macintosh environment. Implementation of small libraries of basic digital components, and their use to build more complex digital systems. - Data Representation: Algorithms for representation and processing of integer numbers (signed and unsigned) and real numbers (fixed-point and floating-point). - Assembler Programming: Hands-on development of programs aimed at exploring all the different features of the Motorola 68000 Assembler: directives, assignment and comparison of registers, addressing modes, exploitation of condition codes, control structures, arithmetic and logic instructions, bit manipulation, subroutines, allocation/deallocation of memory. - Besides basic assembler programming techniques, some advanced topics will be considered, such as implementation and manipulation of data structures (vector, string, matrix, set, list) in assembler, and exception handling in the Motorola microprocessor. Exams Written report about a project which summarizes the different topics encountered in the laboratory. The specific project has to be assigned by the professor. The student has to turn in the written report to the professor before the oral discussion of the Computer Architecture final exam (see Computer Architecture course description). Credits 6 Aims The Computer Languages 1 course, together with the Computer Languages 2 course, aims to give knowledge on the characteristics of the various programming paradigms. It tries hard not to focus on a specific language but to present the general principles that guide project, development and implementation of modern programming languages. With a solid knowledge of ‘universal’ characteristics one can learn new languages in no time. To achieve this general vision the main programming paradigms are presented: imperative, functional, logic and functional-logic. Besides examining the most immediate pragmatic aspects of these paradigms, they are analyzed and compared basing on general principles in order to achieve a critical comprehension of most popular languages. This is needed to reach a cognizant programming style, where one knows which paradigm is better to chose to solve a specific problem, and knows which language constructs to use, and at which cost. The two courses aim to give a relatively profound knowledge (especially regarding the programming aspect) on declarative paradigms (functional, logic and functional-logic) that, thanks to their expressiveness, can be naturally used as basis for development of correct software. The Computer Languages 1, in particular, will treat the general concepts; the imperative paradigm and the functional paradigm. The Computer Languages 2 will complete the presentation of declarative paradigms: logic and functional-logic. COMPUTER LANGUAGES 1 Teacher Prof. Marco Comini Program Imperative Paradigm - Abstract Machines, Interpretation e Compilation. 298 three-year laurea course in Computer Science - Describe a Computer Language (Syntax and Semantics). - Names and environments. - Memory Management. - Structuring control. - p-code. - Control Abstraction (Parameters Passing Methods). - Structuring data. - Monomorphic and Polymorphic Type checking. Functional Paradigm - Introduction to Functional Programming. - High-order Programming. - The Haskell language (list comprehensions, partial applications of curried functions, sections, non-strict functions, infinite data structures, case expressions, pattern matching). - Types, Classes and Overloading. - Haskell’s monadic I/O. - Standard Haskell Classes. - Monads. - Modules. References - M. GABBRIELLI, S. MARTINI, Linguaggi di Programmazione - Principi e Paradigmi, McGraw-Hill. ISBN: 88-386-6261-4. - HUDAK, FASEL, A Gentle Introduction to Haskell, 1992. Consultation Books and Texts: - B. WADLER , Introduction to Functional Programming Using Haskell, Prentice Hall PTR, 1998. ISBN: 0134843460. - N.D. JONES, C.K. GOMARD, P. SESTOFT, Partial Evaluation and Automatic Program Generation, Prentice-Hall, Englewood Cliffs, NJ, 1993. COMPUTER NETWORKS Teacher Prof. Elio Toppano Credits 6 Aims The aim of this course is to introduce principles and fundamental concepts of modern computer networks. In particular, the general characteristics of computer networks, the main structures, topologies, architectures and protocols will be presented. Networking issues are also addressed. Program - Introduction to computer networks Scope, applications, historic evolution, main characteristics and layers, networks topologies and architectures, network protocols, error control, flow control, packets and messages, service primitives, circuit and packet switching, routing and internetworking. - Principal components of a network and data transmission techniques - Optical and electrical transmission media, signal bandwidth, channel bandwidth, crosstalk, attenuation and distortion, analog and digital signal transmission (PCM, multiplexing), principal components of a network (modem, multiplexer, bridge, router, switch). - The ISO/OSI model Architecture, services and protocols. The physical layer. The data-link layer. Protocols for flow (Stop & Wait, sliding window, Go-BackN) and error (CRC codes) control. HDLC protocol. - The network level - Routing techniques (routing by network, address label swapping, source routing), router architecture, routing tables, static routing algorithms (fixed directory routing, flooding e selective flooding) and dynamic routing algorithms (distance vector and link state). The IP protocol, IP addresses, sub-nets and net mask. ARP, IGP, RIP, OSPF, BGP protocols. Ipv6 protocol, packet format, optional headers. Network Address Translation (NAT) protocol. - The transport level - Services provided to 299 three-year laurea course in Computer Science upper layers, addresses of transport layer, establishing a connection, releasing a connection. Three-ways handshake. The transport level in Internet: the UPD (User datagram protocol) and TCP (Transport control protocol) protocols. - The application layer - Telnet, File Transfer Protocol (FTP), Domain Name Server (DSN), Simple Network Management Protocol (SNMP), electronic mail, ftp, World Wide Web, multimedia documents. - Design and analysis of the network performances - Topological design, graph theory, connectivity analysis and delay analysis. Delay analysis, definition of flow and line capacity. Performance analysis of a computer network. - New Trends - ISDN and broadband ISDN. ATM networks. Exams The final exam will be organized in two steps. The first step will consist in the solution of exercises similar to those solved during the course, while the second step will consist in an oral discussion on the main arguments presented during the course. References - A.S. T ANEMBAUM , Computer Networks, Addison-Wesley, 2003. Other suggested books: - J. KUROSE, K. ROSS, Internet e Reti di Calcolatori, seconda edizione, McGraw-Hill, 2003. - D. COMER, Internetworking con TCP/IP, Addison-Wesley, pubblicato in Italia da Pearson Education Italia, 2002. - M. BALDI, P. NICOLETTI, Internetworking, McGraw-Hill, 1999. - R. ADINOLFI, Reti di Computer, seconda edizione, McGraw-Hill, 1999. - F. HALSALL, Reti di Calcolatori e Sistemi Aperti, quarta edizione, Addison Wesley, 1998. COMPUTER NETWORKS AND SECURITY Teacher Prof. Marino Miculan Credits 6 Aims The aim of the course is to study the principal concepts of wireless networks and of security of networks. In particular, the student will acquire specific competency about the operation of wireless LANs, the main requisites of network security, the design of adequate security policy, and about the main protocols for network security. Program 1. Wireless LANs. Classification, Spread Spectrum (Direct Sequence, Frequency Hopping), Networks IEEE 802.11. The physical layer and MAC in IEEE 802.11. Bluetooth: design and application. 2. Security of computer networks. Levels of security, diagnosis and monitoring of a network, protection of network connections, authentication, integrity, security, non-reputation. Principle of minimal security. Evaluation of the security of a system. Orange book. 3. Basics of cryptography. Cryptanalysis. Transposition ciphers, monoalphabetic, and polyalphabetic ciphers. Product ciphers. Modern cryptography. Contemporary cryptography. Secret key algorithms: DES, IDEA, 3DES, AES. Public key algorithms: RSA. Examples. Digital signatures, key management. 4. Security in network protocols. Security at physical layer in wireless networks: WEP, WPA. Security at network level: IPsec. Security at transport level: SSL, TLS. Design of a screening router, packet filtering. Security at the application level: 300 three-year laurea course in Computer Science the SET framework. 5. Perimetric defense of a network. Theory and design of firewalls: multi-homed host, bastion host, DMZ. Proxy server. Example of a firewall. Honeypots, honeynets. Intrusion Detection Systems (IDS) and real-time IDS. Intrusion Prevention Systems (IPS). 6. Threats externals to a network. Classification of attacks to a network. Ports and services. Information gathering techniques (foot printing, network enumeration, DNS queries), scanning (ping scanning, port scanning, etc.). DOS attacks. Attacks based on the prediction of sequent numbers and hijacking of TCP sessions. Man-in-the-middle attack. Attack tools available to an hacker. 7. Network defense. Defense against information gathering. Defense against unauthorized logins. Models for the design of a security plan. Prerequisites Computer Networks. Exams The examination test includes a written test and an optional oral test. The written test contains exercises and questions concerning the course subject. References - A.S. TANENBAUM, Computer Networks, 4th edition, Addison-Wesley. - W. STALLINGS, Cryptography and Network Security, McGraw-Hill, 2004. - W.R. C H E S W I C K , S.M. B E L L O V I N , A. R UBIN , Firewalls and Network Security, Pearson-Addison Wesley, 2003. COMPUTER PROGRAMMING Teachers Dott. Claudio Mirolo Dott. Fabio Alessi Credits 10 Aims - Understanding the concepts of algorithm programming language, and program. - Developing basic problem solving skills, in particular to apply the functional and object-oriented paradigms to solve simple problems. - Understanding the logical properties characterizing the correct behavior of a program. - Understanding some basic concepts of data abstraction and object-oriented programming. Program Part I - Procedural abstraction (Scheme). Algorithms for computing numerical and non-numerical expressions. Procedural abstraction of expressions. Choice and truth values. recursive definitions. Evaluation model via substitution and reduction. General recursion and tail recursion. Iterative approach and tail recursion. Program correctness: proofs by induction and invariants. Let. Part II - Data Abstraction (Scheme). Introduction to data abstraction. Different implementations of abstract data types. Data of variable size: lists. Data structures from the viewpoints of the user and of the implementer. Stacks and queues. Trees and evaluation trees. Examples. Part III - Abstraction of state (Scheme and Java). Concept of state and imperative/sequential paradigm. Vectors. Data structures and imperative approach. Matrices. Computational costs of an algorithm. Memorization and dynamic programming. Basic commands and constructs of the Java language. Iterative programs. Invariants and correctness of the iterative programs; termination. Func- three-year laurea course in Computer Science tional semantics of an imperative program. Introduction to object-oriented programming in Java: classes and objects; fields, constructors and methods. Concept of class invariant and runtime assertion checking. Examples. Recurrent Concepts: Imperative and recursive approaches; invariants; abstraction levels; data abstraction; state and state transition; object-oriented approach. Prerequisites Elementary Mathematics. Exams Organization of the exams: - Three (written) tests, scheduled at the end of the three terms; - A few (simple) laboratory assignments; - Oral discussion. References - M. H AILPERIN , B. K AISER , K. K NIGHT , Concrete Abstractions: an Introduction to Computer Science Using Scheme, Brooks/Cole Publishing Company, 1999. ISBN: 0-534-95211-9. - J. LEWIS, W. LOFTUS, Java Software Solutions - Foundations of Program Design, Addison-Wesley, 2002, (Edizione italiana 2001). ISBN: 0-201-78129-8. DATABASES Teacher Prof. Angelo Montanari Credits 6 Program Part 1 - Basic concepts Role and functionalities of a database; data abstractions; conceptual, logical, and physical data models; schemas and instances, logical and physical data inde- 301 pendence; data definition and data manipulation languages; Database Management Systems (DBMSs); database administrator and database users; data dictionary; the structure and modules of a DBMS. Part 2 - The Entity/Relationship (ER) model Methodologies and models for database design: the life cycle of an information system; methodologies for database design; the basic constructs of the Entity/Relationship (ER) model: entity types and instances, relation types and instances, attributes (simple, compound, single-valued, multiple-valued, derived), keys (internal and external identifiers, the notions of weak entity, owner entity, partial key and identifying relation); attribute domains and the use of NULL; constraints associated with relation (participation constraints and cardinality ratios); recursive relations and roles; binary relations and relations with arity greater than two; ER diagrams; documentation of ER schemas; documentation techniques; business rules (integrity constraints and derivation rules); advanced ER constructs: specialization and category. UML data modeling: class diagrams (class, association, multiplicity, identifier, generalization). Part 3 - The relational data model, the relational algebra and the relational calculus The relational model: basic notions, the definition of relation, the definition of relational model constraint (it may involve a single relation or more than one relation), update operations (insertion, deletion, modification) and possible constraint violations; relational algebra: the basic operations, queries in relational algebra, additional operations, algebraic optimization, the limitations of relational algebra; the relational calculus: basic notions, domain relational calculus and 302 duple relational calculus, the relationships between the relational calculi and the relational algebra. Part 4 - The SQL language SQL data definition and data types; queries in SQL; update statements in SQL; additional data definition features (generic integrity constraints, views, specifying constraints as assertions); SQL and database security (discretionary access control based on granting and revoking privileges); the DBMS MySQL. Part 5 - Database design The conceptual design: requirements collection and analysis; general criteria for data representation; design strategies; qualities of a conceptual schema; CASE tools for database design. The logical design: performance analysis on ER schemas; restructuring of ER schemas (redundancy analysis, elimination of specialization hierarchies, partitioning / merging of entities / relations, the choice of the primary identifiers); the mapping of ER schemas into relational schemas. The theory of the logical design of relational databases: functional dependencies, reasoning about functional dependencies, relation decomposition, lossless join decompositions, decompositions that preserve functional dependencies, normal forms for relation schemas (1NF, 2NF, 3NF e BCNF), lossless join decomposition in BCNF, lossless join decomposition in 3NF that preserve functional dependencies. References Main References: - P. A TZENI , S. C ERI , S. P ARABOSCHI , R. TORLONE, Basi di Dati: Modelli e Linguaggi di Interrogazione, 2nd edition, McGrawHill, 2006. - R. ELMASTRI, S. NAVATHE, Fundamentals of Database System, 5th edition, Pearson International Education / Addison Wesley, 2007. three-year laurea course in Computer Science As an alternative: - R. ELMASTRI, S. NAVATHE, Sistemi di basi di dati. Fondamenti, quarta edizione, Pearson Education Italia / Addison Wesley, 2004. Additional References: - J.D. ULLMAN, Principles of Databases and Knowledge-Base Systems, (Volume I), Computer Science Press, 1988. - S. ABITEBOUL, R. HULL, V. VIANU, Foundations of Databases, Addison-Wesley, 1995. - A. ALBANO, G. GHELLI, R. ORSINI, Fondamenti di basi di dati, Zanichelli, 2005. - C.J. DATE, An Introduction to Databases Systems, 7 th edition, Addison-Wesley, 2000. - SILBERSCHATZ, H.F. KORTH, S. SUDARSHAN, Database System Concepts, 4th edition, McGraw-Hill, 2002. - L. WELLING, L. THOMSON, MySQL Tutorial, Pearson Education Inc., 2004. DISCRETE MATHEMATICS Teacher Dott. Mario Mainardis Credits 9 Aims The purpose of the lectures is to introduce the fundamental tools of discrete mathematics, algebra and linear algebra with special attention to their applications to computer sciences. Program - Part 1: Arithmetic: divisors and multiples, Euclidean algorithm, linear diophantine equations, prime numbers, factorization. - Part 2: Modular arithmetic: arithmetic modulo n, linear congruencies, the a-ary number system, the RSA cryptosystem, radar detection. 303 three-year laurea course in Computer Science - Part 3: Monoids and groups: Binary operations, monoids, invertibility in monoids, groups, cyclic subgroups, cosets, normal subgroups and homomorphisms, symmetric groups and permutations. - Part 4: Elementary graph theory. Graphs, trees. - Part 5: Rings and fields: Rings, ideals, fields, polynomial rings, finite fields, applications to error correcting codes. - Part 6: Elements of linear algebra: Vector spaces, linear dependence, bases, matrices, determinants, linear maps, eigenvalues and eigenvectors. References - A.M. C OHEN , H. C UYPERS , H. S TERK , Algebra Interactive!, Springer, 1999. ISBN: 3-540-65368-6. - Notes written by the teacher. ELECTROMAGNETIC FIELDS AND WAVES Teacher Dott. Giovanni Luigi Michelutti Credits 6 Aims This course is for students who attended to the Physics course for Computer Science, and completes the study of classical Physics. It is also necessary to all Computer Science students who wish to continue with the MS in Computational Physics. The course treats electromagnetic fields and waves and introduces concepts needed to proceed with the study of Quantum Physics. Program In-depth review of classical electrodynamics. Maxwell’s equations. Waves in continuous mechanical systems. Electromagnetic waves. Wave optics. Special relativity. Light-matter interaction. Radiation from accelerated charges. Sources of electromagnetic radiation. Exams Written test. References Lecture notes. ELECTRONIC LAB Teacher Prof. Lorenzo Santi Credits 4 Aims The course gives a basic knowledge of the principles of modern Electronics. It also includes a series of lab sessions. Program Circuits. Introduction to semiconductor Physics. Diodes, bipolar transistors and FET’s. Integrated circuit fabrication. The TTL logic family. RAM memories, DRAM’s, etc. ADC and DAC conversion. Technology of a modern utility (the CDROM reader). Exams Practical test. References - HOROWITZ, HILL, The Art of Electronics, Cambridge University Press. - Lecture notes. 304 three-year laurea course in Computer Science ELEMENTS OF MATHEMATICAL LOGIC Teacher Prof. Alberto Marcone Credits 3 Aims The goal of the course is the introduction of the basic elements of mathematical logic, focusing in particular on algorithmic methods. Program Propositional calculus: syntax and semantics, satisfiability and logical consequence, transformation into normal forms, semantic tableaux. Predicate calculus: syntax and semantics, satisfiability and logical consequence, semantic tableaux. Translation from natural language into formal language. Exams Written test, with optional oral colloquium. References Instructor’s notes. EXPERT SYSTEMS Teacher Prof. Carlo Tasso algorithms, truth maintenance systems, and conceptual modeling techniques. Some significant applications are also illustrated and experimented with some laboratory activities in the field of Web information search and filtering. Program Introduction to Artificial Intelligence. Definition of Knowledge-Based System. Knowledge representation mechanisms and reasoning algorithms. Semantic networks. Frames. Production rules. Conceptual Graphs. Non-monotonic reasoning systems. ATMS. JTMS. Blackboard architecture. Conceptual modeling techniques. Heuristic classification and generic tasks. Web information retrieval. Exams Each student will (I) deliver a final seminar on some relevant assigned topic in the final week of the course and (II) take an oral test. References - Study materials available on http://twm.dimi.uniud.it/ - G. GUIDA, C. TASSO, Design and Development of Knowledge-Based Systems, J. Wiley, 1994. - D. FUM, Intelligenza Artificiale, Il Mulino, 1994. - C. T A S S O , P. O M E R O , La Personalizzazione dei Contenuti Web - e-commerce, iaccess, e-government, Franco Angeli, Milano, 2002. Credits 6 Aims Provide an introduction to basic techniques for the development of knowledge-based systems and expert systems, and, more specifically, knowledge representation mechanisms and reasoning FORMAL METHODS OF COMPUTER SCIENCE Teacher Prof. Marina Lenisa Credits 180 305 three-year laurea course in Computer Science Aims The aim of this course is to introduce various formal methods for software and hardware specification, validation and verification. Several logical and mathematical techniques for specifying program semantics (operational, denotational) and several program logics will be discussed. Particular attention will be devoted to both parallel and distributed concurrent programs. FOUNDATIONS OF COMPUTER SCIENCE 1 Teacher Prof. Furio Honsell Credits 6 Aims We want to make the student aware of the limitations of effective procedures (algorithms). There exist intrinsic limitations (as those studied by the theory of computability) and limitations depending on the resources which can be used during the computation (as those studied in the theory of complexity). Students will meet the concept of computable function, of formal language, of automaton, of complexity class, and will study the relationships between these notions. After successfully completing the course the student: will know the existence of intrinsically unsolvable problems; will have a clear idea about the known relations between the classes of logarithmic space, deterministic and non deterministic polynomial time, exponential time; will known the basic notions of formal languages and their relations with automata. Program 1. Computability. Computation models: Turing machines. Computable functions and decidable problems. Enumeration of computable functions, universal function. Church’s thesis. Existence of nondecidable problems. 2. Complexity. Turing machines with limited resources. Complexity classes; important classes: P, NP, EXP, PSPACE. Polynomial reductions and complete problems. 3. Formal languages. Grammars. Regular languages, regular expressions, finite automata. Context free languages, derivation trees, pushdown automata. References - Lecture notes. - N.J. CUTLAND, Computability: an Introduction to Recursive Function Theory, Cambridge University Press, Cambridge, 1980. - J.E. HOPCROFT, J.D. ULLMAN, Introduction to Automata, Languages and Computation, Addison-Wesley, Reading, 1979. FOUNDATIONS OF COMPUTER SCIENCE 2 Teacher Prof. Agostino Dovier Credits 6 Aims We will consider with more attention the technical aspects of the results seen in Foundations of Computer Science I. After successfully completing the course the student will be able to discuss the decidability (polinomiality) of relevant problems, using advances reduction techniques, and will know the relevant notions of formal language theory. Program The course is organized in three parts: 306 formal languages, computability and complexity. - Formal languages. Summary of main definition and results on regular languages. Deterministic and non-deterministic finite state automata and their equivalence. Regular expressions. The pumping lemma and its applications. Closure and decidability properties of regular languages. The Myhill-Nerode Theorem and automata minimization. Context-free languages. Context Free Grammars and derivation trees. Ambiguous grammars and languages. Chomsky and Greibach normal forms. The pumping lemma and its applications. Closure and Decidability properties of context free languages. Linear grammars, type 0 and type 1 grammars and Chomsky hierarchy. - Computability. Summary of the main definition and results on primitive functions and Turing machines. Equivalence theorem between the two formalisms. Computability and programming languages. The language While: syntax, semantics, and while-computable functions. Turing completeness of while. The language For, For-computable functions and their equivalence with the primitive recursive functions. Undecidability of the halting problem without enumeration. The S-m-n theorem and the specializers. Kleene recursion theorem, Rice and RiceShapiro theorems and their applications. Reducibility between sets. Recursive and complete sets. The second recursion theorem and Myhil Theorem. Simple Sets: definition, properties and their existence. - Complexity. Languages and Problems. Deterministic time complexity classes: main results. Non-deterministic and space classes. Main results and relative relationships. Reductions and Completeness. Cook’s Theorems. NP-completeness of some fundamental problemsusing reductions. three-year laurea course in Computer Science Exams Written and oral examination. References - A. DOVIER, R. GIACOBAZZI, Fondamenti dell’Informatica: Linguaggi Formali, Calcolabilità e Complessità. Available on-line. - N.J. CUTLAND, Computability: an Introduction to Recursive Function Theory, Cambridge University Press, Cambridge, 1980. - J.E. HOPCROFT, J.D. ULLMAN, Introduction to Automata, Languages and Computation, Addison-Wesley, Reading, 1979. - C.H. P APADIMITRIOU , Computational Complexity, Addison Wesley, 1995. HUMAN COMPUTER INTERACTION 1 Teacher Prof. Luca Chittaro Credits 6 Aims The course illustrates principles, design methodologies and the different implementation choices which allow one to build software which is usable in a simple, intuitive, productive, and reliable way by the users for which it is meant. Achieving this goal requires the study of three different kinds of topics: man (psychological aspects of the user); computer (user interface development tools); interaction (analysis, design, and evaluation of human-machine interfaces). Besides presenting the fundamental concepts of human-computer interaction, the course highlights some recent relevant developments of the field, such as 3D Interfaces, and Groupware systems. Program - Introduction: Goals of human-computer interaction and its relevance to the appli- 307 three-year laurea course in Computer Science cations of interactive computer systems. - Psychological Aspects: Cognitive psychology. Sensory channels. Human limitations and expectations in perceptual processes. Visual perception. Auditory perception. Haptic perception. Human memory: sensory, short-term, long-term. Individual differences. Mental models. Metaphors. Human error: slip and mistake. - Devices for Human-Computer Interaction: Text input devices. Positioning and pointing devices. 3D devices. Devices for visual, auditory, and haptic output. Interfaces and devices for disabled users. - Models and Paradigms of Human-Computer Interaction: Characterizing different phases of interaction. Ergonomic aspects of interaction. Interaction styles: from command language to 3D interfaces. Window interfaces (WIMP). Menu and icon design. Interaction paradigms. - Human-Computer Interaction and the Software Life-Cycle: Analysis of usability requirements. Usability principles. Usercentered design. Usability engineering. Prototyping techniques. Envisioning design techniques. Design rationale. - Environment, User, Task Analysis: Characterizing the context of interaction with socio-technical models. The USTM/CUSTOM technique. Task analysis. The HTA technique. Predictive models: GOMS, KLM. - Formal Methods in Human-Computer Interaction: State transition network and other diagrammatic notations. Textual notations. Dialogue analysis and design with state transition network. - Guidelines and Standards for User Interfaces: Definition. Choosing and using guidelines. Examples of guidelines: MITRE, Apple, Microsoft, IBM guidelines for 3D interfaces. The ISO 9241 standard. - Tools for User Interface Implementation: Windowing System. Programming techniques. Toolkit. Case study: the Java toolkit. User Interface Management Systems. - Usability Evaluation: Goals of evaluation. Recording tools. Observing the user. Collecting opinions. Interviews. Questionnaires. Experiments. Predictive evaluation. Cognitive walkthrough. Interpretive evaluation. - Help: Assisting the user. Requirements for help systems. Main approaches. Adaptive and adaptable interfaces. - Computer-Supported Cooperative Work: Groupware. Computer-mediated communication. E-mail and textual communication systems. Videoconference. Virtual collaborative environments. Workflow systems. Experimental and organizational aspects. - Recent Paradigms of Human-Computer Interaction: Ubiquitous computing. Virtual reality. Types of virtual reality. Multisensory (or multi-modal) interfaces. Information visualization. Hypertext. Multimedia and Hypermedia interfaces. References - A. DIX, J. FINLAY, G. ABOWD, R. BEALE, Human Computer Interaction, 3rd edition, Prentice Hall, 2003. - J. P REECE , Y. R OGERS , H. S HARP , D. BENION, S. HOLLAND, T. CAREY, Human Computer Interaction, Addison Wesley, 1994. INTRODUCTORY MATHEMATICS Teacher Dott. Maurizio Trombetta Aims In order to prepare students beginning the first year of the Degree Course in Computer Science to succeed in passing the scheduled Test, a course of introductory mathematics is organized. 308 Program Basic concepts of Arithmetic, Algebra, Analytic and Euclidean Geometry, Trigonometric functions. Exams Written test. References Lecture notes. LABORATORY OF ALGORITHMS AND DATA STRUCTURES Teacher Dott. Massimo Franceschet Credits 4 Aims The aim of this laboratory is the implementation of some complex algorithms which exploit advanced data structures and the experimental evaluation of their performances. In this way we intend to provide a concrete support which can give a deeper understanding of the notions presented during the course of Algorithms and Data Structures. We assume good knowledge of an imperative programming language. Program - Evaluation of the computation time and comparison among different complexity orders. Theoretical evaluation of the complexity for basic algorithms, asymptotic notation. Time evaluation, relative error, analysis of experimental results. Limits of theoretical asymptotic analysis and role of the multiplicative constants. - Evaluation of the mean computational costs. Casual number generators, standard deviation, confidence intervals. - Code tuning. Techniques to improve three-year laurea course in Computer Science programs. Procedure calls and macroexpansion. Experimental evaluation. - Implementation of algorithms and data structures presented in the course of Algorithms and Data Structures. Sorting algorithms; other algorithms and data structures (different every hear). References - S. M ARTINI , appunti disponibili sulla pagina web. - T.H. C ORMEN , C.E. L EISERSON , R.L. RIVEST, Introduction to Algorithms, MIT Press, 2nd edition, 2001. MANAGEMENT INFORMATION SYSTEMS Teachers Prof. Carlo Tasso Prof. Maurizio Pighin Credits 6 Aims The main objective of the course is the introduction to the problems related with the computerized Management Information System (MIS) in a complex organization. The concept of MIS is defined, as well as methods and techniques for analysis, design, implementation and management of MIS. Both the technical and the organizational points of view are considered. The laboratory course (4 CFU) consists of a case study with the complete analysis of enterprise information system Program Introduction to the concept of MIS: Definition of MIS. Economic relevance of MISs. Professional competence related to MISs. MIS life cycle. MIS Architecture: Modeling a complex organization. Business processes. Value chain. Various 309 three-year laurea course in Computer Science architectural organizations of MISs. Application Portfolio. Strategic Information System. Various categories of information systems: transaction processing systems, management information systems; decision support systems, executive information systems. Knowledge Management: traditional and innovative ICT tools for Knowledge Management. Make, buy and outsourcing. Cost and Performance: MIS development methodologies. Cost/benefit analysis. Risk analysis. Managing a MIS: Resource organization and decision processes. Acquisition and Procurement. Project management and planning. Enterprise Resource Planning: Major data and information flows: administration and finance, logistics, production, marketing and sales, procurement. Advanced systems: E-commerce and One-to-One Marketing. Customer Relationship Management (CRM). Data Warehousing and Data Mining. Business Intelligence. Exams The exams consists in the discussion of an industrial case-study, followed by an oral examination. Alternatively there is a written/oral examination. References - G. BRACCHI, C. FRANCALANCI, G. MOTTA, Sistemi Informativi e aziende in rete, McGraw-Hill Italia, Milano, 2001. - M. PIGHIN, A. MARZONA, Sistemi Informativi Aziendali - Struttura e Applicazioni, Pearson Education Italia, 2005. Other Textbooks: - M. DE MARCO, Sistemi Infomativi Aziendali, Franco Angeli Edizioni, Milano, 2000. - G. BRACCHI, G. MOTTA, Processi Aziendali e Sistemi Informativi, Franco Angeli Edizioni, Milano, 2000. - P.F. CAMUSSONE, Il Sistema Informativo Aziendale, Etas, 2000. - D. AMOUR, E-Business (R)Evolution, Tecniche Nuove, 2000. MATHEMATICAL ANALYSIS Teacher Prof. Gianluca Gorni Credits 12 Aims To teach the basic concepts and techniques of infinitesimal and integral calculus in a way that is concise and suitable for applications. The theory will be explained with a fair level of formal rigor in the statements and in those proofs that will be explained in detail. The students will be trained to perform calculations, above all with pen and paper, but also with computer, if facilities are available. One emphasis in the course is to familiarize the students with the intuitive geometrical and dynamical meaning of the concepts of limit, derivative and integral, so that they will feel it natural to apply such tools to problems that are not already formalized. Program Real numbers, functions, limits and continuity, derivatives, integrals, series, applications. Exams There are two ways to get the credits: the main one is with the 3 ‘compitini’ at the end of the terms, typically without an oral exam; the other way is through a single written and an oral exam in a session between June and September. The precise rules are available on-line. References Textbook 310 three-year laurea course in Computer Science - G.C. B AROZZI , Primo Corso di Analisi Matematica, Zanichelli. MATHEMATICAL LOGIC MODELS AND ALGORITHMS FOR RESOURCE MANAGEMENT Teacher Prof. Franca Rinaldis Teacher Prof. Giovanna D’Agostino Credits 6 Credits 6 Aims Purpose of the course is to present some fundamental classes of problems, models and techniques used in the management of transportation and production-distribution systems. To complete the overview of the methods of Optimization, we also introduce the class of the approximation algorithms and some local search techniques. Program Completeness e Compactness Theorems for Predicate Logic The resolution method for classical propositional logic. Compactness Theorem and Completeness Theorem for propositional resolution. First Order logic, prenex normal form and Skolemization. Herbrand Models and Herbrand Theorem. Compactness Theorem. Unification algorithm. Completeness Theorem for predicative resolution. Undecidability of first order logic. Expressive power of first order logic Ehrenfeucht-Fraiss’ games. Logical and algebraic characterizations. Turing machine and finite models Trankhenbrot Theorem on the undecidability of satisfiability over finite models. Fagin theorem on a logical characterization of NP. References - A. NERDODE, R.A SHORE, Logic for Applications, Springer. - L. LIBKIN, Elements of Finite Model Theory, Springer. Program - Approximation algorithms and local search techniques (12 hours). Approximation algorithms and Polynomial approximation schemes. Examples. Local search techniques: Simulated Annealing and Tabu Search. Examples. - Routing (18 hours). Arc routing problems: the Chinese Postman Problem, the Rural Postman Problem and their variants. Node routing problems: the Traveling Salesman Problem, the Vehicle Routing Problem and their variants. For the different problems we present both ILP models and exact and/or heuristic algorithms. - Scheduling (18 hours). Definition, analysis and classification of scheduling problems. One machine models. Parallel machine models. Open Shop, Flow Shop and Job Shop scheduling. Exams The exam consists of an oral discussion. References Lecture notes. 311 three-year laurea course in Computer Science MODERN PHYSICS Teacher Prof. Alessandro De Angelis Credits 6 Web Page http://www.fisica.uniud.it/~deangeli/fismod/corsofismod.html Aims To illustrate the basics of Quantum Physics and Relativity. The course is addressed to students of Computational Physics, Mathematics, Computer Science and Engineering. Prerequisites Mechanics, electromagnetism and waves. Calculus for functions of one and many variables. Program The fall of classical physics. The old quantum mechanics. Schroedinger’s equation and applications. Conduction and semiconductors; applications to electronics. Basics of quantum computing. Special relativity. Basics of cosmology and particle physics. Exams Students attending the lectures: homework. Students not attending the course: oral test. References - K.S. KRANE, Modern Physics, 2nd edition, Wiley 1996. - Lecture notes. OBJECT ORIENTED PROGRAMMING Teacher Dott. Claudio Mirolo Credits 6 Aims The main objectives of the course are to discuss the object-oriented programming paradigm, as it has evolved from structured programming and abstract data types, and to develop basic skills to design object-oriented solutions. The fundamental features of an object-oriented programming language will be presented. The concepts will be introduced by showing suitable examples. Program Concepts and methodologies. Basic concepts: interacting modules, messages and methods, responsibility, classes and instances, class hierarchies and inheritance, method overriding, exceptions. Object-oriented design: identification of the components and their responsibilities; behavior; interface; concept of state. Benefits of object-oriented programming: information hiding, reliability, code reuse, code sharing, polymorphism, fast prototyping. Inheritance: subclasses, types and substitutability. Specialization and other forms of inheritance. Code inheritance and behavior inheritance. Dynamic binding. Class inheritance and composition; dynamic composition. Inner classes. Clones. Polymorphism and polymorphic variables. Overloading. Overriding: substitution and refinement. Abstract methods. Design patterns: composite; decorator; factory method; flyweight; observer; prototype; proxy; strategy. Model-view-controller paradigm. Java programming language. Features of the programming language Java. Classes in Java: program structure; data fields; constructors; modifiers; instances; inheritance and interfaces. Inner classes and control frameworks. Event model in Java. Exception handling. Multiple threads of 312 execution and synchronization. Garbage collection. More advanced features. Design of the user interface (GUI). Application Windowing Toolkit (AWT): components and layout managers. Input e output in Java. Other utility classes: Math, Random, System, String. Elementary graphics in Java. Collections: Vector vs. array; Dictionary. Applet and network programming. Examples. Prerequisites Basic knowledge of Programming and Mathematics. Exams Organization of the exams: - Two (written) tests, scheduled at the end of the two terms; - Oral discussion (optional laboratory assignment). References Textbooks - T. BUDD, Understanding Object-Oriented Programming with Java, Addison-Wesley, 2000. ISBN: 0-201-61273-9. - D. ARNOW, G. WEISS, Introduction to Programming Using Java: an Object-Oriented Approach, Addison-Wesley, 1998. ISBN: 0-201-31184-4. Or - J. LEWIS, W. LOFTUS, Java Software Solutions - Foundations of Program Design, Addison-Wesley, 2002, (Edizione italiana 2001). ISBN: 0-201-78129-8. Further Refrences - B. LISKOV, J. GUTTAG, Program Development in Java, Addison-Wesley, 2000. - X. JIA, Object Oriented Software Development Using Java, Addison-Wesley, 2002. - B. ECKEL, Thinking in Java, Prentice Hall, 2000. - K.A. L AMBERT , M. O SBORNE , A Framework for Program Design and Data Structures, Brooks/Cole, 2000. three-year laurea course in Computer Science OPERATING SYSTEMS Teachers Dott. Ivan Scagnetto Prof. Marina Lenisa Credits 11 Program 1. Introduction: - the role of the operating system (OS) in a computer system; - OS evolution; OS types (batch/interactive, time-sharing/dedicated, real-time, parallel, distributed, embedded); - basic notions about the architecture of a computer system (execution levels of instructions, interrupt handling, I/O management); - the OS as a resource manager: processes, memory, devices, files, user interaction; - the OS as a virtual machine: the kernel and the system calls interface; - structure of the OS (monolithic, layered, virtual machines, exokernel, client-server microkernel); - some examples: traditional Unix, Linux, Solaris, Mach, Windows NT. 2. Processes and Threads: - the notion of process: definition and role, the process descriptor; - process manipulation: process creation/termination, state diagram of a process, context-switch, process scheduling; - lightweight processes (threads): thread model, user level threads vs. kernel level threads, hybrid solutions, pop-up threads, switching from single threading to multithreading; - kernel role: interrupt and trap handling, wait and signal operations on wait conditions; - CPU scheduling: basic notions, scheduling criteria, scheduling algorithms, 313 three-year laurea course in Computer Science scheduling of multiprocessor systems, real-time scheduling. 3. Concurrent Programming: - race conditions and critical sections; - mutual exclusion; - synchronization between processes and shared memories; - message passing; - communication and synchronization primitives: semaphores, mutexes, monitors, message passing; - classical problems: producer/consumer, dining philosophers, readers/writers, sleeping barber; - deadlock: definition, deadlock models, detection, prevention. 4. Memory Management: - memory hierarchies: registers, cache, main memory, virtual memory, disks; - address binding, logical and physical address spaces, relocation; - allocation techniques: contiguous, paging, segmentation; fragmentation; - virtual memory: paging on demand, substitution algorithms, thrashing, the Working Set model. 5. Input/Output: - types of I/O devices - I/O hardware principles; - low level management of I/O - PIO, DMA, DVMA devices; - interrupt handling, I/O drivers - blocking, non blocking, asynchronous I/O applications interface; - disks - disk scheduling algorithms. 6. The File System: - files, attributes, operations, physical structure; - access methods: sequential, direct, indexed; - directories and logical structure of a file system: flat, hierarchical, graph; - protection; consistency; - file system implementation: organization, free space allocation and management, backup and restore; - disk structure: partition handling, swap area management; - the Unix case study: UFS, EXT2. Kernel tables. Virtual File System. Name resolution in inodes; - disk operations, partitions and file system; - introduction to journaled file systems. 7. Multiple Processors Systems: - general notions - strictly/loosely coupled processors; - multiprocessors - hardware features, software. Limitations; - multicomputers - hardware features low level communication, - user level communication - RPCs - distributed shared memory; - distributed systems - net and distributed services and protocols - client/server model, protocols - ISO/OSI model, TCP/IP suite - communication middleware; - distributed models based on data migration, computation migration, process migration; distributed coordination; - remote procedures calls (RPC) - example of a distributed service: NFS. 8. Introduction to security issues. OPERATING SYSTEMS LAB Teacher Dott. Ivan Scagnetto Credits 4 Program 1. The UNIX operating system: structure, user interface, versions (Solaris, Linux). The UNIX shell: - role and variants, - login procedure, - file system organization, - online manpages, - the bash shell: pathname expansion, I/O redirection, pipes, background jobs, history command, command line editing, 314 three-year laurea course in Computer Science command completion, - vi and (X)Emacs, - the make command. The fundamental shell commands: - file management, - process management, - memory monitoring, - filter commands: search, sort and editing. Shell scripts: - variables, - parameter passing, - flow-control structures, - login scripts. 2. Brief introduction to the C programming language. 3. System programming: - process management, - file system manipulation, - inter-process communication, - threads and multithreading. OPERATIONS RESEARCH Teacher Prof. Paolo Serafini Credits 6 Web Page http://www.dimi.uniud.it/~serafini/ROI NF0607.html Aims Operations Research deals with efficient management problems via a mathematical and algorithmic approach. The course aims at giving the student both the basic tools to design a viable mathematical model of a real problem and the necessary understanding of the mathematical and algorithmic properties of the models, with a special emphasis to linear programming. Several examples will be provided toward this goal. Most models will be solved by using Excel or other linear programming packages. Program - Introduction to linear programming. General modeling issues: constraint identification, soft and hard constraints; objective identification; objectives and constraints. Explicit objectives. Pareto optima. Example of the diet problem: modeling via linear programming. Sensitivity analysis. Identification of further objectives. Efficient frontier identification. Integrality constraints. Model refinement. - Linear programming properties. Geometric structure. Vertices and basis solutions. Dual problem. Complementarity. Overview of simplex method. Overview of branch-and-bound methods for integer variables. - Routing models 1. Dynamic programming. Optimality principle. Recursive equation. Shortest paths (Bellman-Ford, Dijkstra, Floyd-Warshall). - Routing models 2. Capacitated shortest paths: network flow problems. Minimum cost flows. Max Flow. Minimum cuts. - Routing models 3. Traveling salesman problem (cutting plane formulation). Eulerian circuits. Matching. Minimal spanning trees (Kruskal and Prim algorithms). - Allocation models. Assignment. Knapsack. Bin packing. Staffing models. LP with column generation: cutting stock, max flow, crew scheduling. - Scheduling. Infinite resource scheduling: PERT. Finite resource scheduling: one machine problems, parallel machine problems, flow-shop, job-shop and openshop. The detailed plan of the lectures is available at http://www.dimi.uniud.it/ ~serafini/ROINF0607.html Exams Oral examination. Information on Operations Research and Optimization may be 315 three-year laurea course in Computer Science found at INFORMS (Institute for Operations Research and Management Science) http://www.informs.org/ or at CIRO (Centro Interuniversitario in Ricerca Operativa) http://www.disp.uniroma2.it/ciro/index.html. References - TIPLER, Introduzione alla Fisica, Zanichelli. - Lecture notes. PROBABILITY AND STATISTICS References - Lecture notes available on-line. - P. SERAFINI, Ottimizzazione, Zanichelli, Bologna, 2000. - L. S CHRAGE , LINDO: an Optimization Modeling System, Palo Alto Scientific Press, 1991. PHYSICS Teacher Prof. Lorenzo Santi Credits 6 Aims The course gives a basic knowledge of Physics. This includes elementary Mechanics, Thermal Physics and Electromagnetism. Problem solving and operational knowledge are stressed throughout the course. Program Introduction to Physics. Orders of magnitude, units. Kinematics. Forces and Newton’s laws. Kinetic and potential energy. Gravitational force and gravitational potential. Kepler’s laws. Scattering. Conservation of momentum. Thermal Physics. Electric and magnetic forces. Introduction to circuits. Elementary introduction to electromagnetic waves. Exams Written test. Teacher Prof. Luigi Pace Credits 6 Aims The aim of the course is to introduce the students to the fundamental concepts of Probability and Statistics, as a basic tool in order to manage experimental situation involving uncertainty. These notions will be presented from an applied viewpoint. Program 1. Introduction to Probability Preliminaries on combinatorial calculus; uncertainty; probability spaces; axioms of probability; conditional probability; stochastic independent events; Bayes’ theorem. 2. One-dimensional random variables Random variables (r.v.); distribution functions; discrete and absolutely continuous r.v.’s; probability density functions; expectation; median, mode, variance and moments; inequalities; moment generating function; the basic probability distributions. 3. Multidimensional random variables Discrete and absolutely continuous bivariate r.v.’s; joint distribution functions; marginal probability distributions; stochastic independence; bivariate uniform distribution; bivariate Gaussian distribution; covariance; correlation coefficient; conditional distribution function; sums of r.v.’s. 4. Convergence and limit theorems Sequences of r.v.’s; convergence in probability; weak law of large 316 three-year laurea course in Computer Science numbers; convergence in distribution; central limit theorem. 5. Introduction to statistical inference The foundations of statistical inference; parametric statistical models; sample statistics; sample mean; sample variance. 6. Point and interval estimation Introduction to the theory of point and interval estimation; estimates and estimators; properties of estimators; the method of moments; the method of maximum likelihood; confidence limits; confidence limits for the mean and the variance of a normal population; confidence limits for a proportion; approximate confidence limits. 7. Hypothesis testing Introduction to the theory of statistical tests; test for the mean and the variance of a normal population; test for a proportion; approximate test for the mean. Exams The examination consists in a practical part, mainly exercises, and in an oral discussion. References - G. CICCHITELLI, Probabilità e Statistica, 2nd edition, Maggioli, 1992. - P. BALDI, Calcolo delle Probabilità e Statistica, McGraw-Hill, 1992. PROGRAMMING LAB Teacher Prof. Fabio Alessi Dott. Alberto Ciaffaglione Credits 4 Aims - Exposition to professional development tools. - Introduction to the development tools: compilers, linkers/loaders, debuggers. - Knowledge of the basic structures of a programming language and application to formalize simple programs. Program Syllabus: (48 hours) - Introductory programming exercises. - Recursive and iterative programs solving simple problems. - Programs working on structured datatypes. - Program testing and verification. - Project development as problem analysis and program design. - Writing a short technical report to document the project development. QUANTUM COMPUTING Teacher Prof. Alessandro De Angelis Credits 6 Web Page http://www.fisica.uniud.it/~riccardo/tea ching/physics/qc2001.html Aims The course proposes an introduction on quantum computing and its basic and advanced features and applications. In the first part the mathematical and conceptual foundations of quantum mechanics are discussed and analyzed. In the second part they will be used to show the quantum computation and complexity theories, analyzing the innovative contents and underlying the main differences and advantages with respect to the classical theory. The course will also give some basic elements on top level research topics like the quantum information theory or the quantum teleporting theory. 317 three-year laurea course in Computer Science Program Mathematical foundations. Hilbert spaces. Quantum mechanics. Compound systems. Classical theory of computation and complexity. Quantum theory of computation. Quantum algorithms. Possible experimental realizations. An outline on quantum information theory. Advanced topics in quantum information theory. Prerequisites Modern Physics. Exams The final examination will be the discussion of a small thesis on a relevant research topic. References - Lectures notes. - M. NIELSEN, I. CHUANG, Quantum Computation and Quantum Information, Cambridge University Press, 2000. SCIENTIFIC COMPUTING Teacher Prof. Rossana Vermiglio Credits 6 Aims It is an introductory course in the basic numerical methods with particular emphasis on accuracy, complexity and implementation aspects. The students will learn the fundamental techniques for the solution of some problems of continuous mathematics, they will understand the correct use of the methods, they will appreciate the limitations of finite precision arithmetic and memory and they will improve their programming experiences. Finally they will be able to critically analyze the accuracy of the numerical results. Program Floating-point arithmetic.; non-linear equation; remarks on linear algebra: norms of vectors and matrices, scalar product; linear equations; approximation of data and functions; interpolation: polynomial, piecewise polynomial, trigonometric and splines; parametric splines and Bezier curves; over determined systems and least squares; quadrature and numerical differentiation; Fourier analysis. The course includes the MATLAB knowledge and laboratory experiences where the students can solve some exercises and treat case-studies interesting for computer science. Prerequisites Calculus, linear algebra, basic computer programming experience. Exams Written and oral examinations. References - Teacher’s notes available on-line. - A. QUARTERONI, F. SALERI, Introduzione al calcolo scientifico, Springer Verlag, 2002. - C. M OLER , Numerical Computing with MATLAB, SIAM, 2005. SOCIAL ASPECTS AND PROFESSIONAL ETHICS Teacher Dott. Antonio Piva Credits 3 Aims The main aims of course are: make the student aware about the social context and about social and ethics implications resulting from the innovations in infor- 318 mation technology; make the student aware in his own profession about the deontological implications towards customers and users, and getting him responsible to the users. Particularly the course provides for the ICT regulation always considering the internet innovations. Program The subjects will be considered: - International liberalization of telecommunications and in the Italian disposition - Privacy and security; notions and development of privacy: from the 1980 OCSE to the European directives, the Italian rules about personal data, the net dispositions, the obligations for the Service Providers, the security management, the Programmatic Document in Security, the juridical figures provided. - The tutelage of the e-mailing secrecy in the Italian system and the other countries. - The Intellectual Property, Copyright and Author rights; from the origin of Copyright to the Intellectual Property in the information society; the international regulation regarding this matter. The juridical tutelage of software: the Copyright on software and its patent, the tenure of right and the tutelage of data banks and multimedia. - Domain Names in internet and juridical aspects; grabbing and recording procedures; DN and Trademark, analysis on juridical protection of some cases and decision in Italian law court. - Link utilization on web and some juridical cases. - Digital Sign and Electronic Identity Card; the electronic document and its validity in Italian regulation; Cryptography: its history, evolution and techniques of tutelage in web; Reserve, integrity, authentication; the Authority Certifica- three-year laurea course in Computer Science tions recognized by CNIPA and electronics certificates; European and Italian regulations regarding electronic sign; comparison between digital and autograph sign; the real date in electronic documents. Mentions about electronic identity card and the certified e-mailing. Computer science in the Public Administration: the E-government plan and the new code of digital administration. - Electronic commerce; the European directions in matter of it; contracts whit internet and telematic contracts; the tutelage of customers in internet and regulations about contracts arranged out of commercial locations; advertising in web: legal doctrines; banner and spamming in Italian regulation. - The informatic criminality and criminal law in internet; the tutelage of informatic property, the violation of informatic domicile, the abusive access and the hackers, the criminal regulation about it. - The research of juridical information. - The quality (facultative). History and evolution of quality, from ISO9000:1994 to Vision 2000; their application to the different situations, terminology, system of management of quality, the principles of quality, the approach to processes, audit and inspections, the management of non conformity, the preventive and correctives actions, customer satisfaction, human resources and continue improvement. SOFTWARE ENGINEERING 1 Teacher Prof. Carlo Tasso Credits 6 Aims The aim of the course is the introduction 319 three-year laurea course in Computer Science of the basic elements of Software Engineering, i.e. the field of Computer Science devoted to study the methodologies, techniques, and tools utilized in the industrial production of software. More specifically, the course describes several process models of software development and the various phases of the life cycle, with reference to both traditional and innovative software systems. Program The major topics concern: Introduction to Software Engineering, origins and motivations and basic definitions; the concept of quality; life cycle; process models: waterfall and spiral models; the role of prototyping; requirement analysis and specification; techniques for analysis and modeling: DFD, UML, Petri Nets; specification techniques; software design and development; goals of design and approaches; object oriented and functional design; architectural design, distributed architectures; verification and validation of software: testing and inspection; quality certification and ISO standards; management of software projects. Exams Written examination. References - I. SOMMERVILLE, Software Engineering, 7th edition, Addison-Wesley, Harlow, UK, 2004. Italian edition: - I. SOMMERVILLE, Ingegneria del software, settima edizione, Pearson Addison-Wesley, Milano, 2005. - G. GUIDA, C. TASSO, Design and Development of Knowledge-Based Systems: from Life Cycle to Development Methodology, John Wiley & Sons, Chichester, UK, 1994. - Study materials available on http://twm.dimi.uniud.it/ SOFTWARE ENGINEERING 2 Teachers Prof. Maurizio Pighin Dott. Anna Marzona Credits 6 Aims The target of the course is to examine closely the principal elements of Software Engineering. We consider the design and life cycle of a software product studying the more advanced arguments: the configuration management, the test methodologies, the theoretic and practical metrics, the most famous product and process quality models, the planning and control methodologies, the principal working tools. In the laboratory course (4 CFU) we develop a complete case-study, following the whole software development process in the life cycle phases (specifications, design, coding, test, release, metrics, maintenance) and management phases (planning, cost analysis, metrics, work organization). Program Introduction: The Software Engineering motivations. The basic definitions. The economic dimension of the problem. The development process complexity factors. Configuration Management: The motivations of Configuration Management. The CM-Planning and the versioning/variants techniques. Assembly of components and system building. Existing Software Engineering: The motivation of ESE. The methodologies of re-engineering. The methodologies of reuse. The development with and for reuse. Verification and Validation: The negative theoretic results. The test strategies. The dynamic test. The test chains. The regression test. The automatic test and the mutation- 320 al analysis. The static test. Formal test methodologies. Metrics: The software metric concept. The target of measure. The measurement scale. The control and predictive measure. The data collection. The internal attributes ant their measure. The Halstead metric. The Albrecht metric. The McCabe metric and other complexity metrics. The external attributes and their measure Quality Models: The quality certification and the principal model of product and process certification: ISO9000, CMM. Notes on SYNQUEST, SPICE, BOOTSRAP, The ISO 9126 model. Cost Evaluation: The performance/cost analysis and the decision analysis. The software cost evaluation. The COCOMO model. Other evaluation models. Production Process Evaluation and Planning: The work-group organisation. The planning methodologies. The Pert Diagram and the Gantt Scheme. Maintenance: The maintenance: costs, estimations, metrics. The COCOMO model. Extreme programming: Operative methodologies: planning, testing. Developing techniques Tools: The CASE technology: Tools and Environments. The three-year laurea course in Computer Science functionality. The tools in the different phases of the development process. Exams The exam consists in the discussion of the project produced in the laboratory. Alternatively there is a written/oral examination. References - R.S. PRESSMAN, Principi di Ingegneria del Software, McGrawHill, 4th edition, 2005. - I. SOMMERVILLE, Software Engineering, 7th edition, Addison Wesley P.C., 2004. - N.E. F ENTON , S.L. P FLEEGER , Software Metrics - A Rigorous and Practical Approach, 2nd edition, PWS Publishing Company, 1997. - A. B INATO , A. F UGGETTA , L. S FARDINI , Ingegneria del Software, creatività e metodo, Pearson-Addison Wesley, 2006. - C. GHEZZI, M. JAZAYERI, D. MANDRIOLI, Ingegneria del Software - Fondamenti e Principi, 2nd edition, Pearson-PrenticeHall, 2004. - AA. VV., Metriche del software - esperienze e ricerche, Franco Angeli, 2006. three-year laurea course in Web and Multimedia Technologies THREE-YEAR LAUREA COURSE IN WEB AND MULTIMEDIA TECHNOLOGIES ADVANCED LABORATORY OF COMMUNICATION TECHNIQUES Teacher Prof. Angelo Marzollo Credits 4 Aims As a whole, the course has two objectives: the first and main one aims consists in providing students with various tools which are useful for facing in an appropriate way various communication tasks, not only at University level (e.g. the preparation of their thesis), but also in their social and work activities, starting from the writing of their C.V. and facing work interviews up to more complex performances such as preparing and writing reports, participating in work meetings, preparing communications and papers for congresses, public speeches, and so on. The second aim of the course consists in exposing students to basic notions and terminology useful for understanding some current cultural, social, environmental and economical realities and trends, including the growing importance of mass media and of Internet communication. Program A preliminary analysis will be carried out of the individual communication capabilities of the students, as they may appear in collective frameworks, such as public reading and speech, and in interpersonal frameworks such as preparing and commenting his own C.V., social and work meetings and similar events. 321 This analysis will point out critical points and provide useful indications for their overcoming, also thanks to the input provided by specialized experts. The role of the language versus other ways of communication will be outlined, as well as the most significant differences between oral and written expressions, including the role of punctuation and of deictic expressions. Some appropriately chosen basic notions of linguistics, mainly concerning semantics and pragmatics and the importance of context will be dealt with several examples, and some indications will be provided on the use of appropriate dictionaries including analogical ones. Some basic notions of rhetoric will be mentioned, and of its extended revival in modern persuasion techniques including advertising will be reviewed, showing also various current examples, mainly taken from TV practises. Some main characteristics will be pointed out of specialized languages, e.g. in science, technology and management. The course will be completed by an appropriate series of Seminars held by chosen experts in specific fields related to the above fields. The practical, rather than theoretical characteristics of the course imply that students who choose this course are expected to attend most lectures and Seminars. Exams The final examination consists in a written and in a following oral examination, concerning topics dealt with in the lectures and in the Seminars of the course. Concerning the additional topics, the teacher will yearly discuss with each student which texts to choose for intensive reading and following critical report. References - A.M. T E S T A , Farsi Capire, Rizzoli, Milano, 2000, 406 pages. 322 three-year laurea course in Web and Multimedia Technologies - P. TABOSSI, Il linguaggio, Il Mulino, Bologna, 1999, 125 pages. - T. DE MAURO, Prima lezione sul linguaggio, Laterza, Bari 2002, 110 pages. - G. LONGO, Il Nuovo Golem, come il computer cambia la nostra cultura, Laterza, Bari, 1998, 128 pages. - G. SARTORI, Homo Videns, Laterza, Bari 1999,153 pages. - G. COSENZA, Semiotica dei nuovi Media, Laterza, Bari 2004, 139 pages. ADVANCED LABORATORY ON SERVER-SIDE TECHNOLOGIES Teachers Dott. Vincenzo Della Mea Dott. Ivan Scagnetto Credits 4 Program - Introduction to server side technologies: web server operations, CGI, scripting. - Introduction to PHP. The language and exercises (cookies, MySQL, images). - Introduction to the Java 2 Enterprise Edition and to the servlet technology. - Tomcat (installation, directory layout, configuration files, practical use), servlet examples (from the source code writing activity to the server deployment). - Advanced notions about servlets: the destroy method, reading parameters from the web.xml file, thread-safety, client tracing by means of cookies and sessions, writing in the Tomcat log file, WAR. - Files (deployment through the Tomcat Web Manager). - Introduction to JSP. - Introduction to JDBC. - An advanced example with the JSP technology: implementation of the front end of an e-commerce virtual store. - Introduction to CMS. Exercises with Zope and Plone. - Other server side techniques: templates, MVC, web services. Exercises using PHP. - Introduction to the Java 2 Enterprise Edition and to the servlet technology. - Tomcat (installation, directory layout, configuration files, practical use), servlet examples (from the source code writing activity to the server deployment). - Advanced notions about servlets: the destroy() method, reading parameters from the web.xml file, thread-safety, user tracing by means of cookies and sessions, writing in the Tomcat log file, WAR files (deployment through the Tomcat Web Manager). - Introduction to JSP. - Introduction to JDBC. - An advanced example with the JSP technology: implementation of the front end of an e-commerce virtual store. ALGORITHMS AND DATA STRUCTURES Teacher Prof. Carla Piazza Credits 10 Aims During this course we will introduce the notions at the basis of the theory of algorithms and data structures. Moreover, we will present the fundamental techniques for the analysis of the computational complexity of programs. One of the main objectives of this course is the study of basic problems and techniques for the design and analysis of algorithms. Having passed this course the student should be able to algorithmically solve some classical problems, to choose the opportune 323 three-year laurea course in Web and Multimedia Technologies data structures to get computationally efficient solutions, and to investigate the complexity of the proposed algorithms. Program 1. Introduction and preliminary notions. Elements of logic and set theory. Threes and graphs. Discrete mathematics and Asymptotic analysis. Models for the definition of the computational complexity. Recursive problems and algorithmic aspects. 2. Sorting algorithms and order statistics. Basic sorting algorithms: selection-sort, insertion-sort, bubble-sort, heap-sort. Recursive algorithms: quick-sort, mergesort. Computational complexity and lower bounds. Linear-time algorithms (outside the comparison-based model): counting-sort, radix-sort, bucket-sort. Selection in linear time. 3. Data structures. Elementary data structures: linked lists, stacks and queues. Algorithms and data structures for dynamic sets: hash tables, binary search threes, red-black trees, and B-trees. Algorithms and data structures for disjoint sets. 4. Graph algorithms. Data structures for graphs. Breadth-first search and Depthfirst search. Strongly connected components. Topological-sort algorithms, minimum spanning tree (Prim and Kruskal), single-source shortest paths (Dijkstra, Bellmann-Ford), all-pairs shortest paths (Floyd-Warshall, Johnson). References - T.H. C ORMEN , C.E. L EISERSON , R.L. RIVEST, Introduction to Algorithms, 2nd edition, MIT Press, 2001. Other suggested references - A.V. AHO, J.E. HOPCROFT, J.D. ULLMAN, Data Structures and Algorithms, AddisonWesley, 1983. - A.V. AHO, J.E. HOPCROFT, J.D. ULLMAN, The Design and Analysis of Computer Algorithms, Addison-Wesley, 1974. - D.E. KNUTH, Selected Papers in Computer Science, Cambridge University Press, 1996. - R.E. TARJAN, Data Structures and Network Algorithms, SIAM, 1983. APPLIED STATISTICS Teacher Prof. Vidoni Paolo Credits 6 Aims The aim of the course is to introduce the students to the fundamental concepts of Descriptive and Inferential Statistics, as a basic tool for data analysis and for managing experimental situation involving uncertainty. These notions will be presented from an applied viewpoint. Program 1. Descriptive Statistics: Variables; Frequency distributions; Location and variability indicators. 2. Probability: Basic concepts; Random variables; Probabilistic models; Random vectors and convergence concepts. 3. Inference: Point estimation; Confidence intervals; Hypothesis testing; Hints on linear regression and analysis of variance. Exams The examination consists in a practical part, mainly exercises, and in an oral discussion. References - L. PACE, A. SALVAN, Introduzione alla Statistica, I Statistica Descrittiva, Cedam, Padova, 1996. - Lecture notes. - G. CICCHITELLI, Probabilità e Statistica, 1st edition, Maggioli Editore, 1984. 324 three-year laurea course in Web and Multimedia Technologies COGNITIVE MODELING COMMUNICATION SKILLS Teacher Dott. Silvia Gabrielli Teacher Prof. Angelo Marzollo Credits 6 Credits 1 Aims Three sections of the course: general psychology (introduction to build successive knowledge); communication; and research methodology (to be able to perform experiments). The course aims to approach students to psychology as science studying humans, their behaviors and thinking ways, in order to extend the general knowledge about some aspects of daily life. Moreover, the course specifically aims to provide information that will be useful in future activities of students (i.e. visual perception, emotions’ role, use of the communication), and to give a scientific method to perform experiments. Aims The course corresponds to one credit, and it coincides with the first eight lessons of the Economics and Business Organization course. The course aims at providing the students with basic communication operational tools so as to facilitate their first steps in the professional world. Exams Written test. References - L. ANOLLI, P. LEGRANZI, Psicologia Generale, Il Mulino, 2001. Chapter 1: paragraphs 1.1 and 1.2 (pag. 9-13). Chapter 2: complete (pag. 47-75). Chapter 3: paragraphs 1 and 2 (pag. 77-86). Chapter 4: paragraphs 1 and 2 (pag. 103-133). Chapter 5: complete (pag. 137-166). Chapter 6: complete (pag. 169-202). Chapter 7: complete (pag. 203-230). Chapter 8: paragraphs 1, 2, 3, 4 (pag. 233-261). - D.H. MCBURNEY, Metodologia della ricerca in psicologia, Il Mulino, 1986. Chapters: 3, 4, 5, 6, 7, 8, 10. - R. Cialdini, Le armi della persuasione, Giunti, 2005. Program An analysis of individual communication abilities both at group and at interpersonal level will first be carried out (public reading and public speaking, CV preparation and illustration, job interviews and professional meetings, etc.), thus revealing the main problems to be tackled in these contexts. Specific communication experts will also intervene and suggest possible ways of overcoming the more common difficulties. Exams The examination will consist of a communicational task (written and possibly also oral) that will be as similar as possible to real situations to be met by the students in their social and professional lives. The students following the course in Economics and Business Organization (the first eight lessons of which are devoted to the topics described above) are exempt from taking a separate exam in Effective Communication. Instead, they will take a single exam (Economics and Business Organization) that will also include the course described here (Effective Communication). Therefore, passing the examination in Economics and Busi- 325 three-year laurea course in Web and Multimedia Technologies ness Organization will automatically entail passing the one in Effective Communication, too. References Given the shortness of the course and its mainly operational approach, specific material will be indicated or distributed to integrate direct training and note-taking. Textbooks and manuals in the field are overabundant, and often very similar to one another. During the course they will be rapidly illustrated for those who might be interested in further individual study. COMPUTER ARCHITECTURE Teacher Prof. Pietro Di Gianantonio Credits 8 Aims The course illustrates the structure and functioning of a computer and its various hardware parts. The analysis starts from the smallest computer parts (digital gates inside chips) and moves upwards until it reaches the level of a full computer architecture. To better highlight the relations between the hardware and software level, the course deals with assembly programming. Program - Introduction: historical perspective on computer architecture, basic concepts, abstraction levels in computer architecture. - Logic Circuits: logic gates, Boolean algebra, most frequently used combinational circuits, memory chips. - Data Representation: binary representations, conversions, integer and floatingpoint numbers, character representation, error detection and correction. - Processor: fetch-decode-execute cycle, data path, control unit, detailed example of a simple architecture, pipeline, superscalar processor, branch prediction, Pentium IV, Sparc. - Input/Output: programmed I/O, Interrupt, DMA, peripheral devices, bus, bus arbitration, strobe control, PCI, USB, SCSI. - Memories: hard disk, RAID, optical disk, cache memory, virtual memory, pagination and segmentation, MMU. - Assembly programming: MIPS architecture. MIPS assembly: assignment, branch instructions, arithmetic and logic instructions, subroutines. Exams The final exam consists of three parts: a written exam and oral discussion. During the course, student are offered the opportunity to take three written exams, each one dealing only with a part of the course topics. Students who pass successfully these three written exams do not need to take the written part of the final exam. References - A.S. TANENBAUM, Structured Computer Organization, 5th edition, Prentice-Hall, 2006. COMPUTER NETWORKS Teacher Prof. Elio Toppano Credits 6 Aims The aim of this course is to introduce principles and fundamental concepts of modern computer networks. In particular, the general characteristics of comput- 326 three-year laurea course in Web and Multimedia Technologies er networks, the main structures, topologies, architectures and protocols will be presented. Networking issues are also addressed. Program - Introduction to computer networks Scope, applications, historic evolution, main characteristics and layers, networks topologies and architectures, network protocols, error control, flow control, packets and messages, service primitives, circuit and packet switching, routing and internetworking. - Principal components of a network and data transmission techniques - Optical and electrical transmission media, signal bandwidth, channel bandwidth, crosstalk, attenuation and distortion, analog and digital signal transmission (PCM, multiplexing), principal components of a network (modem, multiplexer, bridge, router, switch). - The ISO/OSI model architecture, services and protocols - The physical layer. The data-link layer. Protocols for flow (Stop&Wait, sliding window, GoBack-N) and error (CRC codes) control. HDLC protocol. - The network level - Routing techniques (routing by network, address label swapping, source routing), router architecture, routing tables, static routing algorithms (fixed directory routing, flooding e selective flooding) and dynamic routing algorithms (distance vector and link state). The IP protocol, IP addresses, sub-nets and net mask. ARP, IGP, RIP, OSPF, BGP protocols. Ipv6 protocol, packet format, optional headers. Network Address Translation (NAT) protocol. - The transport level - Services provided to upper layers, addresses of transport layer, establishing a connection, releasing a connection. Three-ways handshake. The transport level in Internet: the UPD (User datagram protocol) and TCP (Transport control protocol) protocols. - The application layer - Telnet, File Transfer Protocol (FTP), Domain Name Server (DSN), Simple Network Management Protocol (SNMP), electronic mail, ftp, World Wide Web, multimedia documents. - Design and analysis of the network performances - Topological design, graph theory, connectivity analysis and delay analysis. Delay analysis, definition of flow and line capacity. Performance analysis of a computer network. - New Trends - ISDN and broadband ISDN. ATM networks. Exams The final exam will be organized in two steps. The first step will consist in the solution of exercises similar to those solved during the course, while the second step will consist in an oral discussion on the main arguments presented during the course. References - A.S. T ANEMBAUM , Computer Networks, Addison-Wesley, 2003. Other suggested books - J. KUROSE, K. ROSS, Internet e Reti di Calcolatori, seconda edizione, McGraw-Hill, 2003. - D. COMER, Internetworking con TCP/IP, Addison-Wesley, pubblicato in Italia da Pearson Education Italia, 2002. - M. BALDI, P. NICOLETTI, Internetworking, McGraw-Hill, 1999. - R. ADINOLFI, Reti di Computer, seconda edizione, McGraw-Hill, 1999. - F. HALSALL, Reti di Calcolatori e Sistemi Aperti, quarta edizione, Addison Wesley, 1998. 327 three-year laurea course in Web and Multimedia Technologies COMPUTER PROGRAMMING AND LABORATORY Teachers Prof. Stefano Mizzaro Dott. Paolo Coppola Credits 6+4 Aims We aim at introducing the basic notions of computer programming: the concepts of algorithm, program, and programming language, how to write a program, how to use the APIs. The programming language used is Java. Program - Structured programming. The basic building blocks of a Java program: variables, types, expressions, control structures (sequence, selection, iteration), arrays, methods, recursion. - Abstract data types and information hiding. How to build larger and more complex programs, while keeping them easy to modify, extend, understand, etc.: the Abstract Data Type (ADT) concept and encapsulation and information hiding principles. - Object Oriented (OO) programming fundamentals. OO programming as an evolution of ADTs: objects, classes, instances, message passing, inheritance, polymorphism (short account). Some specific aspects of OO programming in Java: abstract classes, interfaces, packages. - Java APIs (Application Programming Interfaces). Software libraries allowing to write not trivial programs: file management, graphical user interface construction, applets implementation. - Computability and complexity theories (short accounts). The concepts of computable function (what a program can do?) and computational complexity (how to evaluate the efficiency of a program by theoretical means?). Exams Written exam, term project, and oral examination. References The main textbook is: - S. MIZZARO, Introduzione alla programmazione con il linguaggio Java, 3rd edition, Franco Angeli, Milano, 2001. ISBN: 88464-1696-1. Laboratory exercises will be based on material freely available on the Web. As an integration, students can use: - P. COPPOLA, S. MIZZARO, Laboratorio di programmazione in Java, Apogeo, Milano, 2004. ISBN: 88-503-2145-7. Other course material will be specified during the first lessons (slides, Web pages, other textbooks). DATABASES Teacher Dott. Massimo Franceschet Credits 6 Program Part 1 - Basic concepts Role and functionalities of a database; data abstractions; conceptual, logical, and physical data models; schemas and instances, logical and physical data independence; data definition and data manipulation languages; Database Management Systems (DBMSs); database administrator and database users; data dictionary; the structure and modules of a DBMS. Part 2 - The Entity/Relationship (ER) model 328 three-year laurea course in Web and Multimedia Technologies Methodologies and models for database design: the life cycle of an information system; methodologies for database design; the basic constructs of the Entity/Relationship (ER) model: entity types and instances, relation types and instances, attributes (simple, compound, single-valued, multiple-valued, derived), keys (internal and external identifiers, the notions of weak entity, owner entity, partial key and identifying relation); attribute domains and the use of NULL; constraints associated with relation (participation constraints and cardinality ratios); recursive relations and roles; binary relations and relations with arity greater than two; ER diagrams; documentation of ER schemas; documentation techniques; business rules (integrity constraints and derivation rules); advanced ER constructs: specialization and category. UML data modeling: class diagrams (class, association, multiplicity, identifier, generalization). Part 3 - The relational data model, the relational algebra and the relational calculus The relational model: basic notions, the definition of relation, the definition of relational model constraint (it may involve a single relation or more than one relation), update operations (insertion, deletion, modification) and possible constraint violations; relational algebra: the basic operations, queries in relational algebra, additional operations, algebraic optimization, the limitations of relational algebra; the relational calculus: basic notions, domain relational calculus and duple relational calculus, the relationships between the relational calculi and the relational algebra. Part 4 - The SQL language SQL data definition and data types; queries in SQL; update statements in SQL; additional data definition features (generic integrity constraints, views, specifying constraints as assertions); SQL and database security (discretionary access control based on granting and revoking privileges); the DBMS MySQL. Pari 5 - Database design The conceptual design: requirements collection and analysis; general criteria for data representation; design strategies; qualities of a conceptual schema; CASE tools for database design. The logical design: performance analysis on ER schemas; restructuring of ER schemas (redundancy analysis, elimination of specialization hierarchies, partitioning / merging of entities / relations, the choice of the primary identifiers); the mapping of ER schemas into relational schemas. The theory of the logical design of relational databases: functional dependencies, reasoning about functional dependencies, relation decomposition, lossless join decompositions, decompositions that preserve functional dependencies, normal forms for relation schemas (1NF, 2NF, 3NF e BCNF), lossless join decomposition in BCNF, lossless join decomposition in 3NF that preserve functional dependencies. References Main references: - P. A TZENI , S. C ERI , S. P ARABOSCHI , R. TORLONE, Basi di Dati: Modelli e Linguaggi di Interrogazione, seconda edizione, McGraw-Hill, 2006. - R. ELMASTRI, S. NAVATHE, Fundamentals of Database System, 5th edition, Pearson International Education / Addison Wesley, 2007. As an alternative: - R. ELMASTRI, S. NAVATHE, Sistemi di basi di dati. Fondamenti, quarta edizione, Pearson Education Italia / Addison Wesley, 2004. Additional references: - J.D. ULLMAN, Principles of Databases and Knowledge-Base Systems, Volume I, Com- three-year laurea course in Web and Multimedia Technologies puter Science Press, 1988. - S. ABITEBOUL, R. HULL, V. VIANU, Foundations of Databases, Addison-Wesley, 1995. - A. ALBANO, G. GHELLI, R. ORSINI, Fondamenti di basi di dati, Zanichelli, 2005. - C.J. DATE, An Introduction to Databases Systems, 7 th edition, Addison-Wesley, 2000. - SILBERSCHATZ, H.F. KORTH, S. SUDARSHAN, Database System Concepts, 4th edition, McGraw-Hill, 2002. - L. WELLING, L. THOMSON, MySQL Tutorial, Pearson Education Inc., 2004. 329 References See: http://www.dimi.uniud.it/~panti/didattica/MD/programma_MD.html ELECTRONIC COMMERCE Teacher Dott. Roberto Pugliese Credits 8 Aims The course aims at providing the basic tools in discrete mathematics, modern algebra and linear algebra, mostly from the viewpoint of computer science applications. Aims The course analyzes the problems to be faced, the guidelines, the available tools and design methodologies in developing e-commerce services. Topics will be examined from four different viewpoints: customer (e.g., purchasing style, trust, usability problems); seller (e.g., Internet marketing, merchandising, e-commerce strategies); service (e.g., current structure of e-commerce services and future developments); and development (available tools, guidelines, techniques). The course will also deal with advanced topics such as exploiting multimedia communication, 1-to-1 E-commerce, and Mobile Commerce. Program - Basic arithmetic, divisors, Euclidean algorithm, prime numbers and factorization. - Modular arithmetic, congruencies, nadic representation of integer numbers, public-key cryptography. - Monoids, groups, cyclic groups, homomorphisms and normal subgroups, permutations and symmetric groups. - Graphs and trees. - Rings, ideals, fields, polynomial rings, finite fields. - Linear algebra, vector spaces, basis, matrices, determinants, linear mappings, eigenvalues and eigenvectors. Program - Business-to-business (B2B) Applications. Company-centric B2B. From Traditional to Internet-Based EDI. E-Marketplaces and B2B. Extranets. B2B Support Services. - Other E-commerce applications. Consumer-to-Consumer (C2C). Dynamic Pricing, Auction. Service Industries, Online Publishing, and Knowledge Dissemination. Intrabusiness, e-Government. E-Communities. - Mobile Commerce. Wireless and mobile technologies. M-commerce applications. Mobile marketing, advertising and customer service. Location-based commerce. DISCRETE MATHEMATICS Teacher Prof. Giovanni Panti Credits 6 330 three-year laurea course in Web and Multimedia Technologies Current limitations of M-commerce. - Developing E-commerce services. Infrastructure. Tools. Page design. Web programming. E-Commerce Security. Electronic Payment Systems. Order Fulfillment, Logistics, and Supply Chain Management. - User Interfaces for E-commerce applications. Guidelines. E-commerce Interface Design. Recent research trends: user interfaces for 1-to-1 e-commerce, mobile commerce, experiential e-commerce. References - E. TURBAN, J. LEE, D. KING, M. WARKENTIN, H.M. C HUNG , Electronic Commerce: a Managerial Perspective, 2nd edition, Prentice-Hall, 2002. - G.P. SCHNEIDER, J.T. PERRY, Electronic Commerce, 2nd edition, Thomson Learning, 2001. ELEMENTARY MATHEMATICS Teacher Prof. Giovanna D’Agostino Credits 3 Program - Sets, functions, and relations. - Natural numbers: induction principle, divisibility and primes, Euclid’s algorithm. - Proof Methods: proof by contradiction, proof by cases, proof by contraposition. - Equivalences and partitions, arithmetic modulo n. - The RSA cryptosystem. - Cardinality. - Orders. - Matrix. References We use the same book as in the course of Discrete Mathematics, see http://www.dimi.uniud.it/~panti/didattica/MD/programma_MD.html HUMAN COMPUTER INTERACTION 1 Teacher Prof. Luca Chittaro Credits 6 Aims The course illustrates principles, design methodologies and the different implementation choices which allow one to build software which is usable in a simple, intuitive, productive, and reliable way by the users for which it is meant. Achieving this goal requires the study of three different kinds of topics: man (psychological aspects of the user); computer (user interface development tools); interaction (analysis, design, and evaluation of human-machine interfaces). Besides presenting the fundamental concepts of human-computer interaction, the course highlights some recent relevant developments of the field, such as 3D Interfaces, and Groupware systems. Program - Introduction: Goals of human-computer interaction and its relevance to the applications of interactive computer systems. - Psychological Aspects: Cognitive psychology. Sensory channels. Human limitations and expectations in perceptual processes. Visual perception. Auditory perception. Haptic perception. Human memory: sensory, short-term, long-term. Individual differences. Mental models. Metaphors. Human error: slip and mistake. - Devices for Human-Computer Interac- three-year laurea course in Web and Multimedia Technologies tion: Text input devices. Positioning and pointing devices. 3D devices. Devices for visual, auditory, and haptic output. Interfaces and devices for disabled users. - Models and Paradigms of Human-Computer Interaction: Characterizing different phases of interaction. Ergonomic aspects of interaction. Interaction styles: from command language to 3D interfaces. Window interfaces (WIMP). Menu and icon design. Interaction paradigms. - Human-Computer Interaction and the Software Life-Cycle: Analysis of usability requirements. Usability principles. Usercentered design. Usability engineering. Prototyping techniques. Envisioning design techniques. Design rationale. - Environment, User, Task Analysis: Characterizing the context of interaction with socio-technical models. The USTM/CUSTOM technique. Task analysis. The HTA technique. Predictive models: GOMS, KLM. - Formal Methods in Human-Computer Interaction: State transition network and other diagrammatic notations. Textual notations. Dialogue analysis and design with state transition network. - Guidelines and Standards for User Interfaces: Definition. Choosing and using guidelines. Examples of guidelines: MITRE, Apple, Microsoft, IBM guidelines for 3D interfaces. The ISO 9241 standard. - Tools for User Interface Implementation: Windowing System. Programming techniques. Toolkit. Case study: the Java toolkit. User Interface Management Systems. - Usability Evaluation: Goals of evaluation. Recording tools. Observing the user. Collecting opinions. Interviews. Questionnaires. Experiments. Predictive evaluation. Cognitive walkthrough. Interpretive evaluation. - Help: Assisting the user. Requirements for help systems. Main approaches. 331 Adaptive and adaptable interfaces. - Computer-Supported Cooperative Work: Groupware. Computer-mediated communication. E-mail and textual communication systems. Videoconference. Virtual collaborative environments. Workflow systems. Experimental and organizational aspects. - Recent Paradigms of Human-Computer Interaction: Ubiquitous computing. Virtual reality. Types of virtual reality. Multisensory (or multi-modal) interfaces. Information visualization. Hypertext. Multimedia and Hypermedia interfaces. References - A. DIX, J. FINLAY, G. ABOWD, R. BEALE, Human Computer Interaction, 3rd edition, Prentice Hall, 2003. - J. P REECE , Y. R OGERS , H. S HARP , D. BENION, S. HOLLAND, T. CAREY, Human Computer Interaction, Addison Wesley, 1994. INTRODUCTORY MATHEMATICS Teacher Dott. Maurizio Trombetta Aims In order to prepare students beginning the first year of the Degree Course in Computer Science to succeed in passing the scheduled Test, a course of introductory mathematics is organized. Program Basic concepts of Arithmetic, Algebra, Analytic and Euclidean Geometry, Trigonometric functions. Exams Written test. References Lecture notes. 332 three-year laurea course in Web and Multimedia Technologies MATHEMATICAL ANALYSIS Teacher Prof. Lorenzo Freddi Matematica per le Scienze Naturali e Applicate, Forum Editrice Universitaria Udinese. - Lecture notes provided by the teacher. Credits 12 Aims The aim of the course is to provide the basic ideas and techniques of the infinitesimal, differential and integral calculus in a concise and application-oriented way. Particular attention will be payed to the formal correctness of the statements and of those proofs which will be selected for a detailed explanation. Students are trained to make computations mainly by hand, using paper and pen, but also using a personal computer when it turns out to be useful. A special emphasis will be put on the intuitive geometrical and dynamical meaning of the notions of limit, derivative and integral, in order to make natural for the students to employ such tools in solving problems even when a precise mathematical formulation of the problem is not a priori given. Program Real numbers, functions, limits and continuity, derivatives, integrals, series, applications. Exams Credits can be earned in two different ways. The first consists in 2-3 mid term examinations during the course; the other consists in some single global examinations in between June and December. Detailed instructions will be communicated by the teacher during the course and published on the web. References Suggested readings: - P. B AITI , L.F REDDI , Corso integrato di MULTIMEDIA SYSTEMS Teacher Prof. Elio Toppano Credits 180 Program Introduction Communication and information processes: the FRISCO framework. Basic elements of semiotics. Multimedia: taxonomies of multimedia objects, relationships (spatial, temporal, syntactic and semantic) among media objects. Ipertexts and ipermedia: the Dexter model. Uses of ipermedia. Modeling multimedia presentations: the SMIL language. Multimedia Building blocks Digital Text: character sets and alphabets, text formats, writing texts for the web. Sound: MIDI versus digital audio, preparing digital audio sounds, sampling and quantization, compression standards, editing techniques, file formats, making MIDI audio, audio 3D, adding sound to multimedia projects. Images: bitmap and vector graphics, 2-D and 3-D drawing and rendering, understanding light and color, image file formats and compression techniques, images transformations and restoring. Animation: principles of animation, making animations for the web. Virtual reality. Digital video: television standards, DV, video compression (MJPEG, and the MPEG.xx family), non linear editing, video delivery, adding video to web sites. Media integration and design methodology Guidelines for media integration. User centered design: usability and accessibility. Media develop- 333 three-year laurea course in Web and Multimedia Technologies ment stages, methods and tools. Distributed Multimedia systems and applications HW and SW infrastructures. Multimedia Operating Systems. Streaming audio e video. Main streaming architectures: QuickTime, Real Media, Windows Media. Unicasting and Multicasting. Videoconference. Quality of service. Standards for videoconference. Applications for e-learning and web-based instruction. types, and to develop basic skills to design object-oriented solutions. The fundamental features of an object-oriented programming language will be presented. The concepts will be introduced by showing suitable examples. References - B. ECKEL, Thinking in Java, APOGEO, 2003. - S. M AZZANTI , V. M ILANESE , Programmazione di Applicazioni Grafiche in Java, APOGEO, 2006. MULTIMEDIA SYSTEMS LAB Teachers Dott. Elio Toppano Dott. Roberto Ranon Credits 4 Program Analysis and design of multimedia objects and ipermedia for the web. Software tools for media editing and development: SoundForge, Cakewalk, CoolEdit (sound); Macromedia Fireworks (graphics); Macromedia Flash (animation); Macromedia Dreamweaver (site development) and SMIL (multimedia modeling languages). OBJECT ORIENTED PROGRAMMING Teacher Prof. Vitaliano Milanese Credits 6 Aims The main objectives of the course are to discuss the object-oriented programming paradigm, as it has evolved from structured programming and abstract data OPERATING SYSTEMS Teacher Dott. Giorgio Brajnik Credits 9 Aims This course (based on 40 2-hour lectures) aims at giving students the ability to manage a modern operating system. Beyond an introductory discussion of basic concepts (computer system resources, processes and threads, memory management), concurrent programming in Java is presented and several prototypical examples are discussed. Then the course will touch the topics of system installation, management, update; shell programming; configuration, management, and monitoring of network services; security management. Students will be asked to carry out practical projects within the Operating Systems Laboratory. More details are available on www.dimi.uniud.it/giorgio/dida/so/so.h tml 334 three-year laurea course in Web and Multimedia Technologies OPERATING SYSTEM LAB Teacher Dott. Antonio D’Angelo Credits 4 Web Page http://www.dimi.uniud.it/~dangelo/Lab OS/labos.html Aims The aim of the Lab is that to provide a student of the related course of Operative Systems with practical tools to investigate crucial issues concerned with modern operating systems. Lectures are primarily based on examples and exercises to be solved hands-on in the lab of the school. Program 1. Unix shell: 1.1 Historical development of Operating Systems; 1.2 Installing a Linux distribution; 1.3 Role of shells in Unix; 1.4 Main commands, stream redirection and predefined variables, scripts; 1.5 Tools for system configuration and maintenance. 1.6 Computer Network applications: remote command execution. 2. System programming within Unix: 2.1 Using g++ compiler: simple programs and code generation; 2.2 A brief introduction to C language; 2.3 Software maintenance: the make command; 2.4 Multithreading, signal handling and semaphores; 2.5 Communicating programs: introducing sockets; 2.6 Asynchronous input/output to simulate environment interaction. 3. Computer Communication: 3.1 Protocols for program communication; 3.2 Examples of application using HTML, Javascript, CGI and Perl; 3.3 Multithreading; 3.4 Using signals: SIGALRM and SIPOLL/SIGIO; 3.5 Flow of data commu- nication via non connected sockets. 4. System Services Maintenance: 4.1 Accessing and controlling system configuration; 4.2 Apache Server; 4.3 Mail Server; 4.4 Iptables, the Unix firewall. Exams A number of individual and team exercises to be solved hands-on, based on examples developed during the course and assigned with specified constraints. References - G. GLASS, K. ABLES, UNIX for Programmers and Users, 2nd edition, Prentice Hall, 1999. - P. CORNES, The Linux A-Z, Prentice Hall, 1997. - K. HAVILAND, D. GRAY, B. SALAMA, UNIX System Programming, 2nd edition, Addison Wesley, 1999. - C. B ROWN , Unix Distributed Programming, Prentice-Hall, 1994. - A. S ILBERSCHATZ , P. G ALVIN , Sistemi Operativi, 4th edition, Addison Wesley, 1996. - H. DEITEL, P. DEITEL, D. CHOFFNES, Sistemi Operativi, 3rd edition, Pearson Education Italia, 2005. - S. L EFFLER , M. M C K USICK , M. K ARELS , J.QUARTERMAN, The Design and Implementation of the 4.3BSD UNIX Operating System, Addison Wesley, 1990. - R. THOMAS, L. ROGERS, J. YATES, OSBORNE, Advanced Programmer’s Guide to Unix System V, McGrawHill, 1986. - A. BERSON, Client Server Architectures, 2nd edition, McGraw Hill, 1996. - A. D’ANGELO, Lectures from the Course, available via Web. PHYSICS Teacher Dott. Hans Grassmann Credits 3 three-year laurea course in Web and Multimedia Technologies Aims In the future the computer and networks of computers will increasingly interact directly with the physics world - not only with educated operators, as is done today. In order to participate at this future development, students of TWM will need to know about physics, which is the science underlying the physics world. The lecture therefore tries to give a broad overview over the various fields of physics, including exercises. In particular, some hours of the lecture are dedicated to a discussion of problems of information processing from a physics point of view, including practical examples from the world of industrial application. SOCIAL ASPECTS AND PROFESSIONAL ETHICS Teacher Dott. Antonio Piva Credits 3 Aims The main aims of course are: make the student aware about the social context and about social and ethics implications resulting from the innovations in information technology; make the student aware in his own profession about the deontologic implications towards customers and users, and getting him responsible to the users. Particularly the course provides for the ICT regulation always considering the internet innovations. Program These subjects will be considered: - International liberalization of telecommunications and in the Italian disposition. 335 - Privacy and security; notions and development of privacy: from the 1980 OCSE to the European directives, the Italian rules about personal data, the net dispositions, the obligations for the Service Providers, the security management, the Programmatic Document in Security, the juridical figures provided. - The tutelage of the e-mailing secrecy in the Italian system and the other countries. - The Intellectual Property, Copyright and Author rights; from the origin of Copyright to the Intellectual Property in the information society; the international regulation regarding this matter. The juridical tutelage of software: the Copyright on software and its patent, the tenure of right and the tutelage of data banks and multimedia. - Domain Names in internet and juridical aspects; grabbing and recording procedures; DN and Trademark, analysis on juridical protection of some cases and decision in Italian law court. - Link utilization on web and some juridical cases. - Digital Sign and Electronic Identity Card; the electronic document and its validity in Italian regulation; Cryptography: its history, evolution and techniques of tutelage in web; Reserve, integrity, authentication; the Authority Certifications recognized by CNIPA and electronics certificates; European and Italian regulations regarding electronic sign; comparison between digital and autograph sign; the real date in electronic documents. Mentions about electronic identity card and the certified e-mailing. Computer science in the Public Administration: the E-government plan and the new code of digital administration. - Electronic commerce; the European directions in matter of it; contracts whit internet and telematic contracts; the tute- 336 three-year laurea course in Web and Multimedia Technologies lage of customers in internet and regulations about contracts arranged out of commercial locations; advertising in web: legal doctrines; banner and spamming in Italian regulation. - The informatic criminality and criminal law in internet; the tutelage of informatic property, the violation of informatic domicile, the abusive access and the hackers, the criminal regulation about it. - The research of juridical information. - The quality (facultative). History and evolution of quality, from ISO9000:1994 to Vision 2000; their application to the different situations, terminology, system of management of quality, the principles of quality, the approach to processes, audit and inspections, the m a n a g e ment of non conformity, the preventive and correctives actions, customer satisfaction, human resources and continue improvement. SOFTWARE ENGINEERING 1 Teacher Prof. Carlo Tasso Credits 6 Aims The aim of the course is the introduction of the basic elements of Software Engineering, i.e. the field of Computer Science devoted to study the methodologies, techniques, and tools utilized in the industrial production of software. More specifically, the course describes several process models of software development and the various phases of the life cycle, with reference to both traditional and innovative software systems. Program The major topics concern: Introduction to Software Engineering, origins and motivations and basic definitions; the concept of quality; life cycle; process models: waterfall and spiral models; the role of prototyping; requirement analysis and specification; techniques for analysis and modeling: DFD, UML, Petri Nets; specification techniques; software design and development; goals of design and approaches; object oriented and functional design; architectural design, distributed architectures; verification and validation of software: testing and inspection; quality certification and ISO standards; management of software projects. Exams Written examination. References - I. SOMMERVILLE, Software Engineering, 7th edition, Addison-Wesley, Harlow, UK, 2004. Italian edition: - I. SOMMERVILLE, Ingegneria del software, settima edizione, Pearson Addison-Wesley, Milano, 2005. - G. GUIDA, C. TASSO, Design and Development of Knowledge-Based Systems: from Life Cycle to Development Methodology, John Wiley & Sons, Chichester, UK, 1994. - Study materials available on http://twm.dimi.uniud.it/ WEB SITE DESIGN Teacher Dott. Giorgio Brajnik Credits 6 Web Page www.dimi.uniud.it/giorgio/dida/psw/ps w.html Aims The purpose of the course is to highlight three-year laurea course in Web and Multimedia Technologies and discuss basic principles of access and interaction with information systems. In the context of web applications the following goals are pursued: (1) comprehend the concepts of information and interaction architecture, (2) being able to assess usability and accessibility, (3) to know the main phases of development processes, and (4) to get a basic understanding of technologies that support the web. Program - Information processes and information systems; persuasion. - Natures of information systems; conversational structure; types of web systems. - Information architecture. - Basic concepts of human-computer interaction; interaction models and theories. - Accessibility and usability. - User-centered design: phases, methods, approaches. References - G. BRAJNIK, E. TOPPANO, Creare siti web multimediali, Pearson Education, Addison-Wesley, 2007. - R. P OLILLO , Plasmare il web, Apogeo, 2006. Chapters 3 to 10. - J. T HATCHER ET AL ., Web Accessibility: Web Standards and Regulatory Compliance, FriendsofEd, 2006. Chapters 4 to 15. WEB TECHNOLOGY Teacher Prof. Vito Roberto Credits 6 Aims The course introduces the World Wide Web, with the related information tech- 337 nologies and social entailments: a general overview accompanied by practical laboratory exercises that anticipates the contents of other courses in the ‘laurea’ degree. The basic concepts of computer networks are introduced: protocols, formats, technologies with emphasis on the HyperText Transfer Protocol and the HTML language. The topic of security in computer networks in introduced also, through the basics of cryptography and authentication techniques. Multimedia technologies are introduced through the formats and standards of compression, as well as audio, video, graphics and animation data representations. Issues in web interactivity are also accounted for, such as scripting languages and man-machine interaction in the design of web pages and web-based GUI’s. Social aspects of the web involve: the privacy, intellectual property on the Net, international and intercultural implications. WEB TECHNOLOGIES LAB Teacher Prof. Vito Roberto Credits 4 Aims The course deals with markup languages: SGML, HTML, XML. The goals are getting acquainted with such languages, with browsers and sw tools for authoring of documents on the web; getting more details on some of the topics discussed during the course in WT. The main topics are: documents on markup languages that may be found on the net; markup languages and their evolution from SGML.; the syntax of HTML; browsers; authoring tools; tools for automated generation of HTML and web pages; XML and recent developments. 338 three-year laurea course in Mathematics THREE-YEAR LAUREA COURSE IN MATHEMATICS ALGEBRA 1 Teacher Prof. Dikran Dikranjan Credits 6 Aims The aim of this course is to develop the algebraic skills and thinking of the student. The groups, will be introduced outlining their connection to other areas of mathematics, in particular, to geometry. We intend to develop students abilities to formalize the concepts and the structures usually appearing in mathematics and their capacity to extract the underlying common algebraic structure. Program Algebraic structures. Groups and subgroups. Homorphisms and direct product of groups. Abelian groups. Non-abelian groups: the essential facts. Exams The exam has two parts: written and oral. References Lecture notes prepared by the lecturer. ALGEBRA 2 Teacher Dott. Maria Silvia Lucido Credits 6 Aims The aim of this course is to develop the algebraic skills and thinking of the student. The rings and fields will be studied outlining their connection to other areas of mathematics, in particular, to geometry. We intend to develop students abilities to formalize the concepts and the structures usually appearing in mathematics and their capacity to extract the underlying common algebraic structure. Program Rings and ideals. Homorphisms and direct product of rings. Polynomial rigs over a domain. Fields extensions. Exams The exam has two parts: written and oral. References Lecture notes prepared by the lecturer. ALGEBRA 3 Teacher Dott. Mario Mainardis Credits 6 Program Group, ring and K-algebra actions: Group actions: G-sets, G-subsets, homomorphisms, quotients, orbits, equation of the orbits, transitive and primitive actions, applications: Sylow theorems, centre of a finite p-group, Theorem of Schur-Zassenhaus, simplicity of projective special linear groups. Ring actions: R-modules, submodules, homomorphisms, quotients, cyclic 339 three-year laurea course in Mathematics modules, irreducible modules, tensor product of modules, structure theorem of finitely generated modules over a principal ideal domain, applications: Rational canonical form and Jordan form of matrices. Algebra actions: A-modules, submodules, homomorphisms, quotients, cyclic modules, irreducible modules, Wedderburn-Artin theorem, sketches of linear representations of finite groups. Rational and integral properties. Root system and their classification. References - M. M AINARDIS , Appunti di teoria dei gruppi, pdf file, downloadable at the following address: http://users.dimi.uniud.it/~mario.maina rdis/classnotes.htm - N. JACOBSON, Basic Algebra 1. - I.N. HERSTEIN, Algebra. - M. ASCHBACHER, Finite Groups. - J. A L P E R I N , R.B. B E L L , Groups and Representations. Aims This course aims at introducing the basic notions of Commutative Algebra and Category Theory. ALGEBRA 5 Teacher Prof. Giovanni Panti Credits 6 Program Commutative rings and ideals. Modules. Localization. Primary decomposition. Categories and functors. Natural transformations. Exams Oral exam. ALGEBRA 4 Teacher Dott. Maria Silvia Lucido Credits 6 Program The aim of the course is to classify the semi simple Lie algebras over an algebraically closed field of characteristic 0. Program Definitions, matrix algebras, sl(n, K), u(n, k), t(n, K). Orthogonal and simplettic algebras. Nilpotent algebras. Engel Theorem. Soluble algebras. Lie Theorem. Killing Form. Semisimple algebras. Weyl theorem. Decomposition in root spaces. Irreducible representations of sl(2,K). References - A TIYAH , M AC D ONALD , Introduction to Commutative Algebra, Addison Wesley. - ZARISKI, SAMUEL, Commutative Algebra, Graduate Texts in Mathematics n. 28, Springer. - M AC L ANE , Categories for the Working Mathematician, Graduate Texts in Mathematics n. 5, Springer. ANALYTICAL MECHANICS 1 Teacher Dott. Stefano Ansoldi Credits 6 Aims Introduction of the basic principles of 340 analytical mechanics as a tool for the study of classical systems with a finite number of point masses; basics of calculus of variations; study and solution of the central force problem. Program Preliminary concepts: coordinate system, position, displacement, velocity. Basic concepts in classical mechanics and their generalization: space, time, simultaneity Galilean transformations, Galilean law of composition of velocities, principle of Special Relativity; law of propagation of light in vacuo and apparent contradiction with the principle of Special Relativity; relativity of simultaneity, time in special relativity; Lorentz transformations; open problems in Special Relativity; the principle of general covariance and noninertial reference systems; inertial and gravitational mass; Einstein’s lift ‘Gedankenexperiment’: conceptual foundations of General Relativity. Variational calculus: introduction; functional; variation of the independent variables and their ‘proximity’; continuous and linear functionals; variation of a functional; extremum of a functional and related necessary condition; integral functionals that depend from many real functions on the Reals, Euler equations, ‘extremals’. The mechanics of a point mass; first and second Newton’s law, momentum and angular momentum and energy conservation. Dynamics of systems of point-masses: internal and external forces, third Newton’s law (weak and strong form), conservative forces; conservation theorems center of mass and properties; decomposition of the motion in the center of mass motion and in the relative motion; corresponding decomposition of relevant dynamical quantities; potential energy in terms of internal and external potential energies. three-year laurea course in Mathematics Harmonic oscillator and its relevance for the study of small fluctuations around stable equilibrium points of a generic potential. Constraints and constrained systems: constraints classification, degrees of freedom, generalized (Lagrangian) coordinates, generalized velocities; real and virtual displacements; active forces and forces of constraint; virtual work of active forces; virtual work; d’Alembert’s principle; kinetic energy as a quadratic non-homogeneous form of the generalized velocities; Euler-Lagrange equations of the first kind; potential function; Lagrange function (Lagrangian); Lagrangian theory: Euler-Lagrange equations of the second kind; generalized potential function; Hamilton function and its physical significance; cyclic coordinates and conserved quantities; Hamiltonian conservation theorem; (extended) configuration space, (extended) phase space, motion in configuration and extended configuration space, phase curve, first integrals of motions and their representation in the phase space; description of an arbitrary system in terms of an autonomous; applications of variational calculus to Lagrangian systems; action functional and Hamilton’s principle; variational principles as tools to conveniently formulate the dynamics of constrained systems; symmetry and invariance for a Lagrangian system; group structure of the symmetry transformations; symmetries and conserved quantities: Noether’s theorem. Motion in a central conservative force field: reduction to a one-dimensional effective problem: qualitative analysis of the motion; first integrals and reduction of the problem to quadratures; determinations of all the potentials for which all bounded orbits are closed; Kepler’s problem: solution of the equations for bounded orbits; Kepler’s laws and their proofs. Conservative, two 341 three-year laurea course in Mathematics point-mass systems without external forces: decomposition of the motion in the center of mass motion and the relative motion (reduced mass) and its solution. Basics of analytical mechanics on manifolds using differential geometry concepts: differentiable manifold, tangent space, tangent bundle, Lagrangian as a function of the tangent bundle. Exams Written and oral. References - H. G O L D S T E I N , C. P O O L E , J. S A F K O , Classical Mechanics, Addison Wesley. - V.I. ARNOLD, Mathematical Methods of Classical Mechanics, New York, NY, Springer-Verlag. - L.E. ELSGOLTS, Differential Equations and the Calculus of Variations, University Press of the Pacific. ANALYTICAL MECHANICS 2 Teacher Prof. Lorenzo Freddi Credits 6 Program Geometry of masses. Kinematics of rigid body motion. Dynamical quantities of systems. Mechanics of discrete systems. Statics and dynamics of systems. Analytical mechanics. References Suggested readings will be communicated to the students at the beginning of the course. ARITHMETIC Teacher Prof. Pietro Corvaja Credits 6 Aims The aim of the course is to give the students the necessary tools to attend the degree course in Mathematics. The notions of set, map, relation and quotient set will be introduced. The set of natural, integer, rational, real and complex numbers will be introduced, with emphasis on the arithmetic of the integers. The first notions of combinatorial analysis and the properties of permutations will be presented. Program - Sets and operations with sets. - First notions of combinatorial analysis and permutations. - The natural numbers: the induction. - The integers numbers and their arithmetic: division algorithm, greatest common divisor, prime numbers, main theorem of arithmetic, rational numbers. - The complex numbers. - The polynomials: the euclidean division algorithm. Exams The exam has two parts: written and oral. References - B. S C I M E M I , Algebretta, Decibel, Zanichelli. - Lecture notes prepared by the lecturer. 342 three-year laurea course in Mathematics COMMUNICATION SKILLS Teacher Prof. Angelo Marzollo Credits 1 Aims The course corresponds to one credit, and it coincides with the first eight lessons of the Economics and Business Organization course. The course aims at providing the students with basic communication operational tools so as to facilitate their first steps in the professional world. Program An analysis of individual communication abilities both at group and at interpersonal level will first be carried out (public reading and public speaking, CV preparation and illustration, job interviews and professional meetings, etc.), thus revealing the main problems to be tackled in these contexts. Specific communication experts will also intervene and suggest possible ways of overcoming the more common difficulties. Exams The examination will consist of a communicational task (written and possibly also oral) that will be as similar as possible to real situations to be met by the students in their social and professional lives. The students following the course in Economics and Business Organization (the first eight lessons of which are devoted to the topics described above) are exempt from taking a separate exam in Effective Communication. Instead, they will take a single exam (Economics and Business Organization) that will also include the course described here (Effective Communication). Therefore, passing the examination in Economics and Business Organization will automatically entail passing the one in Effective Communication, too. References Given the shortness of the course and its mainly operational approach, specific material will be indicated or distributed to integrate direct training and note-taking. Textbooks and manuals in the field are overabundant, and often very similar to one another. During the course they will be rapidly illustrated for those who might be interested in further individual study. COMPLEMENTARY MATHEMATICS 1 Teacher Prof. Alberto Marcone Credits 6 Aims The course will be held in a computer lab. Its main goal is to acquaint students with some of the software products that are widely used in teaching mathematics in primary and secondary schools. Program The first part of the course is devoted to a dynamic geometry software, such as Cabri. The second part of the course is devoted to computer algebra system (such as Maple, Mathematics, Derive): probably we will be using the freeware Maxima. Exams Final exam using software in the lab. three-year laurea course in Mathematics COMPLEMENTARY MATHEMATICS 2 (on hold during 2007/08 A.Y.) Credits 6 Aims We aim at giving the students who are planning a career in teaching a modern and advanced viewpoint on some topics which lie behind the mathematics taught in high school. Prospective teachers should have a sound theoretical background on the matters they will teach. Program Classical geometry will be dealt with from a modern viewpoint, using a rigorous approach to axiomatics of plane geometry. Different geometric models will be introduced to discuss axioms as they are introduced. We will eventually deal with neutral (or absolute) geometry and focus on the Cartesian and Poincaré planes, studying euclidean and hyperbolic geometry. Exams Oral colloquium. References - R.S. MILLMAN, G.D. PARKER, Geometry. A Metric Approach with Models, Springer, 1991. COMPUTER SCIENCE 1 Teacher Prof. Agostino Dovier Credits 6 Aims The course is aimed to provide the basic 343 computer science notions and to help the student to increase his sensitivity with respect to the computational aspects of mathematics and, more generally, of science. Program - A short history of Computer. - Computer Programming. Algorithms. Existence of non computable functions. Flow Charts and the Bohm-Jacopini Theorem. Overview on Programming Languages; compilation and interpretation. Programming with C. Reserved Words, Identifiers, Variables, Primitive Types, Constants, and Literals. Operators, Expressions, and their types. Assignment. Sequence, Block, if-(then)else, while and for instructions. Arrays and Matrixes. Functions: definitions and use. Formal and actual parameters. ‘By value’ and ‘By reference’ parameter passing. Local and Global variables. Recursive definitions. - Laboratory: Writing, Compiling and Executing C programs, such as: Euclide’s algorithm, the primality test, printing of 2D figures, computing max and min of array’s elements, and the recursive definitions of factorial, Euclide’s algorithm, Hanoy tower problem, Fibonacci sequence, and arithmetic algorithms on ‘long’ integers numbers. MATLAB: main instructions, matrix computations, graphics, and programming. - Complexity. Main Concepts. Comparison of the main complexity classes and effects of the hardware evolution on them. The ‘O’ notation. Computing the complexity of C programs also in presence of recursion. Linear and binary search of elements in an array. Array’s ordering: bubble and merge sort. - Information Representation. Integer and ‘real’ numbers, characters, images and hints on data compression. - Computer architecture. Hierarchy of 344 three-year laurea course in Mathematics abstract machines, Von Neumann and Bus Architectures. CPU, Data and address bus, main memory, secondary and Cache memory. Exams Written and oral examination. References - J.G. B ROOKSHEAR , Informatica. Una panoramica generale, Addison-Wesley/ Pearson. - Lecture Notes available on-line. COMPUTER SCIENCE 2 Teacher Prof. Carla Piazza Credits 6 Aims This course aims at systematically deepening the arguments studied in the course Computer Science I. In particular, we will discuss the study, analysis and design of algorithms, present some advanced data structures and propose techniques for the evaluation of the time/space computational complexity. We will also introduce some basic elements of computability theory and of complexity theory. Part of the course will be held in laboratory where the students should implement some algorithms using an imperative programming language. Program - Basic notions of Computability theory. Intuitive notion of algorithm. Turing machines. Church’s thesis. Universal Turing machines. Halting problem. Computability and Decidability. Unlimited Register Machine. - The notion of complexity. Space and time complexity. Uniform model and Logarithmic model. Extended Church’s thesis. Asymptotic complexity. Recurrences. Complexity classes. - Elements of Algorithms and Data Structures. Data structures: arrays, records, linked lists, stacks, queues, threes, graphs. Algorithms: Heap-Sort, Matrix Multiplication, String Matching, graph algorithms. References - T.H. C ORMEN , C.E. L EISERSON , R.L. R IVEST , Introduction to Algorithms, 2 nd edition, MIT Press, 2001. - J.E. HOPCROFT, J.D. ULLMAN, Introduction to Automata Theory, Languages and Computation, Addison-Wesley, 1979. - N. CUTLAND, Computability, Cambridge University Press. COMPUTER TOOLS FOR MATHEMATICS Teacher Prof. Gianluca Gorni Credits 1 Aims Introducing the students to the use of LaTeX, the free, standard tool for writing mathematical texts. Program Motivation and history of TeX; basic syntax; large-scale structure of a LaTeX document; formatting text; formatting math formulas. Exams Making a course project, which is a couple of pages written with LaTeX, containing titles, sectioning, text and formulas. 345 three-year laurea course in Mathematics References - Course presentation notes, and other materials available on the internet. GEOMETRY 1 Teacher Prof. Pietro Corvaja FOUNDATIONS OF MATHEMATICS 1 (on hold during 2007/08 A.Y.) Credits 6 Credits 6 Aims Introduction to the fundamental concepts of linear algebra, and the corresponding main theorems. Use of the language of linear algebra for geometric descriptions: affine and euclidean geometry. It is expected that at the end of the course the students be able not only to do computational exercises but to provide (simple) formal proofs in an autonomous way. Program The foundational crisis and Hilbert’s program. The set theoretic foundation of mathematics. Mathematics without infinity and Godel’s incompleteness theorems First order Peano’s Arithmetic (PA). Transfinite Arithmetic and the consistency of PA. Mathematics of the infinity and the independence of the Axiom of Choice and the Continuum Hypothesis. References - Notes from the course. - S. FEFERMAN ET AL. (eds.), Kurt Godel Collected Works, Vol. I and II, Oxford University Press, 1986-1990. - M. SZABO, The Collected Papers of Gerhard Gentzen, North Holland, 1969. - R. S MULLIAN , Godels’s Incompleteness Theorems, Oxford Logic Guides. - F. ARZARELLO, Matematica dell’Infinito, Vol. I e II, CLU, Torino, 1980. - K. KUNEN, Set Theory: an Introduction to Independence Results, North Holland, 1981. - G. L O L L I , Dagli insiemi ai numeri, Boringhieri, 1994. Program Linear Algebra Vector space. Linear map. Subspace of a vector space; kernel, image of a linear map. Vector and matrix notation, matrix product. Matrix notation for linear systems, Gauss’ method. Row and column operation, reduction in step form. Basis, dimension, rank. Theorem of Rouché Capelli. Trace, determinant. Dual vector space. Operators: eigenvalues, eigenvectors, diagonalizability. Bilinear forms and quadratic forms. Theorem of Sylvester. Symmetric operators. Geometry Affine space, affine maps. Affine subspaces. Fundamental theorem of affine geometry. Distance. Euclidean space, isometries. Planar and space geometry. If time allows: projective geometry, projective transformations, cross-ratio. Exams Written and oral. It will be possible to replace the final written test by some written tests during the course. References - E. SERNESI, Geometria 1, Boringhieri. 346 three-year laurea course in Mathematics GEOMETRY 2 GEOMETRY 3 Teacher Prof. Pietro Corvaja Teacher Prof. Paolo Cragnolini Credits 6 Credits 6 Aims Introduction to the fundamental concepts of linear algebra, and the corresponding main theorems. Use of the language of linear algebra for geometric descriptions: affine and euclidean geometry. It is expected that at the end of the course the students be able not only to do computational exercises but to provide (simple) formal proofs in an autonomous way. Aims We will complete the study of linear algebra, developing its geometrical interpretations. In particular we introduce the projective space, as natural completition of affine space, and some hypersurfaces. The student is requested to applicate the notions learned in the earlier courses and establish connections with those of algebra and analysis. Program Linear Algebra Vector space. Linear map. Subspace of a vector space; kernel, image of a linear map. Vector and matrix notation, matrix product. Matrix notation for linear systems, Gauss’ method. Row and column operation, reduction in step form. Basis, dimension, rank. Theorem of Rouché Capelli. Trace, determinant. Dual vector space. Operators: eigenvalues, eigenvectors, diagonalizability. Bilinear forms and quadratic forms. Theorem of Sylvester. Symmetric operators. Geometry Affine space, affine maps. Affine subspaces. Fundamental theorem of affine geometry. Distance. Euclidean space, isometries. Planar and space geometry. If time allows: projective geometry, projective transformations, cross-ratio. Exams Written and oral. It will be possible to replace the final written test by some written tests during the course. References - E. SERNESI, Geometria 1, Boringhieri. Program Projective spaces, linear subspaces, projective transformations, cross-ratio. Quadrics, Sylvester’s theorem, projective and affine classification. Exams Written and oral. References Main text: - C. K O S N I O W S K I , Introduzione alla topologia algebrica, Zanichelli. Other texts: - K. JANICH, Topologia, Zanichelli. - I. SINGER, S. THORPE, Lezioni di topologia elementare, Bollati Boringhieri. GEOMETRY 4 Teacher Prof. Paolo Cragnolini Credits 6 Aims We introduce general topology as one of 347 three-year laurea course in Mathematics the fundamental languages of modern geometry. After basic definitions and theorems, some notions of algebraic topology will be treated. The aim is to get the student familiar with the main notions as well as to develop its geometric intuition. Program Topological spaces, continuous functions, subspaces, finite products, quotients, compactness, connectedness. The fundamental group. Topology of some projective and affine hypersurfaces. Exams Written and oral examination. References - E. SERNESI, Geometria 1, Boringhieri. GEOMETRY 5 Teacher Prof. Francesco Zucconi Credits 6 Aims Definition of differentiable manifold and map. Geometric application of multivariable calculus. Manifolds as models for mathematics problems. Program Differentiable manifolds and maps; tangent spaces and differentials. Structure theorems for immersions and submersions. Transversality. Differentiable homotopy. Sard’s theorem and applications. Manifolds with boundary. Abstract manifolds. Other topics (such as Riemannian geometry, differential forms and De Rham cohomology) will be treated depending on available time and students’ interests. Exams Written and oral. References Suggested books: - V. GUILLEMIN, A. POLLACK, Differential Topology. Other text: - J. MILNOR, Topology from the Differentiable Viewpoint. GEOMETRY 6 Teacher Prof. Francesco Zucconi Credits 6 Aims Introduction to complex analysis in one variable, with some geometric applications. Program Local analysis of holomorphic functions. Cauchy formula, analyticity of holomorphic functions. Sequences, series and infinite products of holomorphic functions. Riemann surfaces, complex tori, elliptic functions and the j modular function. Analytic theory of projective cubics. Exams Oral exam after homeworks. References - WHITTAKER, WATSON, Modern Analysis, Cambridge University Press. - H. C A R T A N , Théorie élémentaire des fonctions analytiques d’une ou plusieurs variables complexes, Hermann. 348 INTRODUCTORY MATHEMATICS three-year laurea course in Mathematics MATHEMATICAL ANALYSIS 1 Teacher Prof. Paolo Cragnolini Teacher Dott. Paolo Baiti Aims The aim of the course is that of revisiting some basic concepts in mathematics which are useful for all the scientific courses of the first year. Credits 6 Program - Elements of logic and set theory; natural numbers, integers, rational and real numbers; powers and polynomials; algebraic equations and inequalities of the first and the second degree in one variable; some linear systems. - Equations and inequalities with radicals. - Some elementary functions and their graphs. - Exponentials and logarithms. - Elements of trigonometric functions and their properties. Use of trigonometric functions in some geometric problems. Elements of analytic geometry: Cartesian coordinates; equations of the line, circumference, parabola, hyperbola and ellipse. - Some formulas for surfaces and volumes. Exams There is not a formal examination. Exercises will be given to the students for their free self-evaluation. References Suggested texts: - E. ACERBI, G. BUTTAZZO, Matematica preuniversitaria di base, Pitagora Ed. - M. TROMBETTA, Precorso di matematica, Forum Editrice Universitaria, Udine. Aims The course is aimed to introduce the students to Mathematical Analysis providing the basic concepts and applications. Program Preliminaries. Relations and functions. Elements of topology. Limits of sequences. Limits of functions. Continuous functions. Exams Written and oral examination. References - ACERBI, BUTTAZZO, Primo corso di Analisi Matematica, Pitagora. - C. C I T R I N I , Analisi Matematica 1, Boringhieri. - Lecture Notes available on-line. MATHEMATICAL ANALYSIS 2 Teacher Prof. Carlo Cecchini Credits 6 Aims The aim of the course is to introduce our students to the methods of Mathematical Analysis by approaching the first ideas of the subject and giving the first applications. Program - Preliminaries. 349 three-year laurea course in Mathematics - Relations and functions. - Some topology. - Limits of sequences. Numerical series. - Limits of functions and continuity. Exams Written and oral. References - C. C I T R I N I , Analisi Matematica 1, Boringhieri. - E. G IUSTI , Analisi Matematica 1 e 2, Boringhieri. - Lecture notes. MATHEMATICAL ANALYSIS 3 Teacher Dott. Maurizio Trombetta Credits 6 Program - Remarks about some main topological properties in finite dimensional spaces. - Differential calculus for (real valued and vector valued) functions of several variables. - Complete metric spaces and the contraction mapping principle. - The implicit function theorem, the local inversion theorem and their applications. - Extremum problems: free and constrained. - Vector fields and conservative fields. - Arc length and integration along paths. - Some selected topics in the study of the functions of complex variable. MATHEMATICAL ANALYSIS 4 Teacher Prof. Fabio Zanolin Credits 6 Aims A first part of the course gives the basic notions of measure theory and integration in the sense of Lebesgue. The second part constitutes a first introduction to the study of differential equations. Program Measure and integral in the sense of Lebesgue. Monotone convergence and dominated convergence theorems. Derivatives of parameter depending integrals. Fubini’s theorems and integral calculus. Integration by substitution. Surface integrals. Ordinary differential equations. First order equations and the Cauchy problem. Non linear separable equations. Existence and uniqueness of the solution to the Cauchy problem. Systems of linear differential equations. Differential equations with constant coefficients. Some examples. Exams Written and oral. References - E. G I U S T I , Analisi Matematica 2, Boringhieri. - Lectures notes. MATHEMATICAL ANALYSIS 5 Teacher Prof. Gianluca Gorni Credits 6 Aims Completing the basic instruction in Mathematical Analysis in the field of differential equations and differential forms. 350 three-year laurea course in Mathematics Program Nonlinear differential equations: maximal solutions, existence and uniqueness in the large, exiting compact sets, asymptotic criterion, first integrals. The Henstock-Kurzweil integral. Parametric curves. Rectifiable curves. The integral formula for the length of a curve. Differential forms: integration along curves, closed forms, exact and locally exact forms, homotopy. Exams A written exam on exercises, an oral exam on theory only. References - G. DE MARCO, Analisi Due. MATHEMATICAL ANALYSIS 6 Teacher Prof. Gianluca Gorni Credits 6 Aims Introduction to Functional Analysis: definition and study of the main normed vector spaces of integrable function, and of Hilbert spaces, with applications to Fourier series. Program Abstract integration, L^p spaces, Hilbert spaces, Fourier series. Exams A written exam on exercises, an oral exam on theory only. References W. RUDIN, Real and Complex Analysis. MATHEMATICAL LANGUAGE Teacher Prof. Franco Parlamento Credits 2 Program Introduction to the mathematical language: the mathematical language differs from other ‘professional’ languages for a large use of symbolic formalism and for a continuous and necessary use of some logic paradigms. The aim of these lectures is to make the student explicitly aware of the various aspects of the mathematical language. MATHEMATICAL LOGIC 1 Teacher Prof. Franco Parlamento Credits 6 Aims Purpose of the course is the development of a good skill in verifying whether a possible relation of logical consequence holds or not, as well as the placement of such a competence in within a mathematically precise and particularly rigorous theoretical frame. Program 1. logical operators and deduction rules 2. Intuitionistic, minimal and classical logic 3. First order languages 4. Systems of natural deduction 5. Completeness and decidability of the classical propositional calculus 6. Sequent calculus 7. Hilbert’s style systems 8. Semantic tableaux and completeness of classical logic 9. Compactness and theorem of Lowenheim-Skolem. 351 three-year laurea course in Mathematics Exams Written and oral. References - Notes of the teacher. MATHEMATICAL PHYSICS Teacher Dr. Stefano Ansoldi Credits 6 MATHEMATICAL LOGIC 2 Teacher Prof. Franco Parlamento Credits 6 Aims To supplement the basic knowledge of mathematical logic and to develop a good acquaintance with the elementary parts of axiomatic set theory and computability theory. Program A1. Hilbert’s type systems. A2. Logic with identity. A3 The method of classical evaluations. A4. Herbrand and Skolem transforms and resolution. A5. Extensions by definitions and syntactic interpretations. A6. Set theoretic semantics. A7. Relations among set theoretic interpretations. B1. Axioms of ZF. B2. Ordinals and natural numbers. B3. Induction and recursion. B4. Well founded sets. B5. Cardinals. B6. Axiom of Choice. C1 Primitive recursive and partial recursive functions. C2 Unlimited Registers Machine. C3 Coding programs and computations. C4. Klenee’s normal form theorem. C5. Undecidable problems. C6. Undecidability of Horn logic. Aims Introduction to the theory of Relativity (both Special and General) using the techniques and methods of Differential Geometry. A short, very basic, introduction about classical Field Theories in Physics will also be given. Program Basics concepts in field theory: from discrete to continuous systems; the concept of field, Lagrangian, Hamiltonian and momentum density; basics of Lagrangian and Hamiltonian formulation of a field theory; basics of variational calculus in many dimensions. Complements of linear algebra: tensor product of vector spaces, the concepts of tensor and of tensor components, contractions of tensors; pseudo-Euclidean scalar product/metric, signature of metrics, Lorentzian metrics, classification of time-like, space-like and null vectors. Differential geometry: complements (basic definitions in topology, vector bundles and sections, partition of unity, curves on manifolds, tangent vectors, Lie brackets and properties of Lie brackets); tensors and tensor fields on manifold; connection and covariant derivative; curvature; definition of the Riemann tensor; relation of the Riemann tensor with the second covariant derivatives of a vector field; components of the Riemann tensor in a coordinate basis; symmetry properties of the Riemann tensor; Ricci tensor, Ricci scalar; self-parallel curves and the exponential map on manifolds; Riemannian and Lorentzian geometry; 352 three-year laurea course in Mathematics Riemannian/Lorentzian metric; existence of Riemannian and Lorentzian metrics. Relativity: Special relativity, principle of special relativity and the law of propagation of light in vacuo, Einstein ideas about the concepts of space and time; operational definition of simultaneity; General Relativity, inertial and non-inertial systems, Einstein lift experiment; the equivalence principle; the principle of general covariance; Einstein equations in vacuo and their derivation from a variational principle, properties of Einstein equations, physical meaning of the metric field; conservation properties in classical physics and in special relativity, conservation laws and general covariance, the stress energy tensor and the form of Einstein equations in the presence of sources. Exams Oral examination or project based exam. References - Lecture Notes (also available on-line). Program The fall of classical physics. The old quantum mechanics. Schroedinger’s equation and applications. Conduction and semiconductors; applications to electronics. Basics of quantum computing. Special relativity. Basics of cosmology and particle physics. Prerequisites Mechanics, electromagnetism and waves. Calculus for functions of one and many variables. Exams Students attending the lectures: homework. Students not attending the course: oral test. References - K.S. KRANE, Modern Physics, 2nd edition, Wiley, 1996. - Lecture notes. NUMERICAL ANALYSIS 1 Teacher Prof. Dario Fasino MODERN PHYSICS Teacher Prof. Alessandro De Angelis Credits 6 Web Page http://www.fisica.uniud.it/~deangeli/fis mod/corsofismod.html Aims To illustrate the basics of Quantum Physics and Relativity. The course is addressed to students of Computational Physics, Mathematics, Computer Science and Engineering. Credits 6 Aims Numerical Analysis deals with the study of algorithms, that is, constructive procedures, in continuum mathematics. This course is aimed at introducing students to some basic topics in this discipline, emphasizing formal methods, by means of the study of main algorithms in numerical linear algebra, basic error analysis tools, and fundamental techniques in scientific computing. Classroom lectures are supported by computational examples. By the end of this course, students will be able to 353 three-year laurea course in Mathematics analyze and solve numerically problems in continuum mathematics, to appraise result reliability, and recognize restraints on accuracy and workload arising from computational resources. Program - Numerical linear algebra: basic notions, vector and matrix norms, inner products, Schur factorization, Gram-Schmidt algorithm, spectral and singular value decomposition. - Linear systems: direct methods, LU factorization and its variants, QR factorization, Rigal-Gaches theorem. - Stationary iterative methods: linear iterations, Richardson, Jacobi, GaussSeidel methods. - Least squares problems: solution techniques using normal equations, QR factorization, and SVD. Eigenvalue problems: Gershgorin and Bauer-Fike theorems, power method, inverse power method, QR iteration. - Error Analysis: absolute and relative errors, inherent and algorithmic errors, conditioning of computational problems, machine numbers and operations, machine precision, catastrophic cancellation, algorithmic stability concepts. - Nonlinear equations and systems: bisection and secant methods, functional iterations, contractive mapping theorem, Newton-type methods, local vs. global convergence, convergence order, stopping criteria. Exams Final written and oral exam. Written exam can be replaced by two intermediate tests. References - E. TYRTYSHNIKOV, A Brief Introduction to Numerical Analysis, Birkhauser, 1997. - Teacher’s lecture notes. NUMERICAL ANALYSIS 2 Teacher Prof. Rossana Vermiglio Credits 6 Aims The purpose of the course is to provide the mathematical foundations of numerical methods for approximation, integration and differentiation theory, to analyse their basic theoretical properties (stability, accuracy, computational complexity) and their performances on computational examples. This is done using MATLAB software, which will allow also to treat some case studies in laboratory. Program Approximation of data and functions: interpolation by polynomials, piecewise polynomials, trigonometric polynomials and splines; parametric splines and Bezier curves; Approximation of data and functions: best approximation, Chebyshev theory. Fourier theory. Orthogonal polynomials. Numerical integration: quadrature formulae, Newton-cotes formulae. Gaussian formulae. Richardson extrapolation and Romberg integration. Composite quadrature formulae, Adaptive integration. Singular integrals. Numerical approximations of function derivatives: finite difference, compact finite difference and pseudo-spectral derivative. The course includes laboratory experiences where the students can solve some exercises and treat case-studies interesting for application. Exams Oral examinations. References - Teacher’s notes. - A. Q UARTERONI , R. S ACCO , F. S ALERI , 354 three-year laurea course in Mathematics Matematica Numerica, Springer Verlag Italia, 2000. - L.N. T REFETHEN , Spectral Methods in MATLAB, SIAM, 2000. OPTIMIZATION 1 convexity. Differential properties of duality. Duality and sensitivity. Linear programming (18) Geometric properties. Algebraic properties. Complementarity. Simplex method. Variants of the Simplex method. Interior point methods. Teacher Prof. Franca Rinaldi OPTIMIZATION 2 Credits 6 Teacher Prof. Franca Rinaldi Aims ‘Operations Research aims to provide rational bases for decision making by seeking to understand and structure complex situations and to use this understanding to predict system behaviour and improve system performance. Much of this work is done using analytical and numerical techniques to develop and manipulate mathematical and computer models of organizational systems composed of people, machines, and procedures’(INFORMS, What is OR/MS?) Optimization is one of the main theoretical disciplines which provide the analytical tools to Operations Research. In the course the fundamental topics of Optimization will be covered with emphasis on the mathematical and algorithmic properties. Credits 6 Program Introduction to optimization problems (4 hours) Basics of computational complexity (12) Algorithm complexity. Problem complexity. Class P. Class NP. Trasformations. NP-complete problems. Basics of convex analysis (6) Definitions. Separation theorem. Supporting planes. Convex functions. Duality (8) Dual problem. Optimality Conditions. Examples. Duality and Aims ‘Operations Research aims to provide rational bases for decision making by seeking to understand and structure complex situations and to use this understanding to predict system behaviour and improve system performance. Much of this work is done using analytical and numerical techniques to develop and manipulate mathematical and computer models of organizational systems composed of people, machines, and procedures’ (INFORMS, What is OR/MS?) Optimization is one of the main theoretical disciplines which provide the analytical tools to Operations Research. In the course the fundamental topics of Optimization will be covered with emphasis on the mathematical and algorithmic properties. Program Network Flows (14) Optimality conditions: Gamma curve. Residual network. Polynomial algorithms for Shortest Path (Dijkstra) and Max Flow. Network Simplex. Deterministic Dynamic Programming (12) Optimality principle. Bellman’s equation. Bellman-Ford algorithm for general networks. 355 three-year laurea course in Mathematics Algorithm for acyclic and layered networks. Floyd-Warshall algorithm. Knapsack problems. Combinatorial problems. Combinatorial Optimization (22) Matching problems. Matroids and spanning trees. Polyhedral combinatorics. PARTICLES AND FUNDAMENTAL INTERACTIONS Teacher Dott. Marina Cobal Resonances. Structure of hadrons and deep inelastic scattering. Strangeness. Quark model of hadrons. Heavy quarks. The GIM mechanism. The CKM matrix. Electroweak unification and the W and Z bosons. Neutral currents. Discrete symmetries and weak interactions: parity, charge conjugation and CP. Quantum chromo-dynamics (QCD): colour, strong coupling constant, confinement, jets. The Higgs mechanism and experimental searches for the Higgs. Credits 6 Prerequisites Mechanics, electromagnetism and waves. Quantum Mechanics, and Relativity. Web Page http://www.fisica.uniud.it/%7Ecobal/pa rticelle_welcome.html Exams Homework and summary report on a chosen paper. Aims This course is an introduction to particle physics. We shall discuss some of the properties of the basic constituents of matter and their interactions, as well as some of the experimental methods and technologies used in high-energy physics. In general we shall not derive theoretical models from first principles, but rather compare phenomenological predictions with experimental results to gain insight into the world of sub-nuclear phenomena. The lessons are addressed to students of Computational Physics, Mathematics, Computer Science and Engineering. References - PERKINS, High Energy Physics, 4th edition, Addison-Wesley. - B.R. MARTIN, G. SHAW, Particle Physics, 2nd edition, Wiley. Notes from the lecturer http://www.fisica.uniud.it/~cobal/partic elle_welcome.html Program Basic concepts: units, special relativity, cross sections, decay rates. Fundamental particles and interactions: quarks, leptons, gauge bosons; electromagnetic, strong and weak interactions. Leptons: electron, positron, muon and tau leptons; neutrinos. Experimental methods: particle accelerators and particle detectors. Hadrons and nuclear forces. PHYSICS 1 Teacher Prof. Furio Ercolessi Credits 6 Aims The purpose of the course is to supply the basic elements of mechanics and thermodynamics. Several examples and exercises are presented throughout the course. 356 three-year laurea course in Mathematics Program Measurement of space and time; the International System. Scalars and vectors. Kinematics: trajectory, velocity and acceleration, circular motion, relative motion. Mass and force: Newton laws, inertial reference systems. Forces: gravitational, normal, tension, elastic, friction (static and dynamic). Kinetic energy, work, potential energy and energy conservation. Centre of mass, momentum. Variable mass systems. Collisions. Rotation around a fixed axis: moment of inertia, moment of a force, angular momentum, Newton laws in angular form. Rolling, precession. Static equilibrium. Oscillations: harmonic motion, pendulum. Fluids: pressure, Pascal and Archimedes principles, continuity and Bernoulli equations. Thermology: temperature, heat. Ideal gases and kinetic theory of gases. Thermodinamical transformations, first law of thermodynamics. Thermal machines: Kelvin and Clausius postulates, Carnot cycle and Carnot theorem. Entropy and the second law of thermodynamics. Web Page http://www.fisica.uniud.it/~deangeli/fisi ca2/corsonuovo.html Exams The exam consists of a written test and an oral test. PROBABILITY 1 References - D. H ALLIDAY , R. R ESNICK , J. W ALKER , Fundamentals of Physics, 7 th edition, Wiley. PHYSICS 2 Teacher Prof. Alessandro De Angelis Credits 6 Aims To illustrate the basics of electromagnetism and wave mechanics. The course is addressed to students of Mathematics. Program Interactions. Gravitation. Electromagnetism. Waves (electromagnetic waves in particular). Optional: special relativity. Prerequisites Basic calculus (limits, derivatives, integrals). Mechanics. Exams Written test including theory and problems; homework. References - SERWAY, JEWETT, Principles of Physics. or - HALLIDAY, RESNICK, WALKER, Fundamentals of Physics. - Lecture notes. Teacher Prof. Carlo Cecchini Credits 6 Aims The aim of the course is giving the student the basic ideas and tools of probability and showing their use in applications. In this process we shall use the mathematical techniques learned in the first two years, of which this course is also seen as an application. Special attention will be devoted to topics of interest in teaching. 357 three-year laurea course in Mathematics Program 1. Basic definitions and theorems: probability spaces, expectations, conditional probabilities and expectations, moments and applications in discrete and continuous probability. 2. Random walks. 3. Generating and characteristic functions, law of large numbers, central limit theorem. 4. Introduction to markovianity and martingales. References - S. Ross, Stochastic Processes, 2nd edition, Wiley, 1996. - HOFFMANN, JURGENSEN, Probability with a View toward Statistics, Chapman and Hall, 1994. - G.R. G R I M M E T T , D.R. S T I R Z A K E R , Probability and Random Processes, Oxford Clarendon Press, 1992. Exams There will be a written and oral examination. STATISTIC 1 References - G RIMMETT , S TIRZAKER , Probability and Random Processes, Oxford Clarendon Press. PROBABILITY 2 Teacher Prof. Vidoni Paolo Credits 6 Aims This course gives some complements on basic probability theory and introduces the theory of stochastic processes, with a view towards applications. Program - Complements on random vectors and on the multivariate normal distribution. - Complements on limit theorems. - Introduction to stochastic processes. - Poisson processes. - Markov processes. - Gaussian processes. Exams The examination consists in an oral discussion. Teacher Prof. Luigi Pace Credits 6 Aims This course presents an introduction to statistical inference based on the likelihood. Program - Probability complements. The bivariate and the multivariate normal distribution; the distribution of linear combinations and quadratic forms of normal vectors. - Statistical models. Parametric and nonparametric models; special parametric models; graphical methods for checking model adequacy (probability plots, density estimation). - Inference: basic procedures. Point estimation; hypotheses testing; confidence regions; KolmogorovSmirnov tests; simulation. - The likelihood function. Motivation and basic definitions; the maximum likelihood estimator; the maximum likelihood tests; interest and nuisance parameters: the profile likelihood; penalised likelihood and model selection. Exams The examination consists in a practical 358 three-year laurea course in Mathematics part, mainly exercises, and in an oral discussion. References - Lecture notes. - A. A Z Z A L I N I , Inferenza Statistica: un’introduzione basata sul concetto di verosimiglianza, Springer-Verlag, 1992. - L.J. BAIN, M. ENGELHARDT, Introduction to Probability and Mathematical Statistics, PWS-Kent Publishing co., 1992. STATISTIC 2 Teacher Prof. Luigi Pace Credits 6 Aims This course gives theoretical complements on parametric statistical inference based on the likelihood and presents some applications to regression models. Program - The likelihood: theoretical aspects. The immutability of likelihood; sufficient statistics and likelihood; asymptotic sampling distributions of likelihood quantities and their usefulness as approximations. - Optimal procedures. Minimum variance unbiased estimators; most powerful tests; most accurate confidence regions; the main theorems. - Binomial models. The sign test; logistic regression; the Newton-Raphson algorithm. - Multinomial models. Estimation of cell probabilities; the goodness-of-fit test; test of independence in contingency tables. - Poisson models. - Normal models. Estimation and tests; linear regression models. Exams The examination consists in a practical part, mainly exercises, and in an oral discussion. References - Lecture notes. - A. A Z Z A L I N I , Inferenza Statistica: un’introduzione basata sul concetto di verosimiglianza, Springer-Verlag, 1992. - L. PACE, A. SALVAN, Teoria della Statistica, CEDAM, 1996. 359 three-year laurea course in Biotechnology THREE-YEAR LAUREA COURSE IN BIOTECHNOLOGY Courses given by Faculty of Mathematical, Physical and Natural Sciences teachers. ALGORYTHMS AND DATA STRUCTURES Teacher Prof. Paolo Serafini Credits 5 Web Page http://www.dimi.uniud.it/~serafini/ASD 0607.pdf Aims The course introduces the student to the main concepts underlying data processing. Data must be input to a computer according to specific structures and processed in a precisely defined way which can be replicated to classes of data of the same type, that is according to an algorithm. It is fundamental to understand how time and space resources are used by an algorithm so that processing can be carried out in reasonable time and without exceeding computer memory. How an algorithm behaves depends both on the type of problem to be solved and on the way data are structured. The most important data structures will be presented together with the most commonly used algorithms. The course will also present some graph problems which can be used to solve computational biology problems. Program Algorithms: Definitions, Complexity measures, Complexity classes. Complexity of Problems: Decision Problems, Class P, Transformations of problems, Class NP, NP-complete problems. Data Structures: Data structure specification, Data structure implementation, implementation efficiency, Elementary data structures: stacks, lists, trees, binary search trees. Recursive equations: Factorial, Fibonacci numbers, Explicit formulas, Master Theorem. Algorithms for Sorting: Insertion, Bubblesort, Quicksort, Mergesort, Heapsort, Radixsort. Dynamic Programming: Optimality principle, Bellman equation, Shortest paths, Bellman-Ford algorithm, Dijkstra algorithm, Floyd-Warshall algorithm, String comparison, other examples. Other graph algorithms: Minimal spanning tree, Max flow-min cut, Assignment. Linear Programming: primal and dual problems, Complementarity, Total unimodularity. NP-complete problems: TSP, Stable sets, knapsack. Exams Oral examination. BIOINFORMATICS 3 Teacher Prof. Giuseppe Lancia Credits 3 Program Introduction to bioinformatics. Historical notes. Sequence comparison and alignments. Multiple alignment. Substitution matrices. Phylogenetic 360 three-year laurea course in Biotechnology trees. Single Nucleotide Polymorphisms and haplotyping models. Protein structures. Protein fold prediction and comparison. Structural data bases. COMPUTER SCIENCE Teachers Prof. Alberto Policriti Dott. Nicola Vitacolonna Credits 3 Aims The course is an introduction to the fundamental notions and concepts of Computer Science, with the goal of making students familiarize with the most important technological tools available in the current professional and research activities in the scope of biotechnology. The first part of the course deals with architectural aspects of computing machines, operating systems and databases: the basic notions are taught and the capabilities of applications relevant to bioinformatics are illustrated. The second part of the course focuses on the use of computational tools in scientific activities, with special emphasis on the algorithmic and computational aspects related to the modern research techniques in Biology. The notion of an ‘algorithm’ is explained in detail and exemplified through the learning of modern imperative languages; besides, the ability to apply procedural and ricursive/functional paradigms to the solution of simple biological problems is developed. Program Fundamentals of computer science 1. von Neumann’s architecture. 2. Elements of operating systems. 3. Elements of databases and query languages. 4. Introduction to biological data banks. 5. Basics of computer networks. 6. Algorithms and programming languages for biotechnology. Languages 1. Perl: introduction and fundamentals with examples and exercises. 2. Programming Perl scripts for the solution of problems in molecular biology. Exams The exam consists of a written test and an optional oral interview. An optional project may be developed by the student, consisting in the design and implementation of a Perl program. References Recommended texts and books: - C. G I B A S , P. J A M B E K , Developing Bioinformatics Computer Skills, O’Reilly. - G. V ALLE , M. H ELMER C ITTERICH , M. ATTIMONELLI, G. PESOLE, Introduzione alla Bioinformatica, Zanichelli. - J. T I S D A L L , Beginning Perl for Bioinformatics, O’Reilly. - Notes from the classes and didactic material provided by the teachers. DISCRETE MATHEMATICS Teacher Prof. Giuseppe Lancia Credits 7 Program Basic notions of boolean algebra, logic, set theory, functions. Sums. Induction and recursion. Combinatorics and counting. Permutations and sequences. The pigeonhole principle. 361 three-year laurea course in Biotechnology Fibonacci numbers. The principle of inclusion-exclusion. Derangements. Integer division. Euclid’s algorithm. Prime numbers. Fermat’s little theorem. Combinatorial probabilities. sorting by reversals. Generation of random sets and permutations. Graph theory. Hamiltonian and Eulerian graphs. Bipartite graphs. Connectivity. Trees. Digraphs and weighted graphs. Combinatorial optimization. The minimum spanning tree. Matchings and coverings. Stable marriages. The travelling salesman problem. References - SERWAY, JEWETT, Principles of Physics, or - HALLIDAY, RESNICK, WALKER, Fundamentals of Physics - Lecture notes. PHYSICS 1 Aims The aim of the course is to present the fundamental concepts of operating systems and their internal functionalities. Beside the standard concepts about process and processor management, memory management and file system, we will discuss also the basis of concurrent programming and of parallel and distributed computation on clusters, which is of particular interest for the computational biologist. Several lab activities will allow the student to apply in practice the notions learned during classroom lectures. In particular, these lab activities will be about scripting languages and system administration, using the operating systems most commonly used for bioinformatics. Teacher Prof. Alessandro De Angelis ([email protected]) Credits 4 (1 of Laboratory) Web Page http://www.fisica.uniud.it/~deangeli Aims To illustrate the basics of mechanics and fundamental interactions. The course is addressed to students of Biotechnology. Program SI Units. Kinematics. Fundamental interactions: gravitation, electricity and magnetism. Dynamics. Energy. Oscillations; basics of wave mechanics and electromagnetic waves. Prerequisites Basic calculus (limits, derivatives, integrals). Exams Written test including theory and problems; homework. OPERATING SYSTEMS Teacher Prof. Marino Miculan Credits ? Program 1. General aspects. Principles of computer architectures. 2. Processes and threads. 3. Concurrent programming. 4. Memory management. 5. File System. 6. Network services and network operating systems. 7. Multi-processors systems. 362 three-year laurea course in Biotechnology Prerequisites Computer Science. Exams The examination is composed by an oral test, and an homework about scripting languages in Linux. References - ANCILLOTTI, BOARI, CIAMBOLINI, LIPARI, Sistemi Operativi, McGraw-Hill, 2004. ISBN: 88-386-6069-7. - Handouts from lectures. involving uncertainty. These notions will be presented from an applied viewpoint, with particular regard to biological applications. Program 1) Descriptive Statistics: Variables; Frequency distributions; Location and variability indicators. 2) Probability: Basic concepts; Random variables; Probabilistic models; Random vectors and convergence concepts. 3) Inference: Point estimation; Confidence intervals; Hypothesis testing; Analysis of variance; Hints on multivariate statistical analysis. STATISTICS 1 Teacher Prof. Paolo Vidoni Credits 6 Aims The aim of the course is to introduce the students to the fundamental concepts of Descriptive and Inferential Statistics, as a basic tool for data analysis and for managing experimental situation Exams The examination consists in a practical part, mainly exercises, and in an oral discussion. References - CAMUSSI, MÖLLE, OTTAVIANO, SARI G O R L A , Metodi statistici per la sperimentazione biologica, seconda edizione, Zanichelli, 1995. - G. CICCHITELLI, Probabilità e Statistica, Maggioli Editore, 1984. - Lecture notes. LS in Computer Science LAUREA SPECIALISTICA IN COMPUTER SCIENCE ABSTRACT INTERPRETATION AND AUTOMATIC SOFTWARE ANALYSIS (Analysis, Debugging, Semantic Based Automatic Program Verification and Transformation) Teacher Prof. Marco Comini Credits 6 Aims The increasing dependency of society on computer applications lets analysis and verification of correctness of complex software systems a more and more critical factor of the development process. Systems malfunctioning, either hardware or software, can cause relevant damage of any kind: from financial to human beans losses. Moreover, when defects are not revealed before the usage of a system, the a posteriori application of corrective measures is, if possible, harder and expensive. Examples from the recent past include the millennium bug, the errors in some versions of the Pentium processor, the 32 milliards dollars uncovered of the N.Y. Bank, the explosion of the first Ariane 5 vector and the mortal incidents cause by Therac-25. The course aims to give a (relatively) extended introduction to the formal techniques which are the basis of Automatic Software Analysis and Verification (including Debugging). Program - Introduction to semantic based software manipulation techniques. - Recall of Semantics concepts: Posets, 363 CPO, Lattices; Operational Semantics; Denotational Semantics; Fix Point Semantics. From programs to proprieties: static program analysis - Data-flow analysis. - Abstract Interpretation: Complete lattices and Galois connections; upper closure operators; standard and non-standard semantics of logic programs. - Abstract Domains for analysis: Pos, Def e Sharing. - Abstract Domains Desing: reduced product, complementation, refinement. - Fix Point acceleration techniques (Widening/Narrowing). - Applications. From programs to programs: Transformation and Partial Evaluation - Transformation. - Optimization by partial evaluation. With programs and proprieties: Debugging and Verification - Specifications and program proprieties. - Algorithmic Debugging. - Abstract Diagnosis. - Hoare Logic and verification of sequential programs. - Assertions as abstract domain. - Abstract Verification: Analysis and verification, toward a unifying theory: Type checking as a particular case of Abstract Verification. From proprieties to programs: Program Synthesis - Synthesis of logic programs. References - K.R. A PT , E. O LDEROG , Verification of Sequential and Concurrent Programs, 2nd edition, 1997. ISBN: 0-387-94896-1. - N.D. JONES, C.K. GOMARD, P. SESTOFT, Partial Evaluation and Automatic Program Generation, Prentice-Hall, Englewood Cliffs, NJ, 1993. - P. COUSOT, R. COUSOT, Abstract Interpretation and Application to Logic Programs, 364 LS in Computer Science Journal of Logic Programming, 13(23):103-179, 1992. - M. C OMINI , An Abstract Interpretation Framework for Semantics and Diagnosis of Logic Programs, Ph.D. thesis TD-5/98, Dipartimento di Informatica, Università di Pisa, 1998. - P. COUSOT, Semantic Foundations of Program Analysis, In S.S. M UCHNICK , N.D. J O N E S (eds.), Program Flow Analysis: Theory and Applications, Chapter 10, pages 303-342, Prentice-Hall, Inc., Englewood Cliffs, New Jersey, USA, 1981. - P. COUSOT, Abstract Interpretation Based Formal Methods and Future Challenges, Invited Paper, In R. WILHELM (ed.), Informatics - 10 Years Back, 10 Years Ahead, volume 2000 of Lecture Notes in Computer Science, pages 138-156, SpringerVerlag, 2000. ADVANCED ALGORITHMS Teacher Prof. Alberto Policriti Credits 6 Program String matching algorithms. Randomized and approximation algorithms. Amortized analysis of algorithms. Search trees and self-adjusting splay trees. References - Notes from the lecturer. - T.H. CORMEN, C.E. LEISERSON, R.L. RIVEST, Introduction to Algorithms, 2nd edition, MIT Press, 2001. - D. GUSFIELD, Algorithms on Strings, Trees and Sequences, Cambridge University Press, 1997. R. MOTWANI, P. RAGHAVAN, Randomized Algorithms, Cambridge University Press, 1995. - R.E. TARJAN, Data Structures and Network Algorithms, SIAM press, 1983. ADVANCES IN COMPILERS Teacher Prof. Maria Staniszkis Credits 6 Program Symbol Tables. - Specifications of semantics and constructions of corresponding automata. - Object code generation. - Treatment of semantic errors. - Abstract interpretation and dynamic properties of programs. - Compilation of non imperative languages. References A.V. AHO, R. SETHI, D. ULLMAN, Compilers, Principles, Techniques and Tools, Addison Wesley, 1987. ADVANCES IN DATABASE SYSTEMS Teacher Prof. Angelo Montanari Credits 6 Program Part 1 - Database design (additional material) The conceptual design of databases and the Dataflow model: the basic constructs of the Dataflow model (process, data flow, data repository, interface); context diagrams and Dataflow diagrams; functional design based on the Dataflow model; the design of information systems: an integrated approach to the design of system functions and data (synthesis of LS in Computer Science external ER schemas and their integration). The logical design of databases: satisfiability and violation of functional dependencies, closure of dependency sets, a calculus of dependencies (Armstrong’s axioms), closure of attribute sets, algorithms to compute the closure of attribute sets, equivalences among sets of dependencies, minimal covers, decompositions and their properties, normal forms and normalization, algorithms to compute decompositions in specific normal forms. Part 2 - The SQL language (additional material) SQL and the programming languages: introduction, approaches to the database programming, stored procedures, triggers, static embedded SQL (simple and complex queries, the use of cursors), dynamic embedded SQL (immediate execution and two-phase execution), database programming with function calls: SQL/CLI (Call Level Interface), ODBC e JDBC (a short account). Part 3 - The physical organization of data The storage of file records and the organization of primary files: introduction, devices and techniques for the management of secondary storage, buffering of blocks, placing file records on disks, operations on files, files of unordered records (heap files), files of ordered records (sorted files), hashing techniques, other primary file organizations, parallelizing disk access using RAID technology. Indexing structures for files: types of single-level ordered indexes (primary, clustering, secondary), multilevel indexes, dynamic multilevel indexes using B-trees and B + trees, other types of indexes. Part 4 - Database server technology The notion of transaction: introduction to transaction processing, desirable properties of transactions, transaction scheduling and recovery, serialization techni- 365 ques, transaction support in SQL. Concurrency control techniques: problems, architecture, the anomalies of concurrent transactions, view-based techniques, conflict-based techniques, two-phase locking techniques (2PL and strict 2PL), concurrency control based on timestamp ordering, multiversioning-based techniques, granularity of data items. Buffer manager: architecture of the buffer manager, primitives for the management of the buffer, buffer management policies, on the relationships between buffer manager and file system. Database recovery techniques: basic concepts, architecture, stable memory, organization of the log, transaction processing, fault management. Query processing and optimization: system catalogs, query optimization (query internal representation, relation profiles, cost-based optimization), physical design of databases. Database security: introduction to database security issues, mandatory access control and role-based access control for multilevel security, statistical database security (a short account). Part 5 - Distributed databases Introduction to distributed databases, basic elements of the client-server architecture, data fragmentation, data allocation, transparency levels, types of distributed DBMSs, query processing in distributed databases, concurrency control and recovery in distributed databases. Part 6 - Databases and World Wide Web(a short account) Basic notions (Internet, World Wide Web, HTML, the http protocol), gateway and form, tools and techniques to access databases via web, database access via CGI programs, development tools, the limitations of the CGI protocol, serverbased solutions, client-based solutions, web information systems, conceptual design of web applications. 366 LS in Computer Science Part 7 - Additional topics (a short account) Databases in support of management’s decisions (data warehouse), semi structured data in XML, object and object-relational databases, active databases, temporal and spatial databases. References - P. A TZENI , S. C ERI , P. F RATERNALI , S. P ARABOSCHI , R. T ORLONE , Basi di Dati: Architetture e Linee di Evoluzione, McGrawHill, 2003. - R. ELMASTRI, S. NAVATHE, Fundamentals of Database Systems, 5th edition, Pearson International Education / Addison Wesley, 2007. Or: - R. ELMASTRI, S. NAVATHE, Sistemi di basi di dati. Complementi, quarta edizione, Pearson Education Italia / Addison Wesley, 2005. Other references: - J.D. ULLMAN, Principles of Databases and Knowledge-Base Systems, volume I, Computer Science Press, 1988. - SILBERSCHATZ, H.F. KORTH, S. SUDARSHAN, Database System Concepts, 4th edition, McGraw-Hill, 2002. - A. ALBANO, Costruire sistemi per basi di dati, Addison-Wesley, 2001. - A. ALBANO, G. GHELLI, R. ORSINI, Fondamenti di basi di dati, Zanichelli, 2005. - P. A TZENI , S. C ERI , S. P ARABOSCHI , R. TORLONE, Basi di Dati: Modelli e Linguaggi di Interrogazione, seconda edizione, McGraw-Hill, 2006. ALGORITHMS AND COMPLEXITY THEORY Teacher Prof. Carla Piazza Credits 6 Aims During this course we intend to present the main results in the field of computa- tional complexity of algorithms. In particular, we intend to discuss the classical hierarchy of complexity classes and the main techniques for the analysis of related problems. We will also present basic ideas and notions of some interesting innovative computational models recently proposed in the scientific community. Program - Computational classes. Hierarchy theorem. Gap theorem. Savitch theorem. Immermann-Szelepscenyi theorem and consequences. Computational reductions and completeness. Classes outside NP. - Quantum Computing. Quantum Turing machine. Universal quantum Turing machine. Computational classes in quantum computing. Quantum algorithms. - DNA Computing. Adleman and Lipton model. Solutions for SAT and other NPcomplete problems. Universal Turing machine in DNA computing. - Algorithms. The problem of automata minimization and the notion of bisimulation. Hopcroft algorithm. Paige-Tarjan algorithm. Paige-Tarjan-Bonic algorithm. The notion of simulation and efficient algorithms to compute the maximum simulation quotient. References - C.H. P APADIMITRIOU , Computational Complexity, Addison Wesley, 1995. - Other research papers. ARTIFICIAL INTELLIGENCE Teacher Prof. Carlo Tasso Credits 6 Aims The aim of the course is to introduce 367 LS in Computer Science some of the basic notions of artificial intelligence. Program Contents of the course and references may be updated/modified later on. - Introduction. The intelligent computer. Intelligent applications. - The role of the orderly methodology in AI. Symbolic and natural constraints Constraint propagation. Backtracking techniques. Control metaphors: interacting procedures - The search problem: exploring alternatives. Problem formulation as search into a state space. Problem examples. Search algorithms: depth-first, breadth-first, hill climbing, best-first. A* algorithm, simulated annealing. Game resolution by searching strategy: min-max procedure, alpha-beta procedure, euristic methods. - Learning. Introduction. Decision trees. Learning by examples. Inductive learning. Induction heuristics, induction procedures, identification. - Supervised learning: neural networks. The human neural system. Main structure of a neural network. Perceptron, multilayer perceptron, back-propagation. Application examples References - S. RUSSEL, P. NORVIG, Artificial Intelligence: a Modern Approach, Prentice-Hall International, 1995. - P.H. WINSTON, Artificial Intelligence, 3rd edition, Addison-Wesley, 1992. - E.RICH, K.KNIGHT, Artificial Intelligence, McGraw-Hill, 2nd edition, 1992. References for consultation: - E.A. BENDER, Mathematical Methods in Artificial Intelligence, IEEE Computer Society Press, 1995. - B.D. R IPLEY , Pattern Recognition and Neural Networks, Cambridge University Press, UK, 1996. - M.GINSBERG, Essentials of Artificial Intelligence, Morgan Kaufman, 1993. COGNITIVE MODELING Teacher Dott. Silvia Gabrielli Credits 6 Aims Goal of the course: The course aims to approach students to psychology as science studying humans, their behaviours and thinking ways, in order to extend the general knowledge about some aspects of daily life. Moreover, the course specifically aims to provide information that will be useful in future activities of students (i.e. visual perception, emotions’ role, use of the communication), and to give a scientific method to perform experiments. Program Three sections of the course: general psychology (introduction to build successive knowledge); communication; and research methodology (to be able to perform experiments). Exams Written test. References - L. ANOLLI, P. LEGRANZI, Psicologia Generale, Il Mulino, 2001. Chapter 1: paragraphs 1.1 and 1.2 (pag. 9-13). Chapter 2: complete (pag. 47-75). Chapter 3: paragraphs 1 and 2 (pag. 77-86). Chapter 4: paragraphs 1 and 2 (pag. 103-133). Chapter 5: complete (pag. 137-166). Chapter 6: complete (pag. 169-202). Chapter 7: complete (pag. 203-230). Chapter 8: paragraphs 1, 2, 3, 4 (pag. 233-261). - D.H. MCBURNEY, Metodologia della ricerca in psicologia, Il Mulino, 1986. Chapters: 3, 4, 5, 6, 7, 8, 10. - R. C IALDINI , Le armi della persuasione, Giunti, 2005. 368 LS in Computer Science COMPILERS Teacher Prof. Maria Staniszkis Credits 6 Program - Rewriting systems: definitions, properties, examples. - Lexical analysis: the Thompson construction, the Berry-Sethi construction, generation of lexical analyzers. - Syntactic analysis: the algorithm of Coce-Younger-asami; parsing top-down: LL parsers; parsing bottom-up: LR parsers. The properties of LR grammars and languages. - Syntactic errors and the recovery. References - A.V. AHO, R. SETHI, D. ULLMAN, Compilers, Principles, Techniques and Tools, Addison Wesley, 1987. - S. SIPPU, E. SOISALON-SOININEN, Parsing Theory, vol. 1 and 2, Springer. - G. BERRY, R.SETHI, From Regular Expressions to Deterministic Automata, Theoretical Computer Science, 48 (1986), pp. 117126. COMPUTATIONAL GEOMETRY Teacher Prof. Adriano Pascoletti Credits 6 Aims Basics of Computational Geometry illustrated through the discussion of problems whose solutions require nonstandard data structures and algorithmic techniques; their role in the solution of more complex tasks. Assessment of efficiency and robustness of data structures and algorithms used by the solution of a geometric problem. Program Representation of geometric objects; segment intersections; triangulations; pointlocation, proximity and visibility problems; motion planning. Exams Oral discussion. References - M. DE BERG, M. VAN KREVELD, M. OVERMARS , O. S CHWARZKOPF , Computational Geometry - Algorithms and Applications, Springer Verlag, 1997. - A. PASCOLETTI, lecture notes (in italian). COMPUTATIONAL MATHEMATICS Teacher Prof. Rossana Vermiglio Credits 6 Aims In the last years, the mathematical models described by differential equations in scientific applications are becoming more complex and the numerical analysis plays an important role. ‘The solution of ordinary differential equations (ODEs) by discrete methods is one of the oldest and most successful areas of numerical computation’ (L. Trepheten). The course presents the essential features of the discrete methods for ODEs (initial value problem and boundary value problem) with particular emphasis on the fundamental ideas of accuracy, stability and convergence. All these notions are important to introduce the basic ideas to 369 LS in Computer Science develop the numerical schemes for PDEs. The course could include also some advanced topics. Program Difference equations. Numerical methods for initial value problems (IVPs) for ODEs. Onestep methods and multi-step methods. Continuous methods. Stiff problems. Stability analysis. Numerical geometric integration. Numerical methods for boundary value problems (BVPs) for ODEs. Finite difference methods. Shooting methods. Collocation methods. Integral formulation of BVP. The Lax-Milgram theorem. The Galerkin-finite elements approach. The Galerkin-spectral approach. The generalized Galerkin method. Partial differential equations: elliptic, parabolic and hyperbolic. Finite difference methods. Finite element methods. Exams Oral. References - Teacher’s notes. - A. Q UARTERONI , F.S ALERI , Modellistica numerica per problemi differenziali, Springer Verlag Italia, 2003. - A. Q UARTERONI , R.S ACCO , F.S ALERI , Matematica numerica, Springer Italia, 2000. Further references: - P. DEUFHARD, F. BORNEMANN, Scientific Computing with Ordinary Differential Equations, Springer, New York, 2002. - E. H AIRER , S.P. N ORSETT , G. W ANNER , Solving Ordinary Differential Equations I, Springer, Berlin, 1987. - E. HAIRER, G. WANNER, Solving Ordinary Differential Equations II, Springer, Berlin, 1996. - E. HAIRER, C. LUBICH, G. WANNER, Geometric Numerical Integration, Springer, Berlin, 2001. - C. LAMBERT, Numerical Methods for Ordinary Differential Equations, Wiley, 1991. COMPUTER LANGUAGES 1 Teacher Prof. Marco Comini Credits 6 Aims The Computer Languages 1 course, together with the Computer Languages 2 course, aims to give knowledge on the characteristics of the various programming paradigms. It tries hard not to focus on a specific language but to present the general principles that guide project, development and implementation of modern programming languages. With a solid knowledge of ‘universal’ characteristics one can learn new languages in no time. To achieve this general vision the main programming paradigms are presented: imperative, functional, logic and functional-logic. Besides examining the most immediate pragmatic aspects of these paradigms, they are analyzed and compared basing on general principles in order to achieve a critical comprehension of most popular languages. This is needed to reach a cognizant programming style, where one knows which paradigm is better to chose to solve a specific problem, and knows which language constructs to use, and at which cost. The two courses aim to give a relatively profound knowledge (especially regarding the programming aspect) on declarative paradigms (functional, logic and functional-logic) that, thanks to their expressiveness, can be naturally used as basis for development of correct software. The Computer Languages 1, in particular, will treat the general concepts; the imperative paradigm and the functional paradigm. The Computer Languages 2 will complete the presentation of declarative 370 paradigms: logic and functional-logic. Program Imperative Paradigm - Abstract Machines, Interpretation e Compilation. - Describe a Computer Language (Syntax and Semantics). - Names and environments. - Memory Management. - Structuring control. - p-code. - Control Abstraction (Parameters Passing Methods). - Structuring data. - Monomorphic and Polymorphic Type checking. Functional Paradigm - Introduction to Functional Programming. - High-order Programming. - The Haskell language (list comprehensions, partial applications of curried functions, sections, non-strict functions, infinite data structures, case expressions, pattern matching). - Types, Classes and Overloading. - Haskell’s monadic I/O. - Standard Haskell Classes. - Monads. - Modules. References - M. GABBRIELLI, S. MARTINI, Linguaggi di Programmazione - Principi e Paradigmi, McGraw-Hill. ISBN: 88-386-6261-4. - HUDAK, FASEL, A Gentle Introduction to Haskell, 1992. Consultation Books and Texts: - B. WADLER , Introduction to Functional Programming Using Haskell, Prentice Hall PTR, 1998. ISBN: 0134843460. - N.D. JONES, C.K. GOMARD, P. SESTOFT, Partial Evaluation and Automatic Program Generation, Prentice-Hall, Englewood Cliffs, NJ, 1993. LS in Computer Science COMPUTER LANGUAGES 2 Teacher Prof. Marco Comini Credits 6 Aims The Computer Languages 2 course, together with the Computer Languages 1 course, aims to give knowledge on the characteristics of the various programming paradigms. It tries hard not to focus on a specific language but to present the general principles that guide project, development and implementation of modern programming languages. With a solid knowledge of ‘universal’ characteristics one can learn new languages in no time. To achieve this general vision the main programming paradigms are presented: imperative, functional, logic and functional-logic. Besides examining the most immediate pragmatic aspects of these paradigms, they are analyzed and compared basing on general principles in order to achieve a critical comprehension of most popular languages. This is needed to reach a cognizant programming style, where one knows which paradigm is better to chose to solve a specific problem, and knows which language constructs to use, and at which cost. The Computer Languages 2 course, in particular, presents the declarative paradigms (functional, logic and functionallogic) that, thanks to their expressiveness, can be naturally used as basis for development of correct software. It will be shown how characteristics like high-order and non-determinism can be fruitfully used to write compact, elegant and flexible (reusable) code. 371 LS in Computer Science Program Execution Models of the Functional Paradigm - Term Rewriting Systems, Pattern Matching. Logic Paradigm - Introduction to Logic Programming: unification, SLD-derivations. - Denotational Semantics of Logic Programs. - Non-deterministic Programming. - The Prolog language. - Warren Abstract Machine. Functional-Logic Paradigm - Functional-Logic Programming: narrowing (needed narrowing). - High-order Non-deterministic Programming. - The Curry language. References - M. GABBRIELLI, S. MARTINI, Linguaggi di Programmazione - Principi e Paradigmi, McGraw-Hill. ISBN: 88-386-6261-4. - TERESE, Term Rewriting Systems. Cambridge Tracts in Theoretical Computer Science, Vol. 55, Cambridge University Press, 2003. - K.R. A PT , From Logic Programming to Prolog, International Series in Computer Science, Prentice Hall, 1997. - L. STERLING, E. SHAPIRO, The art of Prolog, MIT Press, 1986. - H ASSAN A IT -K ACI , Warren’s Abstract Machine: a Tutorial Reconstruction, MIT Press, 1991. ISBN: 0-262-01123-9. - M. HANUS, The Integration of Functions into Logic Programming: from Theory to Practice, Journal of Logic Programming, 19-20: 583-628, 1994. - S. ANTOY, R. ECHAHED, M. HANUS, A Needed Narrowing Strategy, Journal of the ACM, 2000. - M. HANUS, S. ANTOY, Curry: a Tutorial Introduction, 2004. Consultation Books and Texts: - HUDAK, FASEL, A Gentle Introduction to Haskell, 1992. - B. WADLER , Introduction to Functional Programming Using Haskell, Prentice Hall PTR, 1998. ISBN: 0134843460. COMPUTER NETWORKS AND SECURITY Teacher Prof. Marino Miculan Dott. Paolo Dal Cin Credits 6 Aims The aim of the course is to study the principal concepts of wireless networks and of security of networks. In particular, the student will acquire specific competency about the operation of wireless LANs, the main requisites of network security, the design of adequate security policy, and about the main protocols for network security. Program 1. Wireless LANs. Classification, Spread Spectrum (Direct Sequence, Frequency Hopping), Networks IEEE 802.11. The physical layer and MAC in IEEE 802.11. Bluetooth: design and application. 2. Security of computer networks. Levels of security, diagnosis and monitoring of a network, protection of network connections, authentication, integrity, security, non-reputation. Principle of minimal security. Evaluation of the security of a system. Orange book. 3. Basics of cryptography. Cryptoanalysis. Transposition ciphers, monoalphabetic, and polyalphabetic ciphers. Product ciphers. Modern cryptography. Contemporary cryptography. Secret key algo- 372 rithms: DES, IDEA, 3DES, AES. Public key algorithms: RSA. Examples. Digital signatures, key management. 4. Security in network protocols. Security at physical layer in wireless networks: WEP, WPA. Security at network level: IPsec. Security at transport level: SSL, TLS. Design of a screening router, packet filtering. Security at the application level: the SET framework. 5. Perimetric defense of a network. Theory and design of firewalls: multihomed host, bastion host, DMZ. Proxy server. Example of a firewall. Honeypots, honeynets. Intrusion Detection Systems (IDS) and real-time IDS. Intrusion Prevention Systems (IPS). 6. Threats externals to a network. Classification of attacks to a network. Ports and services. Information gathering techniques (foot printing, network enumeration, DNS queries), scanning (ping scanning, port scanning, etc.). DOS attacks. Attacks based on the prediction of sequent numbers and hijacking of TCP sessions. Man-in-the-middle attack. Attack tools available to an hacker. 7. Network defense. Defense against information gathering. Defense against unauthorized logins. Models for the design of a security plan. Prerequisites Computer Networks. Exams The examination test includes a written test and an optional oral test. The written test contains exercises and questions concerning the course subject. References - A.S. TANEMBAUM, Computer Networks, 4th edition, Addison-Wesley. - W. STALLINGS, Cryptography and Network Security, McGraw-Hill, 2004. - W.R. C H E S W I C K , S.M. B E L L O V I N , A. LS in Computer Science R UBIN , Firewalls and Network Security, Pearson-Addison Wesley, 2003. DATA WAREHOUSE Teacher Dott. Anna Marzona Credits 6 Aims The course supplies the fundamental knowledge on information systems, covering Data Warehousing, multidimensional databases, OLAP Analysis. The course follows the steps required to build data warehousing systems, looking in depth at the conceptual and logical design of multidimensional databases. The final lessons introduce data mining as an extension of data warehousing systems. Real cases taken from business environments are given as examples and used to experience the design process. Program - Decision Support Systems (DSS). Motivations, methodologies and architecture. - Differences between informational and applicative systems. Informational Systems: the multidimensional model and OLAP analysis. Data Warehouse and Data Mart: definitions, usage objectives, differences. - Data Warehouse Design: data warehousing systems lifecycle. Requirement and sources analysis. Sources reconciliation. Main architectural solutions. A conceptual multidimensional model: Data Fact Model (DFM). Logical models: MOLAP, ROLAP, HOLAP. Star and Snowflake schemas. The treatment of variations in both facts and dimensions. - Update politics. Generation and update of the multidimensional data structure. 373 LS in Computer Science Total and incremental alimentation processes. Extraction, Transformation and data Loading (ETL): man problems to be solved, examples of applicable solutions. - Tools for Data analysis: Reporting, OLAP browsers, Data Mining. Deepening on the Hypotheses driven approach and on OLAP analysis. - Introduction to Data Mining: fundamental problems, application environments, practical aspects. - Analysis and design of a real-world casestudy: from the entity-relation model to the multidimensional conceptual and logical models. se Toolkit: the Complete Guide to Dimensional Modeling, Hoepli, 2002. - J. HAN, M. KAMBR, Data Mining, Morgan Kaufman, 2001. - I.H. W ITTEN , E. F RANK , Data Mining, Elsevier, 2005. Prerequisites The student should have a good knowledge of the program covered in the course ‘Basi di dati (Relational Databases)’. Aims The course analyzes the problems to be faced, the guidelines, the available tools and design methodologies in developing e-commerce services. Topics will be examined from four different viewpoints: customer (e.g., purchasing style, trust, usability problems); seller (e.g., Internet marketing, merchandising, e-commerce strategies); service (e.g., current structure of e-commerce services and future developments); and development (available tools, guidelines, techniques). The course will also deal with advanced topics such as exploiting multimedia communication, 1-to-1 E-commerce, and Mobile Commerce. Exams 16 two-hours lessons; development of a project in small groups; individual final oral examination. References - M. GOLFARELLI, S. RIZZI, Data Warehouse: teoria e pratica della progettazione, McGraw-Hill, 2006. - M. PIGHIN, A. MARZONA, Sistemi Informativi Aziendali - Struttura e applicazioni, Pearson Italia, 2004. (Parte 3: I Sistemi Informazionali). - Additional materials available on the course’s Web Page. Further reading: - M. PIGHIN, A. MARZONA, Sistemi Informativi Aziendali - Struttura e applicazioni, Pearson Italia, 2004. (Parte 1 e Parte 2). - G. BRACCHI., G. MOTTA, Processi Aziendali e Sistemi Informativi, Franco Angeli, 2000. - A TZENI , C ERI , P ARABOSCHI , T ORLONE , Database Systems: Concepts, Languages & Architectures, McGraw-Hill, 1999. - R. KIMBALL, M. ROSS, The Data Warehou- ELECTRONIC COMMERCE Teacher Dott. Roberto Pugliese Credits 8 Program - Business-to-business (B2B) Applications. Company-centric B2B. From Traditional to Internet-Based EDI. E-Marketplaces and B2B. Extranets. B2B Support Services. - Other E-commerce applications. Consumer-to-Consumer (C2C). Dynamic Pricing, Auction. Service Industries, Online Publishing, and Knowledge Dissemination. Intrabusiness, e-Government. ECommunities. - Mobile Commerce. Wireless and mobile 374 LS in Computer Science technologies. M-commerce applications. Mobile marketing, advertising and customer service. Location-based commerce. Current limitations of M-commerce. - Developing E-commerce services. Infrastructure. Tools. Page design. Web programming. E-Commerce Security. Electronic Payment Systems. Order Fulfillment, Logistics, and Supply Chain Management. - User Interfaces for E-commerce applications. Guidelines. E-commerce Interface Design. Recent research trends: user interfaces for 1-to-1 e-commerce, mobile commerce, experiential e-commerce. References - E. TURBAN, J. LEE, D. KING, M. WARKENTIN, H.M. CHUNG, Electronic Commerce: a Managerial Perspective, 2nd edition, Prentice-Hall, 2002. - G.P. SCHNEIDER, J.T. PERRY, Electronic Commerce, 2 nd edition, Thomson Learning, 2001. EXPERT SYSTEMS Teacher Prof. Carlo Tasso Credits 6 Aims Provide an introduction to basic techniques for the development of knowledgebased systems and expert systems, and, more specifically, knowledge representation mechanisms and reasoning algorithms, truth maintenance systems, and conceptual modelling techniques. Some significant applications are also illustrated and experimented with some laboratory activities in the field of Web information search and filtering. Program Major topics: Introduction to Artificial Intelligence. Definition of KnowledgeBased System. Knowledge representation mechanisms and reasoning algorithms. Semantic networks. Frames. Production rules. Conceptual Graphs. Non-monotonic reasoning systems. ATMS. JTMS. Blackboard architecture. Conceptual modelling techniques. Heuristic classification and generic tasks. Web information retrieval. Exams Report on the laboratories activities and oral examination. References - Study materials available on http://twm.dimi.uniud.it/ - G. GUIDA, C. TASSO, Design and Development of Knowledge-Based Systems, J. Wiley, 1994. - D. FUM, Intelligenza Artificiale, Il Mulino, 1994. - C. TASSO, P. OMERO, La Personalizzazione dei Contenuti Web - e-commerce, i-access, e-government, Franco Angeli, Milano, 2002. FORMAL METHODS OF COMPUTER SCIENCE 1 Teacher Prof. Marina Lenisa Credits 6 Aims The aim of this course is to introduce various formal methods for software and hardware specification, validation and verification. Several logical and mathematical techniques for specifying program semantics (operational, denotatio- 375 LS in Computer Science nal) and several program logics will be discussed. Particular attention will be devoted to both parallel and distributed concurrent programs. FOUNDATIONS OF COMPUTER SCIENCE 2 Teacher Prof. Agostino Dovier Credits 6 Aims We will consider with more attention the technical aspects of the results seen in Foundations of Computer Science I. After successfully completing the course the student will be able to discuss the decidability (polinomiality) of relevant problems, using advances reduction techniques, and will know the relevant notions of formal language theory. Program The course is organized in three parts: formal languages, computability, and complexity. Formal languages. Summary of main definition and results on regular languages. Deterministic and non-deterministic finite state automata and their equivalence. Regular expressions. The pumping lemma and its applications. Closure and decidability properties of regular languages. The Myhill-Nerode Theorem and automata minimization. Context-free languages. Context Free Grammars and derivation trees. Ambiguous grammars and languages. Chomsky and Greibach normal forms. The pumping lemma and its applications. Closure and Decidability properties of context free languages. Linear grammars, type 0 and type 1 grammars and Chomsky hierarchy. Computability. Summary of the main definition and results on primitive functions and Turing machines. Equivalence theorem between the two formalisms. Computability and programming languages. The language While: syntax, semantics, and while-computable functions. Turing completeness of while. The language For, For-computable functions and their equivalence with the primitive recursive functions. Undecidability of the halting problem without enumeration. The S-m-n theorem and the specializers. Kleene recursion theorem, Rice and Rice-Shapiro theorems and their applications. Reducibility between sets. Recursive and complete sets. The second recursion theorem and Myhil Theorem. Simple Sets: definition, properties and their existence. Complexity. Languages and Problems. Deterministic time complexity classes: main results. Non-deterministic and space classes. Main results and relative relationships. Reductions and Completeness. Cook’s Theorems. NP-completeness of some fundamental problemsusing reductions. Exams Written and oral examination. References - A. DOVIER, R. GIACOBAZZI, Fondamenti dell’Informatica: Linguaggi Formali, Calcolabilità e Complessità. Available on-line. - N.J. CUTLAND, Computability: an Introduction to Recursive Function Theory, Cambridge University Press, Cambridge, 1980. - J.E. HOPCROFT, J.D. ULLMAN, Introduction to Automata, Languages and Computation, Addison-Wesley, Reading, 1979. - C.H. P APADIMITRIOU , Computational Complexity, Addison Wesley, 1995. 376 HIGH PERFORMANCE COMPUTING Teacher Prof. Dario Fasino Credits 6 Aims This course is intended to introduce students to the main issues of parallel computing, that is, computation performed using multiple processing units, in its diverse aspects (architectures, languages, algorithms), with a main emphasis on scientific computing on cluster architectures. The course focus is on communicating parallel programming concepts and practices, not strictly bound to specific technologies or computing environments, that can be usefully exploited in various applicative contexts. Program Introduction to parallel architectures: Flynn taxonomy, shared or distributed memory, vector computers, superscalar and multiprocessor computers, clusters; processor-memory and processor-processor connection topologies; basic parallel algorithms; process synchronization and communications; Fundamental parallel algorithm concepts: data and workload decomposition, serial and parallel program optimization techniques, granularity, load balancing; message-passing model: basic concepts and methods, onesided, collective and peer-to-peer communications, synchronous and asynchronous primitives; introduction to BSP, PVM, MPI, and other scientific computing libraries. Performance analysis: performance concepts and measures, speed-up and scalability of parallel algorithms, Amdahl-Ware’s and Gustafsson’s law, isoefficiency, parallel overhead, communication time analysis. High Perfor- LS in Computer Science mance Scientific Computing: case studies from numerical linear algebra (sparse matrix technology, structured matrix computations) or computational mathematics. Exams Final written and oral exam, including discussion of lab activity. References - K. D OWD , C. S EVERANCE , High Performance Computing, O’Reilly, 1998. - L. RIDGWAY SCOTT, T. CLARK, B. BAGHERI, Scientific Parallel Computing, Princeton University Press, 2005. HUMAN COMPUTER INTERACTION 1 Teacher Prof. Luca Chittaro Credits 6 Aims The course illustrates principles, design methodologies and the different implementation choices which allow one to build software which is usable in a simple, intuitive, productive, and reliable way by the users for which it is meant. Achieving this goal requires the study of three different kinds of topics: man (psychological aspects of the user); computer (user interface development tools); interaction (analysis, design, and evaluation of human-machine interfaces). Besides presenting the fundamental concepts of human-computer interaction, the course highlights some recent relevant developments of the field, such as 3D Interfaces, and Groupware systems. Program - Introduction: Goals of human-computer 377 LS in Computer Science interaction and its relevance to the applications of interactive computer systems. - Psychological Aspects: Cognitive psychology. Sensory channels. Human limitations and expectations in perceptual processes. Visual perception. Auditory perception. Haptic perception. Human memory: sensory, short-term, long-term. Individual differences. Mental models. Metaphors. Human error: slip and mistake. - Devices for Human-Computer Interaction: Text input devices. Positioning and pointing devices. 3D devices. Devices for visual, auditory, and haptic output. Interfaces and devices for disabled users. - Models and Paradigms of Human-Computer Interaction: Characterizing different phases of interaction. Ergonomic aspects of interaction. Interaction styles: from command language to 3D interfaces. Window interfaces (WIMP). Menu and icon design. Interaction paradigms. - Human-Computer Interaction and the Software Life-Cycle: Analysis of usability requirements. Usability principles. Usercentered design. Usability engineering. Prototyping techniques. Envisioning design techniques. Design rationale. - Environment, User, Task Analysis: Characterizing the context of interaction with socio-technical models. The USTM/ CUSTOM technique. Task analysis. The HTA technique. Predictive models: GOMS, KLM. - Formal Methods in Human-Computer Interaction: State transition network and other diagrammatic notations. Textual notations. Dialogue analysis and design with state transition network. - Guidelines and Standards for User Interfaces: Definition. Choosing and using guidelines. Examples of guidelines: MITRE, Apple, Microsoft, IBM guidelines for 3D interfaces. The ISO 9241 standard. - Tools for User Interface Implementa- tion: Windowing System. Programming techniques. Toolkit. Case study: the Java toolkit. User Interface Management Systems. - Usability Evaluation: Goals of evaluation. Recording tools. Observing the user. Collecting opinions. Interviews. Questionnaires. Experiments. Predictive evaluation. Cognitive walkthrough. Interpretive evaluation. - Help: Assisting the user. Requirements for help systems. Main approaches. Adaptive and adaptable interfaces. - Computer-Supported Cooperative Work: Groupware. Computer-mediated communication. E-mail and textual communication systems. Videoconference. Virtual collaborative environments. Workflow systems. Experimental and organizational aspects. - Recent Paradigms of Human-Computer Interaction: Ubiquitous computing. Virtual reality. Types of virtual reality. Multisensory (or multi-modal) interfaces. Information visualization. Hypertext. Multimedia and Hypermedia interfaces. References - A. DIX, J. FINLAY, G. ABOWD, R. BEALE, Human Computer Interaction, 3rd edition, Prentice Hall, 2003. - J. P REECE , Y. R OGERS , H. S HARP , D. BENION, S. HOLLAND, T. CAREY, Human Computer Interaction, Addison Wesley, 1994. HUMAN COMPUTER INTERACTION 2 Teacher Prof. Luca Chittaro Credits 6 Aims The main goal of the course is to explore 378 the most recent developments and trends in Human-Computer Interaction and to study the most important applications that are deriving from them. The course topics belong to three equally important categories: Information Visualization (design of a visual interface and visualization techniques), Interacting with mobile devices and services (e.g., mobile phones, PDAs, on-board vehicle systems), Virtual Reality (Immersive, Desktop, or Webbased). Program - Information Visualization (IV). Information Visualization (IV): definitions. Data vs. Information. Goals of IV. Information Visualization vs. Scientific Visualization. Issues involved in IV Design. Mapping: principles, visual attributes, examples. 2D vs. 3D visualizations. Typical IV design problems. A model for IV. A classification of data types: Categorical, Numerical, Topological, Symbolic, Textual Data. An alternative classification of data types: 1-dimensional, 2-dimensional, 3-dimensional, temporal, multi-dimensional, tree, network. A classification of task types: overview, zoom, filter, details-ondemand, relate, history, extract. - Techniques for visualizing and interacting with data. Bivariate, Trivariate, Multivariate data: Scatterplots, Mosaic Display, Parallel coordinate plots, Starplot, Chernoff Faces, Hierarchical Axis, Dimensional Stacking, Dynamic Queries, Alphasliders, The Attribute Explorer, SDM (Selective Display and Manipulation). InfoZoom. Pixel-oriented visualizations: screen-filling curves, recursive pattern, circle segments. Trees: Treemaps, Cone Trees, Camtrees, Star Tree, Hyperbolic Trees. Networks: SeeNet, HierNet, NetMap. Temporal data: Lifelines, AsbruView, Paint Strips. Documents: TileBars, document Galaxies, Themescape, Citeseer-Relator, MDS-interactive. Informa- LS in Computer Science tion Workspace: Rooms, Web Forager, Windows Task Gallery, Sun Looking Glass. - The presentation problem. Overview+Detail techniques. Focus+Context techniques. Distortion-oriented techniques. Table Lens. Perspective Wall. Fisheye view. - Case study: IV for the internet and the web. NattoView. Self-organizing maps. Skitter. Cichlid. Web Forager. Disk tree. Time tube. Dome tree. Web page caricatures. Visualizing Social activities on the Web. - Case study: IV in medicine. Visualizing medical data: medical imaging vs. IV. A gallery of examples: Therapy Planning, Interactive Data Exploration of clinical databases, Digital libraries of anatomical images, Preoperative Surgery Planning, Treatment of Phobias, Magnetic Resonance Image Viewing, visual data mining of Hemodialysis data. - Cognitive and human factors in IV. Visual perception aspects. Navigation in abstract or physical spaces. Improving navigation. Navigation aids. User Evaluation of IV systems. Detailed case studies: querying medical databases, 3D navigation aids. - Mobile HCI. Mobile and Wireless Devices. Mobile Operating Systems. Wireless Networks. Differences between the mobile context and the desktop PC context. Size issues in mobile devices. Cultural issues. Social issues. The Mobile User Experience. - Mobile phones. Mobile Phones: Historical Data. User Interfaces (UIs) of Mobile Phones. Mobile Product Categories. UI Styles in Mobile Phones. Example: Twosoftkey 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. Interface Elements of Menu-based Mobile Phones. Menu Interfaces in Mobile Phones. Call-related Interactions. Number of Keys in Mobile Devices. 379 LS in Computer Science - Evaluation in mobile HCI. Ethnographic methods. Case study: Indian users. Paper Prototyping Tour. Controlled experiments. Case Study: a mixed-design experiment with WAP phones. Longitudinal User Studies. Example: the Nokia OneRow Keyboard. - Mobile information visualization. Visualizing data for mobile users. Visualizing data about mobile users. Relevant Subjects of Mobile Visualizations. Visualizing text on mobile devices. Visualizing maps on mobile devices. DateLens. - In-car user interfaces and safety issues. Centralized Control Systems. Examples: COMAND, Connect, iDrive, future concepts. Using 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. Reducing risks. - Interaction with virtual reality systems. General architecture of a virtual reality (VR) system. Output peripherals: headmounted displays, 3D Glasses, new types of display, 3D projection, CAVE, retinal display, 3D positional audio. Input peripherals: trackers, data glove, phantom. - 3D interactive graphics. Rendering engine. Tools for developing interactive 3d environments. Typical trade-offs. Physically-based computer animation. Particle systems. Example: cloth and dress simulation. - Designing 3D web sites. Issues in 3D Web site design. Added value. A case study: designing the 3D Web site of the Italian Aerobatic Team. - Virtual humans. Avatars. Ergonomic dummies. Autonomous agents. Embodied interface agents. General architecture. Applications. References Suggested Readings: - R. SPENCE, Information Visualization, Addison Wesley, 2000. - 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. IMAGE PROCESSING: THEORIES AND TECHNIQUES Teacher Prof. Vito Roberto Credits 6 Aims The Course gives an overview on principles and techniques of pattern recognition, for what concerns image acquisition, analysis, interpretation and communication. All the topics are supported by practical sessions, based on the hw/sw resources available at the Machine Vision Laboratory, Dept. Informatics, University of Udine, Italy. Informations about the Machine Vision Lab are available on the Internet, at the WWW site: http://mvl.dimi.uniud.it/ Program Signal and image representations. Analog and digital signals and images. Correlation, convolution. Statistical representations. Representations in the frequency domain. Applications: linear filtering; sampling; acquisition models. Early visual processing. Image filtering and filtered representations. Statistical filtering. Fourier filtering. Derivative operators and edge extraction. Improving robustness: edge linking, following and clustering. Image segmentation: global and local techniques. 380 LS in Computer Science Practical sessions. Three main topics are covered: - Statistical signals; - Representations in the frequency domain; - Image representations and processing The sessions adopt the software environment MATLAB (a trade mark of The Mathworks, Inc.), version 5.1.0.421, with the specialized toolboxes: Signal Processing (4.0.1); Statistics (2.1.0); Image Processing (2.0). References - Lecture notes are available both in electronic and paper formats at the WWW site reported here above. Suggested references are: - D.H. BALLARD, C.M. BROWN, Computer Vision, Prentice Hall, 1982. - R. KLETTE, P. ZAMPERONI, Handbook of Image Processing Operators, Wiley, 1996. - J.C. RUSS, The Image Processing Handbook, CRC Press, 1995. IMAGES AND MULTIMEDIA Teacher Prof. Vito Roberto Credits 6 Aims The Course gives an overview on principles and techniques of pattern recognition, for what concerns image acquisition, analysis, interpretation and communication. All the topics are supported by practical sessions, based on the hw/sw resources available at the Machine Vision Laboratory, Dept. Informatics, University of Udine, Italy. Information about the Machine Vision Lab are available on the Internet, at the WWW site: http://mvl. dimi.uniud.it/ Program Introductory machine vision. Image acquisition models. Image formation and camera model. Stereo Vision models. Stereo reconstruction algorithms. Motion analysis and reconstruction. Synthesis of 3D worlds. The Virtual Reality Modeling Language (VRML). Rendering techniques of VRML objects: color, sound, motion. Images and multimedia systems. Multimedia object terminology. Compression and coding principles. Standards of compression and coding: JPEG, MPEG. Practical sessions. Two main topics are covered: - 3D Reconstruction algorithms: tomography, stereo matching; - Algorithms for motion analysis The sessions adopt the software environment MATLAB (a trade mark of The Mathworks, Inc.), version 5.1.0.421, with the specialized toolboxes: Signal Processing (4.0.1); Statistics (2.1.0); Image Processing (2.0). References - D.H. BALLARD, C.M. BROWN, Computer Vision, Prentice Hall, 1982. - R. KLETTE, P. ZAMPERONI, Handbook of Image Processing Operators, Wiley, 1996. - J.C. RUSS, The Image Processing Handbook, CRC Press, 1995. INFORMATION THEORY Teacher Prof. Agostino Dovier Credits 6 Aims The course deals with the foundations of Information Theory, with particular emphasis on data compression and error correcting codes. 381 LS in Computer Science Program The course is organized in two parts: Source Coding and Channel Coding. Source Coding. B-LV codes. Code trees. Uniquely Decodable and Instantaneous Decodable Codes. Kraft-McMillan Inequality. Discrete Probability and Expected Length of a code. Entropy, Divergence, and Shannon first Theorem. ShannonFano codes. Memoryless Information Sources. Rate and asymptotical optimality of Shannon-Fano codes. Fano and Huffman codes. Conditional Entropy, Mutual Information, Self Information. Universal (multinomial) Code and its optimality. LV-B codes. Exhaustive and Complete Families. Tunstall trees and coding and their optimality. B-B codes. Code value in error-free coding. Coding with error: delta typical sequences and the second Shannon Theorem. LV-LV codes. Asymptotically optimum codes. Ziv-Lempel, Ziv-Lempel-Welch, and Burrows-Wheeler Universal codes. Channel Coding. Parity check, repetition, and Hadamard codes. Mathematical formalization of the channel. Channel’s capacity: definition and computation on some channels. Shannon’s channel coding Theorem. Maximum likelihood decoding. Minimum distance of a code, code rate and its relationships with error probability. Singleton, Plotkin, Hamming, and Gilbert limitations. Error correcting codes: introduction to algebraic codes. Decoding using Slepian’s table. Hamming codes. Perfect codes: main results. BCH codes and Reed-Muller codes. Cyclic codes: main definitions, generator and check matrixes, generator polynomial. Using primitive roots for the project of cyclic codes. Relationships with the minimum distances. Convolutional codes and Viterbi’s algorithm. A brief history of cryptography and main results of public key cryptography. Exams Oral Examination. References - F. FABRIS, Teoria dell’Informazione, codici, cifrari, Bollati-Boringhieri, Torino, 2001. - E. BERLEKAMP, Algebraic Coding Theory, McGraw-Hill, 1968. - R. G ALLAGER , Information Theory and Reliable Communication, Wiley, New York, 1968. - F.J. M AC W ILLIAMS , N.J. S LOANE , The Theory of Error Correcting Codes, North Holland, 1977. LANGUAGES AND MODELS FOR GLOBAL COMPUTING Teachers Prof. Marina Lenisa Prof. Marino Miculan Credits 6 Aims The recent shift from the standalone computational model to the interconnected, global computing has enlightened many subtle issues concerning distributed computation. The need of reasoning formally and rigorously about these new aspects has led to investigate and develop new models, techniques and methodologies which overcome the limitations of traditional program logics. In this course, we will present some of the most successful abstract models and formal methods for global and ubiquitous computing. In particular, we will focus on calculi for systems with dynamic topology, with cryptographic protocols and with mobility of computations. Applications and open problems of this cutting-edge research field will be presented as well. 382 Program 1. Introduction to the calculi for concurrency. The CCS. 2. The p-calculus: syntax, operational semantics (late and early), bisimulation (late, early, open). 3. The spi-calculus. Syntax, operational semantics, typing system, security by typing. 4. The calculus of mobile ambient. Syntax, operational semantics, modal spatial logic, typing systems. Variants of the pure calculus. Prerequisites Formal Methods of Computer Science 1. Exams Monographic seminar on a subject related to the course. References - Course handouts, papers and notes from the teachers. MANAGEMENT INFORMATION SYSTEMS Teachers Prof. Carlo Tasso Prof. Maurizio Pighin Credits 6 Aims The main objective of the course is the introduction to the problems related with the computerized Management Information System (MIS) in a complex organization. The concept of MIS is defined, as well as methods and techniques for analysis, design, implementation and management of MIS. Both the technical and the organizational points of view are considered. The laboratory course (4 CFU) consists of a case study with the complete LS in Computer Science analysis of enterprise information system. Program Introduction to the concept of MIS: Definition of MIS. Economic relevance of MISs. Professional competence related to MISs. MIS life cycle. MIS Architecture: Modelling a complex organization. Business processes. Value chain. Various architectural organizations of MISs. Application Portfolio. Make, buy and outsourcing. Cost and Performance: MIS development methodologies. Cost/benefit analysis. Risk analysis. Managing a MIS: Resource organization and decision processes. Acquisition and Procurement. Project management and planning. Enterprise Resource Planning: Major data and information flows: administration and finance, logistics, production, marketing and sales, procurement. Advanced systems: E-commerce and One-to-One Marketing. Customer Relationship Management (CRM). Data Warehousing and Data Mining. Business Intelligence. Exams The exams consists in the discussion of an industrial case-study, followed by an oral examination. Alternatively there is a written/oral examination. References - G. BRACCHI, C. FRANCALANCI, G. MOTTA, Sistemi Informativi e aziende in rete, McGraw-Hill Italia, Milano, 2001. - M. PIGHIN, A. MARZONA, Sistemi Informativi Aziendali - Struttura e Applicazioni, Pearson Education Italia, 2005. Other Textbooks: - M. DE MARCO, Sistemi Infomativi Aziendali, Franco Angeli Edizioni, Milano, 2000. - G. BRACCHI, G. MOTTA, Processi Aziendali e Sistemi Informativi, Franco Angeli edizioni, Milano, 2000. 383 LS in Computer Science - P.F. CAMUSSONE, Il Sistema Informativo Aziendale, Etas, 2000. - D. AMOUR, E-Business (R)Evolution, Tecniche Nuove, 2000. MATHEMATICAL LOGIC Teacher Prof. Giovanna D’Agostino Credits 6 Aims The aim of the course is to gain an adequate understanding of the theoretical aspects of applications of Logic to Computer Science, with a particular emphasis on completeness and correctness issues, decidability and expressive power of classical and non classical logics. Program Resolution for propositional and first order logic; Introduction to Prolog; Modal and Temporal Logics. Exams Written and oral examinations. References - N ERODE , S HORE , Logic for Application, Springer. - B LACKBURN , DE R IJKE , V ENEMA , Modal Logic, Cambridge Tracts in Theoretical Computer Science, 53. Aims This course presents an introduction to statistical inference based on the likelihood. Program - Probability complements The bivariate and the multivariate normal distribution; the distribution of linear combinations and quadratic forms of normal vectors. - Statistical models Parametric and nonparametric models; special parametric models; graphical methods for checking model adequacy (probability plots, density estimation). - Inference: basic procedures Point estimation; hypotheses testing; confidence regions; Kolmogorov-Smirnov tests; simulation. - The likelihood function Motivation and basic definitions; the maximum likelihood estimator; the maximum likelihood tests; interest and nuisance parameters: the profile likelihood; penalised likelihood and model selection. Exams The examination consists in a practical part, mainly exercises, and in an oral discussion. References - Lecture notes. - A. AZZALINI, Inferenza Statistica: un’introduzione basata sul concetto di verosimiglianza, Springer-Verlag, 1992. - L.J. BAIN, M. ENGELHARDT, Introduction to Probability and Mathematical Statistics, PWS-Kent Publishing co., 1992. MATHEMATICAL STATISTIC 1 MATHEMATICAL STATISTIC 2 Teacher Prof. Luigi Pace Credits 6 Teacher Prof. Luigi Pace Credits 6 384 LS in Computer Science Aims This course gives theoretical complements on parametric statistical inference based on the likelihood and presents some applications to regression models. Program - The likelihood: theoretical aspects The immutability of likelihood; sufficient statistics and likelihood; asymptotic sampling distributions of likelihood quantities and their usefulness as approximations. - Optimal procedures Minimum variance unbiased estimators; most powerful tests; most accurate confidence regions; the main theorems. - Binomial models The sign test; logistic regression; the Newton-Raphson algorithm. - Multinomial models Estimation of cell probabilities; the goodness-of-fit test; test of independence in contingency tables. - Poisson models. - Normal models Estimation and tests; linear regression models. Exams The examination consists in a practical part, mainly exercises, and in an oral discussion. References - Lecture notes. - A. AZZALINI, Inferenza Statistica: un’introduzione basata sul concetto di verosimiglianza, Springer-Verlag, 1992. - L. PACE, A. SALVAN, Teoria della Statistica, CEDAM, 1996. MEDICAL INFORMATICS Teacher Dott. Vincenzo Della Mea Credits 6 Aims The Medical Informatics course is aimed at introducing students to the problems related to introduction of ICT into the health care field. This will be obtained by starting from an introduction to basic data and reasoning features in Medicine. Peculiar attention will be posed on clinical information systems, of traditional kind like Electronic Healthcare Records as well as aspects related to decision support (protocols and terminologies). During the course some general topic will be mentioned too, when it has interest for its medical application. In particular, biosignal and bioimage processing and Semantic Web applications will be discussed. Program 1. Data and reasoning in Medicine. 2. Electronic Healthcare Records: - features; - implementation and available standards. 3. Terminologies and classifications. 4. Protocol-based systems. 5. Biosignal and bioimage processing. 6. Medical applications of the Semantic Web. Exams Each student will deepen a course topic, by means of one of the following possibilities: an internal seminar during the course, a written report, or a short project. This is followed by an oral examination. References Suggested readings: - E.H. SHORTLIFFE, L.M. FAGAN, G. WIEDERHOLD, L.E. PERREAULT, Medical Informatics: Computer Applications in Health Care and Biomedicine, 2nd edition, Springer-Verlag, 2000. - J. V AN B EMMEL , Handbook of Medical Informatics, 2nd edition, Springer-Verlag, 2002. 385 LS in Computer Science - E. COIERA, Guida all’Informatica Medica, Internet e Telemedicina, Pensiero Scientifico, 2000. - Slides and other material provided by the teacher. The course web site can be found at http://mitel.dimi.uniud.it/med/ MODEL CHECKING Teacher Prof. Giovanna D’Agostino Credits 6 Aims To give an introduction to the techniques of Model Checking for verifying the correctness of programs. In particular we will develop the necessary prerequisites to present and use efficient algorithms for the verification of programs based on Classical and Symbolic Model Checking. Program Introduction and Preliminaries: Classical and Modal Logic. Temporal Logic. Automata and infinite words. Computational Complexity. Basic Technique: Formal representation of systems and properties. Verification (hardware and software). Basic Model Checking. State Explosion problem and Symbolic Model Checking, OBDD. Advances Technique: Model Checking for more expressive languages. Automata Model Checking. Model Checking and infinite state systems. Temporal Automata. Real-time Model Checking. An introduction to the Model checkers SPIN, SMV, NuSMV, VIS, with examples. References - E. C LARKE , O. G RUMBERG , D. P ELED , Model Checking, MIT press, 1999. - R. A LUR , D.L. D ILL , A Theory of Timed Automata, Theoretical Computer Science, 126:183-235, 1994. - R. ALUR, C. COURCOUBETIS, N. HALBWACHS, T.A. HENZINGER, P. HO, X. NICOLLIN, A. O LIVERO , J. S IFAKIS , S. Y OVINE , The Algorithmic Analysis of Hybrid Systems, Theoretical Computer Science, 138:3-34, 1995. Remark: the course will take place in the academic year 07/08 but not in 08/09. MODELS AND ALGORITHMS FOR RESOURCE MANAGEMENT Teacher Prof. Franca Rinaldi Credits 6 Aims Purpose of the course is to present some fundamental classes of problems, models and techniques used in the management of transportation and production-distribution systems. To complete the overview of the methods of Optimization, we also introduce the class of the approximation algorithms and some local search techniques. Program - Approximation algorithms and local search techniques (12 hours). Approximation algorithms and Polynomial approximation schemes. Examples. Local search techniques: Simulated Annealing and Tabu Search. Examples. - Routing (18 ore). Arc routing problems: the Chinese Postman Problem, the Rural Postman Problem and their variants. Node routing problems: the Traveling Salesman Problem, the Vehicle Routing Problem and their variants. For the different problems we present both ILP models and exact and/or heuristic algorithms. 386 LS in Computer Science - Scheduling (18 ore). Definition, analysis and classification of scheduling problems. One machine models. Parallel machine models. Open Shop, Flow Shop and Job Shop scheduling. Exams The exam consists of an oral discussion. References Lecture notes. MODERN LANGUAGES Teacher Prof. Agostino Dovier Credits 6 Aims The student will learn the foundations of the modern declarative programming paradigms based on the notion of constraint. Particular emphasis will be given on constraint logic programming and on answer set programming. Those languages are nowadays successfully employed for encoding optimization problems (e.g. scheduling, timetabling, planning, etc). Semantics and implementation techniques will be rigorously presented, and the languages will be also studied from a practical point of view in lab. Program Brief summary of first-order logic, with particular emphasis on syntactic and semantic unification and on the resolution algorithm. Summary of Horn clauses-based programming languages; their Turing completeness and semantics. Logic Programming with Constraints: Syntax and Semantics. Declarative programming: Generate test vs. Constrain generate. Constraints over finite domains and their solvers. Some case studies to develop in lab: N-queens, Map Coloring, puzzles, scheduling problems, computational biology problems, and games. Answer Set Programming: Syntax and Semantics. Using ASP for encoding NPcomplete problems. Foundations of Concurrent Constraint Programming and the LINDA coordination model. Exams Development of a project and oral examination. References - K. MARRIOTT, P. STUCKEY, Programming with Constraints, The MIT Press, 1998. - K.R. A PT , Principles of Constraint Programming, Cambridge University Press, 2003. - A. DOVIER, Course lecture notes available on-line. - K.R. A PT , From Logic Programming to Prolog, International Series in Computer Science, Prentice Hall, 1997. - L. STERLING, E. SHAPIRO, The Art of Prolog, 2nd edition, The MIT Press, 1994. - Material made available during the course. MULTIMEDIA SYSTEMS Teacher Prof. Elio Toppano Credits 6 Program Introduction. Communication and information processes: the FRISCO framework. Basic elements of semiotics. Multimedia: taxonomies of multimedia objects, relationships (spatial, temporal, syntactic and semantic) among media objects. Ipertexts and ipermedia: the Dexter model. Uses of ipermedia. Modelling LS in Computer Science multimedia presentations: the SMIL language. Multimedia Building blocks Digital Text: character sets and alphabets, text formats, writing texts for the web. Sound: MIDI versus digital audio, preparing digital audio sounds, sampling and quantisation, compression standards, editing techniques, file formats, making MIDI audio, audio 3D, adding sound to multimedia projects. Images: bitmap and vector graphics, 2-D and 3-D drawing and rendering, understanding light and colour, image file formats and compression techniques, images transformations and restoring. Animation: principles of animation, making animations for the web. Virtual reality. Digital video: television standards, DV, video compression (MJPEG, and the MPEG.xx family), non linear editing, video delivery, adding video to web sites. Media integration and design methodology Guidelines for media integration. User centred design: usability and accessibility. Media development stages, methods and tools. Distributed Multimedia systems and applications HW and SW infrastructures. Multimedia Operating Systems. Streaming audio e video. Main streaming architectures: QuickTime, Real Media, Windows Media. Unicasting and Multicasting. Videoconference. Quality of service. Standards for videoconference. Applications for e-learning and web-based instruction. OBJECT ORIENTED ANALYSIS AND DESIGN Teacher Prof. Stefano Mizzaro Credits 6 Aims To present the advanced concepts and 387 techniques for Object Oriented (OO) analysis and design. Basic OO programming principles are supposed to be known. The course will be neither too formal nor too practical, but mainly conceptual. Focal topics are: UML (Unified Modeling Language), principles leading to good quality OO design, and design patterns. Also case studies from real world problems will be discussed. Program - UML for design. UML diagrams used for software design: class, collaboration, sequence, state, activity, component, and deployment diagrams. - OO Design principles. Concepts and techniques leading to good OO design, for instance: domains, encumbrance, cohesion, state space, behavior, type conformance, design by contract, etc. - Design patterns. Design patterns are for OO design what structured programming is for classical imperative programming. Patterns are recurrent solution schema and their knowledge simplifies the design of new software. Main patterns are presented and discussed. - UML for analysis. The UML description is concluded by presenting conceptual class and case use diagrams. The main issues of OO analysis with UML are discussed. - Case studies. The concepts and techniques introduced during the course are exemplified in real world cases, by means of seminars (by invited experts or, optionally, by students). Possible topics are: group development of UML models; tools for UML diagrams (e.g., Rational Rose); eXtreme Programming (XP); analysis of Java APIs (standard edition, enterprise edition, micro edition); development of Web applications (servlet, Java Server Pages, EJB); UML extensions for Web; refactoring; other OO languages like C++ or C#; agent programming as an exten- 388 LS in Computer Science sion of object oriented programming; Jini; etc. Exams Oral examination plus optional (but warmly suggested) term projects or seminars, that lead to a simpler oral exam and to higher marks. A laboratory can be attached to the course, in which case the project and/or seminar is more demanding. References - M. P AGE -J ONES , 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. F O W L E R , K. B E C K , J. B R A N T , W. OPDYKE, D. ROBERTS, Refactoring: Improving the Design of Existing Code, AddisonWesley, 1999. ISBN: 0201485672. - A. SHALLOWAY, J. TROTT, Design Patterns Explained - A New Perspective on Object Oriented Design, Addison Wesley, 2002. ISBN: 0201715945. OPERATIONS RESEARCH Teacher Prof. Paolo Serafini Credits 6 Web Page http://www.dimi.uniud.it/~serafini/ROI NF0607.html Aims Operations Research deals with efficient management problems via a mathematical and algorithmic approach. The course aims at giving the student both the basic tools to design a viable mathematical model of a real problem and the necessary understanding of the mathematical and algorithmic properties of the models, with a special emphasis to linear programming. Several examples will be provided toward this goal. Most models will be solved by using Excel or other linear programming packages. Program - Introduction to linear programming. General modeling issues: constraint identification, soft and hard constraints; objective identification; objectives and constraints. Explicit objectives. Pareto optima. Example of the diet problem: modeling via linear programming. Sensitivity analysis. Identification of further objectives. Efficient frontier identification. Integrality constraints. Model refinement. - Linear programming properties. Geometric structure. Vertices and basis solutions. Dual problem. Complementarity. Overview of simplex method. Overview of branch-and-bound methods for integer variables. - Routing models 1. Dynamic programming. Opitmality principle. Recursive equation. Shortest paths (Bellman-Ford, Dijkstra, Floyd-Warshall). - Routing models 2. Capacitated shortest paths: network flow problems. Minimum cost flows. Max Flow. Minimum cuts. - Routing models 3. Traveling salesman problem (cutting plane formulation). Eulerian circuits. Matching. Minimal spanning trees (Kruskal and Prim algorithms). - Allocation models. Assignment. Knapsack. Bin packing. Staffing models. LP with column generation: cutting stock, max flow, crew scheduling. - Scheduling. Infinite resource scheduling: PERT. Finite resource scheduling: one machine problems, parallel machine problems, flow-shop, job-shop and open- 389 LS in Computer Science shop. The detailed plan of the lectures is available at http://www.dimi.uniud.it/~serafini/ROI NF0607.html Exams Oral examination. References - Lecture notes available on-line. - P. SERAFINI, Ottimizzazione, Zanichelli, Bologna, 2000. - L. SCHRAGE, LINDO: An Optimization Modeling System, Palo Alto Scientific Press, 1991. Information on Operations Research and Optimization may be found at INFORMS (Institute for Operations Research and Management Science), http://www.informs.org/ or at CIRO (Centro Interuniversitario in Ricerca Operativa), http://www.disp.uniroma2.it/ciro/index.ht ml. OPTIMIZATION 1 tools to Operations Research. In the course the fundamental topics of Optimization will be covered with emphasis on the mathematical and algorithmic properties. Program Introduction to optimization problems (4 hours). Basics of computational complexity (12). Algorithm complexity. Problem complexity. Class P. Class NP. Trasformations. NP-complete problems. Basics of convex analysis (6). Definitions. Separation theorem. Supporting planes. Convex functions. Duality (8). Dual problem. Optimality Conditions. Examples. Duality and convexity. Differential properties of duality. Duality and sensitivity. Linear programming (18). Geometric properties. Algebraic properties. Complementarity. Simplex method. Variants of the Simplex method. Interior point methods. Teacher Prof. Franca Rinaldi OPTIMIZATION 2 Credits 6 Teacher Prof. Franca Rinaldi Aims ‘Operations Research aims to provide rational bases for decision making by seeking to understand and structure complex situations and to use this understanding to predict system behavior and improve system performance. Much of this work is done using analytical and numerical techniques to develop and manipulate mathematical and computer models of organizational systems composed of people, machines, and procedures’(INFORMS, What is OR/MS?) Optimization is one of the main theoretical disciplines which provide the analytical Credits 6 Aims ‘Operations Research aims to provide rational bases for decision making by seeking to understand and structure complex situations and to use this understanding to predict system behavior and improve system performance. Much of this work is done using analytical and numerical techniques to develop and manipulate mathematical and computer models of organizational systems composed of people, machines, and procedu- 390 res’(INFORMS, What is OR/MS?) Optimization is one of the main theoretical disciplines which provide the analytical tools to Operations Research. In the course the fundamental topics of Optimization will be covered with emphasis on the mathematical and algorithmic properties. Program Network flows (14). Optimality conditions: Gamma curve. Residual network. Polynomial algorithms for Shortest Path (Dijkstra) and Max Flow. Network Simplex. Deterministic dynamic programming (12). Optimality principle. Bellman’s equation. Bellman-Ford algorithm for general networks. Algorithm for acyclic and layered networks. Floyd-Warshall algorithm. Knapsack problems. Combinatorial problems. Combinatorial optimization (22). Matching problems. Matroids and spanning trees. Polyhedral combinatorics. REACTIVE SYSTEMS: AUTOMATA, LOGIC AND ALGORITHMS Teacher Prof. Angelo Montanari Credits 6 Program Part 1. Reactive Systems Reactive and real-time systems, fair transition systems, a simple programming language (SPL): syntax and semantics, modules, logical specifications and their properties, the use of temporal logic for the specification, verification, and validation of programs. Part 2. Automata on Infinite Objects Automata on infinite words: notation, BÃ_chi automata, congruencies and LS in Computer Science complementation, the sequential calculus, determinism and McNaughton Theorem, elements of game theory, game theory and star-free languages, star-free omega-languages and temporal logic. Automata on infinite trees: notation, automata on finite trees, BÃ_chi and Rabin non-deterministic automata on infinite trees and their relationships, emptiness problem and regular trees, complementation and determinacy of games, monadic tree theory and decidability results. Part 3. Modal and Temporal Logic Introduction, classification of temporal logics, linear temporal logics, branching temporal logics, a framework for concurrent computation: abstract and concrete computational models, concurrent computation and temporal logic, expressiveness, decidability, and complexity of temporal logics, satisfiability-checking and modelchecking algorithms, other interesting modal and temporal logics in computer science (a short account). Part 4. Verification and Validation of Reactive Systems Satisfiability-checking and model-checking algorithms for the verification of finite-state programs: satisfiability and validity of temporal formulas, satisfiability and validity with respect to a finite-state program, examples. Part 5. Verification of infinite state systems(a short account) Introduction, basic techniques, context-free and prefixrecognizable graphs, rational and automatic graphs, the contraction method. reachability problems. References - W. THOMAS, Automata on Infinite Objects, in J. VAN LEEUWEN (ed.), Handbook of Theoretical Computer Science, Vol. B, chapter 4, Elsevier Science Publisher, 1990. - W. THOMAS, Languages, Automata, and Logic, in G. R O Z E N B E R G , A. S A L O M A A (eds.), Handbook of Formal Languages, 391 LS in Computer Science Vol. III, Springer, pp. 389-455, 1997.- D. PERRIN, J. PIN, Infinite Words, Pure and Applied Mathematics Series, Elsevier, 2004. - E.A. E MERSON , Temporal and Modal Logic, in J. VAN LEEUWEN (ed.), Handbook of Theoretical Computer Science, Vol. B, chapter 16, Elsevier Science Publisher, 1990. - Z. MANNA, A. PNUELI, The Temporal Logic of Reactive and Concurrent Systems: Specification, Springer, 1992. - Z. MANNA, A. PNUELI, Temporal verification of Reactive Systems: Safety, Springer, 1995. REAL-TIME RENDERING cal usage of OpenGL - analysis and practical usage of a rendering engine. Exams The student is required to present a practical project that uses and/ or extends some of the arguments or tools presented in the course. The exam then consists in a discussion about the project and questions about the course arguments. References - T. A KENINE -M ULLER , E. H AINES , RealTime Rendering, A.K. Peters Ltd. ISBN: 1568811829. - E. ANGEL, Interactive Computer Graphics: a Top-Down Approach with OpenGL, Addison-Wesley. ISBN: 020138597X. Teacher Dott. Roberto Ranon ROBOTICS Credits 6 Teacher Dott. Antonio D’Angelo Web Page http://www.dimi.uniud.it/ranon/int3d.h tml Credits 6 Aims The course will cover main real-time rendering algorithms and tools, also introducing the relevant application areas (videogames, scientific visualization). The course will present both theoretical (such as popular techniques for real-time rendering) and practical (such as programming libraries and rendering engines) aspects. Program The real-time rendering pipeline - the graphical primitives - transforms - lighting and shading: basic and advanced techniques - basic and advanced usage of textures - image-based rendering - spatial data structures - culling algorithms - programmable shaders - analysis and practi- Web Page http://www.dimi.uniud.it/~dangelo/Rob otica/robos.html Aims The aim of the course is that to provide a student with practical tools to understand and implement programs which are able to control autonomous vehicles. The general notion of situated agent is presented by introducing behavior-based systems, the direct coupling of perception to action and the dynamic interaction with the environment. A number of examples from industrial robotics and autonomous vehicle control are discussed with some experimental lectures using available moving platforms. The locomotion problem for the so called leg- 392 ged-robots is also presented discussing various kinds of mechanical structures, humanoids included. Program 1. Situated Agents: 1.1 Sensing and Acting; 1.2 Planning; 1.3 Reactive Systems; 1.4 Biological Motivations; 1.5 Environment Constraints through Agent Embodiment; 1.6 Behavior-based Architectures. 2. Autonomous Vehicles: 2.1 Mobile Robotics; 2.2 Control Issues; 2.3 Breitenberg’s Vehicles; 2.4 Applications. 3. Dynamical Agents: 3.1 Dynamical System Review; 3.2 Mobile Vehicles; 3.3 Representational Issues; 3.4 Energybased Methods for Movement Controls; 3.5 Roboticles. 4. Implementing Behaviors: 4.1 Perceptual Basis for Behavior-based Control; 4.2 Representational Issues; 4.3 Reactive Architectures; 4.4 Hybrid Architectures; 4.5 Adaptive Behaviors; 4.6 Collective Behaviors. 5. Locomotion: 5.1 Wheel-driven vehicles; 5.2 Legged robots; 5.3 Exapodes, four-legged and bipedal robots; 5.4 Humanoid: a brief introduction; 5.5 Active and Passive Walking; 5.6 Gait control using the inverted pendulum model. 6. Experimental Activity: 6.1 Using Robot Whiskers; 6.2 Using Saphira Simulator; 6.3 Using LEGO Mindstorm. Exams Discussion of a topic with some robotic reference suggested by the student. Some experimental issues are considered if they are required by the student. References - R.C. A RKIN , Behavior-Based Robotics, MIT Press, 1998. - R. PFEIFER, C. SCHEIER, Understanding Intelligence, MIT Press, 1999. - M. BRADY, Robotics Science, MIT Press, 1989. LS in Computer Science - FU, LEE, GONZALES, Robotics, Mc-Graw Hill, 1987. - J.C. L ATOMBE , Robot Motion Planning, Kluwer, New York, 1991. - RUSSEL, NORVIG, Artificial Intelligence: a Modern Approach, Prentice Hall. - JOHNS, FLYNN, Mobile Robots, Inspiration to Implementation, A.K. Peters, 1993. - A. D’ANGELO, Lectures from the Course, available via Web. SEMANTICS OF PROGRAMMING LANGUAGES Teacher Prof. Fabio Alessi Credits 6 Aims In this course we shall study in more detail the mathematical tools to describe the semantics of programming languages, introduced in the Formal Methods I course. In particular we shall discuss functional programming, category theory, domain theory, and type theory. Program - Functional Programming and Functional Languages: the ML language: expressions and types, declarations, patterns, functions, polymorphism, recursive data types, exceptions, imperative features, modules, funtors.- Semantics: operational and denotational semantics of languages with context; denotable, storable and expressible values; abstractions, correspondence, parametrization and qualification principles; continuations, direct and continuation-based semantics.- Category Theory: objects and morphisms, functors, natural transformations, limits and colimits.- Domain Theory: the solution of recursive domain equations; the LS in Computer Science inverse limit construction; a functional metalanguage for defining points in domains which is also a functional programming language and a term language for a logic of programs.- Type Theory: type assignment systems for simple types to lambda-calculus, Robinson’s unification algorithm, Milner’s principal type algorithm; initiality of the principal type, correctness and completeness of Milner’s algorithm with respect to the type assignment system of simple types to lambdacalculus, semantics for simple types, correctness of the type assignment system with respect to the operational semantics of the language. The Calculus of Constructions. Exams The final exam is oral. References - G. WINSKEL, The Formal Semantics of Programming Languages, MIT Press, Cambridge, 1993. - Papers appeared in scientific journals. - Lecture notes. SEMANTIC WEB Teacher Dott. Alessio Gugliotta Credits 6 Aims Using the notions acquired on the XML language, the student will: - Be aware of the hierarchical model on which the Semantic Web is grounded, and correctly move through it; - Be aware of the main technologies involved, with emphasis on the ontologies; - Acquire design capabilities with respect to some application domains, in order to 393 realize software within the semantic layer; - Collect practical experience on the mentioned technologies through homeworks, case studies and exercises. Program - Introduction to the Semantic Web A critical analysis of the present Web; Motivations; main technological issues. - Developing ontologies Methods of ontology design and maintenance; practical examples and exercises adopting the language OWL and the Protègè development tool. - A layered approach to the Semantic Web XML structures for the access to the documents; describing and organizing resources with the RDF language; the language OWL. - Tools and applications Applications are discussed with emphasis on: knowledge representation and management, personalization and service-oriented architectures. Languages and tools introduced during the course will be adopted. References - G. A N T O N I O U , F. V A N H A R M E L E N , A Semantic Web Primer, Cambridge, MA: MIT Press, 2004. - J. DAVIES, R. STUDER, P. WARREN, Semantic Web Technologies. Trends and Research in Ontology-Based Systems, Wiley, 2006. - A. GOMEZ-PEREZ, M. FERNANDEZ-LOPEZ, O. C O R C H O , Ontological Engineering, Springer, 2004. - T. BERNERS-LEE, J. HENDLER, O. LASSILA, The Semantic Web, Scientific American 284,5 (May 2001): 34-43. - T. BERNERS-LEE, Weaving the Web, Harper, 1999. - Semantic Web Vision, a collection of resources http://www.ics.forth.gr/isl/swprimer/in dex2.php?selected=1&opened=6 394 LS in Computer Science - OWL Web Ontology Language http://www.w3.org/TR/owl-ref/ - Protégé project. http://protege.stanford. edu/ - Ontology Development 101: A Guide to Creating Your First Ontology, N.F. NOY, D.L. MCGUINNESS http://www.ksl.stanford.edu/ people/dlm/papers/ontology101/ontology101-noy-mcguinness.html - Semantic Web Challenge. A new application award. http://challenge.semanticweb.org/ SOFTWARE ENGINEERING 2 Teachers Prof. Maurizio Pighin Dott. Anna Marzona Credits 6 Aims The target of the course is to examine closely the principal elements of Software Engineering. We consider the design and life cycle of a software product studying the more advanced arguments: the configuration management, the test methodologies, the theoretic and practical metrics, the most famous product and process quality models, the planning and control methodologies, the principal working tools. In the laboratory course (4 CFU) we develop a complete case-study, following the whole software development process in the life cycle phases (specifications, design, coding, test, release, metrics, maintenance) and management phases (planning, cost analysis, metrics, work organization). Program Introduction: The Software Engineering motivations. The basic definitions. The economic dimension of the problem. The development process complexity factors. Configuration Management: The motivations of Configuration Management. The CM-Planning and the versioning/variants techniques. Assembly of components and system building. Existing Software Engineering: The motivation of ESE. The methodologies of re-engineering. The methodologies of reuse. The development with and for reuse. Verification and Validation: The negative theoretic results. The test strategies. The dynamic test. The test chains. The regression test. The automatic test and the mutational analysis. The static test. Formal test methodologies. Metrics: The software metric concept. The target of measure. The measurement scale. The control and predictive measure. The data collection. The internal attributes ant their measure. The Halstead metric. The Albrecht metric. The McCabe metric and other complexity metrics. The external attributes and their measure Quality Models: The quality certification and the principal model of product and process certification: ISO9000, CMM. Notes on SYNQUEST, SPICE, BOOTSRAP, The ISO 9126 model. Cost Evaluation: The performance/cost analysis and the decision analysis. The software cost evaluation. The COCOMO model. Other evaluation models. Production Process Evaluation and Planning: The work-group organization. The planning methodologies. The Pert Diagram and the Gantt Scheme. Maintenance: The maintenance: costs, estimations, metrics. The COCOMO model. Extreme programming: Operative methodologies: planning, testing. Developing techniques Tools: The CASE technology: Tools and Environments. The functionality. The tools in the different phases of the development process. Exams The exams consists in the discussion of 395 LS in Computer Science the project produced in the laboratory. Alternatively there is a written/oral examination. References - R.S. PRESSMAN, Principi di Ingegneria del Software, 4th edition, McGrawHill, 2005. - I. SOMMERVILLE, Software Engineering, 7th edition, Addison Wesley P.C., 2004. - N.E. F ENTON , S.L. P FLEEGER , Software Metrics - A Rigorous and Practical Approach, 2 nd edition, PWS Publishing Company, 1997. - A. B INATO , A. F UGGETTA , L. S FARDINI , Ingegneria del Software, creatività e metodo, Pearson-Addison Wesley, 2006. - C. GHEZZI, M. JAZAYERI, D. MANDRIOLI, Ingegneria del Software - Fondamenti e Principi, seconda edizione, Pearson-PrenticeHall, 2004. - AA. VV., Metriche del software - esperienze e ricerche, Franco Angeli, 2006. SOUND DESIGN Teacher Prof. Elio Toppano Credits 3 Aims The main goal of the course is the acquisition of conceptual knowledge, methodologies and techniques for the analysis, design and production of sound objects for communicative goals (e.g. advertisement, multimedia, auditory interfaces, sonification of public spaces). Program Spectro-morphological analysis of sound objects. Perceptual categorization of sound objects and modes of listening. Sound synthesis techniques. Effects and digital signal processing. Virtual instru- ments. Editing, mixing and sound recording. Sound structures. The audiovisual. Choreographed displacement of sound objects in space and time. Exams The course includes listening practices and the analysis of actual projects made by professional sound designers. The final assessment is based on a test and the development of a project. SPATIAL DATABASES Teachers Prof. Angelo Montanari Dott. Alessandra Chiarandini Credits 6 Program The course aims at illustrating the distinctive features of spatial information by describing concepts, techniques, methodologies, and tools developed in the database field to deal with spatial/geographic information. We focus our attention on data models, data definition and manipulation languages, and design methodologies which have been proposed in the framework of spatial databases. In particular, we describe the representation techniques for spatial objects and the algorithms that implement operations on such data. In the second part of the course, we explore the relationships between spatial databases and Geographic Information Systems (GIS). At the end of the course, we expect the student to be able to design not trivial spatial databases and to analyze the functional and technological properties of spatial databases to be used in the context of Geographic Information Systems. Part I. A general introduction to the cour- 396 se: spatial databases and Geographic Information Systems, the basic features of spatial databases, geospatial data manipulation. Representation of spatial objects: spatial data models and representation modes, entity-based models and field-based models, raster and vector spatial data formats, logical models for spatial databases, representation methods (lists of coordinates vs. structures based on a topological model). Topological relations, direction-based relations, and distance-based relations. Relational geoalgebra. Spatial extensions to SQL. Oracle Spatial. Design methodologies for spatial databases: conceptual and logical design. Spatial access methods (indexes): basic elements, index types (space-driven vs. data-driven), grid file and fixed grid, quadtree, R-tree. The Geography Markup Language (GML). Part II. Introduction to Geographic Information Systems. The technology of Geographic Information Systems. Data models and customization. Creation and management of a geographical database. The cartography: basic elements. Structured territorial information. The GeoMedia system. WebGIS. Metadata, quality of data, and interoperability. Remote sensing and image processing. The GPS network. References Main references: - F. RIGAUX, M. SCHOLL, A. VOISARD, Spatial Databases with Application to GIS, Academic Press, 2002. - Moreover, a lot of teaching material, produced by A. CHIARANDINI, D. GUBIANI E A. MONTANARI, is available on the net. Additional references: - M.F. WORBOYS, GIS: A Computing Perspective, Taylor Francis Ltd, 1995. - S. SHEKHAR, S. CHAWLA, Spatial Databases: a Tour, Paerson Education Inc., 2003. - T. BERNHARDSEN, Geographic Information Systems: an Introduction, 3rd edition, John Wiley & Sons, 2002. LS in Computer Science SYSTEM THEORY I Teacher Prof. Adriano Pascoletti Credits 6 Aims Introduction of some mathematical tools useful in the study of problems that can be modeled as dynamical systems. The topics covered in the course are supplemented by several examples (often drawn from fields other than computer science) that show how a model can be set up and how the formal tools can be applied to its analysis. Program Models depending on a discrete parameter, linear recurrences and systems of first order linear recurrences; evolution and long-term behavior; equilibria and stability. Exams Oral discussion. References - D.G. LUENBERGER, Introduction to Dynamic Systems: Theory, Models & Applications, J. Wiley, 1979. - A. PASCOLETTI, lecture notes (in Italian). System Theory Lab. SYSTEM THEORY 2 Teacher Prof. Adriano Pascoletti Credits 6 Aims A deeper insight into some topics treated in the course System Theory I; a systemic approach to problem solving applied to 397 LS in Computer Science the analysis and implementation of techniques for generating and counting combinatorial objects that naturally lead to symbolic dynamics. Program Dynamical systems that generate and count combinatorial objects; generating functions; positive systems and discrete Markov chains. Exams Oral discussion. References - D.G. LUENBERGER, Introduction to Dynamic Systems: Theory, Models & Applications, J. Wiley, 1979. - A. PASCOLETTI, lecture notes (in Italian). Primary analysis processes: opportunity analysis and plausibility study. Primary development processes: development of the demonstrator. development of the prototype, design techniques and development tools. Implementation, installation, and delivery of the target system. Knowledge acquisition techniques. Personalization of Web contents: general definitions, user modeling, personalization techniques: user tracking and identification, content selection, collaborative filtering, cognitive filtering and knowledge-based filtering. Application of personalization techniques. Exams Each student will (I) deliver a final seminar on some relevant assigned topic in the final week of the course and (II) take an oral test. WEB CONTENT PERSONALIZATION Teacher Prof. Carlo Tasso Credits 6 Aims The course illustrates the concepts of adaptive personalization of Web contents and introduces to the development methodologies for knowledge-based systems. More specifically, the course illustrates the methodologies for the analysis, design, development, and evaluation of knowledge-based systems and knowledge acquisition techniques. Moreover, the user modeling area is presented together with the main techniques for Web personalization. Program The major topics of the course concern: Development processes for knowledgebased systems. The KLIC methodology. References - Study materials available on http://twm.dimi.uniud.it/ - C. TASSO, P. OMERO, La Personalizzazione dei Contenuti Web - e-commerce, i-access, e-government, Franco Angeli, Milano, 2002. - G. GUIDA, C. TASSO, Design and Development of Knowledge-Based Systems, J. Wiley, 1994. WEB INFORMATION RETRIEVAL Teacher Prof. Stefano Mizzaro Credits 6 Aims To present the main topics in Information Retrieval (IR), a subject that has a high historical importance and has received an even higher attention after the 398 coming of the Web. Indeed, after e-mail, using a search engine is today the second activity of Web users, and several Web users perceive a search engine (typically, Google, Yahoo! or MSN Search) as the main access to the Web. Also, the Web IR field is experiencing a major economical development. Besides classical and well established IR topics, the course emphasizes more recent Web specific issues. Both basic topics and advanced research trends are discussed. Program The course is divided into three parts: - Classic Information Retrieval: conceptual models of information seeking, conceptual and formal models of IR systems, design and implementation of IR systems, data structures and algorithms for indexing and search, user interfaces for IR, evaluation of IR systems. - Web Information Retrieval: Web modelling (shape and size of the Web graph, introduction to social network analysis and scale-free and small-world networks), link and connectivity analysis, hyperlink and crawling, multimedia IR, meta-search, design and implementation for Web search engines, digital libraries. - Advanced issues: parallel and distributed IR, information seeking with mobile devices and on peer-to-peer networks, foundational issues (e.g., concepts of information and relevance), information filtering and routing, clustering, specialized (e.g., medical) databases, etc. These advanced issues are presented by means of seminars by invited experts or, optionally, by students. Exams Oral examination plus optional (but warmly suggested) term projects or seminars, that lead to a simpler oral exam and to higher marks. A laboratory c an be attached to the course, in which case the LS in Computer Science project and/or seminar is more demanding. References - R. B A E Z A -Y A T E S , B. R I B E I R O -N E T O , Modern Information Retrieval, Addison Wesley, 1999. ISBN: 020139829X. - R. BELEW, Finding Out About - A Cognitive Perspective on Search Engine Technology and the WWW, Cambridge University Press, 2000. ISBN: 0-521-63028-2. - R. KORFHAGE, Information Storage and Retrieval, Wiley, 1997. ISBN: 0471143383. - M. L EVENE , An Introduction to Search Engines and Web Navigation, Addison Wesley, 2006. - S. CHAKRABARTI, Mining the Web, Morgan Kaufmann, 2003. Further textbooks may be communicated at course start. Other teaching material (slides covering all the lectures, Web pages, lecture notes, scientific articles, reference texts) will be communicated or provided during the lectures. WEB SITE DESIGN Teacher Dott. Giorgio Brajnik Credits 6 Web Page www.dimi.uniud.it/giorgio/ dida/psw/psw.html Aims The purpose of the course is to highlight and discuss basic principles of access and interaction with information systems. In the context of web applications the following goals are pursued: (1) comprehend the concepts of information and interaction architecture, (2) being able to assess 399 LS in Computer Science usability and accessibility, (3) to know the main phases of development processes, and (4) to get a basic understanding of technologies that support the web. Program - Information processes and information systems; persuasion. - Natures of information systems; conversational structure; types of web systems. - Information architecture. - Basic concepts of human-computer interaction; interaction models and theories. - Accessibility and usability. - User-centered design: phases, methods, approaches. References - G. BRAJNIK, E. TOPPANO, Creare siti web multimediali, Pearson Education - Addison-Wesley, 2007. - R. P OLILLO , Plasmare il web, Apogeo, 2006: chapters 3 to 10. - J. THATCHER ET AL.,Web Accessibility: Web Standards and Regulatory Compliance, FriendsofEd, 2006; chapters 4 to 15. WEB TECHNOLOGIES Teacher Prof. Vito Roberto Credits 6 Aims The course introduces the World Wide Web, with the related information technologies and social entailments: a general overview accompanied by practical laboratory exercises that anticipates the contents of other courses in the ‘laurea’ degree. Program The basic concepts of computer networks are introduced: protocols, formats, technologies with emphasis on the HyperText Transfer Protocol and the HTML language. The topic of security in computer networks in introduced also, through the basics of cryptography and authentication techniques. Multimedia technologies are introduced through the formats and standards of compression, as well as audio, video, graphics and animation data representations. Issues in web interactivity are also accounted for, such as scripting languages and man-machine interaction in the design of web pages and web-based GUI’s. Social aspects of the web involve: the privacy, intellectual property on the Net, international and intercultural implications. XML TECHNOLOGIES Teacher Dott. Massimo Franceschet Credits 6 Program 1) Introduction. A general introduction to XML and traditional databases. 2) Schema definition languages for XML: W3C XML Schema language. 3) Query and update languages for XML: XML Path Language (XPath), XML Query Language (XQuery) and XQuery Update Facility. 4) Native XML databases. We will use at least one native database for XML. 5) Transformation languages: Extensible Stylesheet Language Transformations (XSLT). 6) Programming with XML. We will learn to access XML documents from Java applications through the Java API forXML Processing (JAXP). 400 LAUREA SPECIALISTICA IN INFORMATION TECHNOLOGY ADVANCES IN DATABASE SYSTEMS Teacher Prof. Angelo Montanari Credits 6 Program Part 1 - Database design (additional material) The conceptual design of databases and the Dataflow model: the basic constructs of the Dataflow model (process, data flow, data repository, interface); context diagrams and Dataflow diagrams; functional design based on the Dataflow model; the design of information systems: an integrated approach to the design of system functions and data (synthesis of external ER schemas and their integration). The logical design of databases: satisfiability and violation of functional dependencies, closure of dependency sets, a calculus of dependencies (Armstrong’s axioms), closure of attribute sets, algorithms to compute the closure of attribute sets, equivalences among sets of dependencies, minimal covers, decompositions and their properties, normal forms and normalization, algorithms to compute decompositions in specific normal forms. Part 2 - The SQL language (additional material) SQL and the programming languages: introduction, approaches to the database programming, stored procedures, triggers, static embedded SQL (simple and complex queries, the use of cursors), dynamic embedded SQL (immediate execution and two-phase execution), database programming with function calls: SQL/CLI (Call Level Interface), ODBC e JDBC (a short account). LS in Information Technology Part 3 - The physical organization of data The storage of file records and the organization of primary files: introduction, devices and techniques for the management of secondary storage, buffering of blocks, placing file records on disks, operations on files, files of unordered records (heap files), files of ordered records (sorted files), hashing techniques, other primary file organizations, parallelizing disk access using RAID technology. Indexing structures for files: types of single-level ordered indexes (primary, clustering, secondary), multilevel indexes, dynamic multilevel indexes using B-trees and B + trees, other types of indexes. Part 4 - Database server technology The notion of transaction: introduction to transaction processing, desirable properties of transactions, transaction scheduling and recovery, serialization techniques, transaction support in SQL. Concurrency control techniques: problems, architecture, the anomalies of concurrent transactions, view-based techniques, conflictbased techniques, two-phase locking techniques (2PL and strict 2PL), concurrency control based on timestamp ordering, multiversioning-based techniques, granularity of data items. Buffer manager: architecture of the buffer manager, primitives for the management of the buffer, buffer management policies, on the relationships between buffer manager and file system. Database recovery techniques: basic concepts, architecture, stable memory, organization of the log, transaction processing, fault management. Query processing and optimization: system catalogues, query optimization (query internal representation, relation profiles, cost-based optimization), physical design of databases. Database security: introduction to database security issues, mandatory access control and role-based access control for multilevel security, statistical database security (a short account). 401 LS in Information Technology Part 5 - Distributed databases Introduction to distributed databases, basic elements of the client-server architecture, data fragmentation, data allocation, transparency levels, types of distributed DBMSs, query processing in distributed databases, concurrency control and recovery in distributed databases. Part 6 - Databases and World Wide Web(a short account) Basic notions (Internet, World Wide Web, HTML, the http protocol), gateway and form, tools and techniques to access databases via web, database access via CGI programs, development tools, the limitations of the CGI protocol, serverbased solutions, client-based solutions, web information systems, conceptual design of web applications. Part 7 - Additional topics (a short account) Databases in support of management’s decisions (data warehouse), semi-structured data in XML, object and object-relational databases, active databases, temporal and spatial databases. References - P. A TZENI , S. C ERI , P. F RATERNALI , S. P ARABOSCHI , R. T ORLONE , Basi di Dati: Architetture e Linee di Evoluzione, McGrawHill, 2003. - R. ELMASTRI, S. NAVATHE, Fundamentals of Database Systems, 5th edition, Pearson International Education / Addison Wesley, 2007. Or: - R. ELMASTRI, S. NAVATHE, Sistemi di basi di dati. Complementi, (quarta edizione), Pearson Education Italia / Addison Wesley, 2005. Other references - J.D. ULLMAN, Principles of Databases and Knowledge-Base Systems, Volume I, Computer Science Press, 1988. - S I L B E R SCHATZ , H.F. K ORTH , S. S UDARSHAN , Database System Concepts, 4 th edition, McGraw-Hill, 2002. - A. ALBANO, Costruire sistemi per basi di dati, Addison-Wesley, 2001. - A. ALBANO, G. GHELLI, R. ORSINI, Fondamenti di basi di dati, Zanichelli, 2005. - P. A TZENI , S. C ERI , S. P ARABOSCHI , R. TORLONE, Basi di Dati: Modelli e Linguaggi di Interrogazione, seconda edizione, McGraw-Hill, 2006. ALGORITHMS AND COMPLEXITY THEORY Teacher Prof. Carla Piazza Credits 6 Aims During this course we intend to present the main results in the field of computational complexity of algorithms. In particular, we intend to discuss the classical hierarchy of complexity classes and the main techniques for the analysis of related problems. We will also present basic ideas and notions of some interesting innovative computational models recently proposed in the scientific community. Program - Computational classes. Hierarchy theorem. Gap theorem. Savitch theorem. Immermann-Szelepscenyi theorem and consequences. Computational reductions and completeness. Classes outside NP. - Quantum Computing. Quantum Turing machine. Universal quantum Turing machine. Computational classes in quantum computing. Quantum algorithms. - DNA Computing. Adleman and Lipton model. Solutions for SAT and other NPcomplete problems. Universal Turing machine in DNA computing. - Algorithms. The problem of automata minimization and the notion of bisimula- 402 LS in Information Technology tion. Hopcroft algorithm. Paige-Tarjan algorithm. Paige-Tarjan-Bonic algorithm. The notion of simulation and efficient algorithms to compute the maximum simulation quotient. References - C.H. P APADIMITRIOU , Computational Complexity, Addison Wesley, 1995. - Other research papers. COMPUTER LANGUAGES Teacher Prof. Marco Comini Credits 6 Aims The Computer Languages course aims to give knowledge on the characteristics of the various programming paradigms. It tries hard not to focus on a specific language but to present the general principles that guide project, development and implementation of modern programming languages. With a solid knowledge of ‘universal’ characteristics one can learn new languages in no time. To achieve this general vision the main programming paradigms are presented: imperative and functional. Besides examining the most immediate pragmatic aspects of these paradigms, they are analyzed and compared basing on general principles in order to achieve a critical comprehension of most popular languages. This is needed to reach a cognizant programming style, where one knows which paradigm is better to chose to solve a specific problem, and knows which language constructs to use, and at which cost. The course aims to give a relatively profound knowledge (especially regarding the programming aspect) on the functional paradigm that, thanks to its expressiveness, can be naturally used as basis for development of correct software. Program Imperative Paradigm - Abstract Machines, Interpretation e Compilation. - Describe a Computer Language (Syntax and Semantics). - Names and environments. - Memory Management. - Structuring control. - p-code. - Control Abstraction (Parameters Passing Methods). - Structuring data. - Monomorphic and Polymorphic Type checking. Functional Paradigm - Introduction to Functional Programming. - High-order Programming. - The Haskell language (list comprehensions, partial applications of curried functions, sections, non-strict functions, infinite data structures, case expressions, pattern matching). - Types, Classes and Overloading. - Haskell’s monadic I/O. - Standard Haskell Classes. - Monads. - Modules. References - M. GABBRIELLI, S. MARTINI, Linguaggi di Programmazione - Principi e Paradigmi, McGraw-Hill. ISBN: 88-386-6261-4. - HUDAK, FASEL, A Gentle Introduction to Haskell, 1992. Consultation Books and Texts - B. WADLER , Introduction to