06 07 UNIVERSITÀ DEGLI STUDI DI UDINE Guida ai programmi della Facoltà di SCIENZE MATEMATICHE FISICHE E NATURALI 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 2006•2007 a cura di Michela Coffieri coordinamento editoriale Centro comunicazione e stampa Forum, Editrice Universitaria Udinese progetto di copertina cdm/associati con Ekostudio stampa Lithostampa Pasian di Prato (Ud) Ottobre 2006 Forum Editrice Universitaria Udinese srl Via Palladio, 8 • 33100 Udine ✆ 0432 26001 vox e 0432 296756 fax www.forumeditrice.it 3 sommario 5 7 Parte generale e ordinamento degli studi La Facoltà di Scienze Matematiche, Fisiche e Naturali 20 22 22 28 33 38 42 43 45 45 45 51 56 60 64 68 69 77 Elenco dei docenti della Facoltà 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 Information Technology Master di primo livello online 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 Master di secondo livello in Informatica Medica Calendario delle lezioni ALSI - Associazione dei Laureati in Scienze dell’Informazione 79 Programmi dei corsi 295 General information and curricula 297 301 301 301 302 302 302 303 303 303 303 304 304 304 305 305 Faculty of Mathematical, Physical and Natural Sciences 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 Information Technology First level on line Master in Open Distance Learning First level Master in Geographical Information Systems Other first level Master Courses Laurea Specialistica in Computer Science Laurea Specialistica Information Technology Laurea Specialistica in Mathematics Laurea Specialistica in Computational Physics Laurea Specialistica in Statistical and Computer Science for Enterprise Management Second level Master in Medical Computer Science 307 Programmes 462 464 465 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 FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI La sede La sede della Facoltà è in via delle Scienze, 208 (Loc. Rizzi) Udine - Tel. 0432558681/4/7 - Fax 0432558682; il sito web della Facoltà si trova al seguente indirizzo: http://www.uniud.it/didattica/ facoltà/scienze; l’indirizzo e-mail è: [email protected] 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 Mate- matica e il corso di Diploma Universitario in Informatica. Nel corrente anno accademico 2006/07 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: Information Technology 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) Master di II livello in: Informatica medica 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 nei prossimi anni. 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 universitari (CFU). Un CFU corrisponde 8 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 tre 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è corrispondenti ad argomenti non acquisibili nel parte generale e ordinamento 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. REQUISITI PER L’ACCESSO Requisiti per l’accesso ai corsi di laurea di I livello In base al D.M. 509/99 art. 6, l’ammissione ai corsi laurea di primo 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 primo livello si accolgono dal 13 luglio 2006 al 22 settembre 2006 presso gli sportelli della Ripartizione Didattica (Segreteria Studenti) della parte generale e ordinamento Facoltà di Scienze M.F.N., via delle Scienze 208. Per gravi e giustificati motivi il Rettore potrà accogliere domande di immatricolazione presentate oltre il 22 settembre 2006, ma in ogni caso non oltre il termine perentorio del 2 gennaio 2007. Le domande di partecipazione alla prova di ammissione al Corso di laurea interfacoltà in Biotecnologie si accolgono dal 13 luglio 2006 all’8 settembre 2006 presso gli sportelli della Ripartizione Didattica (Segreteria Studenti) della Facoltà di Medicina Veterinaria, via delle Scienze 208. 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 al primo 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 4 al 15 settembre 2006 - tutti i giorni (da lunedì a venerdì) dalle 9.00 alle 13.00, tranne il 5 e l’8 settembre, quando il corso si svolgerà di pomeriggio, dalle 15.00 alle 19.00 - presso l’aula H della sede dei Rizzi - Via delle Scienze 208 Udine, e terminerà con un test che si terrà il 19 settembre 2006, 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 Multime- 9 diali 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 primo anno, potrà essere fatto dagli studenti mediante un’autovalutazione della propria preparazione. A tal fine è stato elaborato un questionario disponibile sulla pagina web del corso di laurea in Matematica, classe 32, alla voce “Informazioni per le matricole a.a. 2006/07”. 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à dall’11 al 22 settembre 2006, dalle 9.00 alle 12.00 presso l’aula 51 della sede dei Rizzi, tranne nei giorni 15. 19, 21 e 22 settembre quando le lezioni si terranno nell’aula C, sempre della sede dei Rizzi. 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 10 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à dall’11 al 22 settembre 2006, dalle 9.00 alle 12.00 presso l’aula 51 della sede dei Rizzi, tranne nei giorni 15, 19, 21 e 22 settembre quando le lezioni si terranno nell’aula C, sempre della sede dei Rizzi. 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. Requisiti per l’accesso ai corsi di laurea specialistica 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 primo 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 requisiti curricolari e di preparazione per- parte generale e ordinamento sonale. 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 primo 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 primo 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 crediti utili ai fini del conseguimento della laurea specialistica. L’ammissione 11 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. 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 primo anno di corso. Immatricolazioni ai corsi di laurea specialistica Le domande di immatricolazione ai corsi di laurea specialistica si accolgono dal 13 luglio 2006 al 6 novembre 2006 presso 12 parte generale e ordinamento 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 30 aprile 2007. In particolare, si ritiene giustificata la domanda di immatricolazione presentata dagli studenti che hanno conseguito il titolo di laurea (di primo 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. 0432558400 Fax: 0432558499 http://www.uniud.it/ricerca/strutture/di partimenti_scientifica/dimi Dipartimento di Fisica via delle Scienze, 208 (loc. Rizzi) 33100 Udine Tel. 0432558210 Fax: 0432558222 http://www.uniud.it/ricerca/strutture/di partimenti_scientifica/difa Dipartimento di Scienze Statistiche via Treppo, 18 33100 Udine Tel. 0432275570 Fax: 0432503240 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 per la didattica di base è attrezzato con 50 postazioni di lavoro, basate su 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. Il Laboratorio per la didattica avanzata dispone di 50 stazioni di lavoro in ambiente Windows, Sun Solaris e Linux, 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 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 NAS (Network Attached Storage), tutti connessi direttamente alla dorsale Gigabit Ethernet della LAN. Il Dipartimento di Matematica e Informatica dispone di laboratori 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, parte generale e ordinamento 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. 0432558561), 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. 0432249600); informazioni http://ecolex.bib.uniud.it/ Il Centro Linguistico Audiovisivi (CLAV) Via Zanon, 6 - Udine - Tel. 0432275570, organizza corsi di lingue straniere, a tutti i livelli, tenuti da lettori di madre lingua, 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 13 udenti/servizi_linguistici/laboratori_aut oapprendimento_linguistico Il Centro Servizi Informatici e Telematici (CSIT) Via delle Scienze, 208 - Loc. Rizzi, Udine - Tel. 0432558900 - Fax: 0432558911, 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 compliatori 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 disponibil 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 acquisirne tutte le informazioni relative (date, commissioni, voti, ecc), nonchè di reperire l’orario di ricevimento dei docenti, visualizzare ed accettare i voti ricevvuti 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à 14 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_studenti/servizi_on_lin e/ si possono trovare informazioni su: Strutture didattiche (Aule didattiche, Aule studio, Laboratori, Aule informatiche) Servizi linguistici (Laboratori d’autoapprendimento linguisitico, 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) Orientamento e tutorato Borse e premi (Bandi per borse di studio, premi di laurea, ecc.) Tasse e Contributi Studenti (Borse di studio ERDISU, Prestiti d’onore, Pagamento 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. parte generale e ordinamento Orario di ricevimento: da lunedì a venerdì dalle 9.45 alle 11.45. 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.55668092-90 Orario di ricevimento: da lunedì a venerdì dalle 9.45 alle 11.45. 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 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 parte generale e ordinamento 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 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 15 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 i quali 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à: 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 University of Ostrava (CZ) (solo per studenti dei corsi di laurea in Matematica), coordinatore Prof. Marisa Michelini Universitaet Giessen (D) (solo per stu- 16 denti dei corsi di laurea in Matematica), coordinatore Dott. Mario Mainardis University of Dortmund (D), coordinatore Dott. Mario Mainardis Universidad de Castilla la Mancha (E), coordinatore Dott. Marco Comini Universidad Politecnica de Valencia (E), coordnatore Dott. Marco Comini Universidad de Alicante (E), coordinatore Prof. Furio Ercolessi Ecole des Mines de Nancy (F), coordinatore Prof. Marino Miculan Université Pierre et Marie Curie - Paris VI (F), coordinatore Prof. Alessandro De Angelis Universitè Denis Diderot - Paris VII (solo per studenti dei corsi di laurea in Matematica), coordinatore Prof. Marisa Michelini NTNU Norwegian University of Science and Technology - Trondheim (N), coordinatore Prof. Rossana Vermiglio 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 Newcastle upon Tyne (UK), coordinatore Prof. Alessandro De Angelis University of Leeds (UK) (solo per studenti dei corsi di laureadi 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 all’estero sia particolarmente significativo nella formazione di uno studente e raccomanda pertanto un’ampia partecipazione a questo programma. Per informazioni rivolgersi allo Sportello parte generale e ordinamento 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_st udenti/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 180 convenzioni con aziende e 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: - consultare i dati sulla propria carriera universitaria (esami sostenuti, media, crediti acquisiti, ecc.); - compilare una scheda descrivendo in parte generale e ordinamento 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 neo laureati ed ai neo diplomati 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 (C.O.R.T.) in accordo con quanto disposto dalla Commissione Interna per l’Orientamento e il Tutorato (C.I.T.O.) e dalla Commissione d’Ateneo per l’Orientamento e il Tutorato (C.A.T.O.). 17 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 2006/07 Calendario delle lezioni I periodo didattico: II periodo didattico: III periodo didattico: 25.9.2006 - 1.12.2006 15.1.2007 - 16.3.2007 18.4.2007 - 20.6.2007 Periodi d’esame I sessione: II sessione: III sessione e recupero: 4.12.2006 - 22.12.2006 e 8.1.2007 - 12.1.2007 19.3.2007 - 17.4.2007 21.6.2007 - 31.7 2007 e 3.9.2007 - 21.9.2007 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). Calendario di laurea 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 18 e 19 luglio 2006 3 luglio 2006 II appello 5 e 6 ottobre 2006 20 settembre 2006 III appello 14 e 15 dicembre 2006 29 novembre 2006 IV appello 12 e 13 aprile 2007 28 marzo 2007 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 13 luglio 2006 28 giugno 2006 II appello 12 ottobre 2006 27 settembre 2006 III appello 13 dicembre 2006 28 novembre 2006 IV appello 11 aprile 2007 27 marzo 2007 La domanda di ammissione all’esame di laurea di presenta presso lo sportello di Facoltà della Ripartizione Didattica entro i seguenti termini: 19 parte generale e ordinamento Appelli del periodo estivo (maggio - giugno - luglio - agosto) entro il 2 maggio 2006 Appelli del periodo autunnale (settembre - ottobre - novembre - dicembre) entro il 31 luglio 2006 Appelli del periodo invernale (gennaio - febbraio - marzo - aprile) entro il 15 dicembre 2006 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, eletto per il triennio 2004/05 - 2006/07), è 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 2005-2007 sono: Burelli Paolo Zanitti Francesco 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 corso di laurea (ovvero che ricoprono per titolarità, supplenza, affidamento, con- tratto, 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 2005-2007 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. La rappresentante degli studenti per il biennio 2005-2007 è la studentessa: Molaro Chiara - 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. I rappresentanti degli studenti per il biennio 2005-2007 sono: Sclauzero Gabriele Staniscia Fabio - il Master in Information Technology è diretto dal Prof. Luca Chittaro, professore ordinario di Interazione Uomo-Macchina. 20 parte generale e ordinamento Docenti della Facoltà all’1.9.2006 e Dipartimento di Afferenza Professori di I fascia Prof. Cecchini Carlo Prof. Chittaro Luca Prof. Corvaja Pietro Prof. De Angelis Alessandro Prof. Della Riccia Giacomo 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. Zanolin Fabio 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. 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. 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. Lancia Giuseppe Prof. Lenisa Marina Prof. Marcone Alberto Giulio Prof. Miculan Marino Prof. Milanese Vitaliano Prof. Panti Giovanni Prof. Pascoletti Adriano Prof. Piazza Carla Prof. Rinaldi Franca Prof. Santi Lorenzo Prof. Staniszkis Maria Prof. Vidoni Paolo Prof. Zucconi Francesco 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. 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. Matematica e Informatica Dip. Scienze Statistiche Dip. Matematica e Informatica 21 parte generale e ordinamento Assistente Prof. Trombetta Maurizio Dip. Matematica e Informatica Ricercatori Dott. Baiti Paolo Dott. Brajnik Giorgio Dott. Cobal Marina Dott. D’Angelo Antonio Dott. Grassmann Hans Dott. Lucido Silvia Dott. Mainardis Mario Dott. Michelutti Giovanni Luigi Dott. Mirolo Claudio Dott. Mizzaro Stefano Dott. Ranon Roberto Dott. Scagnetto Ivan Dott. Toppano Elio Dip. Matematica e Informatica Dip. Matematica e Informatica Dip. Fisica 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 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 è caratterizzato 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 una 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, pos- 23 parte generale e ordinamento sibilmente più giovane di un laureato secondo il precedente 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 Insegnamenti/attività formative acquisire 180 crediti, suddivisi uniformemente 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 all’1 agosto 2006. 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 e sistemi informativi 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 3 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 scelto 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 consigliano gli studenti di seguire le seguenti propedeuticità nel sostenere gli esami: - Algoritmi e strutture dati: Analisi matematica, Architettura degli elaboratori; Matematica discreta, Programmazione; - Basi di dati e sistemi informativi: 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. 2006/07 devono presentare alla Ripartizione Didattica la scelta del curriculum e del laboratorio avanzato entro il 22.9.2006. 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 22.9.2006. 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ò istituire, inoltre, 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.js p) 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 MFN, 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 una 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 29 parte generale e ordinamento rispondere alla domanda di formazione 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 Insegnamenti/attività formative 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 all’1 agosto 2006. Per i successivi aggiornamenti consultare la pagina web della Facoltà: http://www.uniud.it/didattica/facolta/scienze 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 10 10 4 6 6 6 6 8 4 2-3 1-2-3 1-2-3 1-2 1 1 2-3 1-2 2-3 INF/01 ING-INF/05 ING-INF/05 INF/01 SECS-S/01 M-PSI/01 ING-INF/05 INF/01 ING-INF/05 6 6 6 1 1 1 INF/01 ING-INF/05 INF/01 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 Algoritmi e strutture dati Sistemi operativi Laboratorio di sistemi operativi Programmazione orientata agli oggetti Statistica applicata Psicologia della comunicazione Sistemi multimediali Commercio elettronico Laboratorio di sistemi multimediali Terzo anno Basi di dati Ingegneria del software Reti di calcolatori 30 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 - 1^p. - Laboratorio di tecnologie lato server - 2^p. Insegnamenti a scelta dello studente (**) Storia dell’informatica (**) Tirocinio Prova finale parte generale e ordinamento 5 6 3 1 2 3 ING-INF/05 INF/01 4 2 2 9 3 12 3 3 1 1 INF/01 ING-INF/05 ING-INF/05 3 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 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 scelto 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 consigliano gli studenti di seguire le seguenti propedeuticità nel sostenere gli esami: - Algoritmi e strutture dati: Analisi matematica; Architettura degli elaboratori; Matematica discreta, Programmazione; - Basi di dati e sistemi informativi: Algoritmi e strutture dati; Programmazione orientata agli oggetti; Sistemi operativi; - Commercio elettronico: Programmazione; Tecnologie Web; - Ingegneria del software: Algoritmi e strutture dati; Programmazione orientata agli oggetti; Sistemi operativi; - Interazione uomo-macchina: Sistemi operativi; - Laboratorio informatico avanzato: Labo- ratorio 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; - 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 motiva- parte generale e ordinamento ti, può presentare domanda di approvazione di un piano di studio individuale alla Ripartizione Didattica entro il 22.9.2006. 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. 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 31 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 MFN, 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 32 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. parte generale e ordinamento 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. 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 è subor- 33 dinata al possesso di una 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 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 34 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): parte generale e ordinamento N.B.: Le seguenti informazioni sono aggiornate all’1 agosto 2006. 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 2 2 1 MAT/02 MAT/05 MAT/03 MAT/01 MAT/07 6 6 6 6 2 3 2 3 MAT/02 MAT/02 MAT/05 MAT/07 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 35 parte generale e ordinamento - Fisica moderna - Fondamenti della matematica 1 - Geometria 6 - Matematiche complementari 2 (**) - Particelle e interazioni fondamentali Insegnamenti a scelta dello studente (*) Prova finale 6 6 6 6 6 12 7 1 3 3 3 2 FIS/01 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 1 6 6 6 6 6 6 1 2 2 3 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 1 1 1 2 MAT/08 MAT/07 MAT/09 MAT/06 MAT/06 6 1 MAT/05 - 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 Comunicazione efficace 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 36 - Fisica moderna - Ottimizzazione 2 - Particelle e interazioni fondamentali - Statistica 2 Insegnamenti a scelta dello studente (*) Prova finale parte generale e ordinamento 6 6 6 6 12 7 1 2 2 3 FIS/01 MAT/09 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 2006/07 devono presentare la scelta del curriculum improrogabilmente agli sportelli della Segreteria Studenti entro il 16.3.2007 (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 22.9.2006. Tali domande verrano quindi trasmesse alla Facoltà per l’approvazione. Propedeuticità Ai fini di un ordinato svolgimento dei processi di insegnamento e di apprendimento, si consigliano vivamente gli studenti di seguire le seguenti 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; parte generale e ordinamento - Geometria 4: Geometria 3, Algebra 2; - Geometria 5: Algebra 2, Geometria 4; - Geometria 6: Algebra 2, Geometria 4; - 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, Probabilità 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 il proprio tutore fra i docenti della Facoltà, il quale lo potrà aiutare ad inserirsi nella vita accademica e a pianificare in modo più efficace le proprie attività formative. La Facoltà istituisce, inoltre, apposite commissioni per trattare problematiche specifiche, come scelta del curriculum, programmi di studio all’estero, orientamento alla scelta delle aziende dove effettuare eventuali tirocini. 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. 37 La tesi si considera assegnata quando la Segreteria Studenti riceve dallo studente la domanda di laurea con l’apposito 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 38 ne prescinderà. La Commissione di Laurea passa poi a valutare il curriculum degli studi. Si considererà anzitutto la 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 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 una 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 una adeguata conoscenza anche delle norme che si applicano al settore biotecnologico in riferimento agli aspetti tecnici, economici, giuridici e bioetici. 39 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 Gli obiettivi specifici del curriculum in Biologia computazionale sono atti a fornire le basi sia teoriche che 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 mole- Insegnamenti/attività formative Biochimica 1 Biologia 1 Biologia molecolare 1 Chimica generale Chimica organica Matematica Fisica 1 Fisica 2 Genetica 1 colare, verrà fornita una adeguata conoscenza di base dei principali linguaggi di programmazione e di interrogazione per basi di dati comunemente utilizzate in campo biologico ed 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. Ordinamento degli studi Per conseguire la laurea lo studente deve acquisire 180 crediti, suddivisi uniformemente in tre anni. Nel secondo e terzo anno il corso si articola in insegnamenti specifici relativi al curriculum scelto dallo studente. Relativamente al primo anno la frequenza è obbligatoria. N.B.: Le seguenti informazioni sono aggiornate all’1 agosto 2006. 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): CFU Periodo didattico S.S.D. 6 3 3 5 4 5 4 3 6 2-3 3 3 1 2 1 1 2 3 BIO/10 BIO/13 BIO/11 CHIM/03 CHIM/06 MAT/05 FIS/01 FIS/07 BIO/18 40 Informatica Introduzione alla biologia (*) Introduzione alla zoologia (*) Statistica 1 parte generale e ordinamento 6 3 3 6 2-3 1 1 2 INF/01 BIO/04 BIO/05 SECS-S/01 CFU Periodo didattico S.S.D. 5 6 9 9 3 3 6 7 5 3 1 2-3 2-3 2 1 1 1 2 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 3 3 3 4 9 8 6 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 B10/12 IUS/01 AGR/07 BIO/17 SECS-S/01 - Curriculum Biologia Computazionale 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 Legislazione per le biotecnologie Organismi geneticamente modificati (*) Istologia (*) Statistica 2 Corsi a scelta dello studente (*) Tirocinio Prova finale 2 3 3 3 3 1 1 2 2 3 2 2 (*) Nell’ambito dei corsi a scelta dello studente sono consigliati, ma non obbligatori, i seguenti corsi, attivati presso le rispettive Facoltà: 41 parte generale e ordinamento Introduzione alla biologia - c.so laurea interfacoltà Biotecn. Frequenza consigliata al I anno Introduzione alla zoologia - facoltà di medicina veterinaria Frequenza consigliata al I anno Organismi geneticamente modificati - c.so l. interfac. Biotecn. Frequenza consigliata al III anno Istologia - Facoltà di medicina e chirurgia Frequenza consigliata al III anno 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. Per i curricula relativi a Biotecnologie Agrarie e Biotecnologie Veterinarie si rimanda alle Guide ai corsi delle rispettive Facoltà. 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 15 settembre 3 1 3 1 3 3 3 2 2006 alle ore 15.00 presso l’Aula I 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 2006 all’8 settembre 2006. 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à istituisce, inoltre, apposite commissioni per trattare problematiche specifiche, come scelta del curriculum, programmi di studio all’estero, orientamento alla scelta delle aziende dove effettuare il tirocinio. 42 parte generale e ordinamento MASTER DI PRIMO LIVELLO IN INFORMATION TECHNOLOGY Titolo rilasciato in modo congiunto con il B.M. Birla Science Center, Hyderabad, India. Requisiti per l’accesso Per essere ammessi al Master in Information Technology è richiesta la laurea triennale (o vecchio ordinamento) conseguita presso le Facoltà di Scienze Matematiche Fisiche e Naturali o le Facoltà di Ingegneria. L’ammissione al corso avverrà tramite una selezione. Per le relative informazioni telefonare alla Ripartizione Didattica, sede di Via Mantica, tel. 800241433 oppure 0432/556680 o consultare il sito http://www.uniud.it/didattica/facolta/sci enze È previsto un numero massimo di 20 iscritti presso l’Università degli Studi di Udine e il Birla Science Center ed un numero minimo di 8. Corsi Per ottenere il titolo di Master in Information Technology, lo studente dovrà acquisire 60 crediti. Al fine di fornire una formazione fortemente orientata a concrete attività di ricerca e sviluppo, il Master prevede due modalità formative: A. corsi universitari dedicati a tematiche a forte contenuto applicativo. Nello specifico, verranno sviluppati i seguenti moduli: Interazione Uomo-Macchina (6 CFU) Programmazione (6 CFU) Reti calcolatori/Sicurezza (12 CFU) Sistemi informativi (6 CFU) Tecnologie Web (6 CFU) B. esperienza diretta di formazione in laboratori di ricerca su un progetto individuale orientato verso gli interessi del cor- sista, che potrà scegliere di svolgere tale attività, per un totale di 300 ore corrispondenti a 13 CFU, in uno dei seguenti laboratori situati presso il Dipartimento di Matematica e Informatica dell’Università degli Studi di Udine: Laboratorio di Basi di Dati Laboratorio di Bioinformatica Laboratorio di Elaborazione di Immagini Laboratorio di Informatica Industriale Laboratorio di Informatica Medica Laboratorio di Intelligenza Artificiale Laboratorio di Interazione Uomo-Macchina Laboratorio di Programmazione Logica e Calcolo Simbolico Laboratorio di Verifica e Calcolo Parallelo Laboratorio di Verifica Programmi Laboratorio di Visione Artificiale e Sistemi Real-time I restanti 11 crediti formativi universitari corrispondono ad un tirocinio formativo da effettuarsi in azienda oppure presso uno dei Laboratori sopra citati (120 ore - 5 CFU) e al superamento della prova finale (6 CFU) necessaria per ottenere il rilascio del titolo finale di master. Durante lo svolgimento del Master, il corsista verrà seguito in modo personalizzato da un docente tutore, che generalmente coinciderà con il responsabile del Laboratorio prescelto. La frequenza è obbligatoria: ciò implica la partecipazione ad almeno il 70% delle ore previste per le attività didattiche (lezioni teoriche e laboratori) del corso ed al 100% delle ore previste per il tirocinio. Sbocchi professionali Professionista di livello avanzato nell’Information Technology, con particolare riguardo alle applicazioni nei settori delle tecnologie basate su Internet. Il Master in Information Technology (IT) forma personale in possesso di solida base tecnico-scientifica, capace di un rapido inserimento in azienda nei settori più 43 parte generale e ordinamento innovativi dell’IT. Rispetto alla Laurea triennale in Informatica (classe 26), il Master in IT si concentra su specifiche tecnologie e applicazioni, viste nell’ottica della loro diretta applicazione industriale. Cruciale è la sperimentazione di tali tecnologie mediante tirocini formativi, che complementino la formazione informatica di base con applicazioni di interesse aziendale, utili per una futura occupazione. I crediti acquisiti nel Master in IT possono essere utilizzati verso le Lauree specialistiche in Informatica e Tecnologie dell’Informazione dell’Università di Udine. MASTER DI PRIMO LIVELLO ONLINE 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; orientamento e conoscenze di base; struttura 44 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 anche tecnologici specifici, la capacità di parte generale e ordinamento 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 on line in qualità di direttore organizzativo o tecnologico o didattico. I crediti acquisiti nel Master in IT possono essere utilizzati verso le Lauree specialistiche in Informatica e Tecnologie dell’Informazione dell’Università di Udine. 45 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 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- 46 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. parte generale e ordinamento 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 preparazione 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 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 all’1 agosto 2006. 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à Basi matematiche della realtà virtuale Commercio elettronico Compilatori CFU Periodo didattico S.S.D. 6 6 6 8 6 3 2 2 1-2 1 INF/01 INF/01 INF/01 INF/01 INF/01 47 parte generale e ordinamento Complementi di basi di dati 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 Teoria dei sistemi 1 Teoria dell’informazione Teoria e tecniche di elaborazione dell’immagine 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 2 3 3 3 2 3 1 2 1 2-3 2 1 2 1 2 2-3 2-3 3 2 2 1 1 INF/01 MAT/08 ING-INF/05 INF/01 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 ING-INF/04 INF/01 ING-INF/05 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 2 2 3 2 1 1 2 2 3 23 3 3 3 1 2 1 1 2-3 2 3 1 2-3 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 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 Tecniche formali per l’ingegneria del software Tecnologie web 48 parte generale e ordinamento Teoria dei sistemi 2 Web information retrieval 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- 6 6 10 6 20 3 3 ING-INF/04 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 CFU Compilatori Complementi di basi di dati Fondamenti dell’informatica 2 Intelligenza artificiale Linguaggi di programmazione 1 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 6 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 Linguaggi di nuova concezione Linguaggi e modelli per il global computing Semantica dei linguaggi di programmazione Tecniche formali per l’ingegneria del software CFU 6 6 6 6 49 parte generale e ordinamento 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 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 attivati alle lauree specialistiche in Informatica e Tecnologie dell’Informazione. Curriculum “Progetto e sviluppo di sistemi software”: è volto a un approfondimento 6 6 6 6 6 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 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 CFU 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 6 6 6 6 50 parte generale e ordinamento - 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 attivati alle lauree specialistiche in Informatica e Tecnologie dell’Informazione. PS3 Insegnamenti/attività formative CFU Ingegneria del software 2 Sistemi multimediali Teoria e tecniche di elaborazione dell’immagine 2 corsi a scelta tra: - Basi matematiche della realtà virtuale - 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 13 ottobre 2006. Cambio “Pacchetti” Gli studenti che intendono cambiare la scelta del pacchetto devono presentare domanda in carta semplice alla Ripartizione Didattica entro il 13 ottobre 2006. 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 con- 6 6 6 6 6 6 6 6 6 trorelatore 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 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 51 parte generale e ordinamento 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 (zero) ed 11 (undici), 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 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 52 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 data base 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 parte generale e ordinamento 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 è costituito 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 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 all’1 agosto 2006. Per i successivi aggiornamenti consultare la pagina web della Facoltà: http://www.uniud.it/didattica/facolta/scienze Primo anno Corsi Algoritmi e complessità Basi matematiche della realtà virtuale Complementi di basi di dati CFU Periodo didattico S.S.D. 6 6 6 2 3 2 INF/01 INF/01 INF/01 53 parte generale e ordinamento Complementi di tecniche di comunicazione 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 Teoria dei sistemi Teoria e tecniche di elaboraz. dell’immagine Web information retrieval 3 6 6 6 6 6 6 6 6 6 6 6 tace 2-3 1 3 1 1 2 2 2-3 2 1 3 M-FIL/05 INF/01 ING-INF/05 ING-INF/05 INF/01 MAT/08 INF/01 ING-INF/05 ING-INF/05 ING-INF/04 ING-INF/05 ING-INF/05 CFU Periodo didattico S.S.D. 3 3 6 6 6 6 3 6 6 6 3 10 6 26 1 1 2 2 3 1 2 1 1 2-3 3 ING-INF/05 ING-INF/05 ING-INF/05 ING-INF/05 INF/01 ING-INF/05 INF/01 MAT/09 INF/01 INF/01 ING-INF/05 Secondo anno Corsi E-government E-learning Immagini e multimedialità Informatica medica Interazione uomo macchina 2 Personalizzazione di contenuti web Qualità e certificazioni web Ricerca operativa Teoria dell’informazione Sistemi mobili e wireless Web design Laboratori avanzati (*) Corsi a scelta dello studente (**) Prova finale (*) 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): 54 parte generale e ordinamento Insegnamenti/attività formative CFU Complementi di basi di dati Ingegneria del software 2 Linguaggi di programmazione Metodi numerici per l’informatica Ricerca operativa Teoria dei sistemi 1 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 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 CFU Algoritmi e complessità Basi matematiche della realtà virtuale Complementi di tecniche di comunicazione 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 Teoria dell’informazione Teoria e tecniche di elaborazione dell’immagine Web design Web information retrieval Piani di Studio individuali Gli studenti che intendono proporre un piano di studi individuale devono presentare domanda alla Rpartizione Didattica entro il 13 ottobre 2006. 6 6 3 3 3 6 6 6 6 6 6 6 3 6 6 6 6 6 3 6 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: parte generale e ordinamento - 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 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 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 55 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 (zero) ed 11 (undici), 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. 56 parte generale e ordinamento 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 specialistico 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 una 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. 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 erano, nel mondo industriale, parzialmente assorbiti dall’ingegnere; data però la maggior richiesta di efficienza e com- 57 parte generale e ordinamento petitività 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 ricetti- Insegnamenti/attività formative va 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 all’1 agosto 2006. Per i successivi aggiornamenti consultare la pagina web della Facoltà: http://www.uniud.it/didattica/facolta/scienze CFU Periodi didattici SSD 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 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 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 CFU Periodo didattico S.S.D. 6 6 6 2 3 1 MAT/02 MAT/02 MAT/05 58 Geometria 5 Geometria 6 più 6 insegnamenti scelti fra: - Analisi matematica 8 o 9 - Fisica matematica - Fondamenti della matematica 1 - Geometria 8 (*) - Geometria 10 (*) - Istituzioni di logica matematica 1 (*) - Matematiche complementari 2 (*) - Teoria dei numeri 2 (*) - Teoria degli insiemi (*) - Topologia 2 (*) parte generale e ordinamento 6 6 2 3 MAT/03 MAT/03 6 6 6 6 6 6 6 6 6 6 2o3 3 3 1 2 1 3 3 (tace) 2 MAT/05 MAT/07 MAT/04 MAT/03 MAT/03 MAT/01 MAT/04 MAT/03 MAT/01 MAT/02 Crediti obbligatori per il Curriculum Applicativo, se non già acquisiti nella laurea triennale: Insegnamenti/attività formative 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: - Analisi numerica 4 - Matematica finanziaria (***) - Metodi Monte Carlo - Modellistica e simulazione - Ottimizzazione 4 più 1 insegnamento scelto fra: - Algebra 4 o 5 - Analisi matematica 7 o 8 - Analisi numerica 4 - Geometria 5 o 6 o 8 o 10 - Matematica finanziaria (***) - Metodi Monte Carlo - Modellistica e simulazione - Ottimizzazione 4 - Particelle e interazioni fondamentali - Teoria dei numeri 2 (*) 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 6 6 6 6 6 3 3 3 2 2 MAT/08 SECS-S/06 FIS/02 ING-INF/04 MAT/09 6 6 6 6 6 6 6 6 6 6 2o3 1o2 3 2, 3, 1, 2 3 3 2 2 2 3 MAT/02 MAT/05 MAT/08 MAT/03 SECS-S/06 FIS/02 ING-INF/04 MAT/09 FIS/01 MAT/03 (*) 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. parte generale e ordinamento 59 (**) Il Laboratorio di Matematica è una 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. (***) 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 puo’ 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 della 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 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!). parte generale e ordinamento 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 di 61 parte generale e ordinamento 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 tecnicoscientifiche. 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 all’1 agosto 2006. 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 SSD 6 6 6 6 6 6 6 6 6 6 1 1 3 2 3 3 2 3 2 2 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 un insegnamento a scelta 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 stocastici per sistemi quantistici a molti corpi - Metodi numerici per la struttura elettronica - Simulazioni atomistiche di materiali - Relatività generale - Meteorologia computazionale Insegnamento a scelta dello studente Elaborato finale 6 2 ING-INF/04 6 6 6 6 6 6 6 6 6 6 6 6 36 1 2 3 1 3 1 3 3 1 3 2 FIS/02 FIS/04 FIS/05 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. Per chi proviene da Fisica Insegnamenti/attività formative CFU Periodi didattici SSD 1 3 2 3 3 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 6 6 6 6 6 6 6 6 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 6 2 ING-INF/04 6 6 1 2 FIS/02 FIS/04 63 parte generale e ordinamento - Cosmologia e astrofisica delle particelle 6 - 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 3 1 3 1 3 3 1 3 2 FIS/05 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-discilinari 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. E’ 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 parte generale e ordinamento 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 Calendario delle lezioni A differenza degli altri corsi della Facoltà, il corso di laurea segue il calendario della Facoltà di Economia, ovvero: 1° periodo 2° periodo 3° periodo0 4° periodo 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 aspetti 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 percor- inizio lezioni fine lezioni sessione esami regolare 23.10.2006 08.01.2007 5.03.2007 07.05.2007 01.12.2006 16.02.2007 20.04.2007 15.06.2007 04.12.2006 - 22.12.2006 19.02.2007 - 02.03.2007 23.04.2007 - 04.05.2007 18.06.2007 - 29.06.2007 Esami recupero 02.07.2007 - 20.07.2007 10.09.2007 - 28.09.2007 Vacanze I periodi delle vacanze natalizie e pasquali sono le stesse fissate a livello di Ateneo. parte generale e ordinamento si 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. 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 politi- 65 che 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 successo 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. 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/08 SECS-P/05 SECS-S/01 Primo anno Primo anno Sistemi informativi aziendali corso progredito Commercio elettronico Data mining Processi stocastici Statistica 2 Marketing 2 o Economia e gestione delle imprese 2 Econometria delle serie temporali Metodi statistici per la valutazione 5 crediti tra i seguenti insegnamenti: - 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. 06/07) 5 crediti tra i seguenti insegnamenti: - Modelli demografici - Analisi delle serie temporali due insegnamenti scelti tra: - Finanza aziendale - Economia degli intermediari finanziari - Organizzazione aziendale (primo modulo) Insegnamenti/attività formative SECS-S/06 SECS-S/06 SECS-S/06 SECS-S/06 MAT/09 5 SECS-S/04 SECS-S/03 10 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. 06/07) - 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. 06/07) 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 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 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 68 parte generale e ordinamento Analisi delle serie temporali un insegnamento a scelta tra: - Matematica generale corso progredito 2 - Pianificazione delle attività produttive (tace a.a. 06/07) un insegnamento a scelta tra: - Finanza aziendale - Economia degli intermediari finanziari 5 5 SECS-S/03 SECS-S/06 MAT/09 5 SECS-P/09 SECS-P/11 Insegnamenti/attività formative 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 un insegnamento a scelta tra: - Marketing relazionale 1 - Organizzazione aziendale (secondo modulo) - Econometria dei dati panel (tace a.a. 06/07) - Microeconomia corso progredito un 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 MASTER DI SECONDO LIVELLO IN INFORMATICA MEDICA La Facoltà organizza, in collaborazione con la Facoltà di Medicina e Chirurgia e l’Agenzia Regionale per la Sanità, il Master di II 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 livello in Informatica Medica. Questo Master ha lo scopo di fornire competenze per la direzione e la gestione di strumenti e soluzioni informatiche innovative per la Sanità. Per ulteriori informazioni si consulti il sito http://inmed.uniud.it 69 parte generale e ordinamento CALENDARIO DELLE LEZIONI Corsi, Crediti, Periodi Didattici, Docenti CORSO DI LAUREA IN INFORMATICA I anno Corsi Corso Introduttivo Analisi Matematica Architettura degli Elaboratori e lab. Fisica Matematica Discreta Programmazione e laboratorio CFU P.D. Docenti 12 14 6 9 14 123 123 3 12 123 Trombetta Gorni Di Gianantonio Santi Mainardis 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 23 1 1 1 23 23 12 3 3 Piazza (Mut. TWM) Pace Vermiglio Marcone Honsell Mirolo Scagnetto - Lenisa Piva Michelutti III anno Basi di Dati e Sistemi Informativi Complementi di Basi di Dati Fondamenti dell’Informatica 2 Ingegneria del Software 1 Ingegneria del Software 2 Interazione Uomo-Macchina 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 23 3 1 2 1 2 23 3 1 3 1 3 Montanari Montanari Dovier Tasso Pighin - Marzona Chittaro Comini D’Agostino Lenisa Lancia Toppano Miculan - Dal Cin (m. LS Inf.) Serafini Tasso Tasso - Pighin Marzollo (mut. TWM) De Angelis (m. LSFC) Santi (mut. LSFC) Marinatto (mut. LSFC) 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 Corsi CFU P.D. Docenti 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 12 8 3 3 6 10 10 1 1 12 123 3 1 2 12 23 3 3 Trombetta (m. L. Inf.) Freddi Di Gianantonio (m. L. Inf.) Grassmann D’Agostino Panti Mizzaro - Coppola Roberto Rolla Marzollo II anno Algoritmi e Strutture Dati Commercio Elettronico Programmazione Orientata agli Oggetti Psicologia della Comunicazione Sistemi Multimediali e laboratorio Sistemi Operativi e laboratorio Statistica Applicata Storia dell’Informatica* 10 8 6 6 10 10 6 3 23 12 12 1 23 123 1 3 Piazza Pugliese Milanese Plet Toppano - Ranon Brajnik - D’Angelo Vidoni Bonfanti - Giangrandi (m.L. Inf.) 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 5 6 3 4 4 1 1 2 1 1 3 3 1 Montanari (mut. L. Inf.) Tasso (mut. L. Inf.) Chittaro (mut. L. Inf.) Brajnik (mut. L.S. Inf.) Toppano (m. L.S. Inf.) Piva (mut. L. Inf.) Marzollo Della Mea - Scagnetto *corso facoltativo CORSO DI LAUREA IN MATEMATICA I anno Corsi Corso introduttivo Algebra 1 Algebra 2 Analisi Matematica 1 Analisi Matematica 2 Aritmetica CFU P.D. 6 6 6 6 6 2 3 1 2 1 Docenti Zanolin Dikranjan Lucido Baiti Cecchini Corvaja 71 parte generale e ordinamento Fisica 1 Geometria 1 Geometria 2 Informatica 1 Linguaggio Matematico Strumenti Informatici per la Matemat. 6 6 6 6 2 1 3 1 2 3 1 2 Ercolessi Cragnolini Cragnolini Dovier 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 (m. L TWM) De Angelis Zucconi Zucconi 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 Fondamenti della Matematica 1 Geometria 5 Geometria 6 Logica Matematica 2 Matematiche Complementari 2 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 6 1 2 3 1 2 2 3 1 3 2 3 2 3 1 1 2 2 1 2 3 Lucido Mainardis (m. L.S. Mat.) Panti Gorni Gorni Vermiglio Ansoldi De Angelis (mut. FC) Parlamento (m. L.S. Mat.) Corvaja Corvaja Parlamento Marcone (m. L.S. Mat.) Freddi Rinaldi Rinaldi Cobal (mut. FC) Vidoni Pace Pace 72 parte generale e ordinamento CORSO DI LAUREA INTERFACOLTÀ IN BIOTECNOLOGIE - Curriculum Biologia Computazionale I anno Corsi 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 23 3 3 1 2 1 2 3 23 1 1 1 2 Lippe - Mavelli Schneider Quadrifoglio Rigo Strazzolini De Angelis Esposito Morgante Vitacolonna Vianello Fava Zanolin Vidoni 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 23 23 2 1 1 1 2 Serafini Pitotti - Mavelli - Contessi Schneider Quadrifoglio - Tell Bontempelli Esposito Morgante - Lonigro Lancia Miculan 5 2 4 4 3 3 4 3 3 8 1 2 1 2 3 3 3 1 1 2 3 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 Istologia * Legislazione per le Biotecnologie Organismi Geneticamente Modificati* Statistica 2 * corsi facoltativi Docenti Vitacolonna Del Missier Morgante Dalla Lancia Stel - Puccillo Zerbi Rosa Giugliarelli Di Prampero - Comelli - Puccillo - Curcio Ortolani Petraz Marchetti Varin 73 parte generale e ordinamento CORSO DI LAUREA SPECIALISTICA IN INFORMATICA I anno Corsi CFU P.D. Algoritmi Avanzati Algoritmi e Complessità Basi Matematiche della Realtà Virtuale Commercio Elettronico Compilatori Complementi di Basi di Dati 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 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) Teoria dei Sistemi 1 Teoria dell’Informazione Teoria e Tecniche di Elaborazione dell’Imm. 6 6 6 8 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 3 6 6 6 3 2 2 12 1 2 3 3 3 2 3 1 2 1 23 2 1 2 1 2 23 23 3 2 3 2 1 1 II anno Basi di Dati Spaziali Complementi di Compilatori Datawarehouse 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 Gest. delle Risorse Ottimizzazione 1 6 6 6 6 6 6 6 6 6 6 6 6 6 6 2 2 2 1 1 2 2 3 23 3 3 3 1 Docenti Lancia Piazza Pieroni Pugliese (mut. TWM) Staniszkis Montanari (m. L. Inf.) Fasino Pighin - Marzona (m. L. Inf.) Pieroni Chittaro (mut. L. Inf.) Dovier Comini (mut. L. Inf.) Comini D’Agostino (m. L. Inf.) Lenisa (mut. L. Inf.) Mizzaro Brajnik Miculan - Dal Cin Serafini (mut. L. Inf.) Alessi Pighin - Tasso (m. L. Inf.) Toppano (mut. TWM) Montanari Pace (mut. L. Mat.) Bonfanti - Giangrandi (m. L. Inf.) Pascoletti Dovier Roberto Montanari - Chiarandini Staniszkis (m. SIGI - Fac. Economia) Dovier (mut. L. Inf.) Pascoletti Ranon (m. L.S. Tecn.Inf.) Roberto Della Mea Chittaro (mut. L.S. Inf.) Miculan - Lenisa Vermiglio (m. A.N.3 L.S. Mat) D’Agostino - Puppis Lancia (mut. L. Inf.) Rinaldi (mut. L. Mat.) 74 Ottimizzazione 2 Personalizzazione dei Contenuti Web Psicologia della Comunicazione Robotica Sistemi Esperti Statistica Matematica 2 Tecniche Formali per l’Ingegneria del Softw. Tecnologie Web Teoria dei Sistemi 2 Web Information Retrieval parte generale e ordinamento 6 6 6 6 6 6 6 6 6 6 2 1 1 23 2 3 1 23 3 3 Rinaldi (mut. L. Mat.) Tasso Plet (mut. TWM) D’Angelo Tasso (mut. L. Inf.) Pace (mut. L. Mat.) Comini Roberto (mut. TWM) Pascoletti Mizzaro (m. L.S. Tecn. Inf.) CORSO DI LAUREA SPECIALISTICA IN TECNOLOGIE DELL’INFORMAZIONE I anno Corsi CFU P.D. Algoritmi e Complessità Basi Matematiche della Realtà Virtuale Complementi di Basi di Dati Complementi di Tecniche di Comunicazione 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 Teoria dei Sistemi Teoria e Tecniche di Elaborazione dell’Imm. Web Information Retrieval 6 6 6 3 6 6 6 6 6 6 6 6 6 6 6 2 2 2 3 23 1 3 1 1 2 2 23 2 1 3 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 Sistemi Mobili e Wireless Storia dell’Informatica* Teoria dell’Informazione Web Design 3 3 6 6 6 6 3 6 6 3 6 3 1 1 2 2 3 1 2 1 1 3 1 3 * corso facoltativo Docenti Piazza (mut. L.S.Inf.) Pieroni (mut. L.S. Inf.) Montanari (m. L. Inf.) tace Honsell (m. F.I. 1 - L. Inf.) Ranon Pighin - Marzona (m. L. Inf.) Comini (mut. L. Inf.) Fasino Mizzaro (m. L.S. Inf.) Tasso (mut. L. Inf.) Tasso - Pighin (m. L. Inf.) Pascoletti (m. L.S. Inf.) Roberto (m. L.S. Inf.) Mizzaro Gugliotta Roberto Roberto (mut. L.S. Inf.) Della Mea (mut. L.S. Inf.) Chittaro (m. L.S. Inf.) Tasso (mut. L.S. Inf.) Brajnik Serafini (mut. L. Inf.) Chittaro - Ieronutti -Senerchia Bonfanti - Giangrandi (m. L. Inf.) Dovier (mut. L.S. Inf.) Polistina - Omero 75 parte generale e ordinamento CORSO DI LAUREA SPECIALISTICA IN MATEMATICA I e II anno Corsi 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 Fondamenti della Matematica 1 Geometria 4 Geometria 5 Geometria 6 Geometria 8 Geometria 10 Informatica 2 Informatica 3 Istituzioni di Logica Matematica 1 Logica Matematica 2 Matematiche Complementari 2 Matematica Finanziaria 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 1 2 3 1 2 1 2 3 2 3 3 3 1 3 3 2 3 1 2 3 3 1 2 3 3 Metodi Monte Carlo Modellistica e Simulazione Ottimizzazione 1 Ottimizzazione 2 Ottimizzazione 3 Ottimizzazione 4 Particelle e Interazioni Fondamentali Probabilità 2 Statistica 1 Statistica 2 Teoria dei Numeri 2 Topologia 2 6 6 6 6 6 6 6 6 6 6 6 6 3 2 1 2 2 2 2 1 2 3 3 2 Docenti Lucido (mut. L. Mat.) Mainardis Panti (mut. L. Mat.) Gorni (mut. L. Mat.) Gorni (mut. L. Mat.) Zanolin Freddi Zanolin Vermiglio (m. L. Mat.) Vermiglio Fasino Ansoldi (mut. L. Mat.) De Angelis (mut. FC) Parlamento Zucconi (mut. L. Mat.) Corvaja (mut. L. Mat.) Corvaja (mut. L. Mat.) Cragnolini Zucconi Piazza (mut. L. Mat.) Lancia (m. Alg. Av. - L.S. Inf) Marcone Parlamento (m. 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 Rinaldi Cobal (mut. FC) Vidoni (mut. L. Mat.) Pace (mut. L. Mat.) Pace (mut. L. Mat.) Zannier Dikranjan 76 parte generale e ordinamento CORSO DI LAUREA SPECIALISTICA IN FISICA COMPUTAZIONALE I anno Corsi Analisi Numerica Chimica Complementi di Meccanica Fisica Moderna Informatica 1 Informatica 2 Laboratorio di Analisi Dati Laboratorio di Elettronica Lab. di Strumenti e Misure di Fisica Meccanica Quantistica Meccanica Statistica Metodi Monte Carlo Particelle e Interazioni Fondamentali Struttura della Materia II anno Cosmologia e Astrofisica delle Particelle Fisica delle Alte Energie Fluidodinamica Computazionale Fluidodinamica e Turbolenza Lab. Acquisizione e Analisi dei Dati Metodi Numerici per la Struttura Elettronica Metodi Stocastici per Sistemi Quantistici a Molti Corpi Meteorologia Computazionale Modellistica e Simulazione Quantum Computing Relatività Generale Simulazioni Atomistiche di Materiali CFU P.D. Docenti 6 6 6 6 6 6 6 6 6 6 6 6 6 6 2 1 1 1 3 3 2 3 3 3 2 3 2 2 Vermiglio (m. A.N. 2- L. Mat.) Del Zotto (m. Agraria) Freddi (m. Mecc. Raz.2 - L. Mat.) De Angelis Dovier (mut. L. Mat) Milanese Vitale Santi Grassman Ansoldi Giugliarelli Ercolessi Cobal 6 6 6 6 6 6 6 3 2 3 1 1 3 3 Persic - Longo - Valdarnini De Angelis - De Lotto Cortelezzi Soldati Santi Dal Corso Senatore 6 6 6 6 6 2 2 1 3 1 Stel Pascoletti Marinatto 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. 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. 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, 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 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 e delle sue diverse parti hardware. Il percorso didattico seguito ha inizio con lo studio delle parti più piccole di cui si compone un calcolatore e si muove verso l’alto 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 Assembler. Programma Introduzione: prospettiva storica sulle architetture degli elaboratori. Tipologie di computer disponibili. Settori di applicazione dei sistemi di elaborazione, embedded system. Livelli di astrazione nell’analisi di un’architettura. Reti Logiche: porte logiche elementari. Algebre Booleane. Rappresentazione di funzioni booleane. Forme canoniche e coperture SP e PS. Circuiti combinatori d’uso più frequente. Flip-flop. Clock. Circuiti sequenziali sincroni e asincroni. Chip di memoria: DRAM, SRAM, ROM, Flash. SIMM/DIMM. Rappresentazione delle Informazioni: sistemi di numerazione binario, ottale, decimale, esadecimale. Conversione tra basi. Rappresentazioni in modulo e segno, complemento a 2. Addizione, sottrazione, moltiplicazione. Overflow. Standard IEEE per numeri in virgola mobile. Rappresentazione di caratteri: ASCII, UNICODE. Codici di rilevamento errori. Memorizzazione: approccio big endian vs. little endian. Struttura di un Computer al livello Microarchitetturale: l’architettura di Von Neumann. Architetture CISC vs. RISC. Bus. Registri. ALU. Data Path. Ciclo di fetch-decode-execute. Unità di controllo. Microoperazioni. Pipeline, processori superscalari. Memorie cache. Predizione di salto, esecuzione fuori ordine. Pentium II. Linguaggio macchina: tipi di dati. Indirizzamento. Tipi di istruzioni. 83 programmi - informatica triennale Formati istruzioni. Programmed I/O, Interrupt, DMA. Input/Output: dispositivi periferici. Collegamenti mediante bus. Trasferimenti di dati su bus sincroni ed asincroni. Operazioni sul bus. Meccanismi di arbitraggio: daisy-chaining, arbitraggio decentralizzato. Architettura di un tipico PC. Bus ISA, PCI, SCSI, USB. Hard disk. RAID. Dischi Ottici. Gerarchie di Memoria: memoria centrale, di massa, cache. Cache a mappatura diretta, cache set-associative. Memoria virtuale. Paginazione e segmentazione. MMU. Architetture ad elaborazione parallela: tipologie di calcolatori paralleli. La classificazione di Flynn. Multiprocessori e Multicomputer. Interconnessione fra processori: bus, rete. Cache coherence, snooping. Architetture UMA e NUMA. Architetture COW (Clusters of Workstations) ed MPP (Massively Parallel Processor). Programmazione Assembler: architettura del MIPS. Assembler MIPS: formato istruzioni, direttive all’assemblatore. Modalità di indirizzamento. Istruzioni di assegnamento e confronto, effetti sui condition codes. Istruzioni di salto condizionato ed incondizionato. Subroutine. Istruzioni aritmetiche, logiche, di scorrimento, di manipolazione bit. Gestione delle eccezioni. Modalità d’esame L’esame di Architettura degli Elaboratori si compone di una prova scritta, di una prova di laboratorio, e di una prova orale. La prova scritta richiede di svolgere degli esercizi analoghi a quelli presentati nelle esercitazioni, e di rispondere ad alcune domande sugli argomenti trattati a lezione. Durante il corso, verranno svolti tre compitini. Gli studenti che superano positivamente i compitini vengono esonerati dalla prova scritta. Bibliografia - ANDREW S. TANENBAUM, Architettura dei computer, un approccio strutturato, UTET, 2000 (Testo adottato). 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 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 84 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 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 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. programmi - informatica triennale - 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), domi- programmi - informatica triennale nio 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 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 85 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 (5 th Edition), Pearson International Education / Addison Wesley, 2007. In alternativa: - R. ELMASTRI, S. NAVATE, 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. 86 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à condizionata 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à; programmi - informatica triennale 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 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, Maggioli, 2a ed., 1992. - P. BALDI, Calcolo delle Probabilità e Statistica, McGraw-Hill, 1992. CALCOLO SCIENTIFICO Docente Prof.ssa Rossana Vermiglio Crediti 6 87 programmi - informatica triennale 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 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. Modalità d’esame Prova scritta e orale. 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 di Specializzazione in Fisica 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. COMPLEMENTI DI BASI DI DATI Docente Prof. Angelo Montanari 88 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 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 programmi - informatica triennale 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 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-ser- 89 programmi - informatica triennale ver, 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. 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. NAVATE, 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 (4thEdition), 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 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, 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. 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à affronta- 90 programmi - informatica triennale re 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. 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 91 programmi - informatica triennale 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 circuiti elettrici. Introduzione elementare alle onde elettromagnetiche. Modalità d’esame L’esame consiste in una prova scritta. Bibliografia - T IPLER , Introduzione alla Fisica, Zanichelli - Dispense del corso. 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. 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. Prerequisiti Fisica 1 e 2. Analisi applicata alle funzioni di una e più variabili. 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 ed.), Wiley 1996. - Appunti di lezione. FONDAMENTI DELL’INFORMATICA 1 Docente Prof. Furio Honsell 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 irrisolubili per via 92 programmi - informatica triennale 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 University 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. Proprieà 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 programmi - informatica triennale 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. 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 dedica- 93 to 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; 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/subcontractor 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. 94 - 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: 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 throwaway, 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 programmi - informatica triennale funzionali e object oriented. Documentazione del progetto. Parametri di qualità del progetto: coesione, accoppiamento, comprensibilità e adattabilità. Porgetto architetturale: definizione, sistema, sottosistema, modulo. Modelli per la strutturazione dei sistemi software: modello basato su data base condiviso, modello clientserver, 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 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 objectoriented. Progettazione object-oriented (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 95 programmi - informatica triennale 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. - Introduzione all’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 90003: 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, 7^ 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. - 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 96 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 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. programmi - informatica triennale 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. Alternativamente lo studente può sostenere una prova scritta/orale sugli argomenti del programma. Bibliografia - R.S. PRESSMAN, Principi di Ingegneria del Software, McGraw-Hill, 4th ed., 2005. - I. S OMMERVILLE , Software Engineering, 7th Ed., 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. programmi - informatica triennale - C. GHEZZI, M. JAZAYERI, D. MANDRIOLI, Ingegneria del Software - Fondamenti e Principi, 2nd ed., Pearson-Prentice Hall, 2004. - AUTORI VARI, Metriche del software - esperienze e ricerche, Franco Angeli, 2006. - Materiale didattico disponibile sul sito d’Ateneo. 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: obbiettivi 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. Perce- 97 zione 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 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. 98 programmi - informatica triennale 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, Third 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. LABORATORIO DI ALGORITMI E STRUTTURE DATI Docente Prof. Carla Piazza Crediti 4 Finalità del corso Scopo del corso è la realizzazione di algo- ritmi 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. M ARTINI , Appunti disponibili sulla pagina web. - T.H. CORMEN, C.E. LEISERSON, R.L. RIVEST, Introduction to Algorithms, MIT Press, Second edition, 2001. LABORATORIO DI ARCHITETTURA DEGLI ELABORATORI Docente Prof. Pietro Di Gianantonio 99 programmi - informatica triennale 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. 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 Prof. Fabio Alessi Dott. Alberto Ciaffaglione 100 programmi - informatica triennale 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 compilazione, 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 background, 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. 101 programmi - informatica triennale 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 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. 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. 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. 102 programmi - informatica triennale 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 DISCRETA Docente Dott. Mario Mainardis Crediti 9 Finalità del corso Introdurre gli strumenti fondamentali di Matematica Discreta, Algera 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. F A C C H I N I , Algebra e Matematica Discreta, ed. 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 operazio- 103 programmi - informatica triennale nale strutturata, la semantica denotazionale, i sistemi di riscrittura e svariati sistemi formali à la 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. MODELLI E ALGORITMI PER LA GESTIONE DELLE RISORSE Docente Prof. Giuseppe Lancia Crediti 6 Programma Elementi di complessità computazionale, riduzioni e trasformazioni. Algoritmi di approssimazione e randomizzati. De-randomizzazione. Modelli esponenziali di programmazione lineare intera: branchand-cut-and-price. Ottimizzazione compatta. Algoritmi euristici. 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 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. 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 104 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 memoization e programmazione dinamica. Principali comandi e costrutti del linguaggio Java. 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. Prerequisiti Conoscenze matematiche di base, del livello fornito nella scuola superiore. 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 programmi - informatica triennale 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 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. programmi - informatica triennale PROGRAMMAZIONE ORIENTATA AGLI OGGETTI Docente Dott. Claudio Miralo Crediti 6 Pagina del corso http://www.dimi.uniud.it/claudio/teaching/prog_oo/ Finalità del corso Obiettivi 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. Programma Contenuti del corso: 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. 105 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 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 106 programmi - informatica triennale 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/ 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 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 Bibliografia - T. BUDD, Understanding Object-Oriented 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. QUANTUM COMPUTING Docente Dott. Luca Marinatto Crediti 6 Pagina del corso http://www.fisica.uniud.it/~riccardo/teaching/physics/qc2001.html Finalità del corso Scopo del corso è di fornire una introdu- programmi - informatica triennale zione 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. 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. - MICHAEL NIELSEN, ISAAC CHUANG, Quantum Computation and Quantum Information, Cambridge University Press (2000). RETI DI CALCOLATORI Docente Prof. Elio Toppano Crediti 6 107 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. 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 direc- 108 tory 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 HandShake 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, conettività 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 programmi - informatica triennale 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 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, 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. RETI DI CALCOLATORI E SICUREZZA Docente 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 compe- 109 programmi - informatica triennale tenze 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. 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 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. Propedeuticità Reti di Calcolatori. 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 110 Finalità del corso Obiettivi: 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 branchand-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, macchi- programmi - informatica triennale ne parallele, flow-shop, job-shop e openshop. Il piano dettagliato delle lezioni si trova al 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. S CHRAGE , 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; il SO come macchina virtuale: il nucleo, le chiamate di sistema; struttura di un sistema operativo (monolitico, a livelli, macchine virtuali, 111 programmi - informatica triennale exokernel, microkernel client-server); esempi: Unix tradizionale, 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. 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 meccanismi per la rappresentazione della conoscenza e gli algoritmi di ragionamento, i sistemi per il ragionamento non monoto- 112 no, 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. 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 Personalizzazione dei Contenuti Web - e-commerce, i-access, e-government, Franco Angeli, Milano, 2002. programmi - informatica triennale 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. 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 programmi - informatica triennale 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. GARZONA, 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 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 compu- 113 ter 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. 114 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: selectionsort, insertion-sort, bubble-sort, heap- sort. Algoritmi ricorsivi: quick-sort, merge-sort. Analisi della complessità e limiti inferiori. Algoritmi lineari non basati sul confronto: counting-sort, radixsort, 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. Lorenzo Freddi 115 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 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 e delle sue diverse parti hardware. Il percorso didattico seguito ha inizio con lo studio delle parti più piccole di cui si compone un calcolatore e si muove verso l’alto fino ad arrivare allo studio di architetture complete di calcolatori. Programma Introduzione: prospettiva storica sulle architetture degli elaboratori. Tipologie di computer disponibili. Settori di applicazione dei sistemi di elaborazione, embedded system. Livelli di astrazione nell’analisi di un’architettura. Reti Logiche: Porte logiche elementari. Algebre Booleane. Rappresentazione di funzioni booleane. Forme canoniche e coperture SP e PS. Circuiti combinatori d’uso più frequente. Flip-flop. Clock. Circuiti sequenziali sincroni e asincroni. Chip di memoria: DRAM, SRAM, ROM, Flash. SIMM/DIMM. Rappresentazione delle Informazioni: sistemi di numerazione binario, ottale, decimale, esadecimale. Conversione tra basi. Rappresentazioni in modulo e segno, complemento a 2. Addizione, sottrazione, moltiplicazione. Overflow. Rappresentazione di caratteri: ASCII, UNICODE. Codici di rilevamento errori. Memorizzazione: approccio big endian vs. little endian. Struttura di un Computer al livello Microarchitettural: l’architettura di Von Neumann. Architetture CISC vs. RISC. Bus. Registri. ALU. Data Path. Ciclo di fetch-decode-execute. 116 programmi - TWM triennale Unità di controllo. Microoperazioni. Pipeline, processori superscalari. Memorie cache. Predizione di salto, esecuzione fuori ordine. Pentium II. Linguaggio macchina: tipi di dati. Indirizzamento. Tipi di istruzioni. Formati istruzioni. Programmed I/O, Interrupt, DMA. Input/Output: dispositivi periferici. Collegamenti mediante bus. Trasferimenti di dati su bus sincroni ed asincroni. Operazioni sul bus. Meccanismi di arbitraggio: daisy-chaining, arbitraggio decentralizzato. Architettura di un tipico PC. Bus ISA, PCI, SCSI, USB. Hard disk. RAID. Dischi Ottici. Gerarchie di Memoria: memoria centrale, di massa, cache. Cache a mappatura diretta, cache setassociative. Memoria virtuale. Paginazione e segmentazione. MMU. Modalità d’esame L’esame si compone di una prova scritta e di una prova orale. La prova scritta richiede di svolgere degli esercizi analoghi a quelli presentati nelle esercitazioni, e di rispondere ad alcune domande sugli argomenti trattati a lezione. La prova orale consiste nella discussione di alcuni degli argomenti trattati a lezione. Durante il corso, verranno svolti due compitini. Gli studenti che superano positivamente i compitini vengono esonerati dalla prova scritta. Bibliografia Testo adottato - ANDREW S. TANENBAUM, Architettura dei computer, un approccio strutturato, UTET Libreria, 2000. 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 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. 117 programmi - TWM triennale - 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 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 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 Siste- ma 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 DATI 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 118 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 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 programmi - TWM triennale 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. NAVATE, 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 Pres s, 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. COMMERCIO ELETTRONICO Docente Dott. Roberto Pugliese programmi - TWM triennale 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. 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-engi- 119 neering (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 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-Market- 120 programmi - TWM triennale places 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. 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, 2nd 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 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. 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. 121 programmi - TWM 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. T ROMBETTA , Corso introduttivo di Matematica, Forum, Udine, 2004. CULTURA D’IMPRESA logies), 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’approvvigionamento 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 Techno- Crediti 3 Finalità del corso Gli obiettivi didattici del corso sono due: 122 programmi - TWM triennale (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. sentando 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 - 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. - Propagazione della luce: introduzione; riflessione; rifrazione; principio di Fermat. Ottica geometrica: lenti; specchi; prismi. 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; 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/subcontractor 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 Modalità d’esame Prova scritta. Bibliografia - Appunti delle lezioni. - M. VILLA, F. VETRANO, P. COFRANCESCO, Elementi di fisica (capitoli 3 e 14), McGrawHill. 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 pre- programmi - TWM triennale 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: 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 throwaway, 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- 123 sistema, modulo. Modelli per la strutturazione dei sistemi software: modello basato su data base condiviso, modello clientserver, 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 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 objectoriented. Progettazione object-oriented (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. 124 - 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. - 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’applicazio- programmi - TWM triennale ne 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 Seventh Edition, Addison-Wesley, Harlow, UK, 2004. Anche in edizione italiana: - I. SOMMERVILLE, Ingegneria del software, 7^ 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. - Materiale didattico (slide, testi esami ed esercitazioni) disponibile su http://twm. dimi.uniud.it 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 raggiun- programmi - TWM triennale gimento 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. 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. Tec- 125 niche 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. 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. 126 programmi - TWM triennale Bibliografia - A. DIX, J. FINLAY, G. ABOWD, R. BEALE, Human Computer Interaction, Third 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. 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. 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 programmi - TWM triennale 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 ciascun studente quali testi leggere approfonditamente, come base per riflessioni personali sugli argomenti scelti, di cui egli darà poi conto nella prova scritta. Bibliografia - A.M. TESTA, Farsi Capire, Rizzoli, Milano, 2000, 406 pagine. 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 d’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. BALBONI, Parole comuni, culture diverse, Marsilio, Venezia 1999, 120 pagine. Questo breve e agile libretto inquadra in teorie linguistiche, particolarmente di tipo pragmatico, molte fra le questioni che si pongono nel comunicare, per ragioni di lavoro e altro, con persone di cultura e abitudini comunicative diverse dalla propria. Si tratta di difficoltà che è 127 illusorio credere che possano essere superate dalla sola conoscenza comune di una lingua franca quale l’inglese (magari il pidgin English). Vengono esposte alcuni fra gli svariati casi concreti di possibili incomprensioni, o di comunicazione distorta di messaggi, e modi di evitare queste situazioni. Gli studenti che desiderano approfondire questioni di interculturalità, possono ampliare le loro conoscenze mediante la lettura di testi classici, quali quelli di M.G. Gannon, di E.T. Hall e di G. Hofstede citati in bibliografia. Inoltre, per capire il modo migliore di interagire con popoli di specifiche culture, sarebbe molto utile la consultazione di alcuni fra gli innumerevoli siti web in argomento, ad esempio partendo da quelli elencati nello stesso volumetto di Balboni. - P. TABOSSI, Il linguaggio, Il Mulino, Bologna, 1999, 125 pagine. 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, 110 pagine. 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. - G. LONGO, Il Nuovo Golem, come il computer cambia la nostra cultura, Laterza, Bari, 1998, 128 pagine. 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 128 programmi - TWM triennale qualche modo fa parte del mondo dell’informatica, e che condivida o meno le tesi di Longo. - G. SARTORI, Homo Videns, Laterza, Bari 1999.153 pagine. 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, 139 pagine. 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. LABORATORIO DI SISTEMI MULTIMEDIALI Docente Prof. Elio Toppano Dott. Roberto Ranon Crediti 4 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 modellizzzione 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 Crediti 4 Sito del corso http://www.dimi.uniud.it/~dangelo/Lab OS/labos.html Finalità del corso Obiettivo del Laboratorio è quello di mettere a disposizione allo studente 129 programmi - TWM triennale 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. 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; 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, 2a edizione, 1999. - P. CORNES, The Linux A-Z, Prentice Hall, 1997. - K. HAVILAND, D. GRAY, B. SALAMA, UNIX System Programming, Addison Wesley, 2a edizione, 1999. - C. B ROWN , Unix distributed programming, Prentice-Hall 1994. - A. SILBERSCHATZ, P. GALVIN, Sistemi Operativi, IV ed, Addison Wesley, 1996. - H. DEITEL, P. DEITEL, D. CHOFFNES, Sistemi Operativi, Pearson Education Italia, 3a edizione, 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, McGraw-Hill, 1986. - A. BERSON, Client Server Architectures, II ed., McGraw Hill 1996. - A. D’ANGELO, Dispense del Corso, disponibile via Web. LABORATORIO DI TECNOLOGIE WEB Docente Dott. Paolo Omero Dott. Enrico Scoda Crediti 4 Programma Oggetto del corso sono i linguaggi di annotazione (markup): SGML, HTML, 130 programmi - TWM triennale 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 - A. F A C C H I N I , Algebra e Matematica Discreta, ed. Decibel-Zanichelli 2001. MATEMATICA DI BASE Docente Prof. Giovanna D’Agostino Crediti 3 Finalità del corso Fornire allo studente il linguaggio matematico di base e gli strumenti fondamentali per comprendere i corsi successivi. Dare un primo approccio al metodo dimostrativo fornendo numerosi esempi di dimostrazioni in un ambito matematico elementare ed incoraggiando in questo modo lo studente alla pratica delle varie tecniche di dimostrazione. Programma - Insiemi, funzioni e relazioni. - Numeri naturali: principio d’induzione, divisibilità e numeri primi, algorimo 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. - Grafi. - Matrici. Modalità d’esame Esame scritto e orale. Bibliografia - A. FACCHINI, Algebra e matematica discreta, Decibel Zanichelli. 131 programmi - TWM triennale PROGETTO DI SITI E PORTALI WEB Docente Dott. Giorgio Brajnik Crediti 5 Pagina del corso http://www.dimi.uniud.it/giorgio/dida/ psw/psw.html PROGRAMMAZIONE Docente 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 polimorfismo (cenni). Alcuni aspetti specifici della programmazione OO in Java: classi astratte, interfacce, package. - Le API (Application Programming Interface) del Java. Le “librerie” da usare per scrivere programmi non banali: per la gestione dei file, per la costruzione di interfacce utente grafiche, per implementare applet. - Teorie della computabilità e della complessità (cenni). I concetti di funzione computabile (ovvero: che cosa può fare un programma?) e di complessità computazionale (ovvero: come valutare l’efficienza di un programma, in termini di velocità di esecuzione, in modo teorico). 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, 3a edizione, 2001. ISBN 88-464-1696-1. Per le esercitazioni di laboratorio ci si baserà su: - P. COPPOLA, S. MIZZARO, Laboratorio di programmazione in Java, Apogeo, 2004, ISBN: 88-503-2145-7. A lezione verrà segnalato o fornito altro materiale (lucidi, pagine Web, dispense, altri testi consigliati). PROGRAMMAZIONE ORIENTATA AGLI OGGETTI Docente Prof. Vitaliano Milanese 132 programmi - TWM triennale Crediti 6 Programma 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. Sabrina Plet 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. programmi - TWM triennale - 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, 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 133 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-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). 134 - 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, conettività 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, programmi - TWM triennale (Quarta Edizione), Addison-Wesley, pubblicato in Italia da Pearson Education Italia, 2003. Testi di approfondimento 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. H ALSALL , Reti di Calcolatori e Sistemi Aperti, (Quarta edizione), Addison Wesley, 1998. SISTEMI OPERATIVI Docente Dott. Giorgio Brajnik Crediti 10 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’importan- programmi - TWM triennale za che applicazioni concorrenti e distribuite hanno nell’ambito del web, un moderno informatico non può non conoscere tecniche di programmazione concorrente, 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 Dott. Elio Toppano Crediti 6 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 mul- 135 timediali 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 accessibilià 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. 136 programmi - TWM triennale 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. 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 dovranno essere superate nello stesso appello. Bibliografia - L. PACE E A. SALVAN, Introduzione alla Statistica (I Statistica Descrittiva), Cedam, Padova, 1996. - G. CICCHITELLI, Probabilità e Statistica, Maggioli Editore, 1984. - Appunti delle lezioni. STATISTICA APPLICATA 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. 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. 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. 137 programmi - TWM triennale - 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. - 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 uomomacchina 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. 138 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 Alegebra 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. Testi consigliati Appunti del docente. 139 programmi - matematica triennale ALGEBRA 3 Docente Dott. Maria Silvia Lucido Crediti 6 Finalità del corso Il corso consiste in una introduzione classica alla Teoria di Galois. Si studieranno estensioni di campi. Verrà dimostrato il teorema fondamentale della Teoria di Galois. Programma Estensione di campi, estensioni normali, separabili e puramente inseparabili. Automorfismi e gruppo di galois, teorema fondamentale. Campi finiti, estensioni ciclotomiche. Prerequisiti È necessario aver seguito i corsi di Algebra 1 e 2 e Geometria 1. Modalità d’esame Scritto e orale. ALGEBRA 4 Docente Dott. Mario Mainardis nilpotenti. Azioni di gruppi e G-insiemi, nilpotenza dei p-gruppi, Teoremi di Sylow e Teorema di Schur-Zassenhaus. Azione coprima ed azione nilpotente, componenti, Teorema di Bender-Fitting, struttura locale. Gruppi simmetrici ed alterni, struttura locale gruppi lineari, cenni sui gruppi classici. Prerequisiti Teoria elementare dei gruppi, struttura dei gruppi abeliani finiti, spazi vettoriali e forme lineari. Modalità d’esame Prova orale su appuntamento. Verranno inoltre assegnati dei seminari da tenere durante il quadrimestre. Bibliografia - J.L. A LPERIN , R.B. B ELL , Groups and Representations, Springer 1995. - M. A SCHBACHER , Finite Group Theory, Cambridge University Press, 1986. - H. KURZWEIL, B. STELLMACHER, Theorie der Endlichen Gruppen, Springer 1998. - M. M AINARDIS , Appunti di Teoria dei Gruppi. - Dispense scaricabili all’indirizzo http://www.dimi.uniud.it/mainards/clas snotes.htm - M. SUZUKI, Group Theory, I, II, Springer 1982. Crediti 6 Finalità del corso Questo corso è un’introduzione alla teoria dei gruppi finiti. Si vogliono mostrare alcune tecniche di base per lo studio dei gruppi finiti, esempi fondamentali ed applicazioni. Programma Commutatori, gruppi risolubili e gruppi ALGEBRA 5 Docente Prof. Giovanni Panti Crediti 6 Finalità del corso Introdurre le nozioni fondamentali di Algebra Commutativa e di Teoria delle Categorie. 140 programmi - matematica triennale 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 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. Programma Preliminari. Relazioni e funzioni. Elementi di topologia. Limiti di successioni. Limiti di funzioni e continuità. Modalità d’esame Scritto e orale. Bibliografia - ACERBI, BUTTAZZO, Primo corso di Analisi Matematica, Pitagora. - C. CITRINI, Analisi Matematica 1, Boringhieri. - Dispense a cura del docente. ANALISI MATEMATICA 2 Docente Prof. Carlo Cecchini Crediti 6 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 Docente Dott. Maurizio Trombetta Crediti 6 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 ade- 141 programmi - matematica triennale renti, 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 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 proprieà 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. Passag- 142 programmi - matematica triennale gio 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 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. 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 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 Docente Prof. Dario Fasino Crediti 6 Finalità del corso L’analisi numerica si occupa dello studio 143 programmi - matematica triennale 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 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. Itera- zioni 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 con- 144 programmi - matematica triennale vergenza, 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. 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, incon- 145 programmi - matematica triennale tri 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. 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. 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. - 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 Ed. - M. TROMBETTA, Precorso di matematica, Forum. CORSO INTRODUTTIVO FISICA 1 Docente Prof. Fabio Zanolin 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. 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. 146 programmi - matematica triennale 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 conservazione dell’energia. Centro di massa, quantità di moto. Sistemi a massa variable. 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. Modalità d’esame L’esame consta di una prova scritta e di una prova orale. Bibliografia - D. HALLIDAY, R. RESNICK, J. WALKER, Fondamenti di Fisica, VI ed., 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. 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). Prerequisiti Nozioni di base dell’analisi matematica (limiti, derivate, integrali). Fisica 1. Modalità d’esame Prova scritta con domande di teoria ed esercizi; compiti per casa. Bibliografia - SERWAY, JEWETT, Principi di Fisica. - HALLIDAY, RESNICK, WALKER, Fondamenti di Fisica. - Appunti di lezione. 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. Programma Caduta della fisica classica. La prima for- 147 programmi - matematica triennale mulazione 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. Prerequisiti Fisica 1 e 2. Analisi applicata alle funzioni di una e più variabili. 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 ed.), Wiley 1996. - Appunti di lezione. FONDAMENTI DELLA MATEMATICA 1 Docente Prof. Franco Parlamento 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. SMULLIAN, 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. GEOMETRIA 1 Docente Prof. Paolo Cragnolini 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. Paolo Cragnolini 148 programmi - matematica triennale 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. 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. Francesco Zucconi Crediti 6 GEOMETRIA 3 Docente Prof. Francesco Zucconi 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 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 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. 149 programmi - matematica triennale - E. S ERNESI , Geometria 2, Boringhieri, Torino, 1994. - P. CRAGNOLINI, Appunti del corso. GEOMETRIA 5 Docente Prof. Pietro Corvaja - Teorema dei residui e sue applicazioni. - Funzioni meromorfe. Funzioni meromorfe notevoli. 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. Crediti 6 INFORMATICA 1 Finalità del corso Il corso è concepito come un’introduzione alla Geometria Differenziale. Programma - Superficie regolare. - Geometria della applicazione di Gauss. - Teorema egregium. - Teorema di Gauss Bonnet. - Applicazione esponenziale. - Teorema di Hopf Rinow. - Nozione di varietà astratta. - Nozione di varietà di Riemann. Bibliografia M.P. DO CARMO, Differential Geometry of Curves and Surfaces, Prentice-Hall, 1976. GEOMETRIA 6 Docente Prof. Pietro Corvaja Crediti 6 Programma - Analisi locale di una applicazione olomorfa. - Formula di Cauchy, analiticità delle funzioni olomorfe. - Serie e prodotti infiniti di applicazioni olomorfe. 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 150 programmi - matematica triennale 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 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 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, Second edition, 2001. - J.E. HOPCROFT, J.D. ULLMAN, Introduction to Automata Theory, Languages and Computation, Addison-Wesley, 1979. 151 programmi - matematica triennale - N. CUTLAND, Computability, Cambridge University Press. LINGUAGGIO MATEMATICO Docente Prof. Franco Parlamento - Calcoli dei seguenti. - 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 ed esame orale. 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. Bibliografia Appunti del docente. 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 del Corso 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 Turing C3. Codificabilità di programmi e computazioni C4. Teorema di forma normale di Kleene C5. Problemi indecidibili C6. Indecidibilità della logica di Horn. 152 Modalità d’esame Prova orale. Bibliografia - Appunti del docente. - N. CUTLAND, Computability, Cambridge University Press. MATEMATICHE COMPLEMENTARI Docente Prof. Alberto Marcone Crediti 6 Pagina del corso http://www.dimi.uniud.it/marcone/MC 2.html Finalità del corso Familiarizzare gli studenti con un tipo di software che negli ultimi anni si è molto diffuso come supporto alla didattica della matematica. Evidenziare le problematiche didattiche che l’uso di questo genere di programmi comporta. Programma Il software di geometria dinamica Cabrigéométre II ed un programma di calcolo simbolico (Derive, Maple, o Mathematica) vengono introdotti attraverso l’attività pratica in un laboratorio informatizzato. In una prima parte del corso gli studenti hanno l’opportunità di fare conoscenza delle diverse caratteristiche dei software, sia operative sia semantiche (significato delle figure di Cabri e dei risultati dei programmi di calcolo simbolico, possibilità di errore e di fraintendimento). In un secondo momento gli studenti affrontano alcuni problemi formulati in modo “aperto” e utilizzano i software per formulare e testare congetture, fino ad arrivare a soluzioni matematicamente soddisfacenti e programmi - matematica triennale complete. Questa attività permette di discutere i vantaggi e gli svantaggi dell’utilizzo di software di questo genere nell’attività scolastica, evidenziando le problematiche ad essi connesse, e conduce lo studente ad impostare unità didattiche in cui lezioni frontali e uso dei software siano integrati. Modalità d’esame Prova pratica al termine del corso, con successiva breve discussione orale. Bibliografia Numerose risorse sono disponibili in rete e verranno segnalate e utilizzate durante il corso. MATEMATICHE COMPLEMENTARI 2 Docente Prof. Alberto Marcone Crediti 6 Finalità del corso Fornire alcune competenze utili a chi 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 programmi - matematica triennale 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. MECCANICA RAZIONALE 1 Docente Dott. Stefano Ansoldi 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. 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 153 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 potenziale 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 del- 154 l’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 conservative 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 programmi - matematica triennale Meccanica classica, Editori Riuniti. - LEV 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 rispetti- 155 programmi - matematica triennale ve 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 (4ore). 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). 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). 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). Definizioni fondamentali ed esempi. Geometria della PL. Dualità. Condizioni di complementarità. Cenni sulla com- plessità della PL. Metodo del simplesso. Analisi di sensistività. Programmazione lineare intera (12). 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 156 programmi - matematica triennale 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). 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. 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 è una 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. Bibliografia - P ERKINS , High Energy Physics, IV ed., Addison-Wesley. - B.R. MARTIN, G. SHAW, Particle Physics (2nd ed.), Wiley. - Appunti di lezione, disponibili al sito: http://www.fisica.uniud.it/~cobal/particelle_welcome.html 157 programmi - matematica triennale 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. 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 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 etc.). - Condizionamento. - Funzioni generatrici. - Cenno sui processi. Modalità d’esame Scritto ed orale. PROBABILITÀ 2 Docente Prof. Paolo Vidoni 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. Docente Prof. Luigi Pace Crediti 6 Finalità del corso Il corso presenta una 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. 158 programmi - matematica triennale - 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. 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. A ZZALINI , 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 programmi - matematica triennale sistema gratuito standard per la scrittura di testi matematici. Programma Motivazioni e storia del TeX; sintassi di base; la struttura a grande scala di un documento di LaTeX; scrittura di testi; scrittura di formule matematiche. 159 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. 160 programmi - biotecnologie triennale CORSO DI LAUREA INTERFACOLTÀ IN BIOTECNOLOGIE ALGORITMI E STRUTTURE DATI Docente Prof. Paolo Serafini Crediti 5 Pagina del corso http://www.dimi.uniud.it/~serafini/ASD 0607.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 secondo 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 problemi che serviranno come paradigma nella risoluzione di particolari tipi di problemi di biologia computazionale. 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. Modalità d’esame L’esame consiste in una prova orale. BASI DI DATI Docente Dott. Nicola Vitacolonna Crediti 5 Finalità del corso Obiettivo fondamentale del corso di Basi programmi - biotecnologie triennale 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. 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. Parte 2. Il Modello Relazionale e il linguaggio SQL. Il modello relazionale: concetti e vincoli che caratterizzano il modello relazionale dei dati, operazioni di defi- 161 nizione, 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 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. 162 programmi - biotecnologie triennale 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 dr. Michele Braidotti). Altri testi di riferimento: - R. ELMASTRI, S. NAVATHE, Sistemi di basi di dati. Fondamenti, Pearson/AddisonWesley (4a Edizione Italiana), 2004. BIOCHIMICA 1 Docente Prof. Giovanna Lippe Prof. Irene Mavelli Collaboratori per le esercitazioni di laboratorio Dott.ssa S. Contessi Dott.ssa L. Tomasetig Dott.ssa E. Bisetto Crediti 6 Finalità del corso L’obiettivo de corso è di far acquisire allo studente le nozioni fondamentali della Biochimica generale strutturale e metabolica, necessarie per comprendere i meccanismi molecolari alla base dei processi vitali. Parti fondamentali del corso sono struttura e funzione delle proteine, correlazione struttura-funzione, enzimi, lipidi, membrane e trasporto, metabolismo delle principali biomolecole, meccanismi di regolazione delle vie metaboliche e loro integrazione. Inoltre il corso ha lo scopo di far acquisire allo studente le abilità di base indispensabili per affrontare un esperimento di Biochimica, nonché di applicare in laboratorio alcune nozioni acquisite durante le lezioni. Modalità di svolgimento Il corso è teorico-pratico ed è costituito da due moduli: Modulo di Biochimica strutturale con esercitazioni di laboratorio e Modulo di Biochimica metabolica. Il Modulo di Biochimica strutturale è articolato in lezioni frontali affiancate da alcune esperienze di laboratorio. Ogni esperienza di laboratorio è preceduta da un’introduzione che illustra sia l’obiettivo da perseguire e le abilità da acquisire, sia gli strumenti e i reagenti da usare. Ogni esperienza inoltre è seguita dalla discussione dei dati ottenuti. Di ogni esperienza gli studenti sono tenuti a redigere una relazione scritta, rispondendo ad eventuali quesiti formulati dal docente. Programma Biochimica Strutturale Aminoacidi e peptidi. Struttura e proprietà degli alfa-aminoacidi proteici. Proprietà delle catene laterali degli alfa-aminoacidi. Aminoacidi non proteici. Determinazione del punto isoelettrico di un aminoacido. Analisi cromatografica degli aminoacidi. Il legame peptidico e la sua struttura. I principali oligopeptidi e peptidi e loro funzione biochimica. Proteine Strutture delle proteine. Livelli strutturali: primario, secondario, terziario e quaternario. Conformazione delle proteine. Strategie per la determinazione della struttura primaria di una proteina. Struttura secondaria in alfaelica. Struttura secondaria a foglietto beta. Ripiegamenti della catena polipeptidica (beta turns) e Struttura terziaria. Varietà di strutture nelle proteine. Strutture supersecondarie e domini. Processo di strutturazione proteica. Strutture quaternarie. Proteine globulari. Proteine programmi - biotecnologie triennale fibrose costituenti strutturali di cellule e tessuti. Proteine del tessuto connettivo. Struttura del protocollageno. Idrossilazione Pro e Lys e ruolo della vitamina C. Struttura e biochimica della vitamina C. Stabilità dell’elica del collageno. Biosintesi del collageno. Proteine Coniugate. Gruppi prostetici e cofattori. Cenni su metallo-proteine e flavoproteine. Glicoproteine. Proprietà strutturali dei glicidi complessi. Glicoproteine N-glicosilate e O-glicosilate. Proteine glicate. Proteine della matrice extracellulare: proteoglicani e glucosoaminoglicani. Emoglobina e trasporto dell’ossigeno Struttura molecolare di emoglobina e mioglobina. Gruppo eme. Proprietà del legame ossigeno-eme e del legame ossigeno-CO. Curve di dissociazione ossigeno-Hb e ossigeno-Mb. Concetto di cooperatività e allosterismo. Effettori allosterici. Stati conformazionali diversi di Hb. Effetto Bohr. Effetto dei protoni e della CO2. Effetto del 2,3-DPG. Significato fisiologico del legame di 2,3DPG. Emoglobina fetale. Esempi di malattie molecolari: le emoglobinopatie. Enzimi e catalisi enzimatica. Capacità catalitica specificità e regolazione. Cinetica delle reazioni catalizzate da enzimi. Modello cinetico di Michaelis-Menten. Costante di Michaelis KM. Velocità max e numero di turnover, Costante catalitica Kcat. Specificità e riconoscimento molecolare. Inibitori reversibili e irreversibili. Regolazione enzimatica: regolazione covalente e regolazione allosterica. Un paradigma della regolazione enzimatica: la glicogeno fosforilasi. Meccanismi di azione degli enzimi. Catalisi covalente. Catalisi generale acido-basica. Catalisi da ioni metallici. Alcuni esempi rappresentativi. Lipidi, membrane e trasporto Acidi grassi: nomenclatura e caratteristiche strutturali degli acidi grassi saturi ed insaturi più rappresentati nei sistemi biologici. Triacilgliceroli. Glicerofosfolipidi. Sfingofosfolipidi. Cere. Terpeni. Steroidi. 163 Modello a mosaico fluido. Struttura delle proteine di membrana. Proteine di membrana ancorate a lipidi. Diffusione semplice e trasporto mediato da proteine. Cinetica di trasporto. Trasporto passivo e attivo. Processi di trasporto sostenuti dall’ATP. Canali ionici. Antibiotici ionofori. Biochimica Metabolica. Coenzimi utilizzati nelle reazioni metaboliche. Cenni su struttura/funzione dei seguenti coenzimi: acido lipoico; coenzimi piridinnucleotidici NAD e NADP, derivati dalla vitamina PP (nicotinamide); tiamina pirofosfato, derivato dalla vitamina B1 (tiamina); coenzima A, derivato dal pantotenato; coenzimi flavinici FAD e FMN, derivati dalla vitamina B2 (riboflavina); biotinil coenzima, derivato dalla vitamina H (biotina); piridossale fosfato, derivato dalla vitamina B6 (piridossina, piridossale, piridossamina); tetraidrofolato, derivato dal folato; deossiadenosil cobamide e metilcobamide, derivati dalla vitamina B12 (cobalamina). Bioenergetica e ossidazioni biologiche. Catabolismo e anabolismo. ATP: un composto ad alta energia. Strategie molecolari per la produzione di ATP. Reazioni chimiche accoppiate. Ossidazioni e riduzioni. Potenziali di riduzione. Carica energetica della cellula. Digestione delle proteine della dieta. Metabolismo anaerobio dei monosaccaridi. La via glicolitica. Resa in ATP della glicolisi. I destini metabolici del piruvato. Il metabolismo del lattato. Fermentazione alcolica. Regolazione della glicolisi. PFK2 e l’enzima chinasi-fosfatasi. Regolazione ormonale. Complesso della piruvato DH. Trasformazione del piruvato in acetil-CoA. Il complesso della piruvato deidrogenasi e suo meccanismo di catalisi. Metabolismo di monosaccaridi diversi dal glucosio. Fruttosio, galattosio e mannosio. Ciclo di Krebs e Ciclo del gliossilato. Ciclo di Krebs. Panoramica del ciclo di Krebs. Reazioni di decarbossilazione. Resa di ATP del ciclo di Krebs. Natura 164 anfibolica del ciclo di Krebs. Reazioni anaplerotiche. Regolazione del ciclo di Krebs. Ciclo del gliossilato nelle piante e nei batteri. Fosforilazione ossidativa e fotofosforilazione Fosforilazione ossidativa. Cenni sulle recenti acquisizioni sulla struttura del mitocondrio. Sistemi navetta malato-aspartato e glicerolo 3-fosfato. Il processo della fosforilazione ossidativa. I complessi I, II, III e IV della catena di trasporto degli elettroni. Caduta dei potenziali di ossidazione lungo la catena di trasporto degli elettroni. Il rapporto P/O: l’efficienza della fosforilazione ossidativa. Il complesso V della fosforilazione ossidativa per la sintesi di ATP. L’ipotesi chemiosmotica per l’accoppiamento della fosforilazione ossidativa. Cenni sulle proprietà strutturali e funzionali di ATPsintasi: un motore molecolare rotatorio di notevole interesse. Inibitori e disaccoppianti della fosforilazione ossidativa. Fotosintesi clorofilliana. I cloroplasti; reazione alla luce; reazioni al buio (ciclo di Calvin). Via del pentosio fosfato. Fase ossidativa e produzione di potere riducente sotto forma di NADPH. Fase non ossidativa di interconversione dei pentosi fosfati. Bilancio e regolazione della via. Gluconeogenesi. Significato metabolico e precursori non glucidici della sintesi di glucosio, organi nei quali la gluconeogenesi è attiva, localizzazione subcellulare degli enzimi. Reazioni e costo energetico della sintesi di glucosio a partire da piruvato. Cenni sulla regolazione allosterica ed ormonale. Meccanismo e significato metabolico del ciclo muscolo-fegato di Cori e dell’alanina. Metabolismo del glicogeno. Struttura chimica e distribuzione del glicogeno nell’organismo, e suo significato metabolico in relazione alla elevata concentrazione epatica e muscolare; reazioni ed enzimi della glicogenosintesi e della glicogenolisi; regolazione ormonale ed allosterica degli enzimi regolatori. Digestione dei lipidi e lipoproteine pla- programmi - biotecnologie triennale smatiche. Digestione ed assorbimento dei lipidi della dieta e loro trasporto in circolo con i chilomicroni. Lipidi di sintesi endogena: caratteristiche strutturali e funzionali delle lipoproteine VLDL, IDL, LDL, HDL. Lipolisi Beta ossidazione degli acidi grassi saturi ed insaturi. Resa energetica dell’ossidazione completa degli acidi grassi saturi ed insaturi e a numero pari e dispari di atomi C. Sintesi epatica dei corpi chetonici. Condizioni metaboliche che favoriscono la chetogenesi. Chetosi. Regolazione ormonale della lipolisi. Lipogenesi. Precursori e reazioni della biosintesi citoplasmatica degli acidi grassi. Funzionamento del complesso dell’acido grasso sintetasi. Costo energetico della biosintesi degli acidi grassi. Desaturazione degli acidi grassi. Significato biologico degli acidi grassi essenziali poliinsaturi e loro funzione quali precursori di molecole biologicamente attive. Sintesi di trigliceridi. Metabolismo del colesterolo. Funzioni del colesterolo. Cenni sulla sintesi del colesterolo. Sali biliari: caratteristiche strutturali, sito di sintesi, funzione biologica e circolo entero-epatico dei sali biliari. Digestione delle proteine della dieta. Catabolismo degli amminoacidi: destino catabolico del gruppo amminico negli animali urotelici, uricotelici e ammoniotelici. Trasferimento del gruppo amminico da alfa amminoacidi ad alfa-chetoacidi. Deamminazione ossidativa del glutammato. Ciclo dell’urea e bilancio energetico. Regolazione del ciclo dell’urea. Destino metabolico dello scheletro carbonioso degli amminoacidi. Biosintesi di amminoacidi: amminoacidi essenziali e non essenziali. Valore biologico delle proteine e bilancio dell’azoto. Metabolismo del frammento monocarbonioso. Funzione dell’S-adenosilmetionina nel ciclo del metile attivato e rilevanza di questi processi nel metabolismo degli amminoacidi e dei nucleotidi. Cenni sulla sintesi degli programmi - biotecnologie triennale amminoacidi non essenziali. Degradazione e sintesi del gruppo eme. Metabolismo dei nucleotidi purinici e pirimidinici: Cenni sulla biosintesi de novo dei nucleotidi purinici e pirimidinici. Catabolismo dei nucleotidi purinici e pirimidinici. Esercitazioni di laboratorio Durante le esercitazioni di laboratorio gli studenti devono acquisire le competenze per effettuare calcoli della concentrazione di una soluzione (molarità, normalità, percentuale), preparare soluzioni in uso nel laboratorio di Biochimica (dissoluzione di soluti di interesse biologico, diluizione, dissoluzione di sali e preparazione di tamponi), allestire un semplice esperimento di Biochimica (es.: titolazione di un amminoacido, dosaggio del contenuto totale di proteine in soluzioni acquose e in materiali biologici). Pertanto gli argomenti affrontati sono i seguenti. Preparazioni di soluzioni a titolo noto: uso della bilancia analitica e della bilancia tecnica, procedure per la dissoluzione di un soluto solido e per portare al volume finale la soluzione, diluizioni. Preparazioni di soluzioni tampone: uso del pHmetro, preparazione dei tamponi di uso più frequente nel laboratorio di Biochimica. Studio delle proprietà acido/base e delle proprietà tampone degli amminoacidi: costruzione di curve di titolazione e determinazione dei pKa. Dosaggio spettrofotometrico con il metodo di Lowry del contenuto totale di proteine in miscele proteiche e campioni biologici: derivatizzazione dei campioni per la formazione del cromogeno, applicazione della legge di Lambert-Beer, standardizzazione del saggio (costruzione del grafico di taratura utilizzando albumina come proteina standard e verifica dell’intervallo di linearità), determinazione della concentrazione incognita di proteine, valutazione dell’errore analitico e della precisione del saggio. Determinazione spettrofotome- 165 trica del contenuto di gruppi tiolici in miscele di proteine e campioni biologici: derivatizzazione dei campioni con il reagente specifico per i gruppi tiolici acido 5,5-ditiobis 2-nitrobenzoico (DTNB), standardizzazione del saggio (costruzione della curva di taratura con glutatione e verifica dell’intervallo di linearità), determinazione della concentrazione incognita di tioli, valutazione dell’errore analitico e della precisione del saggio. Prerequisiti Gli studenti devono aver seguito i corsi di Chimica Generale, di Chimica Organica e di Fisica con particolare riguardo agli argomenti di Chimica fisica. Modalità d’esame L’esame consiste in una prova scritta finalizzata a verificare sia le conoscenze acquisite nei due Moduli che le competenze acquisite nelle esercitazioni di laboratorio. La prova consiste in domande a risposta aperta breve e/o a scelta multipla, nonché nella soluzione di problemi sperimentali relativi alle esercitazioni di laboratorio condotte. Contribuiscono alla valutazione complessiva anche le relazioni scritte di ogni esperienza di laboratorio che gli studenti durante il corso sono tenuti a redigere, rispondendo ad eventuali quesiti formulati dal docente. Bibliografia - D.L. NELSON, M.M. COX, Principi di Biochimica di Lehninger, 2002, III edizione, Zanichelli. - D. VOET, J. VOET, C. PRATT, Fondamenti di Biochimica, 2001, Zanichelli. - J.M. B ERG , J.L. T YMOCZKO , L. S TRYER , Biochimica, 2003, V edizione, Zanichelli. - L. HARPER, R.K. MURRAY, D.K. GRANNER, P.A. MAYES, V.W. RODWELL, Biochimica, 26/ed., 2004 McGraw-Hill. Agli studenti vengono fornite dispense contenenti i protocolli degli esperimenti 166 programmi - biotecnologie triennale da effettuare in laboratorio con approfondimenti relativi alle tecniche usate, nonché alcuni manuali per l’uso di strumenti. BIOCHIMICA 2 Docente Prof. Irene Mavelli Prof. Anna Pilotti Dott. Stefania Contessi Collaboratori per le esercitazioni di laboratorio Dott. Lara Tomasetig Crediti 6 Finalità del corso Il corso si propone di fornire allo studente le nozioni fondamentali delle metodologie biochimiche indispensabili per eseguire protocolli sperimentali finalizzati alla comprensione dei meccanismi molecolari che stanno alla base dei processi vitali della cellula. I Moduli di Metodologie biochimiche e di Laboratorio di Metodologie biochimiche vertono sulle metodologie per l’isolamento e la purificazione di proteine e sulle tecniche analitiche per il monitoraggio della purificazione. Inoltre il Modulo di Enzimologia approfondisce le metodiche per lo studio dell’attività enzimatica e tratta le applicazioni degli Enzimi come strumento di analisi con particolare riguardo agli ambiti di interesse biotecnologico. Il corso è finalizzato all’acquisizione di conoscenze teoriche e di competenze pratiche ed è pertanto articolato in esperienze di laboratorio integrate con lezioni frontali. Nelle lezioni vengono fornite le basi teoriche delle metodologie e tecniche utilizzate in laboratorio, nonché le informazioni relative a possibili applicazioni e sviluppi avanzati di queste. Ogni esperienza di laboratorio è precedu- ta da un’introduzione che illustra sia il problema sperimentale da affrontare e l’obiettivo da perseguire, sia gli strumenti e i reagenti da usare. Ogni esperienza inoltre è seguita dalla discussione dei dati ottenuti. Programma Modulo di Metodologie Biochimiche (Prof. I. Mavelli) Purificazione di proteine. Applicazioni di interesse biotecnologico. Definizione di strategie per la purificazione di una proteina e conoscenze richieste relative alle proprietà della proteina. Tecniche attualmente in uso per la purificazione di proteine: tecniche separative e tecniche analitiche. Procedure basate sulla solubilità differenziale di proteine: salting out, precipitazione con ioni di metalli bivalenti e con solventi organici, precipitazione isoelettrica. Procedure basate su separazioni cromatografiche selettive. Scelta degli obiettivi della purificazione in relazione a qualità e quantità del prodotto da ottenere ed ai costi della procedura da adottare. Fasi della purificazione. a) Scelta del materiale di partenza; b) isolamento di frazioni subcellulari; c) estrazione, solubilizzazione e isolamento di proteine: procedure per proteine intracellulari solubili, per proteine intracellulari di membrana, per proteine extracellulari, per proteine ingegnerizzate (sovraespresse in organismi manipolati geneticamente con una sequenza peptidica che promuove l’esportazione dalle cellule); d) purificazione della proteina isolata; e) concentrazione del campione, filtrazione, ultrafiltrazione e dialisi; f) conservazione della proteina purificata: congelamento e liofilizzazione. Tecniche separative Tecniche centrifugative. Scopo e principi generali della centrifugazione preparati- programmi - biotecnologie triennale va, tipi di centrifughe, tipi di rotori, centrifugazione differenziale e in gradiente di densità. Tecniche cromatografiche: principi generali e tipi di cromatografia. Cromatografia liquida per esclusione molecolare, scambio ionico, adsorbimento e interazione idrofobica, partizione in fase normale ed in fase inversa, affinità. Cromatografia su colonna. Fasi, ottimizzazione della separazione cromatografica, interpretazione dei cromatogrammi, analisi quantitativa: standardizzazione esterna e standardizzazione interna. Cromatografia liquida ad alta risoluzione. HPLC e FPLC, tipi di rivelatori, applicazioni avanzate: micro e nanoHPLC. Monitoraggio del processo di purificazione. Saggi per la determinazione del contenuto totale di proteina. Saggi enzimatici, saggi immunologici. Determinazione di attività specifica, fattore di purificazione e resa. Tecniche elettroforetiche. Principi generali. Tipi di elettroforesi attualmente in uso per separazione e analisi di miscele complesse di proteine: elettroforesi in condizioni native e in condizioni denaturanti (SDS-PAGE). Isoelettrofocalizzazione. Metodi di rilevazione e analisi quantitativa. Tecniche elettroforetiche avanzate: Elettroforesi bidimensionale, elettroforesi capillare e ad alta risoluzione. Criteri di omogeneità e di purezza delle proteine. Elettroforesi. Ultracentrifugazione analitica: principi generali e applicazioni (criterio di purezza, analisi delle caratteristiche di sedimentazione di proteine ed altre macromolecole, determinazione della massa molecolare). Vantaggi e svantaggi dell’ultracentrifugazione analitica rispetto gli altri metodi di determinazione della massa molecolare: SDS-PAGE, cromatografia liquida per esclusione molecolare, spettrometria di massa. 167 Modulo di Laboratorio di Metodologie Biochimiche (Dott. S. Contessi) Le esperienze di laboratorio riguardano: Isolamento con tecniche basate sulla solubilità differenziale da sospensioni di mitocondri di cuore bovino del complesso proteico che costituisce la porzione catalitica F1 dell’enzima F0F1ATPsintasi Separazione della proteina inibitrice di ATPsintasi (IF1) mediante precipitazione in etanolo in presenza di ammonio solfato esuccessiva dialisi Purificazione mediante Cromatografia liquida per gel-filtrazione di F1 dalla frazione arricchita ottenuta nel corso della prima esperienza Determinazione mediante il metodo dell’acido bicinconinico (BCA) della quantità di F1 eluita dalla colonna cromatografia. Calcolo della resa Separazione mediante Cromatografia liquida per gel-filtrazione di una miscela di proteine e composti a basso peso molecolare: es. emoglobina e vitamina B12. Purificazione del lisozima mediante cromatografia a scambio ionico Elettroforesi di proteine su gel di poliacrilamide in condizioni denaturanti (SDS-PAGE) Colorazione e conservazione del gel Gli studenti alla fine del corso dovranno aver acquisito la capacità di eseguire procedure di purificazione e analisi di proteine con tecniche di base. In particolare dovranno saper fare: precipitazione frazionata di proteine (salting out, denaturazione al calore, precipitazione con solventi organici), dialisi, centrifugazione, allestimento di una colonna cromatografica sviluppo di una cromatografia per la separazione di proteine, monitoraggio delle fasi della cromatografia mediante dosaggio del contenuto di proteina, 168 programmi - biotecnologie triennale preparazione di un gel per elettroforesi in condizioni denaturanti corsa elettroforetica colorazione di bande proteiche su gel. Prerequisiti Gli studenti devono aver seguito i corsi di Chimica Generale, Chimica Organica e Biochimica 1. Modalità d’esame L’esame consiste in una prova scritta finalizzata a verificare sia le conoscenze che le competenze acquisite. La prova consiste nella soluzione di problemi sperimentali relativi alle esperienze pratiche condotte, nonché in domande a risposta aperta breve e/o a scelta multipla. Contribuiscono alla valutazione complessiva anche le relazioni scritte di ogni esperienza di laboratorio che gli studenti durante il corso sono tenuti a redigere, rispondendo ad eventuali quesiti formulati dal docente. Bibliografia - NINFA-BALLOU, Metodologie di Base per la Biochimica e la Biotecnologia, Zanichelli, 2000. - WILSON-WALKER, Le bioconoscenze e le biotecnologie in Laboratorio, nuova edizione, Cortina, 2001. Agli studenti vengono forniti i protocolli degli esperimenti, alcuni manuali per l’uso di strumenti e dispense di approfondimento relative a tecniche applicate in laboratorio. Finalità del corso Fornire gli strumenti conoscitivi (teorici ed informatici) per l’analisi della struttura dei genomi eucarioti. Verranno analizzati genomi già sequenziati (uomo, topo, Arabidopsis, riso) per capire come si arriva a sequenziare un genoma e come si può usare una sequenza genomica. Programma Costruzione di mappe genetiche. Mappatura per linkage e per associazione. Strumenti informatici per mappatura genetica. Costruzione di mappe fisiche. Mappatura con ibridi di radiazione. Mappatura tramite STS e tramite fingerprinting. Strumenti informatici per mappatura fisica. Sequenziamento di genomi. Sequenziamento sistematico di EST e full length cDNAs. Sequenziamento di frazioni arricchite in sequenze a copia singola. Sequenziamento genomico clone per clone e per whole genome shotgun. Strumenti informatici per sequenziamento e per assemblaggio di sequenze genomiche. Annotazione dei genomi. Identificazione di sequenze ripetute. Predizione di geni, predizione di sequenze regolatorie. Strumenti informatici per l’annotazione dei genomi. Visualizzazione dei genomi. Strumenti informatici per la visualizzazione dei genomi. Ensembl e Gmod. Prerequisiti Genetica I e II, Biologia Molecolare I e II, Biologia cellulare I e II, Informatica, Prova di conoscenza Inglese. BIOINFORMATICA 1 Docente Prof. Michele Morgante Crediti 4 Bibliografia Testi consigliati - D. MOUNT, Bioinformatics: Sequence and Genome Analysis, Second Edition, Cold Spring Harbor Laboratory Press, Cold Spring Harbor, NY (http://www.cshlpress.com) programmi - biotecnologie triennale - T.A. BROWN, Genomi, Ed. EdiSES (2003). ISBN 8879592696 - Materiale fornito dal docente. Modalità d’esame Scritto. Orario di ricevimento Tutti i giorni previo appuntamento con docente. 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 3dimensionali. Data Base strutturali. BIOLOGIA 1 Docente Prof. Claudio Schneider Crediti 3 Programma Struttura ed organizzazione delle cellule animali e vegetali. La logica della compartimentazione cellulare: struttura degli organelli cellulari. Membrane biologiche e compartimentazione cellulare: scambio di materiali cel- 169 lula/ambiente, comunicazione intracellulare, fusione e fissione di membrane. I codici e le basi molecolari dei meccanismi di indirizzamento delle proteine nei vari compartimenti cellulari. La via secretoria: codici e meccanismi di decodificazione per l’indirizzamento d’ingresso. Scambio di proteine tra i vari compartimenti di membrana nella via secretoria: basi molecolari del movimento tra i vari comparti. La via dell’endocitosi: indirizzamento d’ingresso. Scambio di proteine tra i vari compartimenti nella via dell’endocitosi: basi molecolari del movimento tra i vari comparti. La via mitocondriale: segnali e meccanismi di decodificazione per l’indirizzamento d’ingresso e sublocalizzazione nei vari comparti mitocondriali . La via cloroplastica: segnali e meccanismi di decodificazione per indirizzamento d’ingresso e sublocalizzazione nei vari comparti. La via perossisomiale: segnali e meccanismi di decodificazione per l’indirizzamento d’ingresso. La via nucleare: segnali e meccanismi di decodificazione per l’indirizzamento d’ingresso e d’uscita. Anatomia molecolare del citoscheletro cellulare e sua funzione nell’organizzazione cellulare. Filamenti intermedi: caratteristiche, classi e distribuzione tissutale. Polimerizzazione ed assemblaggio, le eptadi. La lamina nucleare. Filamenti intermedi e patologie. Microtubuli Tubulina: proprietà assemblaggio e polarità. MAPs, Tau ed organizzazione in vivo dei microtubuli. Organizzazione dei microtubuli all’interno della cellula: centrosoma (MTOC) estremità +/-, instabilità dinamica, tubulina. Actina: assemblaggio dei monomeri, polarità regolazione della polimerizzazio- 170 programmi - biotecnologie triennale ne, farmaci depolimerizzanti/stabilizzanti, analisi comparata microtubuli-microfilamenti. Regolazione della polimerizzazione della actina in vivo: ARPs, proteine che legano l’actina (ABPs). Bibliografia Testi utilizzati anche nel corso di Biologia Cellulare II/II anno: - T. POLLARD, W. EARNSHAW, Cell biology, casa editrice Saunders-Elsevier, 2002. - B. ALBERTS ET AL., Molecular biology of the cell, casa editrice Garland, IV edizione 2002. BIOLOGIA 2 Docente Prof. Claudio Schneider Crediti 9 Finalità del corso Introdurre lo studente alle tecniche correnti della biologia cellulare e della genomica concentrandosi sugli aspetti teoricopratici delle metodiche attualmente utilizzate per lo studio 1) della proliferazione cellulare, in particolare sull’apoptosi, 2) della trasduzione del segnale, in particolare sulla pathway PI3K/S6-chinasi, e 3) della genomica funzionale, in particolare sulla individuazione di pathways molecolari. Durante lo svolgimento dei laboratori saranno fornite le basi teoriche per comprendere in modo critico i diversi protocolli sperimentali. Gli studenti saranno organizzati in piccoli gruppi e sarà privilegiato per quanto possibile un approccio ‘hands-on’. Modulo 1 Controllo Proliferazione Cellulare - 30 ore Docente: prof. Claudio Brancolini (Dipar- timento di Scienze e Tecnologie Biomediche, Università di Udine). Programma Linee cellulari e condizioni di coltura: cosa sono le linee cellulari. L’hardware di laboratorio per colture cellulari, cappe incubatori e microscopi. Il mantenimento delle linee cellulari. Preparare un esperimento per lo studio della morte cellulare. Conta cellule vitali per mezzo del tripan-blue. Analisi delle proteine: preparazione di estratti proteici totali da linee cellulari. Elettroforesi di proteine su gel di acrilamide discontinuo SDS-PAGE. Elettrotrasferimento di proteine su membrana (Western blot). Rilevamento della banda proteica tramite anticorpi e reazione immuno-enzimatica. Come valutare la morte cellulare con saggi immunoenzimatici. Il trasferimento di DNA esogeno: rassegna delle metodologie disponibili. La trasfezione mediante Calcio-fosfato. Induzione della morte cellulare mediante sovraespressione ectopica di geni regolatori del programma apoptotico. Modulo 2 Traduzione del Segnale - 30 ore Docente: dott. Sandro Goruppi (New England Medical Centre Boston USA). Programma Il programma sarà focalizzato sull’analisi di una chinasi coinvolta nella sintesi proteica e nella trasformazione cellulare (S6K). Fibroblasti di topo in coltura saranno deprivati di fattori di crescita (analisi dell’effetto dei fattori di crescita sulla pathway), oppure trasferiti in un mezzo per simulare la deprivazione di amino acidi o glucosio (PBS+/- glu) per simulare gli effetti che si verificano nell’infarto miocardico. Gli estratti proteici totali saranno analizzati in Western programmi - biotecnologie triennale blot e saranno fornite le basi teoriche/pratiche per analizzare i risultati. Nella seconda settimana si analizzerà l’effetto della attivazione costitutiva della stessa pathway da parte di un oncogene. La trasfezione di un cDNA esogeno (myr-aktattivato-myc tagged) sarà effettuata mediante calcio fosfato e la proteina espressa sarà visualizzata con Western blot usando anticorpi che riconoscono una sequenza artificiale (tag). Sarà approfondito il discorso di a) attivazione mediante localizzazione mirata b) attivazione per mutazione di specifici amino acidi regolativi c) introduzione di sequenze tag per discernere il transgene dall’endogeno. Nell’ambito della parte teorica sarà accennato il coinvolgimento di questa via di trasduzione del segnale nelle patologie ereditarie. Modulo 3 Genomica Funzionale - 30 ore Docente: prof. Claudio Schneider con la collaborazione dei ricercatori LNCIB-Area Science Park Padriciano Trieste: dott. Luigi Marchionni, dott. Roberto Verardo e dott. Emiliano Dalla. Programma Reperimento di informazioni per lo studio della Genomica Funzionale. Utilizzo della Homepage dell’NCBI: PubMed, Entrez, Nucleotide, Protein, OMIM e Books. Similarity Searching : utilizzo dell’NCBI BLAST Navigare nel Genoma Umano: EnsEMBL Human Genome Browser L’analisi fisica del Trascrittoma. Costruzione di clonoteche cDNA a lunghezza completa e loro impiego . Produzione ed ibridazione di cDNA microarray. Preparazione del Probe: scelta delle superfici idonee, purificazione dei prodotti da depositare su vetrino, condizioni di printing. Preparazione del cDNA target: 171 incorporazione diretta e indiretta dei fluorofori e purificazione del cDNA ottenuto. Ibridazione statica e dinamica. L’Analisi dei dati ottenuti mediante cDNA microarray: saranno in primo luogo affrontate le problematiche relative all’analisi delle immagini ottenute mediante ibridazione di cDNA microarray, per poi proseguire con gli aspetti fondamentali relativi all’analisi dei segnali ottenuti. In particolare saranno presentati i principali approcci d’indagine correntemente utilizzati in questo tipo di ricerca, quali gli algoritmi di clustering e gli approcci statistici per la selezione dei geni differenzialmente espressi. Saranno infine presentate alcune metodiche utilizzate per l’analisi funzionale e l’interpretazione delle liste di geni comunemente ottenute con le succitate metodiche. La parte pratica prevedrà l’applicazione di alcuni degli algoritmi di clustering precedentemente affrontati a livello teorico. Modalità d’esame L’esame sarà unico per tutti e tre i moduli e sarà basato su domande ad incastro, vero/falso e libere. La votazione ottenuta nel Modulo Teorico Biologia 2 del precedente periodo didattico verrà mediata. Bibliografia Testi di riferimento Essendo un corso pratico, basato su tecnologie in rapida evoluzione non esiste un testo di riferimento. Gli appunti ed i protocolli sperimentali saranno il principale riferimento per la valutazione dello studente. Per la parte teorica lo studente dovrà utilizzare ed integrare informazioni che possono essere recuperate su diversi manuali da laboratorio, su testi aggiornati di biologia cellulare e sulle indicazioni/tracce/siti-web che verranno indicati dai docenti. 172 programmi - biotecnologie triennale Altri testi consultabili: - Molecular Biology of the Cell, Fourth Edition, Garland 2002 - Cell Biology, Pollard and Earnshaw Saunders, 2002 - J. S AMBROOK , P.D. RUSSELL , Molecular Cloning: A Laboratory Manual, Third Edition, 2001 CSHL - E. HARLOW, D. LANE, Using Antibodies: A Laboratory Manual, 1999 CSHL - D.L. SPECTOR, R.D. GOLDMAN LESLIE, A. L EINWAND , Cells: A Laboratory Manual, 1998 CSHL BIOLOGIA 2 Modulo Teorico Docente Prof. Claudio Schneider Programma Introduzione alla Trasduzione del segnale Le Molecole segnaletiche ed i recettori di plasma-membrana Recettori accoppiati a Proteine-G Trimeriche che attivano o inibiscono AdenilatoCiclasi Recettori accoppiati a Proteine-G che modulano Canali Ionici Recettori accoppiati a Proteine-G che attivano Fosfolipasi C Attivazione della Trascrizione genica da Recettori Accoppiati a Proteine G Recettori per Citochine ed il percorso segnaletico JAK-STAT Recettori Tirosin-Chinasi ed attivazione di Proteine G Monomeriche della famiglia Ras Fosfoinositidi come Trasduttori di segnale: il percorso di PI3K Recettori di TGF-beta, Wnt, SHH ed altri percorsi segnaletici rilevanti nella trasduzione di segnali proliferativi e di sviluppo embrionale. Meccanismi e percorsi segnaletici che coinvolgono processamento proteolitico Notch, SHH. Integrazione dei segnali, percorsi di trasduzione e controllo globale della trascrizione genica Analisi Genetica del ciclo cellulare nei lieviti S. pombe ed S. cerevisiae Analisi biochimica del ciclo cellulare in oociti, embrioni: cicline e cdk Regolazione del ciclo cellulare delle cellule eucariotiche Controllo a checkpoint del ciclo cellulare nelle cellule di mammifero Meccanismi di Integrazione a checkpoint: Rb, p53, ARF L’apoptosi e meccanismi molecolari effettori e regolatori dell’apoptosi Disregolazione del ciclo cellulare ed oncogenesi molecolare Mutazioni di trasduttori e percorsi segnaletici: oncogeni e soppressori tumorali BIOLOGIA MOLECOLARE 1 Docente Prof. Franco Quadrifoglio Crediti 3 Finalità del corso Comprensione del rapporto tra struttura ed attività nelle macromolecole di interesse biologico. Comprensione dei meccanismi molecolari responsabili della trasmissione, espressione ed evoluzione dei caratteri ereditari nella cellula. Programma Struttura degli acidi nucleici. La struttura primaria del DNA. Polimorfismi di struttura del DNA. Stabilità del DNA: denaturazione. Interazione DNA-proteine. Le proprietà topologiche dei DNA chiusi. Sequenziamento del DNA. Mappe di restrizione ed enzimi di restrizione. La struttura dell’RNA. Metodi sperimentali per la separazione di acidi nucleici: elet- 173 programmi - biotecnologie triennale troforesi e centrifugazione. Organizzazione dei cromosomi. Replicazione del DNA. Le proprietà delle DNA polimerasi. Inizio della replicazione e componenti dell’apparato di replicazione. Fedeltà della replicazione. Asimmetria nella replicazione. I telomeri e la telomerasi. Lesioni e riparo del DNA. Le principali lesioni del DNA e i meccanismi di riparo. Riparazione post-replicazione. Ricombinazione. Ricombinazione omologa. Ricombinazione sito-specifica: trasposizione, riarrangiamento dei geni delle immunoglobuline. Amplificazione genica. La trascrizione. RNA polimerasi batteriche ed eucariotiche. Il meccanismo della trascrizione nei procarioti e negli eucarioti. Fattori di trascrizione. Geni monocistronici e policistronici. Attivatori e repressori nella trascrizione. Attenuazione nella trascrizione. Sequenze regolatrici nei procarioti e negli eucarioti: promotori e potenziatori. La regolazione della trascrizione nei procarioti e negli eucarioti. Gli ormoni peptidici e gli ormoni steroidei: meccanismo di controllo della trascrizione negli eucarioti. Relazione tra struttura della cromatina e trascrizione. Metilazione del DNA. Maturazione e turnover dell’RNA. Maturazione degli RNA ribosomiali e transfer. Maturazione degli mRNA eucariotici. Meccanismi di splicing. Splicing alternativi. Editing dell’RNA. Degradazione dell’RNA. Sintesi proteica. Il codice genetico. Struttura e funzione dei t-RNA. Struttura e funzione dei ribosomi. La sintesi proteica. La regolazione della sintesi proteica. La stabilità ed il turnover delle proteine. Bibliografia Testi consigliati: - B. A LBERTS ET AL ., Biologia molecolare della cellula, Zanichelli - G.M. COOPER, La cellula. Un approccio molecolare, Zanichelli T.A. BROWN, Genomi, EdiSES. BIOLOGIA MOLECOLARE 2 Docente Prof. Franco Quadrifoglio Dott. Gianluca Tell Crediti 9 Programma 1. L’espressione genica e la sua regolazione. Organismi procarioti RNA Polimerasi batteriche Interazioni proteina-DNA e loro metodi di studio. Reclutamento regolato: i geni lac. Repressione ed attivazione. Reclutamento regolato: il caso del batteriofago l. Antiterminazione. Attivazione della polimerasi. Il gene glnA ed altri geni ad esso funzionalmente correlati. Organismi eucarioti. RNA Polimerasi eucariotiche. Fattori di trascrizione e struttura della cromatina. Famiglie di fattori di trascrizione. Metodi per lo studio dei fattori di trascrizione. Complesso basale di trascrizione. Attivazione dell’espressione genica da parte dei fattori di trascrizione. Repressione dell’espressione genica da parte dei fattori di trascrizione. Regolazione della sintesi dei fattori di trascrizione: esempi. Regolazione dell’attività dei fattori di trascrizione: esempi. Fattori di trascrizione e malattie. L’espressione genica e il trascrittoma. I microarrays. Analisi seriale dell’espres- 174 sione genica. Le proprietà dei trascrittomi. La proteomica e la genomica funzionale. Bibliografia Libri di testo consigliati: - D.S. LATCHMAN, Eukaryotic transcription factors, Quarta edizione, Elsevier academic press. - M. P TASHNE , A. G ANN , Geni e segnali, Zanichelli - G. GIBSON, S.V. MUSE, Introduzione alla genomica, Zanichelli. Finalità del corso di Laboratorio Fare acquisire allo studente le competenze per l’utilizzo delle tecniche di base in Biologia Molecolare. È articolato in lezioni frontali affiancate da esperienze di laboratorio, in cui lo studente ha modo di acquisire le abilità di base indispensabili per affrontare un esperimento di Biologia Molecolare, nonché di applicare alcune nozioni acquisite durante le lezioni. Ogni esperienza di laboratorio è preceduta da un’introduzione che illustra sia l’obiettivo da perseguire e l’abilità da acquisire, sia gli strumenti e i reagenti da usare. Ogni esperienza inoltre è seguita dalla discussione dei dati ottenuti. Prerequisiti Gli studenti devono aver seguito i corsi di Chimica Generale, di Chimica Organica, Fisica, Biochimica 1, Biochimica 2 e Biologia Molecolare 1 con particolare riguardo agli argomenti di Biologia Molecolare 1. Modalità d’esame Prova scritta con esercizi. Bibliografia - B.R. GLICK, J.J. PASTERNAK, Biotecnologia molecolare, 2003, Bologna, Zanichelli - Articoli e riferimenti specifici aggiornati indicati dal docente. programmi - biotecnologie triennale Programma La tecnologia del DNA ricombinante Gli Enzimi di restrizione, caratteristiche, tipi e modalità di funzionamento. I Vettori di clonaggio e i vettori di espressione: caratteristiche e loro utilizzo. Creazione e screening di una genoteca. Vettori basati sul batteriofago, i cosmidi. Trasformazione genetica dei procarioti. Sintesi chimica, sequenziamento e amplificazione del DNA. La manipolazione dell’espressione genica nei procarioti L’espressione genica da promotori forti e regolabili Le proteine di fusione Ottimizzazione delle condizioni di espressione di proteine ricombinanti La produzione di proteine ricombinanti nelle cellule eucariotiche I sistemi di espressione a base di Saccharomyces cerevisiae I sistemi di espressione basati sulle cellule di insetto in coltura I sistemi di espressione per le cellule di mammifero I sistemi di espressione in cellule vegetali La mutagenesi mirata e la manipolazione delle proteine I procedimenti per la mutagenesi mirata La manipolazione delle proteine Biotecnologia molecolare Gli anticorpi monoclonali. Gli anticorpi monoclonai come agenti terapeutici. La produzione di anticorpi in E. coli. Le librerie fagiche di scFv. Produzione su larga scala di proteine da microrganismi ricombinanti. Metodologie per lo studio della regolazione trascrizionale Tecniche per lo studio dell’espressione di un gene e per l’identificazione dei siti di inizio trascrizione (RT-PCR, Northern blot, Primer extension analysis, S1 nuclease, RNAse protection, Run-on assay). 175 programmi - biotecnologie triennale Tecniche per lo studio delle regioni regolatorie (promotori, enhancers) Identificazione e studio funzionale delle proteine leganti il DNA con funzione regolatoria (Electrophoretic Mobility Shift Assay e South Western) Tecniche di analisi dell’espressione genica differenziale Differential Display DNA microarrays SAGE. Tecniche di analisi proteomica Metodi per la Differential Display Proteomics. Tecniche di separazione, analisi d’immagine e utilizzo delle banche dati di 2-DE. Metodi per la Cell Mapping Proteomics e la Functional Proteomics. Tecniche per lo studio dei networks di interazione proteina-proteina (GST-Pulldown, Co-immunoprecipitazione, Cross-linking chimico, doppio ibrido in lievito, Phage-display, TAP-Tag technology). Teoria sulle tecniche per il silenziamento dell’espressione genica Tecniche dell’anti-senso, dell’anti-gene ed RNA-interference Utilizzo di radioisotopi in biologia molecolare Manipolazione di Radioisotopi: tipi e utilizzo. ecniche per la marcatura di acidi nucleici e proteine. Esperienze di Laboratorio La tecnologia del DNA ricombinante Preparazione di cellule competenti e trasformazione batterica. Valutazione dell’efficienza di trasformazione (Esperienza di Laboratorio) Preparazione di DNA plasmidico: crescita, minipreps e analisi del DNA plasmidico su gel di agarosio mediante analisi di restrizione (Esperienza di Laboratorio). Analisi, amplificazione di DNA e clonaggio. Subclonaggio di un dominio proteico: Analisi su gel denaturante di oligonucleotidi di sintesi (Esperienza di Laboratorio). Preparazione di un amplificato di DNA da subclonare tramite PCR e purificazione su gel (Esperienza di Laboratorio). Analisi e screening dei subcloni (Esperienza di Laboratorio). La manipolazione dell’espressione genica nei procarioti Espressione e purificazione di proteine ricombinanti. Messa a punto delle condizioni ottimali di espressione di una proteina di fusione e sua purificazione parziale su resina di affinità (Esperienza di Laboratorio). Metodologie per lo studio della regolazione trascrizionale Estrazione, purificazione e analisi di RNA e preparazione di cDNA Estrazione di RNA da colture cellulari e amplificazione tramite RT-PCR di un gene espresso (Esperienza di Laboratorio). Studio dell’interazione proteina-DNA Saggi di Electrophoretic Mobility Shift Assay (Esperienza di Laboratorio) Tecniche di analisi proteomica Applicazioni della proteomica. Analisi proteomica differenziale di estratti cellulari mediante elettroforesi bidimensionale su gel. Tecniche standard per l’identificazione e la caratterizzazione delle interazioni proteina-proteina Identificazione delle interazioni proteina-proteina mediante proteine di fusione con tag di Glutation-STrasferasi (Esperienza di GST-Pulldown). CHIMICA ANALITICA Docente Prof. Gino Bontempelli Crediti 3 Finalità del corso L’insegnamento può essere riguardato 176 come composto da due parti, nella prima delle quali ci si propone di fornire nozioni di chimica analitica generale, con riferimento particolare a quegli argomenti fondamentali di carattere formativo che concorrono a creare la base culturale indispensabile nell’affrontare qualsiasi operazione chimico-analitica. Nella seconda parte l’attenzione viene invece focalizzata sui sensori e biosensori specifici, illustrandone i principi costruttivi e di funzionamento assieme alle diverse strategie adottabili sia nello stadio di sensorizzazione che in quello di trasduzione dei fenomeni sfruttati in segnali rilevabili. Programma Aspetti generali degli equilibri in soluzione. Equilibri acido-base. Equilibri redox. Tipologie di sensori e biosensori. Sensori a fibra ottica. Sensori termoelettrici. Sensori piezoelettrici. Sensori elettroanalitici. Sensori ad enzima. Sensori immunochimici. Sensori ad anticorpi artificiali. Prerequisiti Superamento degli esami di Chimica generale ed inorganica e di Biochimica 1. Modalità d’esame Prova orale. Bibliografia Testi consigliati: - G.D. CHRISTIAN, J.E. O’RELLEY, Instrumental analysis, Allyn and Bacon, Boston, 1986. - G. SAINI, E. MENTASTI, Fondamenti di chimica analitica; Chimica analitica strumentale, Utet, Torino, 1995. - F.W. FIFIELD, D. KEALEY, Chimica Analitica; Teoria e pratica, Zanichelli, Bologna, 1999. programmi - biotecnologie triennale Orario di ricevimento Lunedì-venerdì dalle 15.30 alle 17.00, previo appuntamento. CHIMICA GENERALE Docente Prof. Pierluigi Rigo Crediti 5 Finalità del corso Il corso si propone di fornire allo studente le conoscenze di base della struttura della materia (atomi e molecole) e delle leggi che regolano le reazioni chimiche, facendo riferimento alle proprietà chimiche dei principali elementi del sistema periodico. Nel corso saranno trattati gli aspetti cinetici e termodinamici delle reazioni chimiche, con particolare riferimento agli equilibri acido base e ai processi ossido-riduttivi chimici ed elettrochimici. Programma - La composizione della materia. Elementi, composti e miscele. Atomi. Particelle elementari. Peso atomico. Molecole. Peso molecolare. Mole e numero di Avogadro. Composizione percentuale dei composti chimici. Formule chimiche. - Le reazioni chimiche. Simbologia delle reazioni. Bilanciamento delle equazioni. Relazioni ponderali nelle equazioni chimiche. Calcoli stechiometrici. Reazioni di ossido-riduzione e loro bilanciamento. - Atomi e molecole. La struttura dell’atomo di idrogeno. Orbitali atomici e numeri quantici. La struttura degli atomi polielettronici. Il principio di esclusione e regola di Hund. Sistema periodico degli elementi. Potenziale di ionizzazione, affinità elettronica, elettronegatività. - Il legame chimico. Legame ionico, cova- 177 programmi - biotecnologie triennale lente, metallico. Regola dell’ottetto. Strutture di Lewis per molecole biatomiche e poliatomiche. Forma delle molecole e repulsione tra coppie di elettroni. Molecole polari ed apolari. La teoria del legame di valenza. Teoria dell’orbitale molecolare. Legami sigma e pi greco. Molecole biatomiche. Molecole poliatomiche.Orbitali ibridi. Interazioni deboli fra atomi, ioni, molecole. Il legame a ponte di idrogeno. - Lo stato gassoso. Proprietà e leggi dei gas. Temperatura assoluta. Il gas ideale. Equazione di stato dei gas reali. Legge di Van der Waals. Miscele gassose e legge di Dalton. La liquefazione dei gas. - Solidi e liquidi. Le soluzioni. Proprietà dei solidi e dei liquidi. Cambiamenti di stato. Equilibri liquido-vapore e solidovapore. Tensione di vapore. Diagrammi di stato. Le soluzioni. Modi di esprimere la composizione di una soluzione. Proprietà colligative delle soluzioni. Miscele liquide binarie. Distillazione frazionata. Azeotropi. - Cinetica chimica. Aspetti termodinamici e cinetici di una reazione chimica. Velocità di reazione. Fattori che influenzano la velocità. Equazioni cinetiche e ordine di reazione. Energia di attivazione. Dipendenza dalla temperatura. Catalisi e catalizzatori. - Equilibrio chimico. Descrizione dell’equilibrio chimico. La costante di equilibrio. Principio dell’equilibrio mobile. Influenza della concentrazione, della pressione e della temperatura. Equilibri di dissociazione. Equilibri simultanei. - Acidi e basi. Definizioni. Relazione fra acidità e struttura molecolare. Prodotto ionico dell’acqua. Forza di un acido e di una base. Ka e Kb. Definizione e calcolo del pH di una soluzione. Soluzioni tampone. Indicatori acido-base e misura del pH. Titolazioni acido base. - Equilibri eterogenei. Equilibri di solubilità. Prodotto di solubilità. Reazioni di precipitazione. - Elettrochimica. Reazioni ossidoriduttive chimiche ed elettrochimiche. Elettrolisi. Pile. Potenziale di un elettrodo. Formula di Nerst. La serie elettrochimica e le reazioni redox. Bibliografia - J.N. SPENCER, G. BODNER, L.H. RICKARD, Chimica, Zanichelli. - Appunti di lezione. CHIMICA ORGANICA Docente Prof. Paolo Strazzolini Crediti 4 Finalità del corso Fornire agli studenti le nozioni di Chimica Organica di base, con particolare attenzione verso quelle essenziali per gestire le problematiche di prospettiva professionale e per affrontare lo studio della Biochimica e delle Chimiche Applicate. Programma - Sostanze organiche: composizione elementare qualitativa e quantitativa; struttura; isomeria; formula chimica (elementare, minima, molecolare, funzionale, strutturale). - Nomenclatura in Chimica Organica: regole I.U.P.A.C., nomi alternativi, nomi generici, nomi commerciali (formulazioni). - Legame chimico (interazioni forti): ionico, metallico, covalente. Tetravalenza e tetraedricità del C tetracoordinato. Orbitali ibridi e diverse tipologie di ibridizzazione. - Idrocarburi alcani: struttura, nomenclatura e proprietà. Gruppi alchilici corrispondenti. Analisi conformazionale e isomeri conformazionali; stabilità correlate; 178 proiezione di Newman. Cicloalcani: struttura, nomenclatura e proprietà; stabilità termodinamica, analisi conformazionale, tensioni anulari e torsionali. Cicloesano mono e disostituito: analisi configurazionale (isomeri configurazionali) e conformazionale. Sistemi biciclici. - Acidi e basi in Chimica Organica. Concetto di gruppo funzionale; molecole polifunzionali. Effetti sterici ed elettronici (induttivi). - Alogenuri alchilici: struttura, nomenclatura e proprietà. Composti ossigenati (alcoli, glicoli, polioli, idroperossidi, eteri, eteri ciclici, perossidi): struttura, nomenclatura e proprietà. Composti solforati (tioli, solfuri, disolfuri): struttura, nomenclatura e proprietà. Composti dell’azoto (ammine, sali ammonici, sali ammonici quaternari): struttura, nomenclatura e proprietà. Basicità delle ammine. - Legame chimico (interazioni deboli): dipolo indotto (forze di van der Waals), dipolo permanente, associazione a idrogeno. - Stereochimica. Isomeria ottica e potere rotatorio. Atomo di carbonio stereocentrico (asimmetrico) e chiralità molecolare. Configurazione del C stereocentrico: ritenzione, inversione, racemizzazione. Enantiomeri e miscela racemica (esocompensazione). Formule prospettiche e proiezione di Fischer. - Configurazione relativa e configurazione assoluta: regole di attribuzione (C.I.; P.). - Importanza biologica della configurazione stereoordinata del carbonio. - Molecole con due stereocentri: numero di stereoisomeri, forma meso (endocompensazione). - Idrocarburi alcheni: struttura, nomenclatura e proprietà. Insaturazione formale e reale. Analisi configurazionale: isomeria geometrica (cis/trans), isomeri configurazionali e stabilità correlate, programmi - biotecnologie triennale attribuzione E/Z. Dieni e coniugazione. Risonanza: forme limiti e ibrido di risonanza. Effetti elettronici mesomerici. - Idrocarburi alchini: struttura, nomenclatura e proprietà. - Composti carbonilici (aldeidi e chetoni): struttura, nomenclatura e proprietà. Nucleofilia ed elettrofilia; correlazioni nucleofilia-basicità; catalisi elettrofilica. - Tautomeria: aspetti termodinamici e cinetici. Tautomeria cheto-enolica. - Ossidazione e riduzione in Chimica Organica. - Composti carbossilici e derivati: struttura, nomenclatura e proprietà. Acidi mono-, di- e poli-carbossilici; acidi monoe poli-insaturi; sali carbossilici e saponi (tensioattivi, detergenti e detersivi). Acidità degli acidi carbossilici. Esteri e lattoni, gliceridi e cere. Alogenuri acilici. Anidridi carbossiliche lineari e cicliche. Ammidi, immidi e lattami. - Immine; ossime; idrazoni; nitrili; Cnitroderivati; esteri nitrici e nitrosi; acidi cianico, isocianico, tiocianico, isotiocianico e loro derivati salini e alchil esterei; Nnitrosoammine; solfossidi e solfoni; acidi solfonici e loro derivati salini e alchil esterei; solfati acidi di alchile e solfati dialchilici; esteri dell’acido ortofosforico. - Idrocarburi e composti aromatici: struttura, nomenclatura e proprietà. Benzene e aromaticità. Isomeria orto-meta-para. Areni. Fenoli e loro proprietà acido-base. Difenoli e loro proprietà red-ox. Ammine aromatiche e loro proprietà acido-base. Composti eterociclici aromatici. Idrocarburi aromatici policiclici. - Reazioni chimiche: termodinamica e cinetica dei processi. Meccanismi di reazione: stati di transizione, intermedi di reazione e loro stabilità comparate: carbocationi, carbanioni e radicali liberi. - Reazioni degli alcheni e alchini: idrogenazione, addizione elettrofila. Meccanismi: implicazioni regiochimiche e stereochimiche; Regola di Markovnikov. Effetto 179 programmi - biotecnologie triennale di sostituenti: attivazione, disattivazione e orientamento. Riarrangiamenti. Addizione radicalica: effetto Kharasch. - Reazioni di sostituzione elettrofila aromatica: alogenazione, nitrazione, solfonazione, alchilazione ed acilazione di Friedel-Crafts. Meccanismo ed effetto di sostituenti anulari: attivazione, disattivazione e orientamento. - Reazioni di sostituzione nucleofila al C tetracoordinato. Meccanismi SN2 e SN1 e loro implicazioni stereochimiche. Reazioni di b-eliminazione E2 ed E1: implicazioni regiochimiche (Regola di Saytzev) e stereochimiche. Competizione sostituzione-eliminazione. - Reazioni degli alcoli e dei fenoli. Reazioni dei composti carbonilici (aldeidi e chetoni). Reazioni degli acidi carbossilici e loro derivati. Idrolisi di esteri ed ammidi. - Reazioni delle ammine. Comportamento con l’acido nitroso. - Reazioni degli alcani. Meccanismo radicalico: alogenazione e ossidazione. - Carboidrati: struttura, nomenclatura e proprietà. Monosaccaridi: aldosi e chetosi (C3-C7), furanosi e piranosi. Stereochimica, configurazione relativa, epimeri, mutarotazione e anomeri. Ossidazione dei carboidrati (zuccheri riducenti). Desossizuccheri e amminozuccheri. Legame glicosidico e glicosidi. Disaccaridi, oligosaccaridi e polisaccaridi (amidi e cellulosa). - Ammino acidi: struttura, nomenclatura e proprietà. Legame peptidico, peptidi e proteine (enzimi). - Acidi nucleici: struttura. Basi puriniche e pirimidiniche, nucleosidi e nucleotidi. DNA, RNA e coenzimi. - Lipidi: struttura. Gliceridi, cere, terpeni e steroidi. - Principali eterocicli aromatici. Prerequisiti Consigliato il superamento dell’esame di Chimica Generale e Inorganica. Modalità d’esame Test scritto. Bibliografia - N.L. ALLINGER ET AL., Chimica organica, II ed., Zanichelli, 1981; - H. HART, Chimica organica, V ed., Zanichelli, 2003. COMUNICAZIONE Docente Prof. Bruno Tellia Dott. Nicola Strizzolo Crediti 1 Pagina del corso I materiali on line del corso si trovano nel sito: http://fadest.uniud.it/coco/. Programma Il corso è suddiviso in lezioni in presenza e in autoformazione on line dal sito http://fadest.uniud.it/coco/. Il contenuto del corso è il seguente 1. Elementi della comunicazione e funzioni del linguaggio: descrizione degli elementi chiave del processo comunicativo e delle funzioni del linguaggio, ai fini dell’analisi e della valutazione dei processi comunicativi. 2. Comunicazione interpersonale e organizzativa: dinamiche, strategie e strumenti per la comunicazione nelle relazioni interpersonali e all’interno delle organizzazioni. 3. Curriculum e colloquio di lavoro: come strutturare un curriculum vitae ed affrontare un colloquio di lavoro. 4. Comunicazione nei new media: la comunicazione attraverso il web (modalità di scrittura, utilizzo di forme e colori) 5. Uso dell’immagine nella costruzione del reale: strumenti per l’analisi dell’informazione supportata dalle immagini. 180 programmi - biotecnologie triennale Modalità d’esame La prova finale del corso consta in una verifica scritta. ECONOMIA Docente Prof. Franco Rosa Crediti 3 Finalità del corso Il corso si prefigge di impartire allo studente schemi di analisi economica utilizzando il background di conoscenze fornito dalle Biotecnologie per studiare: a) la creazione di opportunità di business da applicazioni biotecnologiche in ambiente domestico ed internazionale; b) l’organizzazione dell’impresa adattiva e del network in funzione dell’innovazione; c) le strategie di finanziamento private e pubbliche e gli inerenti costi e rischi dell’innovazione; d) la regolazione dell’uso di OGM e la protezione dei diritti di proprietà intellettuale delle scoperte biotecnologiche, la legislazione europea sulla protezione del consumatore e le sue implicazioni per le innovazioni biotech. Programma - Introduzione al problema: Aspetti generali delle Biotecnologie Forze agenti sulla dinamica del sistema produttivo: Technology Push e Demand Pull Analisi della domanda: motivazioni del consumatore, utilità e vincoli di bilancio, I fattori determinanti la domanda: prezzo, redditi; Analisi di mercato: misura della domanda, elasticità e strategie di posizionamento del prodotto; Natura dei prodotti biotecnologici e comportamento del consumatore - Strumenti per interpretare il cambiamento tecnologico e l’innovazione. La visione tecnica ed economica del cambiamento; Stilizzazione del PT: la frontiera di produzione; funzione di produzione (fdp), rendimenti di scala, dimensioni di produzione; rappresentazione grafica della fdp produzione, PT, spostamenti della fdp; - Fattori di produzione e tecnologie Capitale: tecnico e finanziario, materiale e immateriale; Lavoro: anuale e direttivo; esecutivo e creativo. La qualità e specializzazione del fattore lavoro nella produzione Hi-biotech; Prezzi dei fattori ed efficienza economica; Il fattore organizzazione (X-efficiency) nella gestione; La localizzazione industriale: PS e PVS; - La natura del progresso tecnico: Progresso tecnico esogeno e incorporato; Come cambia l’organizzazione dei fattori nella produzione Hi-biotech; PT capitale intensivo e lavoro-intensivo in un contesto biotech; Effetti del PT sul mercato dei capitali e del lavoro; Flessibilità tecnologica e vantaggi competitivi. L’innovazione biotech come paradigma della Knowledge Science; Innovazione e sopravvivenza dell’impresa, Classificazione dell’innovazione: innovazioni radicali e incrementali. Il ciclo shumpeteriano dell’innovazione: invenzione, diffusione, applicazione - La dimensione ottimale dei processi produttivi. Il paradigma struttura-condotta-performance. Rendimenti di scala ed economie di scala: dimensioni d’impresa ed innovazione; La domanda di innovazione: processo, prodotto, organizzativa; La necessità di essere competitivi; 181 programmi - biotecnologie triennale La competitività nasce in laboratorio; La necessità di proteggere le scoperte: i DPI sulle scoperte: brevetti e licenze; Business dell’innovazione e strutture di mercato; Diffusione dell’innovazione. - Come progettare l’innovazione nel settore biotech. La visione sistemica nella gestione delle aziende che fanno innovazione biotech. Tipologie di aziende: Aziende, Joint venture, Partnership e gestione del rischio. Natura ed analisi dei costi aziendali in funzione del rischio d’innovazione. Dimensioni aziendali e management. Cenni al Business Plan. Modalità d’esame Scritto ed orale. Bibliografia - G. B RONCONI , S. C AVACCIOLI , Business Plan, Manuale per costruire un efficace Piano d’impresa, 2001. - M. C ROSETTO , Project Design: metodi internazionali di gestione degli investimenti, Ed. Sole 24 ore, 2003. - J.W. DALE, M.V. SCHANTZ, From Genes to Genomes: Concepts and applications of DNA Technology, Wiley & Sons, 2002. Ltd. CISB: 572.8.DAL. - DE LA MOTHE, J. NIOSI, G. NIOSI, The Economic and Social Dynamics of Biotechnology, Kluwer Academic Publisher, 2003, CISB: 338.4766. - M. F ONTE , Organismi geneticamente modificati. Monopoli e diritti, 2004, CISB: 338.16. - GAISFORD ET AL., The Economics of Biotechnology, Edward Elgar Publishing Co., 2001. - J.M. GRIFFIN, H.B. STEELE, Energy: Economics and Policy, 2nd ed., 1986, CISB: 333.79. - A.J. HACKING, Economic aspects of Biotechnology, Cambridge Studies in Biotechnology, 1986, CISB: 338.476606.HAC - E.M. LUPIERI, Il patto, 2005. - P.W.B. PHILLIPS, G.G. KHACHATOURIANS, The Biotechnology Revolution in Global Agriculture: Invention, Innovation and Investment in Canola Sector, 2001, CISB: 633.853.B10 - C.M. TANG, The Essential Biotech Investment Guide, World Scientific, Singapore, 2002. - S. TONCHIA, Il Project Management: come gestire il cambiamento e l’innovazione, ed. Sole 24 ore. 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. 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. Prerequisiti Nozioni di base dell’analisi matematica (limiti, derivate, integrali). 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 182 programmi - biotecnologie triennale 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 E JEWETT, Principi di Fisica, vol. 1, ultima edizione, EdiSES. FISICA 2 Docente Prof. Gennaro Esposito Crediti 3 Finalità del corso Acquisizione di conoscenze di chimica fisica e fisica di rilevanza biochimica e biotecnologica. Programma Termodinamica: Sistemi e processi. Trasformazioni reversibili ed irreversibili. Passaggi di stato. Variabili di stato, equazione di stato. Stato di equilibrio. Stato stazionario Lavoro e calore. Capacità termica. Principio zero. Temperatura e scale termometriche. 1 o 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 o ; principio. Significato statistico dell’entropia. 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 DG0. Calorimetria e Microcalorimetria: Diagramma di stato e transizioni di fase. DSC, ITC e applicazioni biotecnologiche. Analisi di termogrammi. Ental- pia, entropia ed energia libera di Gibbs e loro variazione con la temperatura. Entalpia calorimetrica e secondo van’t Hoff. Elaborazione di termogrammi. Microcalorimetria di 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. 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 le 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, kex. 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’apertura locale. Regimi limite di scambio EX1 e EX2. Velocità di scambio correlate e non. Costanti fenomenologiche di scambio e stabilità termodinamica locale. Onde elettromagneti- programmi - biotecnologie triennale che. Propagazione delle onde elettromagnetiche; leggi dell’ottica geometrica. Interferenza e diffrazione; limiti risolutivi degli strumenti ottici. Prerequisiti Formazione di base in Fisica Generale, Chimica Generale (inorganica ed organica), Analisi Matematica. Modalità d’esame Compito scritto con problemi e domande a scelta multipla. Bibliografia 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 obbiettivi 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 ad 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 183 riguardanti due argomenti principali: a) il Protein Folding; b) transizioni helix-coil e zipping nel DNA. 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: Composizione 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. Prerequisiti Conoscenza di base delle leggi della fisica 184 programmi - biotecnologie triennale 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. 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, New York, 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. 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 spettrome- tria 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 MALDITOF. 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 proteomica. 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. 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 185 programmi - biotecnologie triennale 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. 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 crosspeak. Correlazioni dipolari e spettri NOESY. Assegnazione sequenziale. Correlazioni dipolari e struttura molecolare. Riconoscimento di struttura secondaria di proteine. Struttura secondaria ed assegnazione sequenziale. Scambio isotopi- co: 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. Prerequisiti Formazione di base in Fisica Generale, Chimica Generale (inorganica ed organica), Chimica biologica, Analisi Matematica, Statistica. Modalità d’esame Compito scritto con problemi e domande a scelta multipla. Bibliografia Materiale didattico on-line. FISOPATOLOGIA: APPLICAZIONI MEDICHE DELLE BIOTECNOLOGIE Docente Prof. Pietro Enrico Di Prampero Dott. Marina Comelli Crediti 8 Meccanismi molecolari dell’infiammazione Prof. F. Saverio Ambesi Impiombato Programma Concetti di eziologia e patogenesi: esempi di malattie acute e croniche, ereditarie, congenite, acquisite. Concetti di eziologia e patogenesi: esiti e cause di malattia Il danno biologico e l’infiammazione: concetti storici e definizione attuale. 186 programmi - biotecnologie triennale L’infiammazione acuta: patogenesi e fisiopatologia del microcircolo ematico. L’infiammazione acuta: fenomeni, cellule e molecole. L’infiammazione cronica: infiammazioni croniche granulomatose e infiammazioni croniche non granulomatose Forme atipiche dell’infiammazione. Effetti generali dell’infiammazione: alterazioni della termoregolazione e la febbre. Altri fenomeni generali. Adattamenti cellulari e morte cellulare. I processi riparativi: guarigione per prima e seconda intenzione. Modalità d’esame L’esame si svolgerà sotto forma di colloquio. Bibliografia Testi consigliati: - WOOLF, Patologia Generale. Meccanismi di malattia, Ed. Idelson-gnocchi. - G.M. PONTIERI, Patologia Generale per i Corsi di Laurea in professioni sanitarie, Ed. Piccin. - G. MAJNO, I. JORIS, Cellule, tessuti e malattia, Ed. Casa Editrice Ambrosiana. Immunologia Prof. Carlo Pucillo Programma L’organizzazione generale del sistema immunitario. I recettori dei linfociti b e t e il riconoscimento dell’antigene. L’elaborazione dell’antigene e la presentazione ai linfociti t gli antigeni l’attivazione dei t-linfociti helper l’attivazione dei b-linfociti e la secrezione di anticorpi l’attivazione dei tlinfociti citotossici. La citotossicità da cellule nk e k Gli organi centrali e periferici del sistema immune La tolleranza immunologica I meccanismi effettori delle risposte immuni il sistema del complemento le citochine l’immunità nelle difese antiinfettive Esempi di tecniche immunologiche utilizzate in laboratorio la reazione antigene anticorpo in vitro la produzione di anticorpi monoclonali. Bibliografia - JANEWAY ET AL., Immunobiologia, 5a Edizione, Piccin, 2003. - R.A. GOLDSBY, T.J. KINDT, B.A. OSBORNE, K UBY , Immunologia, Utet, 2001, o più aggiornato ed economico nella versione inglese acquistabile online tramite Amzon.com. - R.A. GOLDSBY, T.K. KINDT, J. THOMAS, B.A. OSBORNE, J. KUBY, Immunology, 5/e, 2003, W.H. Freeman. Modalità d’esame L’esame si svolgerà sotto forma di colloquio. Patologia molecolare Prof. Francesco Curcio Programma - Concetto di malattia molecolare. - Le alterazioni del metabolismo dei carboidrati: il modello del diabete - Le alterazioni del metabolismo dei lipidi: il modello dell’ipercolesterolemia familiare - Le alterazioni del metabolismo dell’eme: il modello dell’emocromatosi. - Le alterazioni del metabolismo delle basi puriniche e pirimidiniche: il modello della gotta - Le malattie da accumulo: il modello dell’alzheimer. - Le alterazioni del metabolismo delle proteine (1): il modello delle malattie da prioni - Le alterazioni del metabolismo delle proteine (2): il modello delle emoglobinopatie 187 programmi - biotecnologie triennale - Le alterazioni del trasporto: il modello della fibrosi cistica - Le patologie multifattoriali: il modello dell’aterosclerosi - Le alterazioni ormonali: meccanismi e organizzazione del sistema endocrino recettori e sistemi di trasduzione modelli di malattie endocrine - Soluzioni biotecnologiche: ingegneria tessutale e medicina rigenerativa. Modalità d’esame L’esame si svolgerà sotto forma di colloquio. Bibliografia Testi consigliati: - WOOLF, Patologia Generale, Meccanismi di malattia, Ed. Idelson-gnocchi. - G.M. PONTIERI, Patologia Generale per i Corsi di Laurea in professioni sanitarie, Ed. Piccin. - G. M AJNO E I. J ORIS , Cellule, tessuti e malattia, Ed. Casa Editrice Ambrosiana. dità associata ai cromosomi sessuali. Estensioni della genetica mendeliana: rapporti mendeliani atipici; alleli multipli; Interazioni tra geni; geni letali; interazione genotipo-ambiente. Le mappe genetiche negli eucarioti. Ricombinazione meiotica e mitotica. Mappe genetiche e ricombinazione in batteri e fagi: Trasformazione, coniugazione, trasduzione. Eredità non mendeliana. Le mutazioni geniche: individuazione ed analisi delle mutazioni in vari sistemi biologici. Mutazione e riparo del DNA. Le mutazioni cromosomiche di struttura e di numero. Genetica quantitativa. Bibliografia Testi consigliati: - P.J. R U S S E L , Genetica, Ed. EdiSES, 2002). - GRIFFITHS, MILLER, SUZUKI, LEWONTIN, GELBART, Genetica. Principi di analisi formale, Zanichelli, 2002. GENETICA 2 GENETICA 1 Docente Prof. Michele Morgante Docente Prof. Michele Morgante Prof. Incoronata Lonigro Crediti 6 Crediti 6 Programma Introduzione alla Genetica. Identificazione del materiale genetico: gli esperimenti di Griffith, Avery, Hershey-Chase. La replicazione del DNA. Espressione genica: trascrizione. Organizzazione molecolare del gene: esoni e introni. Espressione genica: traduzione. Il codice genetico. Le leggi di Mendel: segregazione indipendente. Le leggi di Mendel: L’assortimento indipendente. Alberi genealogici umani. La teoria cromosomica dell’eredità; concordanza tra meiosi e mendelismo; ere- Modulo di Genetica Umana Programma Concetti generali Di cosa si occupa la Genetica Umana Classificazione delle malattie a base genetica Gli alberi genealogici nella valutazione dell’ereditarietà delle malattie Diagnosi prenatale Genetica delle principali malattie monofattoriali Genetica dei tumori 188 programmi - biotecnologie triennale Mutazioni somatiche e germinali in oncologia umana Oncogeni Geni oncosoppressori Ereditarietà dei tumori Diagnostica e caratterizzazione molecolare dei tumori Geni coinvolti nelle principali neoplasie ereditarie Terapia genica dei tumori Basi molecolari dello sviluppo embrionale Modelli animali per lo studio del ruolo dei geni nello sviluppo embrionale Segnali intercellulari, recettori, fattori di trascrizione Il differenziamento cellulare: meccanismi di trascrizione tessuto-specifica Geni Hox Geni Pax Basi molecolari dello sviluppo degli arti Basi molecolari della cardiogenesi Basi genetiche delle malattie multifattoriali La genetica quantitativa nelle malattie nell’uomo Il modello a soglia Basi genetiche della suscettibilità alle principali malattie multifattoriali Identificazione di geni coinvolti nelle malattie multifattoriali Modulo di Genetica 2 Programma Genetica di popolazione Genetica quantitativa Genetica evolutiva Elementi trasponibili Cenni di genomica: strutturale e funzionale. Laboratorio Banche dati di sequenze, metodi di analisi e recupero sequenze, isolamento di geni, PCR, sequenziamento di DNA, identificazione SNP. Prerequisiti Non si può affrontare l’esame di Genetica II prima di aver superato quello di Genetica I. Modalità d’esame Scritto in unica prova assieme a modulo I. Bibliografia Testi consigliati: - P.J. RUSSEL, Genetica, Ed. EdiSES, 2002. - GRIFFITHS, MILLER, SUZUKI, LEWONTIN, GELBART, Genetica. Principi di analisi formale, Zanichelli, 2002. - T.A. B ROWN , Genomi 2, Ed. EdiSES, 2003, ISBN 8879592696. INFORMATICA Docente 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 189 programmi - biotecnologie triennale 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 Testi consigliati: - 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. ISTOLOGIA Docente Prof. Fulvia Ortolani Crediti 3 Finalità del corso - L’acquisizione da parte dello studente di conoscenza e comprensione dell’organizzazione strutturale ed ultrastrutturale del corpo umano; - La capacità di utilizzare le nozioni morfologiche e di struttura per le interpretazioni morfo-funzionali fondamentali; - L’acquisizione di una conoscenza critica delle principali metodiche di visualizzazione ed osservazione dei campioni biologici in microscopia ottica ed elettronica, anche fondata sugli opportuni principi fisici e chimici; - L’acquisizione della padronanza per un corretto uso del microscopio ottico, la capacità di effettuare osservazioni ragionate dei preparati istologici, di essere in grado di riconoscere agevolmente e classificare i diversi tessuti e saper discriminare le modalità di integrazione dei tessuti nei principali organi. Programma - Metodiche di allestimento standard dei preparati per Microscopia Ottica e per Microscopia Elettronica. Il microscopio ottico, il microscopio elettronico a trasmissione, il microscopio elettronico a scansione. I limiti di risoluzione, le unità di misura microscopiche. - La cellula gli organelli cellulari: struttura, funzione e modalità di visualizzazione. Interazione cellula-cellula e cellulamatrice. 190 programmi - biotecnologie triennale - Il tessuto epiteliale caratteristiche e specializzazioni delle cellule epiteliali. Gli epiteli di rivestimento, classificazione, struttura, correlazioni morfofunzionali e localizzazione dei diversi tipi di epitelio di rivestimento. Gli epiteli ghiandolari esocrini ed endocrini, struttura ed istogenesi. Classificazione delle ghiandole esocrine, struttura e localizzazione dei diversi tipi. Le ghiandole endocrine: struttura ed ormoni secreti delle diverse ghiandole endocrine. Il nefrone. - Il tessuto connettivo. La matrice extracellulare, la componente fibrosa e la sostanza fondamentale. La componente cellulare. I diversi tipi di tessuto connettivo propriamente detto. I tessuti connettivi di sostegno: la cartilagine, la matrice cartilaginea, le cellule, i diversi tipi di tessuto cartilagineo il tessuto osseo, la matrice ossea, i tipi cellulari, organizzazione e struttura di osso spugnoso e osso compatto il processo di ossificazione, i diversi tipi di ossificazione. Tessuti connettivi circolanti: il sangue, plasma ed elementi corpuscolati, la emopoiesi. - Il tessuto muscolare caratteristiche, struttura, istofisiologia tessuto muscolare striato scheleterico tessuto muscolare striato cardiaco tessuto muscolare liscio. - Il tessuto nervoso. Il neurone, struttura e classificazione dei neuroni. Le sinapsi nervose e le giunzioni neuromuscolari. Le cellule gliali. La guaina mielinica. LEGISLAZIONE PER LE BIOTECNOLOGIE Docente Prof. Davide Petraz Crediti 3 Finalità del corso Il corso ha la finalità di introdurre i con- cetti - nazionali ed internazionali - della tutela brevettuale. Il corso sostanzialmente viene suddiviso in due parti. La prima parte vuole dare un’informazione quanto più approfondita possibile sulle normative vigenti in materia di proprietà industriale, con particolare riferimento ai brevetti per invenzioni industriali e tali problematiche verranno discusse sia da una prospettiva teorica. Sostanzialmente la prima parte del corso cercherà di affrontare il panorama brevettuale dando tutte le informazioni e i riferimenti principali sia per un futuro loro utilizzo nell’ambito della ricerca, che in quello industriale. Questa prima parte è per altro propedeutica alla seconda parte del corso – sostanzialmente più specifica – tesa a spiegare la tutela brevettuale delle nuove varietà vegetali e bioteconolgie. I brevetti in questi settori della tecnica sono relativamente recenti e le normative internazionali e nazionali sono in continua evoluzione. La continua evoluzione normativa è data sia dalla necessità di tutelare i nuovi limiti innovativi che l’uomo riesce a raggiungere, sia di regolamentare la possibilità di concedere un’esclusiva, qual è il brevetto, su tematiche sempre più in possibile contrasto con la morale prevalente. Programma Prima parte: cos’è un brevetto, diritti nascenti da un brevetto tra cui quelli di ordine morale ed economico, quali sono i requisiti essenziali per un valido brevetto, differenza tra brevetto per invenzione e modello d’utilità, conversione e nullià di un brevetto, com’è scritto un brevetto, come si estende un brevetto, il brevetto europeo, il P.C.T., le ricerche brevettuali, valutazione economica di un brevetto, contraffazione brevettuale, il segreto industriale. Seconda parte: (i) le nove varietà vegetali: cosa s’intende per varietà vegetale brevettabile, il costitutore, la domanda di brevetto per varietà vegetali, i 191 programmi - biotecnologie triennale requisiti essenziali di un valido brevetto per varietà vegetale e loro differenze con i brevetti tradizionali, la denominazione di una nuova varietà vegetale; (ii) biotecnologie: biotecnologie tradizionali e avanzate, ingegneria genetica, piante transgeniche, animali transgenici, clonazione, cellule staminali, produzione di farmaci e vaccini, sicurezza e bioetica, diritto internazionale e protezione brevettuale, la direttiva 1998/44/CE, brevetto di prodotto, di procedimento e misto, i confini della brevettabilità delle piante e degli animali, i requisiti essenziali del brevetto biotecnologico, i concetti di ordine pubblico e buon costume relativi al brevetto biotecnologico, alcune prime sentenze della Corte di Giustizia europea, la posizione italiana e il nuovo decreto del 29/12/2005. Bibliografia - A. VANAZETTI, V. DI CATALDO, Manuale di diritto industriale, Giuffrè, 2005, da pag. 317 a pag. 472. - AA.VV., Diritto industriale - Proprietà intellettuale e concorrenza, Giappichelli, 2005, da pag. 179 a pag. 266. - A. VANZETTI, I nuovi brevetti - Biotecnologie e invenzioni chimiche, Giuffrè, 1995. - Collana ‘Trattato di diritto commerciale e di diritto pubblico dell’economia’ diretta da F. Galgano, volume ventottesimo Brevetto per invenzione e biotecnologie, Cedam, 2002 - Codice di diritto industriale, IV edizione, Kluwer Iposa, 2005. 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 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. 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-lin- 192 programmi - biotecnologie triennale guaggio 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. 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). Bibliografia - L. L OVASZ , K. V ESZTERGOMBI , Discrete Mathematics, disponibile su web (download) - Parti di Mathematical Thinking - Problem solving and proofs di J.P. D’ANGELO E D.B. WEST, Prentice Hall. Testi di consultazione: - A. BRUALDI, Introductory Combinatorics, North Holland. - Parti di Introduction to Algorithms di T. C ORMEN , C. L EISERSON , R. R IVEST , 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 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, etc.). 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, della 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. 193 programmi - biotecnologie triennale Modalità d’esame Esame orale, con progettino di laboratorio per casa. seguita, per i sufficienti, da una prova orale. Entrambe le prove dovranno essere superate nello stesso appello. Bibliografia - ANCILOTTI, BOARI, CIAMPOLINI, LIPARI, Sistemi Operativi, McGraw-Hill, 2004, ISBN: 88-386-6069-7. Bibliografia - CAMUSSI, MÖLLE, OTTAVIANO, SARI GORLA, Metodi Statistici per la sperimentazione biologica, 2a ed., Zanichelli, 1995. - G. CICCHITELLI, Probabilità e Statistica, Maggioli Editore, 1984. Appunti delle lezioni. STATISTICA 1 Docente Paolo Vidoni STATISTICA 2 Crediti 6 Docente Prof. Cristiano Varin 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 Crediti 4 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 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 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). 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 194 GORLA, Metodi Statistici per la sperimentazione biologica, 2ed., Zanichelli, 1995. - Appunti delle lezioni. ZOOLOGIA (INTRODUZIONE ALLA) Docente Prof. Giancarlo Fava Crediti 3 Finalità del corso In parte il corso deve fornire una base conoscitiva essenziale comune (per l’avvio dei successivi corsi di anatomia e fisiologia e di quelli tecnico-professionali) a studenti che hanno avuto percorsi di studio pre-universitari molto eterogenei. Evoluzione, filogenesi e classificazione dei principali gruppi animali. Obiettivi: lo studio della zoologia dovrà dare una visione funzionale del piano costruttivo dei vari animali relativamente agli stili di vita che conducono: è infatti estremamente importante comprendere quali siano le caratteristiche anatomofisiologiche richieste per consentire la sopravvivenza nei vari ambienti, da quelli acquatici a quelli subaerei. Cenni ai processi evolutivi dovranno mettere lo studente nella condizione di capire i limiti entro cui gli animali utilizzati dall’uomo programmi - biotecnologie triennale possono essere modificati per renderli più adatti alle sue esigenze. Programma Piano organizzativo e biologia dei principali phyla animali. - Protisti, generalità, riproduzione, cicli biologici dei principali parassiti. - Poriferi a confronto con gli altri Metazoi. - Cnidari - Platelminti Nematodi - Comparsa del celoma e vantaggi conseguenti. - Protostomi: Anellidi e Molluschi. - Origine ed evoluzione degli Artropodi. - Deuterostomi: Echinodermi e Cordati - I Vertebrati. - Sistemi di sostegno: scheletro idrostatico, endoscheletri ed esoscheletri nel mondo animale. Dimensioni: problemi e soluzioni - Alimentazione: tipi e modalità; modificazioni e specializzazioni dell’anatomia animale in rapporto alla modalità di alimentazione e alla difesa dalla predazione - Riproduzione: modalità e strategie riproduttive. Il significato della riproduzione asessuale. Partenogenesi ed ermafroditismo. I cicli vitali degli invertebrati. Modalità d’esame Orale. Bibliografia Testi consigliati: - C.P. HICKMAN, L. ROBERTS, A. LARSON, Diversità animale, 2004, McGraw-Hill. 195 programmi - LS informatica CORSO DI LAUREA SPECIALISTICA IN INFORMATICA ALGORITMI AVANZATI Docente Prof. Giuseppe Lancia 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. 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. 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. ALGORITMI E COMPLESSITÀ Docente Prof. Carla Piazza BASI MATEMATICHE PER LA REALTÀ VIRTUALE Crediti 6 Docente Prof. Goffredo Pieroni 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 Crediti 6 Finalità del corso La realtà virtuale intende studiare un 196 programmi - LS informatica 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. 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 (3rd 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. 197 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 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 198 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, 2nd 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, voll. 1, 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 degli 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 199 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- 200 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, 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. - A. ALBANO, G. GHELLI, R. ORSINI, Fondamenti di basi di dati, Zanichelli, 2005. - P. A TZENI , S. C ERI , S. P ARABOSCHI , R. 201 programmi - LS informatica TORLONE, Basi di Dati: Modelli e Linguaggi di Interrogazione (seconda edizione), McGraw-Hill, 2006. modello multidimensionale. Meccanismi di analisi dei dati. FONDAMENTI DELL’INFORMATICA 2 DATA WAREHOUSE Docente Prof. Maurizio Pighin Docente Prof. Agostino Dovier Crediti 6 Crediti 6 Finalità del corso Il corso si propone di fornire all’allievo le nozioni fondamentali riguardanti i sistemi informazionali, assumendo come prerequisito la conoscenza delle basi di dati di tipo relazionale. 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 Gli argomenti trattati nel corso sono: - I Sistemi di Supporto alle Decisioni (DSS). Metodologie a architetture. - I Sistemi di tipo Informazionale e loro differenze con i sistemi Operazionali. Architetture OLAP. Il modello multidimensionale. I Data-Warehouse e i DataMart: motivazioni, obiettivi. - Progettazione di Data-Warehouse: il ciclo di vita dei sistemi di data-warehousing; analisi dei requisiti e riconciliazione delle fonti dati; architetture e meccanismi di alimentazione; strutture a stella e a fiocco di neve. - Generazione e aggiornamento della struttura dati multidimensionale; strumenti per l’analisi dei dati; strumenti di interrogazione della struttura dati multidimensionale. - Cenni sul Data Mining: problematiche di base, ambiti di applicazione, modalità operative. Gli aspetti informatici: preprocessing, analisi descrittiva, rappresentazione dei risultati. - Analisi di un case-study aziendale con passaggio dal modello relazionale al 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, ricorsi- 202 ve 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. 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. programmi - LS informatica 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 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 algorit- 203 programmi - LS informatica mo di geometria computazionale ad una completa ed affidabile implementazione. Modalità d’esame Discussione del software sviluppato. 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 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 , RealTime Rendering, A.K. Peters Ltd., ISBN 1568811829. - E. ANGEL, Interactive Computer Graphics: A Top-Down Approach with OpenGL, Addison-Wesley, ISBN 020138597X. HIGH PERFORMANCE COMPUTING 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 tecnologie 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 204 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 Amdahl-Ware 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, 1997. programmi - LS informatica 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. Bibliografia - Dispense del corso di Teoria e Tecniche di Elaborazione dell’Immagine, a cura del docente. - E. TRUCCO, A. VERRI, Introductory Techni- 205 programmi - LS informatica ques for 3-D Computer Vision, Prentice Hall, 1998. INFORMATICA MEDICA Docente Dott. Vincenzo Della Mea Crediti 6 Pagina del corso http://mitel.dimi.uniud.it/med/ 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, Springer-Verlag,II ed., 2000. - J. V AN B EMMEL , Handbook of Medical Informatics, Springer-Verlag, II ed., 2002. - E. COIERA, Guida all’Informatica Medica, Internet e Telemedicina, Pensiero Scientifico, 2000. - Materiale fornito a lezione, ed altre fonti indicate dal docente. INGEGNERIA DEL SOFTWARE 2 Docente Prof. Maurizio Pighin Dott. Anna Marzona Crediti 6 206 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 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 programmi - LS informatica 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. Alternativamente lo studente può sostenere una prova scritta/orale sugli argomenti del programma. Bibliografia - R.S. PRESSMAN, Principi di Ingegneria del Software, McGraw-Hill, 4th ed., 2005. - I. SOMMERVILLE, Software Engineering, 7th ed., Addison Wesley P.C., 2004. programmi - LS informatica 207 Finalità del corso Ci sono diversi modi per definire il campo dell’intelligenza artificiale. Una definizione accettata è quella che considera l’intelligenza artificiale come lo studio delle idee che rendono i computer “intelligenti”. Rimane però ancora aperto il problema di ciò che significhi un “comportamento intelligente”. In questo corso ci riferiremo principalmente alla intelligenza come alla capacità di rendere i computer più utili attraverso la formalizzazione e lo sfruttamento sistematico di certe correlazioni logico-numeriche caratteristiche degli esseri umani e che, generalmente, vengono considerati atti intelligenti. 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 - Metodi 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, breadth-first, 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). Programma 1. Introduzione - Intelligenza ed intelligenza artificiale: concetti introduttivi e cenni storici. Agen- Bibliografia - S. RUSSEL, P. NORVIG, Artificial Intelligence: A Modern Approach, Prentice-Hall International, 1995. - 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, 2 nded., 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. Goffredo Giulio Pieroni Crediti 6 208 - P.H. W INSTON , Artificial Intelligence, Third Edition, Addison-Wesley, 1992. - S. H AYKIN , Neural Networks: a comprehensive foundation, Prentice Hall (Second Edition), 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 programmi - LS informatica alcuni sviluppi recenti di particolare importanza, quali le interfacce 3D ed il groupware. Programma - Introduzione: obbiettivi 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. 209 programmi - LS informatica - 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, Third 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. 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 210 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. programmi - LS informatica 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 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 211 programmi - LS informatica 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 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’unificazio- ne 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 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. APT, 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, 2nd ed., 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 212 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 II completerà la presentazione dei paradigmi dichiarativi: logico e logicofunzionale. Programma - Paradigma Imperativo. - Macchine astratte, Interpretazione e Compilazione. programmi - LS informatica - 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. - 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. LINGUAGGI DI PROGRAMMAZIONE 2 Docente Prof. Marco Comini Crediti 6 programmi - LS informatica Finalità del corso Il corso di Linguaggi 2, in congiunzione con il corso di Linguaggi 1, 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. 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. 213 - Introduzione alla Programmazione Logica: unificazione, SLD-derivations. - Semantica denotazionale della Programmazione Logica. - Non-deterministic Programmino. - 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. WADLER , Introduction to Functional Programming using Haskell, Prentice Hall PTR, 1998, ISBN 0134843460 214 LINGUAGGI E MODELLI PER IL GLOBAL COMPUTING Docente Prof. Marina Lenisa Prof. Marino Miculan programmi - LS informatica Modalità d’esame Seminario monografico su un argomento attinente al corso. Bibliografia - Dispense, articoli e note fornite dai docenti. Crediti 6 LOGICA MATEMATICA 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. 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. Prerequisiti Metodi Formali dell’Informatica 1. 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. 215 programmi - LS informatica 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, 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. - LAMBERT, 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 216 programmi - LS informatica 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 à la 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 Dott. Gabriele Puppis 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 svilupperanno 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, 217 programmi - LS informatica introdotta alla fine della prima parte, 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, etc: esempi di utilizzo. Bibliografia Appunti delle lezioni. - E. C LARKE , O. G RUMBERG , D. P ELED , Model Checking, MIT press, 1999. - R. ALUR, D.L. DILL, 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. MODELLI E ALGORITMI PER LA GESTIONE DELLE RISORSE Docente Prof. Giuseppe Lancia Crediti 6 Programma Elementi di complessità computazionale, riduzioni e trasformazioni. Algoritmi di approssimazione e randomizzati. De-randomizzazione. Modelli esponenziali di programmazione lineare intera: branchand-cut-and-price. Ottimizzazione compatta. Algoritmi euristici. 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 218 programmi - LS informatica consulti il sito dell’INFORMS (Institute for Operations Research and Management Science, www.informs.org). Modalità d’esame L’esame consiste in una prova scritta e in una prova orale. 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). 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). 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). 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). Introduzione ed esempi. Matrici totalmente unimodulari. Metodo del branch and bound. Metodo del branch and cut. Diseguaglianze di Chvàtal e tagli di Gomory. 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). Problemi di accoppiamento e assegnamento. Algoritmi per l’accoppiamento di cardinalità massima. Ottimizzazione su matroidi. Algoritmo di Kruskal per il pro- 219 programmi - LS informatica blema 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. 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 http://www.dimi.uniud.it/giorgio/dida/ psw/psw.html PROGETTAZIONE E ANALISI ORIENTATE AGLI OGGETTI Docente Prof. Stefano Mizzaro 220 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 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 situa- programmi - LS informatica zioni 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). programmi - LS informatica PSICOLOGIA DELLA COMUNICAZIONE Docente Dott. Sabrina Plet 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. 221 - 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 Testi di riferimento - 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. 222 programmi - LS informatica RETI DI CALCOLATORI E SICUREZZA Docente 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. 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 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. Propedeuticità Reti di Calcolatori. 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, pub- 223 programmi - LS informatica blicato 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 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 solu- zioni 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 al 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. S CHRAGE , 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 224 programmi - LS informatica 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. 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. Robotiche 4. Implementazione dei Comportamenti 4.1. Le basi Percettive del controllo Behaviour-based 4.2. Considerazioni sulla Rappresentazione 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 concordato col docente. Eventuale sperimentazione su richiesta dello studente. Bibliografia - R.C. A RKIN , Behavior-Based Robotica, 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. LATOMBE, Robot Motion PLanning, Kluwer, New York, 1991. - RUSSEL, NORVIG, Artificial Intelligence: a Modern Approach, Prentice Hall. 225 programmi - LS informatica - 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 I. 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, patterns, 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 pro- grammazione 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. Auto- 226 mi 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 satisfiability-checking e di modelchecking, 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 verifica 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 - Vol. B (capitolo 4), J. van Leeuwen (ed.), Elsevier Science Publisher, 1990. - W. THOMAS, Languages, Automata, and Logic, in Handbook of Formal Languages, Vol. III, G. Rozenberg and A. Salomaa (eds.), Springer, pp. 389-455, 1997. programmi - LS informatica - 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 Vol. 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 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. programmi - LS informatica 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 sul Web. 227 tenze 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. Crediti 6 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. 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 compe- 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. Modalità d’esame Redazione di una relazione sulle esercitazioni ed 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 Personalizzazione dei Contenuti Web - e-commerce, i-access, e-government, Franco Angeli, Milano, 2002. SISTEMI INFORMATIVI Docente Prof. Carlo Tasso Prof. Maurizio Pighin 228 programmi - LS informatica Bibliografia Testi adottati - G. BRACCHI, C. FRANCALANCI, G. MOTTA, Sistemi Informativi e aziende in rete, McGraw-Hill Italia, Milano, 2001. - M. PIGHIN, A. GARZONA, Sistemi Informativi Aziendali - Struttura e Applicazioni, Pearson Education Italia, 2005. Ulteriori testi di consultazione - M. DE MARCO, Sistemi Informativi 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 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 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. 229 programmi - LS informatica STATISTICA MATEMATICA 1 Docente Prof. Luigi Pace Crediti 6 Finalità del corso Il corso presenta una 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 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 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 chi-quadrato di adattamento; test di indipendenza in una tabella di contingenza; test di omogeneità di più tabelle. 230 programmi - LS informatica - 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 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 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. - 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. TECNICHE FORMALI PER L’INGEGNERIA DEL SOFTWARE Docente Prof. Marco Comini Crediti 6 programmi - LS informatica 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 alcune 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 - Introduzione alle tecniche di trattamento del software basate sulla semantica - Richiami di Semantica - Posets, CPO, Reticoli - Semantica Operazionale - Semantica Denotazionale - Semantica di Punto Fisso - Da programmi a proprietà: Analisi statica di programmi 231 - Schemi monotoni: Esempi di DFA (Data-flow analysis) - Interpretazione astratta. - Ottimizzazione di un programma imperativo; reticoli completi econnessioni di Galois - Upper closure operators; - Semantiche standard e non standard della programmazione logica - Domini astratti per l’ottimizzazione della programmazione dichiarativa: Pos, Def e Sharing - Disegno di domini astratti: prodotto ridotto, complementazione, raffinamenti e loro inversione - Tecniche di accelerazione del punto fisso (Widening/Narrowing) - Applicazioni - Da programmi a programmi: Trasformazione e Valutazione parziale - Trasformazione - Ottimizzazione mediante partial evaluation - Con programmi e proprietà: Debugging e Verifica - Specifiche e proprietà di programmi - Debugging Algoritmico - Abstract Diagnosis - Logica di Hoare e verifica di programmi sequenziali - Asserzioni come dominio astratto - Abstract Verification: Analisi e verifica, verso una teoria unificante. - Type checking come caso particolare di Abstract Verification - Da proprietà a programmi: Sintesi di Programmi - Sintesi di programmi logici. Bibliografia - K.R. A PT , E. O LDEROG , Verification of Sequential and Concurrent Programs, 2nd ed., 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. 232 programmi - LS informatica - P. COUSOT, R. COUSOT, Abstract interpretation and application to logic programs, Journal of Logic Programming, 13(2-3): 103-179, 1992. - M. COMINI, 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 ONES , editors, 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, editor, Informatics 10 Years Back, 10 Years Ahead, volume 2000 of Lecture Notes in Computer Science, pages 138-156, Springer-Verlag, 2000. 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. TECNOLOGIE WEB 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. 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. TEORIA DEI SISTEMI 1 Docente Prof. Adriano Pascoletti Crediti 6 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. programmi - LS informatica 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 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 233 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 234 principali. Codici BCH e codici di ReedMuller. 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. 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’Univer- programmi - LS informatica sità 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 a introdurre le tematiche programmi - LS informatica 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 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., 235 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. - 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.). 236 programmi - LS tecnologie dell’informazione CORSO DI LAUREA SPECIALISTICA IN TECNOLOGIE DELL’INFORMAZIONE Bibliografia - C.H. P APADIMITRIOU , Computational Complexity, Addison Wesley, 1995. - Articoli e dispense. 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. BASI MATEMATICHE PER LA REALTÀ VIRTUALE Docente Prof. Goffredo Pieroni 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, 237 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- 238 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. NAVATE, 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 Docente Prof. Angelo Marzollo Crediti 3 Finalità del corso Obiettivi, metodologia e risultati attesi: 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 239 programmi - LS tecnologie dell’informazione di tesi già scritti su cui si abbiano dubbi e incertezze, presentazioni personali di cui discutere l’efficacia, ecc.), in modo da 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, Zanichelli, 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. E-GOVERNMENT 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’auto- 240 programmi - LS tecnologie dell’informazione mazione dei servizi amministrativi ai cittadini, e dei servizi interni alle Pubbliche amministrazioni (backoffice). Parte del 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). FONDAMENTI E METODI DELL’INFORMATICA Docente Prof. Furio Honsell 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 irrisolubili 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. 241 programmi - LS tecnologie dell’informazione GRAFICA 3D INTERATTIVA Docente Dott. Roberto Ranon Time Rendering, A.K. Peters Ltd., ISBN 1568811829. - E. ANGEL, Interactive Computer Graphics: A Top-Down Approach with OpenGL, Addison-Wesley, ISBN 020138597X. Crediti 6 IMMAGINI E MULTIMEDIALITÀ 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 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- 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. 242 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. 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. 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. 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, Springer-Verlag, 2000, 2nd ed. - J. V AN B EMMEL , Handbook of Medical Informatics, Springer-Verlag, 2002, 2nd ed. - 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 Programma 1. Caratteristiche dei dati e del ragionamento in Medicina. 2. La cartella clinica elettronica: caratteri- Docente Prof. Maurizio Pighin Dott. Anna Marzona programmi - LS tecnologie dell’informazione 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 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 243 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. 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. S OMMERVILLE , Software Engineering, Addison Wesley P.C., 7th ed. 2004. - N.E. F ENTON , S.L. P FLEEGER , Software Metrics - A rigorous and practical Approach, 2nd ed., PWS Publishing Company, 1997. 244 - 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-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 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: Catego- programmi - LS tecnologie dell’informazione rical, 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 anatomical images, Preoperative Surgery Planning, Treatment of Phobias, Magnetic Resonance Image Viewing, visual data mining of Hemodialysis data. 245 programmi - LS tecnologie dell’informazione - 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 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: 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 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 246 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 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. 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. 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- 247 programmi - LS tecnologie dell’informazione 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 PerronFrobenius; 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. Bibliografia M.W. BERRY, M. BROWNE, Understanding Search Engines: Mathematical Models and Text Retrieval, SIAM, 1999. PERSONALIZZAZIONE DI 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, fil- 248 programmi - LS tecnologie dell’informazione traggio 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 E ANALISI ORIENTATE AGLI OGGETTI Docente Dott. 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 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 programmi - LS tecnologie dell’informazione 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à. 249 Il controllo di qualità è una delle attività più sottovalutate all’interno dello sviluppo di applicazioni web, sebbene essa 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à: 250 programmi - LS tecnologie dell’informazione - pianificazione dei test; obiettivi, risorse, piano; ruoli professionali; - documenti di specifica: casi d’uso, modello dei compiti; - 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/qcw.html 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-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. Accop- programmi - LS tecnologie dell’informazione piamento. 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 Modalità d’esame Esame orale. Bibliografia - Dispense disponibili on-line. - P. SERAFINI, Ottimizzazione, Zanichelli, Bologna 2000. - L. S CHRAGE , 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 251 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 sistemi basati sulla conoscenza e 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 Personalizzazione dei Contenuti Web - e-commerce, i-access, 252 e-government, Franco Angeli, Milano, 2002. SISTEMI INFORMATIVI IN RETE 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. 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 operazio- programmi - LS tecnologie dell’informazione nali - 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. GARZONA, 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 MOBILI E WIRELESS Docente Prof. Luca Chittaro Dott. Lucio Ieronutti programmi - LS tecnologie dell’informazione Crediti 6 Finalità del corso Obbiettivo 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, 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 mobi- 253 lity. 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 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, 254 programmi - LS tecnologie dell’informazione 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. 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 materiale didattico.uniud.it (accesso con password Sindy). Per le parti sulle tecnologie wireless, si fa riferimento al libro di testo: - J. SCHILLER, Mobile Communications, 2nd Edition, Addison Wesley, 2003. 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 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. - 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. TEORIA DEI SISTEMI Docente Prof. Adriano Pascoletti Crediti 6 programmi - LS tecnologie dell’informazione 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, John 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 fondamen- 255 ti 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. Deco- 256 difica 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 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 , J.N. 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 programmi - LS tecnologie dell’informazione 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 Crediti 3 Programma Questo corso si colloca in un’area inter- 257 programmi - LS tecnologie dell’informazione mediale e interdisciplinare estremamente fluida in cui si incontrano diversi stili comunicativi e diverse discipline. Vengono 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 etc). - 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. - 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. GOTZ, 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. 258 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. programmi - LS tecnologie dell’informazione 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.). 259 programmi - LS matematica CORSO DI LAUREA SPECIALISTICA IN MATEMATICA ALGEBRA 3 Docente Dott. Maria Silvia Lucido Crediti 6 Finalità del corso Il corso consiste in una introduzione classica alla Teoria di Galois. Si studieranno estensioni di campi. Verrà dimostrato il teorema fondamentale della Teoria di Galois. Programma Estensione di campi, estensioni normali, separabili e puramente inseparabili. Automorfismi e gruppo di Galois, teorema fondamentale. Campi finiti, estensioni ciclotomiche. Prerequisiti È necessario aver seguito i corsi di Algebra 1 e 2 e Geometria 1. Modalità d’esame Scritto e orale. ALGEBRA 4 Docente Dott. Mario Mainardis gruppi finiti, esempi fondamentali ed applicazioni. Programma Commutatori, gruppi risolubili e gruppi nilpotenti. Azioni di gruppi e G-insiemi, nilpotenza dei p-gruppi, Teoremi di Sylow e Teorema di Schur-Zassenhaus. Azione coprima ed azione nilpotente, componenti, Teorema di Bender-Fitting, struttura locale. Gruppi simmetrici ed alterni, struttura locale gruppi lineari, cenni sui gruppi classici. Prerequisiti Teoria elementare dei gruppi, struttura dei gruppi abeliani finiti, spazi vettoriali e forme lineari. Modalità d’esame Prova orale su appuntamento. Verranno inoltre assegnati dei seminari da tenere durante il quadrimestre. Bibliografia - J.L. A LPERIN , R.B. B ELL , Groups and Representations, Springer 1995. - M. A SCHBACHER , Finite Group Theory, Cambridge University Press, 1986. - H. KURZWEIL, B. STELLMACHER, Theorie der Endlichen Gruppen, Springer 1998. - M. M AINARDIS , Appunti di Teoria dei Gruppi. - Dispense scaricabili all’indirizzo http://www.dimi.uniud.it/mainards/clas snotes.htm - M. SUZUKI, Group Theory I, II, Springer 1982. ALGEBRA 5 Crediti 6 Finalità del corso Questo corso è un’introduzione alla teoria dei gruppi finiti. Si vogliono mostrare alcune tecniche di base per lo studio dei Docente Prof. Giovanni Panti Crediti 6 260 programmi - LS matematica 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 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. Sprinter. 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 dif- ferenziali: 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 MATEMATICA 7 Docente Prof. Fabio Zanolin Crediti 6 261 programmi - LS matematica 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 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. 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 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 8 Docente Prof. Lorenzo Freddi Crediti 6 Finalità del corso Scopo del corso è quello di introdurre alcuni temi tipici dell’Analisi Funzionale e del Calcolo delle Variazioni, come, ad ANALISI MATEMATICA 9 Docente Prof. Fabio Zanolin Crediti 6 Finalità del corso Scopo del corso è quello di introdurre 262 programmi - LS matematica 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 approfondire 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à. mentali 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 sperimentazine 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. ANALISI NUMERICA 2 Docente Prof. Rossana Vermiglio Crediti 6 Finalità del corso Lo scopo del corso consiste nel fornire la conoscenza dei metodi numerici fonda- 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. 263 programmi - LS matematica 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 numerica 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 ellettiche (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 approfondimen- ti 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. Dario Fasino 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. 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 operato- 264 programmi - LS matematica ri integrali e differenziali. Consistenza, convergenza, stabilità di metodi numerici. Risoluzione numerica di problemi mal posti. Regolarizzazione di Tikhonov. Teoria delle perturbazioni per funzioni di matrici. Argomenti avanzati di Algebra Lineare Numerica. 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. ne quantistica. Relatività speciale e formulazione covariante dell’elettromagnetismo. Cenni sulla fisica delle particelle elementari e la cosmologia. Prerequisiti Fisica 1 e 2. Analisi applicata alle funzioni di una e più variabili. 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 ed.), Wiley 1996. - Appunti di lezione. FONDAMENTI DELLA MATEMATICA 1 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. 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 computazio- Docente Prof. Franco Parlamento 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. 265 programmi - LS matematica - atematica 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. SMULLIAN, 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. GEOMETRIA 4 Docente Prof. Francesco Zucconi 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 Fisica 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, quo- zienti. 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. Pietro Corvaja Crediti 6 Finalità del corso Il corso è concepito come un’introduzione alla Geometria Differenziale. Programma - Superficie regolare. - Geometria della applicazione di Gauss. - Teorema egregium. - Teorema di Gauss Bonnet. - Applicazione esponenziale. - Teorema di Hopf Rinow. - Nozione di varietà astratta. - Nozione di varietà di Riemann. Bibliografia M.P. DO CARMO, Differential Geometry of Curves and Surfaces, Prentice-Hall, 1976. GEOMETRIA 6 Docente Prof. Pietro Corvaja Crediti 6 266 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. 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. GEOMETRIA 7 Docente Prof. Paolo Cragnolini Crediti 6 Finalità del corso Il corso si propone una 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, Algebraic curves, Benjamin, New York, 1969. - R. H ARTSHORNE , Algebraic geometry, Springer GTM 52, 1977. - M. M ANETTI , Corso introduttivo alla Geometria Algebrica, Scuola Normale Superiore, Pisa, 1998. GEOMETRIA 8 Docente Prof. Paolo Cragnolini Crediti 6 Finalità del corso Il corso si propone una 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 - W. FULTON, Algebraic curves, Benjamin, New York, 1969. - R. H ARTSHORNE , Algebraic geometry, Springer GTM 52, 1997. - M. M ANETTI , 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. 267 programmi - LS matematica - 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 liscie, 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à. - Struttura delle corrispondenze: applicazioni liscie, 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à. Bibliografia Testi consigliati - D. MUMFORD, Algebraic Geometry I Complex Projective Varieties, Springer-Verlag, 1976. Bibliografia - D. MUMFORD, Algebraic Geometry I Complex Projective Varieties, Springer-Verlag, 1976. INFORMATICA 2 Docente Prof. Carla Piazza GEOMETRIA 10 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; 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. 268 programmi - LS matematica 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, Second 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. Giuseppe Lancia 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à, soprattuto per i temi studiati nella seconda e terza parte, solo una introduzione ma la centralità, la pervasività e l’eleganza delle idee presentate ne giustifica e motiva il trattamento. Il corso si dividerà quindi in tre parti: nella prima parte si studieranno problematiche relative al disegno ed utilizzo di algoritmi di string matching e alla analisi della complessità degli algoritmi. Nella seconda parte si studieranno i principali modelli e architetture parallele, insieme alle tecniche fondamentali per l’analisi ed il disegno di algoritmi paralleli. Nella terza parte si studieranno i fondamenti della teoria degli algoritmi randomizzati rivisitando algoritmi noti nella loro versione randomizzata. Si prevede, durante la parte finale del corso, un’attività seminariale e di approfondimento e introduzione alla ricerca. 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. 269 programmi - LS matematica - Terza parte: Introduzione agli algoritmi randomizzati. Il metodo probabilistico. Strutture dati: hashing. Algoritmi probabilistici su grafi: all pairs shortest paths e minimum spanning trees. Bibliografia - Appunti delle lezioni. - 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, R. RAGHAVAN, Randomized Algorithms, Cambridge University Press, 1995. - M.J. QUINN, Parallel computing - Theory and Practice, 2nd Ed., McGraw-Hill, 1994. ISTITUZIONI DI LOGICA MATEMATICA 1 Docente Prof. Alberto Marcone Crediti 6 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. MARCJA, C. TOFFALORI, A guide to classical and modern model theory, Kluwer, 2003. - R. SOARE, Recursively enumerable sets and degrees, Springer, 1987. 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 Turing. C3. Codificabilità di programmi e computazioni. C4. Teorema di forma normale di Kleene. C5. Problemi indecidibili. C6. Indecidibilità della logica di Horn. 270 programmi - LS matematica Modalità d’esame Prova orale. Bibliografia - Appunti del docente. - N. CUTLAND, Computability, Cambridge University Press. MATEMATICHE COMPLEMENTARI Docente Prof. Alberto Marcone Crediti 6 zioni matematicamente soddisfacenti e complete. Questa attività permette di discutere i vantaggi e gli svantaggi dell’utilizzo di software di questo genere nell’attività scolastica, evidenziando le problematiche ad essi connesse, e conduce lo studente ad impostare unità didattiche in cui lezioni frontali e uso dei software siano integrati. Modalità d’esame Prova pratica al termine del corso, con successiva breve discussione orale. Bibliografia Numerose risorse sono disponibili in rete e verranno segnalate e utilizzate durante il corso. Pagina del corso http://www.dimi.uniud.it/marcone/MC 2.html Finalità del corso Familiarizzare gli studenti con un tipo di software che negli ultimi anni si è molto diffuso come supporto alla didattica della matematica. Evidenziare le problematiche didattiche che l’uso di questo genere di programmi comporta. Programma Il software di geometria dinamica Cabrigéométre II ed un programma di calcolo simbolico (Derive, Maple, o Mathematica) vengono introdotti attraverso l’attività pratica in un laboratorio informatizzato. In una prima parte del corso gli studenti hanno l’opportunità di fare conoscenza delle diverse caratteristiche dei software, sia operative che semantiche (significato delle figure di Cabri e dei risultati dei programmi di calcolo simbolico, possibilità di errore e di fraintendimento). In un secondo momento gli studenti affrontano alcuni problemi formulati in modo “aperto” e utilizzano i software per formulare e testare congetture, fino ad arrivare a solu- MATEMATICHE COMPLEMENTARI 2 Docente Prof. Alberto Marcone Crediti 6 Finalità del corso Fornire alcune competenze utili a chi 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 programmi - LS matematica 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. 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à. 271 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 272 programmi - LS matematica OTTIMIZZAZIONE 1 descrizione in una relazione scritta, e discussione orale della relazione. 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, second 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 lezionfiltered. 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 Modeling, Academic Press, 1987. 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 273 programmi - LS matematica forte connessione. Alberi, cricche e insiemi stabili. Problemi di ottimizzazione su grafi. Cenni di complessità computazionale (6). 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). 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). 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). 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. 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). 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. OTTIMIZZAZIONE 2 Docente Prof. Franca Rinaldi Crediti 6 Finalità del corso Il corso completa la presentazione dei Bibliografia - P. SERAFINI, Ottimizzazione, Zanichelli, Bologna 2000. OTTIMIZZAZIONE 3 Docente Prof. Franca Rinaldi 274 programmi - LS matematica OTTIMIZZAZIONE 4 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. Docente Prof. Franca Rinaldi 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. Giochi a n persone. Giochi non cooperativi. Giochi cooperativi. Coalizioni e imputazioni. Nucleo di un gioco. Valore di Shapley. Corso monografico. Modalità d’esame L’esame consiste in una prova orale. Bibliografia Materiale bibliografico fornito dal docente. PARTICELLE E INTERAZIONI FONDAMENTALI Docente Dott. Marina Cobal 275 programmi - LS matematica Crediti 6 Pagina del corso http://www.fisica.uniud.it/%7Ecobal/pa rticelle_welcome.html Finalità del corso Questo corso è una 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. 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. Prerequisiti Fisica 1 e 2, Fisica Moderna, eventualmente Meccanica quantistica. Modalità d’esame Compiti per casa e relazione finale su un articolo a scelta. Bibliografia - P ERKINS , High Energy Physics, IV ed., Addison-Wesley. - B.R. MARTIN, G. SHAW, Particle Physics (2nd ed.), Wiley. - Appunti di lezione, disponibili al sito: http://www.fisica.uniud.it/~cobal/particelle_welcome.html 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. 276 programmi - LS matematica STATISTICA 1 Docente Prof. Luigi Pace Crediti 6 Finalità del corso Il corso presenta una 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à). - ferenza 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. 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. 277 programmi - LS matematica - 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 la teoria degli insiemi. Qualche argomento più avanzato, quali ad esempio: definibilità e insiemi costruibili, l’assioma di Martin, forcing, teoria descrittiva degli insiemi. Modalità d’esame Prova 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 2 Docente Prof. Umberto Zannier Docente Prof. Alberto Marcone Crediti 6 Crediti 6 Finalità del corso Il corso si propone di fornire un’introduzione ad un aspetto classico e centrale della teoria dei numeri: la soluzione di equazioni in numeri razionali. Il corso non richiede prerequisiti specifici. Pagina del corso http://www.dimi.uniud.it/marcone/tinsiemi.html Finalità del corso Il corso mira a introdurre gli studenti agli argomenti e tecniche di base della teoria degli insiemi, con attenzione sia al loro interesse intrinseco che alle loro connessioni con altre parti della matematica. Programma L’assioma di fondazione e la struttura dell’universo insiemistico. Filtri, ultrafiltri e algebre di Boole. Grandi cardinali e teoria combinatoriale degli insiemi. Insiemi boreliani e analitici. Modelli per 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. 278 programmi - LS matematica 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 - 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 Testo consigliato: appunti del decente. Altri testi - RYSZARD ENGELKING, General Topology, Helderman Verlag, Berlin. 1989. - J. K ELLEY , General Topology, D. Van Nostrand Company, New York 1959. Crediti 6 TOPOLOGIA 2 Argomenti - 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). - Complettezza (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’immerione 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. Docente Prof. Dikran Dikranjan 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, geometria 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 prango; gruppi abeliani divisibili. 7. Invarianti cardinali dei gruppi topologici: 279 programmi - LS matematica peso, densità, carattere, e pseudocarattere. 8. Il teorema di metrizzazione di Birkhoff-Kakutani. 9. Gruppi completi e completamento di un gruppo topologico. 10. Gruppi connessi, componente connessa di un gruppo topologico. 11. Gruppi localmente compatti, teorema di Baire, teoremi della mappa aperta. 12. Teorema di Peter-Weyl 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, IV. 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. 280 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 O 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- 281 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, BO. - SACCO, Fondamenti di Chimica, CEA, MI. COMPLEMENTI DI MECCANICA 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. COSMOLOGIA E ASTROFISICA DELLE PARTICELLE 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 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 282 programmi - LS fisica computazionale particelle di alta energia, nonché di passare criticamente in rassegna i diversi strumenti di rivelazione. 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. Prerequisiti Particelle e Interazioni Fondamentali. 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. FISICA DELLE ALTE ENERGIE Docente 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. Programma Articoli selezionati su argomenti di fisica e astrofisica delle alte energie; analisi dei dati di un esperimento. Prerequisiti Nozioni di Fisica Quantistica e Relatività. 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 Finalità del corso Introdurre la Fisica Quantistica e la Relatività. Il corso è indirizzato agli studenti di Fisica Computazionale, Matematica, Informatica e Ingegneria. 283 programmi - LS fisica computazionale 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. Prerequisiti Fisica 1 e 2. Analisi applicata alle funzioni di una e più variabili. 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 ed.), 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 h). - 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 Docente Prof. Alfredo Soldati Crediti 6 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 ed Energia. - Fluidi Newtoniani; Equazioni di Navier Stokes. - Soluzioni Esatte: Flussi Unidirezionali. 3. Soluzioni Approssimate (16 h): - Adimensionalizzazione. - Creeping flow. - Teoria di Reynolds - della lubrificazione. - Moto potenziale. - Autosimilarità: Strato Limite, Getti e Scie. 4. Instabilità e Turbolenza (14 h): 284 programmi - LS fisica computazionale - Instabilità. - Equazioni di Conservazione Mediate Secondo Reynolds (chiusura). - Leggi di chiusura. - Leggi di scala e auto-preservazione in flussi esterni e confinati. Prerequisiti Fisica generale. INFORMATICA 1 cifica 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. Docente Prof. Agostino Dovier INFORMATICA 2 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 imperativo. 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. Spe- 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 linguaggio 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 285 programmi - LS fisica computazionale 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 valutazine della sua incertezza nella fisica sperimentale, Zanichelli. - G. C O W E N , Statistical data analysis, Oxford Sc. - L. LYONS, Statistics for Nuclear and Particle Physicists, Cambridge University 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, Cambridge University Press. - Dispense del corso. 286 LABORATORIO DI STRUMENTI E MISURE DI FISICA Docente Dott. Hans Grassmann 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. Modalità d’esame Prova orale. Bibliografia - P.A. TIPLER, Corso di Fisica, Zanichelli. - U. AMALDI, Fisica, a cura di A. Chiari e E. Milotti, Zanichelli. - Dispense. programmi - LS fisica computazionale MECCANICA QUANTISTICA Docente Prof. Stefano Ansoldi 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 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. Programma Richiami di termodinamica. Prima e seconda legge. Equilibrio termico e temperatura. Relazioni di Maxwell ed equazione di Gibbs-Duhem. Equilibrio e stabi- 287 programmi - LS fisica computazionale lità. 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. Prerequisiti Fisica moderna. 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 Crediti 6 Finalità del corso - Fornire agli studenti le conoscenze di base inerenti alla fluidodinamica e termodinamica atmosferica nonché gli strumenti analitici atti ad analizzare i princi- pali 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. Modalità d’esame Orale. 288 programmi - LS fisica computazionale 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. 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 analiti- ca, 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 ed 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. Prerequisiti Fisica 1, aver frequentato Meccanica Statistica 1. 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 - M.H. K ALOS , P.A. W HITLOCK , Monte Carlo Methods, Wiley, New York, 1986. 289 programmi - LS fisica computazionale - D. F RENKEL , B. S MIT , Understanding Molecular Simulation, second 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 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). 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. Prerequisiti Struttura della Materia. 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 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. 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. Prerequisiti Meccanica Statistica. MODELLISTICA E SIMULAZIONE Docente Prof. Adriano Pascoletti Crediti 6 Finalità del corso Illustrazione del processo di costruzione 290 programmi - LS fisica computazionale 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 Modeling, 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 è una 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 confronta- re 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. 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. Prerequisiti Fisica 1 e 2, Fisica Moderna, eventualmente Meccanica quantistica. Modalità d’esame Compiti per casa e relazione finale su un articolo a scelta. Bibliografia - P ERKINS , High Energy Physics, IV ed., Addison-Wesley. - B.R. MARTIN, G. SHAW, Particle Physics (2nd ed.), Wiley. - Appunti di lezione, disponibili al sito: http://www.fisica.uniud.it/~cobal/particelle_welcome.html 291 programmi - LS fisica computazionale QUANTUM COMPUTING Docente Dott. Luca Marinatto Bibliografia - Appunti del docente. - MICHAEL NIELSEN, ISAAC CHUANG, Quantum Computation and Quantum Information, Cambridge University Press, 2000. Crediti 6 RELATIVITÀ GENERALE Pagina del corso http://www.fisica.uniud.it/~riccardo/teaching/physics/qc2001.html Finalità del corso Scopo del corso è di fornire una 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. 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. Prerequisiti Fisica moderna. Modalità d’esame L’esame si svolgerà sotto forma di discussione di una tesina su argomenti di ricerca inerenti il corso. 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. 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 292 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. Programma I. Metodi di simulazione: Approssimazione di Born-Oppenheimer. Indicatori della presenza di interazioni a molti corpi fra atomi. Potenziali a colla/embedded atom. Dinamica molecolare tight-binding. 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 programmi - LS fisica computazionale 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 Einstein. 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 correlazio- programmi - LS fisica computazionale ne e varie proprietà strutturali, vibrazionali, termodinamiche del sistema. Prerequisiti Metodi Monte Carlo, Struttura della Materia. 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. FRENKEL, B. SMIT, Understanding molecular simulation, 2nd Ed., 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 Ed., Sprinter, 1996. - Materiale preparato o selezionato dal docente; appunti di lezione. STRUTTURA DELLA MATERIA 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 293 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, John Wiley. - BRANDSEN, JOACHAIN, Physics of Atoms and Molecules, Longman. general information and curricula 297 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. ++39 0432558681-4-7 - Fax ++390432558682; 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 1 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. 1 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 2006-07 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: Information Technology 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 Second level Master courses: Medical Computer Science ENTRANCE REQUIREMENTS Laurea courses require the High School Diploma or some equivalent degree obtained abroad. Application requests can be submitted from July 13, 2006 to September 22, 2006. The request should be presented 298 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 January 2, 2007. 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, 2006 to September 8, 2006. 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 4 to September 15, each day, (Monday to Friday) from 9 am to 1 pm (except on September 5 and 8, when the course will be held from 3 pm to 7 pm). 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 11 to September 22. 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. Prerequisites 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 6, 2006. Delays are accepted for special cases, but not later than April 30, 2007 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. For any information: http://cisbscienze.bib.uniud.it/ 299 general information and curricula or [email protected] - Centro Interdipartimentale dei Servizi Bibliotecari di Economia located in Via Tomadini, 30/a - Udine - Tel. ++39043 2249600. Information: 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. Information: 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.45 am - 11.45 am - 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_studenti/international_students_service - the Faculty Office (Segreteria di Presidenza della Facoltà) via delle Scienze, 208 Rizzi Udine Tel ++390432558687/4/1 - Fax ++390432-558682, open 12.00 am - 1.00 pm, Monday, Wednesday and Friday. 300 general information and curricula LECTURE TIMETABE First term: Second term: Third term: September 25, 2006 - December 1, 2006 January 15, 2007 - March 16, 2007 April 18, 2007 - June 20, 2007 Exams First period: Second period: Third period: December 4 - 22, 2006 and January 8 - 12, 2007 March 19, 2007 - April, 17, 2007 June 21, 2007 - July 31, 2007 and September 3 - 21, 2007 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 2004/05 - 2006/07) and consisting of full professors, associate professors, representatives of assistant professors and representatives of students. The current student representatives are: Burelli Paolo Zanitti Francesco 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 representative is: Molaro Chiara Computational Physics Consiglio di Corso di laurea Specialistica in Fisica Computazionale, currently chaired by Alessandro De Angelis, professor of Physics. The student representatives are: Sclauzero Gabriele Staniscia Fabio The Master in Information Technology is currently chaired by Luca Chittaro, professor of Human-Computer Interaction. general information and curricula CURRICULA THREE-YEAR LAUREA COURSE IN COMPUTER SCIENCE 301 THREE-YEAR LAUREA COURSE IN WEB AND MULTIMEDIA TECHNOLOGIES Normal duration 3 years, corresponding to 180 ECTS credits*. 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. 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 302 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. THREE-YEAR LAUREA COURSE IN MATHEMATICS Duration 3 years, corresponding to 180 credits*. 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. general information and curricula The programme also provides the opportunity to learn English and to acquire communicative and organizational skills. 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) Normal 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. Activated Curricula Three curricula are currently activated: - Agricultural Biotechnology; - Veterinary Medicine Biotechnology; - Computational Biology/Bioinformatics. FIRST LEVEL MASTER IN INFORMATION TECHNOLOGY Educational degree issued together with the B.M. Birla Science Center, Hyderabad, India. Duration One year, corresponding to 60 credits*. Features and Objectives The first level Master course in Information Technology provides focussed professional skills in modern computer technologies utilized nowaday in public and 303 general information and curricula private organizations. The Master in Information Technology provides students with a highly specialized education in Information Technology, especially in web and multimedia technologies. The Master aims at producing professionals with a sound background in computer science able to adapt to the working environment easily and quickly, especially in the most innovative fields of IT. With respect to the three-year degree in Computer Science, the Master improves and deepens basic computer science knowledge by emphasizing specific industrial technologies. Training stages in industries are organized as well. The Master focuses on advanced computer networks, web technologies, web site and portal design, human-computer interaction, network security, multimedia systems, ecommerce, advanced java programming, and management information systems. FIRST LEVEL ON LINE MASTER IN OPEN DISTANCE LEARNING Duration One year, corresponding to 60 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 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 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/sc ienze 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, 304 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 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 general information and curricula 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, e-government 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, deepening and strengthening the knowledge of Mathematical disciplines. Activated Curricula 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 credits*. general information and curricula 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 quantum 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 * 305 high advanced studies, Miramare - Trieste) and the University of Trieste. LAUREA SPECIALISTICA IN STATISTICAL 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 The course offers three curricula: - Statistics and Computer Technology for Enterprise Management; - Statistics for the Analysis of Financial Markets; - Statistics and Computer Science. SECOND LEVEL MASTER IN MEDICAL COMPUTER SCIENCE The Faculty organizes, in cooperation with the Faculty of Medicine and the Regional Authority for Public Health, the second level Master in Medical Computer Science, devoted to provide competences for directing and managing innovative ICT tools and solutions for healthcare. Further information at http://inmed. uniud.it 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. 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: 309 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 310 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. In alternativa - R. ELMASTRI, S. NAVATE, Sistemi di basi di dati. Complementi (quarta edizione), Pearson Education Italia / Addison Wesley, 2005. - J.D. ULLMAN, Principles of Databases and Knowledge-Base Systems, Computer Science Press, 1988. Volume I. - SILBERSCHATZ, H. F. KORTH, S. SUDAR- three-year laurea course in Computer Science SHAN, 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 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 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. 311 three-year laurea course in Computer Science 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, Second 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 312 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. The first part of the course is devoted to present the fundamental concepts: first, it deals with the analysis and design of logic circuits; then, it builds and analyses the most frequently used digital components; finally, it uses the studied components to build a simple computer. The second part of the course builds on the fundamental concepts to examine the main design choices in modern computers. In particular, it focuses on: connection and communication between the computer and peripheral devices; computer memory (cache, main, peripheral, virtual); relevant recent architectural approaches (pipelining, RISC, multiprocessors) on the market. Finally, to better highlight the relations between the hardware and software level, the course deals with Assembler programming in depth, using a specific family of Motorola microprocessors. Program - Introduction: Historical perspective on computer architecture. Application areas of microprocessors, embedded systems. - Logic Circuits: Logic Gates. Boolean Algebra. Representation of Boolean functions. Analysis and synthesis of combinational circuits. Integrated circuits. Most frequently used combinational circuits. Flip-flops. Synchronous and asynchronous sequential circuits. Modeling with finite state machines. Analysis and synthesis of synchronous sequential circuits. Most frequently used sequential circuits. RAM, ROM. - Data Representation: Binary, Octal, Decimal, Hexadecimal representations. Conversions. Sign and module, 1’s complement, 2’s complement. Fixed point and floating point. Addition, subtraction, multiplication. Overflow. IEEE Standard for floating-point numbers. Character representation. Codes, error detection and correction. - Architecture, Design, Programming of a Simple Computer: Bus. Micro-operations and their hardware implementation: data transfer, arithmetic, logic, shift microoperations. ALU. Machine language. Fetch-decode-execute cycle. Timing and control. Hardwired control unit. Detailed example of a simple architecture: organization, instructions, control, I/O, interrupt. Microprogrammed control unit, Microprogramming. Organization of conventional architectures. CISC and RISC architectures. Case study: the Intel Pentium III architecture. - Input/Output: Peripheral devices. Input/output interface. Bus connection. ISA, PCI, USB. Memory Mapped I/O. Asynchronous communication. Strobe Control, Handshaking. Buffer. Programmed I/O, Interrupt, DMA. Priority mechanisms: Polling, Daisy-Chain, Parallel Priority. I/O Processor. Modem. Serial synchronous communication. Protocols. 313 three-year laurea course in Computer Science - Memories: Main, peripheral, associative, and cache memory. SRAM, DRAM. SIMM. IDE and SCSI disks. RAID. CDROM and DVD. Cache hit and miss. Mapping between main and cache memory: direct, fully associative, set-associative mapping. Memory Interleaving. Replacement techniques. Writing the cache: write-through, write-back. Second level cache. Virtual memory. Pagination and Segmentation. MMU. TLB. Memory protection. - Parallel processing architectures: Pipelining. Pipeline stall. Branch prediction. RISC pipeline. Vector computer. EPIC architectures. Flynn’s classification. Multiprocessor. Processor interconnection: bus, network. Communication and synchronization among processors. Bus arbitration. Cache coherence, snooping. UMA and NUMA architectures. Switched networks: ring, crossbar, omega, hypercube. Clusters. Massively parallel architectures. - Assembler Programming: Evolution of microprocessors in the last two decades: the Motorola and Intel case studies. Motorola 68000 architecture. 68000 Assembler: instruction format, directives. Addressing modes. Assignment and comparison instruction, effects on the condition codes. Conditional and unconditional branch instructions. Subroutines. Memory allocation/deallocation on the stack. Arithmetic, logic, shift, bit manipulation instructions. Exception handling. Exams The final exam consists of two parts: (i) final written exam, and (ii) oral discussion. The final written exam contains exercises which are analogous to those solved during the course and questions about the course topics. The oral discussion concerns some course topics. During the course, student are offered the opportunity to take two written exams, each one dealing only with half the course topics. Students who pass successfully these two written exams do not need to take the written part of the final exam. References Textbook - ANDREW S. TANENBAUM, Structured Computer Organization, 4th Edition, PrenticeHall, 1999. Recommended Books - D. PATTERSON, J. HENNESSY, Computer organization and design, 2nd Edition. Morgan Kaufmann, 1998. - J. HENNESSY, D. PATTERSON, Computer architecture: a quantitative approach, 2nd Edition. Morgan Kaufmann, 1996. - G. K ANE , D. H AWKINS , L. L EVENTHAL , 68000 assembly language programming, Osborne McGraw-Hill, 1981 (available also in Italian: “Assembler per 68000”, Jackson Edizioni). 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. 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. 314 three-year laurea course in Computer Science - 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). ming 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 pragmatical aspects of these paradigms, they are analysed 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 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 program- Program Imperative Paradigm - Abstract Machines Interpretation and Compilation - Describe a Computer Language (Syntax and Semantics) - Names and environments - Memory Management - Structuring control - p-code - Control Abstraction (Parameters Passing Methods) three-year laurea course in Computer Science - 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 comput- 315 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, 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 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 316 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, 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. three-year laurea course in Computer Science 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. 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 317 three-year laurea course in Computer Science filtering. Security at the application level: 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 a 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. T ANEMBAUM , Computer Networks, (Fourth 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 Teacher Dott. Claudio Mirolo Prof. 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 behaviour 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- 318 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 - MAX HAILPERIN, BARBARA KAISER, KARL KNIGHT, Concrete Abstractions: An Introduction to Computer Science Using Scheme, Brooks/Cole Publishing Company, 1999 (ISBN: 0-534-95211-9). - JOHN LEWIS, WILLIAM LOFTUS, Java Software Solutions - Foundations of Program Design, Addison-Wesley, 2002 (Edizione italiana 2001; ISBN: 0-201-78129-8). DATABASE AND INFORMATION SYSTEMS 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 three-year laurea course in Computer Science 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 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 modelling: 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 319 three-year laurea course in Computer Science 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. 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 (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), 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. 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. 320 - 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 h review of classical electrodynamics. Maxwell’s equations. Waves in continu- three-year laurea course in Computer Science ous 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. three-year laurea course in Computer Science 321 ELEMENTS OF MATHEMATICAL LOGIC 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. Major topics: 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. 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 Credits 6 Program Provide an introduction to basic techniques for the development of knowledge-based systems and expert systems, and, more specifically, knowledge representation mechanisms and reasoning 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, John 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. FORMAL METHODS OF COMPUTER SCIENCE Teacher Prof. Marina Lenisa Credits 180 Aims The aim of this course is to introduce var- 322 ious 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 three-year laurea course in Computer Science 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: formal languages, computability, and 323 three-year laurea course in Computer Science 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. 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 applications of interactive computer systems. 324 - 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 three-year laurea course in Computer Science 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, Third 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. 325 three-year laurea course in Computer Science 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 Prof. Carla Piazza 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 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 year). References - S. Martini, appunti disponibili sulla pagina web. - T.H. C ORMEN , C.E. L EISERSON , R.L. RIVEST, Introduction to Algorithms, MIT Press, Second edition, 2001. MANAGEMENT INFORMATION SYSTEMS Teacher 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. Busi- 326 ness 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 exam 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. GARZONA, 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. three-year laurea course in Computer Science 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 rigour 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 online. References Textbook - G.C. B AROZZI , Primo Corso di Analisi Matematica, Zanichelli. 327 three-year laurea course in Computer Science MATHEMATICAL LOGIC Teacher Prof. Giovanna D’Agostino ming models: branch-and-cut-and-price. Compact optimization. Heuristic algorithms. 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. MODELS AND ALGORITHMS FOR RESOURCE MANAGEMENT Teacher Prof. Giuseppe Lancia Credits 6 Program Computational complexity, reductions and transformations. Approximation and randomized algorithms. De-randomization. Exponential integer linear program- 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. 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 ed.), Wiley 1996. - Lecture notes. 328 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; behaviour; 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 behaviour 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 lan- three-year laurea course in Computer Science guage 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 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. three-year laurea course in Computer Science - K.A. L AMBERT , M. O SBORNE , A Framework for Program Design and Data Structures, Brooks/Cole, 2000. OPERATING SYSTEMS Teacher Dott. Ivan Scagnetto Prof.ssa 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; 329 - kernel role: interrupt and trap handling, wait and signal operations on wait conditions; - CPU scheduling: basic notions, scheduling criteria, scheduling algorithms, 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; 330 three-year laurea course in Computer Science - 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, 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 331 three-year laurea course in Computer Science 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. Travelling 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- shop. 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 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 - 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 332 Physics. Electric and magnetic forces. Introduction to circuits. Elementary introduction to electromagnetic waves. Exams Written test. References - TIPLER, Introduzione alla Fisica, Zanichelli. - Lecture notes. PROBABILITY AND STATISTICS 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; three-year laurea course in Computer Science 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 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, Maggioli, 2a ed., 1992. - P. BALDI, Calcolo delle Probabilità e Statistica, McGraw-Hill, 1992. PROGRAMMING LAB Teacher Prof. Fabio Alessi Dott. Alberto Ciaffaglione Credits 4 333 three-year laurea course in Computer Science 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 - Introductory programming exercises. - Recursive and iterative programs solving simple problems. - Programs working on structured data types. - 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 Dott. Luca Marinatto some basic elements on top level research topics like the quantum information theory or the quantum teleporting theory. 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. Credits 6 SCIENTIFIC COMPUTING Web Site 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 analysed. 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 Teacher Prof.ssa 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 preci- 334 three-year laurea course in Computer Science sion arithmetic and memory and they will improve their programming experiences. Finally they will be able to critically analyse 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 information 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 335 three-year laurea course in Computer Science Card; the electronic document and its validity un 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 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 Program 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. 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 Seventh Edition, Addison-Wesley, Harlow, UK, 2004. Italian edition - I. SOMMERVILLE, Ingegneria del software - 7 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. 336 three-year laurea course in Computer Science - Study materials available http://twm.dimi.uniud.it/ on SOFTWARE ENGINEERING 2 Teacher 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. Verifica- tion 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 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, McGraw-Hill, 4th ed., 2005. - I. SOMMERVILLE, Software Engineering, 7th ed., Addison Wesley P.C., 2004. - N.E. F ENTON , S.L. P FLEEGER , Software three-year laurea course in Computer Science 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. 337 - 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. 338 three-year laurea course in Web and Multimedia Technologies THREE-YEAR LAUREA COURSE IN WEB AND MULTIMEDIA TECHNOLOGIES ADVANCED LABORATORY OF COMMUNICATION TECNIQUES 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 com- menting his own C.V, social and work meetings and similar events. 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. three-year laurea course in Web and Multimedia Technologies References - A.M. T E S T A , Farsi Capire, Rizzoli, Milano, 2000, 406 pages. - P. B A L B O N I , Parole comuni, Culture diverse, Marsilio, Venezia 1999, 120 pages. - P. T ABOSSI , 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 Teacher 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). 339 - 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 340 three-year laurea course in Web and Multimedia Technologies 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. 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, Second 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. APPLIED STATISTICS 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 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 Sta- 341 three-year laurea course in Web and Multimedia Technologies tistica, I Statistica Descrittiva, Cedam, Padova, 1996. - Lecture notes. - G. CICCHITELLI, Probabilità e Statistica, I ed., Maggioli Editore, 1984. COGNITIVE MODELING Teacher Dott. Sabrina Plet Credits 6 BASIC CONCEPTS OF MATHEMATICS Teacher Prof. Giovanna D’Agostino Credits 3 Aims The aim of the course is to give the student the basic mathematical language and the fundamental techniques which are needed to understand more advanced courses. A first approach to the deduction method will be given by means of many examples of elementary proofs, and by encouraging the student to try various deduction techniques. Program - Sets, functions, and relations. - Natural Numbers: the principle of mathematical induction, divisibility and prime numbers, Euclid’s algorithm. - Deduction Methods: proof by contradiction, proof by cases, contraposition. - Partitions and Equivalences, modular arithmetic, congruencies. - The RSA system. - Set Cardinality. - Orders. - Graphs. - Matrices. Exams Written and oral examinations. References - A. FACCHINI, Algebra e matematica discreta, Decibel Zanichelli. 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. Exams Written test. References - L. ANOLLI, P. LEGRANZI, Psicologia Generale, Il Mulino, 2001. Chapter 1: paragraphs 1.1 e 1.2 (pag. 9-13) Chapter 2: complete (pag. 47-75) Chapter 3: paragraphs 1 e 2 (pag. 77-86) Chapter 4: paragraphs 1 e 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. 342 three-year laurea course in Web and Multimedia Technologies 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. 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 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- Teacher Prof. Pietro Di Gianantonio Credits 8 Aims The course illustrates the structure and functioning of a computer and its various parts. In particular it focuses on: connections and communication between the computer and the peripheral devices; computer memory (cache, main, peripheral, virtual); relevant architectural approaches (RISC, CISC, pipelining). Program Introduction: Historical perspective on computer architectures. Date Representation: Binary, Octal, Decimal, Hexadecimal representations. Conversions, Sign and module, 1’s complement, 2’s complement. Fixed point and floating point. Addition, subtraction, multiplication. Overflow. IEEE Standard for floating point numbers. Character representation. Codes, error detection and correction. CPU Architecture: Micro-operations: data transfer, arithmetic, logic, 343 three-year laurea course in Web and Multimedia Technologies shifting. ALU. Machine language. Fetchdecode-execute cycle. Timing and control. Hardwired control unit. Detailed example of a simple architecture: organization instructions, control, I/O, interrupt. Microprogrammed control unit. Microprogramming. Organization of conventional architecture. CISC and RISC architectures. Case study: Intel Pentium III architecture. Input/Output: Peripheral devices. Input/Output interface. Bus connection. Memory Mapped I/O. Asynchronous communication. Strobe Control, Handshaking. Buffer. Programmed I/O. Interrupt. DMA. Priority mechanisms: Polling, Daisy-Chain, Parallel Priority. I/O Processor. Modem. Serial synchronous communication. Protocols. Memories: Main, peripheral, associative and cache memory. SRAM, DRAM. SIMM. Cache hit and miss. Mapping between main and cache memory: direct, full associative, set-associative mapping. Memory Interleaving. Replacement techniques. Writing the cache: write-through, write-back. Second level cache. Virtual memory. Pagination and Segmentation. MMU. TLB. Memory protection. Exams The final exam consists of two parts: 1.final written exam 2.oral discussion. The final written exam contains exercises which are analogous to those solved during the course and questions about course topics. The oral discussion concerns some course topics. During the course, students are offered the opportunity to take to written exams, each one dealing with half of the course topics. Students who pass successfully these to written exams do not need to take the written part to the final exam. References - A.S. TANENBAUM, Structured Computer Organization, 4th Edition, Prentice Hall, 1999. Texts for further readings - D. PATTERSON, J. HENNESSY, Computer organization and design, 2nd Edition. Morgan Kaufmann, 1998. - J. HENNESSY, D. PATTERSON, Computer architecture: a quantitative approach, 2nd Edition. Morgan Kaufmann, 1996. 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, ser- 344 three-year laurea course in Web and Multimedia Technologies vices 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 netmask. 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, 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. COMPUTER PROGRAMMING AND LABORATORY Teacher 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 three-year laurea course in Web and Multimedia Technologies 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, Franco Angeli, Milan, 3rd edition, 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, Milan, 2004. ISBN: 88-503-2145-7. Other course material will be specified during the first lessons (slides, Web pages, other textbooks). DATABASES Teacher Prof. Angelo Montanari 345 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 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 346 three-year laurea course in Web and Multimedia Technologies 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 tuple 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. - 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), 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. References Main references Program - Basic arithmetic, divisors, Euclidean DISCRETE MATHEMATICS Teacher Prof. Giovanni Panti Credits 6 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. 347 three-year laurea course in Web and Multimedia Technologies algorithm, prime numbers and factorization. - Modular arithmetic, congruences, 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. References - F. AYRES, Algebra moderna, Schaum’s n. 46, McGraw-Hill. ELECTRONIC COMMERCE Teacher Dott. Roberto Pugliese Credits 8 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 - Business-to-business (B2B) Applica- tions. 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. 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. HUMAN COMPUTER INTERACTION 1 Teacher Prof. Luca Chittaro Credits 6 Aims The course illustrates principles, design 348 three-year laurea course in Web and Multimedia Technologies 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 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, 349 three-year laurea course in Web and Multimedia Technologies Human Computer Interaction, Third 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 Program 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. Basic concepts of Arithmetic, Algebra, Analytic and Euclidean Geometry, Trigonometric functions. Exams Written test. References Lecture notes. MATHEMATICAL ANALYSIS Teacher Prof. Lorenzo Freddi 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 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 MULTIMEDIA SYSTEMS Teacher Prof. Elio Toppano Credits 180 Program Introduction. Communication and information processes: the FRISCO frame- 350 three-year laurea course in Web and Multimedia Technologies work. 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 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 centered 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. 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 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. E CKEL , Thinking in Java, Apogeo, 2003. - S. M AZZANTI , V. M ILANESE , Programmazione di Applicazioni Grafiche in Java, Apogeo, 2006. MULTIMEDIA SYSTEMS LAB OPERATING SYSTEMS Teacher Dott. Elio Toppano Dott. Roberto Ranon Teacher Dott. Giorgio Brajnik three-year laurea course in Web and Multimedia Technologies Credits 10 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. 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 351 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 communication 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, Prentice Hall, II edizione, 1999. - P. CORNES, The Linux A-Z, Prentice Hall, 1997. - K. HAVILAND, D. GRAY, B. SALAMA, UNIX System Programming, Addison Wesley, II edizione, 1999. - C. B ROWN , Unix distributed programming, Prentice-Hall 1994. 352 three-year laurea course in Web and Multimedia Technologies - A. S ILBERSCHATZ , P. G ALVIN , Sistemi Operativi, IV ed., Addison Wesley, 1996. - H. DEITEL, P. DEITEL, D. CHOFFNES, Sistemi Operativi, Pearson Education Italia, 3a edizione, 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. BERSON, Client Server Architectures, II ed., McGraw Hill 1,996. - A. D’ANGELO, Lectures from the Course, available via Web. PHYSICS Teacher Dott. Hans Grassmann Credits 3 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 - 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 three-year laurea course in Web and Multimedia Technologies 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 technics 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 an 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 satisfac- 353 tion, human resources and continue improvement. SOFTWARE ENGINEERING 1 Teacher Prof. Carlo Tasso Credits 6 Program 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. 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. S OMMERVILLE , Software Engineering, Seventh Edition, Addison-Wesley, Har- 354 three-year laurea course in Web and Multimedia Technologies low, UK, 2004. Italian edition: - I. SOMMERVILLE, Ingegneria del software, VII 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 mats, 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. Credits 5 WEB TECHNOLOGIES LAB Web Page http://www.dimi.uniud.it/giorgio/dida/ psw/psw.html WEB TECHNOLOGY 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. The basic concepts of computer networks are introduced: protocols, for- Teacher Dott. Paolo Omero Dott. Enrico Scoda 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. 355 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 Exam: The exam has two parts: written and oral. References Lecture notes prepared by the lecturer. ALGEBRA 3 Teacher Dott. Maria Silvia Lucido Credits 6 Aims The course is an introduction to the classical Galois Theory. Fields extensions will be studied. The fundamental Theorem of Galois Theory will be proved. Program Fields extensions, normal fields extensions. Automorphisms and Galois group, fundamental theorem. Finite fields and cyclotomic fields. Exams The exam has two parts: written and oral. 356 three-year laurea course in Mathematics ALGEBRA 4 Teacher Dott. Mario Mainardis lowing address: http://www.dimi. uniud.it/mainards/classnotes.htm - M. SUZUKI, Group Theory I, II, Springer 1982. Credits 6 Aims This course is an introduction to the theory of finite groups. We want to show some basic tools for the study of finite groups, some fundamental examples and applications. Program Commutators, solvable and nilpotent groups. Group actions and G-sets, nilpotency of finite p-groups, Sylow Theorems, Theorem of Schur-Zassenhaus. Coprime action and nilpotent action, components, Theorem of Bender-Fitting, local structure. Symmetric and alternating groups, local structure of linear groups, overview on classica groups. Prerequisites Elementary group theory, structure of finite abelian groups, vector spaces and linear forms. Exams Oral test on appointment. We shall give some themes to discuss in seminars during the quadrimester. References Suggested readings - J.L. ALPERIN, R.B. BELL, Groups and Representations, Springer 1995. - M. A SCHBACHER , Finite Group Theory, Cambridge University Press, 1986. - H. KURZWEIL, B. STELLMACHER, Theorie der Endlichen Gruppen, Springer 1998. - M. Mainardis, Appunti di Teoria dei Gruppi. - Lecture notes downloadable at the fol- ALGEBRA 5 Teacher Prof. Giovanni Panti Credits 6 Aims This course aims at introducing the basic notions of Commutative Algebra and Category Theory. Program Commutative rings and ideals. Modules. Localization. Primary decomposition. Categories and functors. Natural transformations. Exams Oral exam. 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 three-year laurea course in Mathematics Aims Introduction of the basic principles of 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 non-inertial 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 357 energies. 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 point-mass systems without 358 three-year laurea course in Mathematics 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. GOLDSTEIN, C. POOLE, J. SAFKO, Classical mechanics, Addison Wesley. - V.I. A RNOLD , 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. SCIMEMI, Algebretta, Decibel, Zanichelli. - Lecture notes prepared by the lecturer. COMMUNICATION SKILLS Teacher Prof. Angelo Marzollo 359 three-year laurea course in Mathematics 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 Introduce the students to a kind of software that in recent years has become quite popular as a support in teaching mathematics. We will deal also with the issues raised by its use. Program: the dynamic geometry software Cabrigéométre II and one symbolic computation software (such as Derive, Maple, and Mathematica) are introduced by means of hand-on activity in the lab. At the beginning of the course the students learn the different features of the software, both operatively and semantically (meaning of Cabri figures and of the results of computer symbolic computations, including possible mistakes and misunderstandings). Later on, the students face some open problems and use the software to state and test conjectures, until they get to complete solutions which are mathematically satisfactory. This activity leads naturally to a discussion of the pros and cons of using the software in the classroom, and allows to spotlight the issues it raises. The student will also learn to prepare teaching units in which traditional lectures and software are combined. 360 three-year laurea course in Mathematics Exams Practical test at the end of the course, followed by a short oral colloquium. COMPUTER SCIENCE 1 References Many documents are available on the web, and will be used during the class. COMPLEMENTARY MATHEMATICS 2 Teacher Prof. Alberto Marcone 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. Teacher Prof. Agostino Dovier Credits 6 Aims The course is aimed to provide the basic 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 361 three-year laurea course in Mathematics 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 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, AddisonWesley/Pearson. - Lecture Notes available on line. COMPUTER SCIENCE 2 Teacher Prof. Carla Piazza 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. RIVEST, Introduction to Algorithms, MIT Press, Second edition, 2001. - J.E. HOPCROFT, J.D. ULLMAN, Introduction to Automata Theory, Languages and Computation, Addison-Wesley, 1979. - N. CUTLAND, Computability, Cambridge University Press. 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 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 syn- 362 tax; 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. References - Course presentation notes, and other materials available on the internet. FOUNDATIONS OF MATHEMATICS 1 Teacher Prof. Franco Parlamento Credits 6 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, Voll. I e II, Oxford University Press 1986-1990. - M. SZABO, The collected papers of Gerhard Gentzen, North Holland, 1969. - R. SMULLIAN, Godels’s incompleteness theorems, Oxford Logic Guides. - 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. three-year laurea course in Mathematics GEOMETRY 1 Teacher Prof. Paolo Cragnolini 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 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. 363 three-year laurea course in Mathematics GEOMETRY 2 GEOMETRY 3 Teacher Prof. Paolo Cragnolini Teacher Prof. Francesco Zucconi 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. KOSNIOWSKI, 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. Francesco Zucconi Credits 6 Aims We introduce general topology as one of the fundamental languages of modern 364 three-year laurea course in Mathematics 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. References Suggested book - V. GUILLEMIN, A. POLLACK, Differential Topology. Other text - J. MILNOR, Topology from the differentiable viewpoint. GEOMETRY 6 Exams Written and oral examination. References - E. SERNESI, Geometria I, Boringhieri. GEOMETRY 5 Teacher Prof. Pietro Corvaja Credits 6 Aims Aim of the course: 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. Teacher Prof. Pietro Corvaja 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. CARTAN, Théorie elementaire des fonctions analytiques d’une ou plusieurs variables complexes, Hermann. 365 three-year laurea course in Mathematics INTRODUCTORY MATHEMATICS MATHEMATICAL ANALYSIS 1 Teacher Prof. Fabio Zanolin 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. 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 ITRINI , 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. - Relations and functions. 366 three-year laurea course in Mathematics - Some topology. - Limits of sequences. Numerical series. - Limits of functions and continuity. Exams Written and oral. References - C. C ITRINI , Analisi Matematica 1, Boringhieri. - E. GIUSTI, 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. 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 IUSTI , Analisi Matematica 2, Boringhieri. - Lectures notes. MATHEMATICAL ANALYSIS 5 Teacher Prof. Gianluca Gorni Credits 6 Teacher Prof. Fabio Zanolin Aims Completing the basic instruction in Mathematical Analysis in the field of differential equations and differential forms. Credits 6 Program Nonlinear differential equations: maxi- MATHEMATICAL ANALYSIS 4 367 three-year laurea course in Mathematics mal 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 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 ANALYSIS 6 MATHEMATICAL LOGIC 1 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. 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 LowenheimSkolem. 368 three-year laurea course in Mathematics Exams Written and oral. NUMERICAL ANALYSIS 1 References - Notes of the teacher. 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. 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. K RANE , Modern Physics, 2 nd ed., Wiley 1996. - Lecture notes. Teacher Prof. Dario Fasino 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 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, Gauss-Seidel 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 369 three-year laurea course in Mathematics 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 functions: best approximation, Chebyshev theory. Fourier theory. Orthogonal polynomials. Numerical integration: quadrature formulae, Newton-cotes formulae. Gaussian formulae. Richardson extrapolation and Romberg inetegration. 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 , Matematica Numerica, Springer Verlag Italia, 2000. - L.N. T REFETHEN , Spectral methods in MATLAB, SIAM, 2000. 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 OPTIMIZATION 1 Teacher Prof. Franca Rinaldi 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 com- 370 three-year laurea course in Mathematics posed 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 Introduction to optimization problems (4 hours) Basics of computational complexity (12) Algorithm complexity. Problem complexity. Class P. Class NP. Transformations. 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. OPTIMIZATION 2 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. 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 Prof. Franca Rinaldi Teacher Dott. Marina Cobal Credits 6 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 Web Page http://www.fisica.uniud.it/%7Ecobal/pa rticelle_welcome.html 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 371 three-year laurea course in Mathematics 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. 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. 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. Prerequisites Mechanics, electromagnetism and waves. Quantum Mechanics, and Relativity. Exams Homework and summary report on a chosen paper. References - P ERKINS , High Energy Physics, 4 th ed., Addison-Wesley. - B.R. MARTIN, G. SHAW, Particle Physics, 2nd ed., Wiley. - Notes from the lecturer http://www.fisica.uniud.it/~cobal/particelle_welcome.ht ml 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. 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. Center 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. 372 three-year laurea course in Mathematics Exams The exam consists of a written test and an oral test. References - D. H ALLIDAY , R. R ESNICK , J. W ALKER , Fundamentals of Physics, 7th ed., Wiley. PHYSICS 2 Teacher Prof. Alessandro De Angelis Credits 6 Web Page http://www.fisica.uniud.it/~deangeli/fisi ca2/corsonuovo.html 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. 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. 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. Exams There will be a written and oral examination. Prerequisites Basic calculus (limits, derivatives, integrals). Mechanics. References - G RIMMETT , S TIRZAKER , Probability and Random Processes, Oxford Clarendon Press. Exams Written test including theory and problems; homework. PROBABILITY 2 References - SERWAY, JEWETT, Principles of Physics, or - HALLIDAY, RESNICK, WALKER, Fundamentals of Physics. - Lecture notes. PROBABILITY 1 Teacher Prof. Carlo Cecchini Teacher Prof. Paolo Vidoni Credits 6 Aims This course gives some complements on basic probability theory and introduces the theory of stochastic processes, with a view towards applications. 373 three-year laurea course in Mathematics 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. References - S. ROSS, Stochastic Processes, Wiley, 2nd edition, 1996. - HOFFMANN, JURGENSEN, Probability with a view toward Statistics, Chapman and Hall, 1994. - G RIMMETT , S TIRZAKER , Probability and Random Processes, Oxford Clarendon Press, 1992. - 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. STATISTIC 1 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). 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. 374 - 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. three-year laurea course in Mathematics 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. 375 three-year laurea course in Biotechnology THREE-YEAR LAUREA COURSE IN BIOTECHNOLOGY ALGORYTHMS AND DATA STRUCTURES Teacher Prof. Paolo Serafini Credits 5 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. Detailed program at http://www.dimi. uniud.it/~serafini/ASD0607.pdf. 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 trees. Single Nucleotide Polymorphisms and haplotyping models. Protein structures. Protein fold prediction and comparison. Structural data bases. 376 three-year laurea course in Biotechnology COMPUTER SCIENCE Teacher 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. 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. - 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. 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 377 three-year laurea course in Biotechnology graphs. Bipartite graphs. Connectivity. Trees. Digraphs and weighted graphs. Combinatorial optimization. The minimum spanning tree. Matchings and coverings. Stable marriages. The traveling salesman problem. PHYSICS 1 Teacher Prof. Alessandro De Angelis Credits 4 (1 of Laboratory) 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. References - SERWAY, JEWETT, Principles of Physics or Halliday, Resnick, Walker: Fundamentals of Physics. Lecture notes. OPERATING SYSTEMS Teacher Prof. Marino Miculan Credits 5 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. 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. 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. 378 three-year laurea course in Biotechnology 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 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. Exams The examination consists in a practical part, mainly exercises, and in an oral discussion. References - CAMUSSI, MÖLLE, OTTAVIANO, SARI GORLA, Metodi Statistici per la sperimentazione biologica, 2nd ed., Zanichelli, 1995. - G. CICCHITELLI, Probabilità e Statistica, Maggioli Editore, 1984. Lecture notes. ZOOLOGY (INTRODUCTION TO) Teacher Prof. Giancarlo Fava Credits 3 Aims The course will give basic concepts in cytology and zoology, to students who come from heterogeneous pre-University studies. Evolution, phylogeny and classification of main animal taxa. Objectives: The study of zoology has to provide a functional view of the structural plan of an animal group in relation with its life style: it is very important, for a student, to understand the anatomo-physiological characteristics that give an animal the capacity to survive in a given environment, e.g. acquatic vs. terrestrial environments. A short introduction to the evolution process will allow the student to understand the limits within which livestock can be modified to better fit our needs. Program Structural plan and biology of main animal phyla - Protists: General biology, Reproduction, Life cycle of the most important parasites - Porifera - Cnidaria Platyhelminthes - Nematoda - Celomate animals - Methamery - Anellids - Molluscs - The evolution of the external skeleton - Arthropods: Origin and evolution, Chelicerata, Crustacea, Uniramia - Echinodermata - Chordata, Vertebrates - External vs. internal skeleton - Effects of Size Reproduction: Asexual, Sexual - Animal nutrition: Evolution of mouths, Preypredator coevolution. References - C.P. HICKMAN, L. ROBERTS, A. LARSON, Diversità animale, McGraw-Hill, 2004. 379 LS in Computer Science LAUREA SPECIALISTICA IN COMPUTER SCIENCE - Abstract interpretation and dynamic properties of programs. - Compilation of non imperative languages. ADVANCED ALGORITHMS Teacher Prof. Giuseppe Lancia References - A.V. AHO, R. SETHI, D. ULLMAN, Compilers, Principles, Techniques and Tools, Addison Wesley, 1987. Credits 6 ADVANCES IN DATABASE SYSTEMS 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. C ORMEN , C.E. L EISERSON , R.L. R IVEST , 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. 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 380 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 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 manage- LS in Computer Science ment. 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. Part 7 - Additional topics (a short account) Databases in support of management’s decisions (data warehouse), semistructured 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 381 LS in Computer Science di dati. Complementi (quarta edizione), Pearson Education Italia / Addison Wesley, 2005. Other references: - 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. - 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 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. Goffredo Giulio Pieroni Credits 6 Aims There are many ways to define the field of Artificial Intelligence. A very popular one is the following: “The study of ideas that enable computers to be intelligent”. However it is still open the problem dealing with the real meaning of “intelligent behaviour”. In this course effort will be made in order to show how a computer, exploiting certain logical-numerical procedures which are typical features of the human mind, can be considered more useful. Program - Introduction. The intelligent computer. Intelligent applications. 382 LS in Computer Science - 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, heuristic 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, multi-layer perceptron, back-propagation. Application examples. Credits 6 Aims 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. 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 - S. RUSSEL, P. NORVIG, Artificial Intelligence: A Modern Approach, Prentice-Hall International, 1995. - P. H. W INSTON , Artificial Intelligence, Third Edition, Addison-Wesley, 1992. - E. RICH, K. KNIGHT, Artificial Intelligence, McGraw-Hill (Second 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. References - L. ANOLLI, P. LEGRANZI, Psicologia Generale, Il Mulino, 2001. Chapter 1: paragraphs 1.1 e 1.2 (pag. 9-13) Chapter 2: complete (pag. 47-75) Chapter 3: paragraphs 1 e 2 (pag. 77-86) Chapter 4: paragraphs 1 e 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. COGNITIVE MODELING COMPILERS Teacher Dott. Sabrina Plet Teacher Prof. Maria Staniszkis 383 LS in Computer Science Credits 6 Program - Rewriting systems: definitions, properties, examples. - Lexical analysis: the Thompson construction, the Berry-Sethi construction, generation of lexical analysers. - 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, 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 Geometry Lab. 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 develop the numerical schemes for PDEs. The course could include also some advanced topics. Program Difference equations. Numerical methods for initial value problems (IVPs) 384 LS in Computer Science for ODEs. One-step methods and multistep methods. Continuous methods. Stiff problems. Stability analysis.Numarical geometric integration. Numerical methods for boundary value problems (BVPs) for ODEs. Finite difference methods. Shooting methods. Collocation methods. Integral formulation of BVP. The LaxMilgram theorem. The Galerkin-finite elements approach. The Galerkin-spectral approch. The generalized Galerkin method. Partial differential equations: elliptic, parabolic and hyperbolic. Finite difference methods. Finite element methods. Exams Oral. References - Teacher’s notes - 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. Testi per approfondimenti - 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 pragmatical aspects of these paradigms, they are analysed 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 II will complete the presentation of declarative paradigms: logic and functional-logic. Program - Imperative Paradigm. - Abstract Machines Interpretation e Compilation. 385 LS 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. 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. 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 pragmatical aspects of these paradigms, they are analysed 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. Program - Execution Models of the Functional Paradigm. - Term Rewriting Systems, Pattern Matching Logic Paradigm. - Introduction to Logic Programming: 386 unification, SLD-derivations. - Denotational Semantics of Logic Programs. - Non-deterministic Programming. - The Prolog language. - Warren Abstract Machine FunctionalLogic 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. A NTOY , R. E CHAHED , M. H ANUS , 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. W ADLER , Introduction to Functional Programming using Haskell, Prentice Hall PTR, 1998. ISBN: 0134843460. LS in Computer Science 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 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 387 LS in Computer Science filtering. Security at the application level: 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), scannings (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. T ANEMBAUM , Computer Networks, (Fourth 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. ELECTRONIC COMMERCE Teacher Dott. Roberto Pugliese Credits 8 Aims The course analyses 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 - 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. 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 388 LS in Computer Science 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. 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. EXPERT SYSTEMS Teacher Prof. Carlo Tasso 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 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. Major topics: 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 Final Test: Report on the laboratories activities and oral examination. 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, denotational) and several program logics will be discussed. Particular attention will be devoted to both parallel and distributed concurrent programs. FORMAL METHODS FOR SOFTWARE ENGINEERING Teacher Prof. Marco Comini Credits 6 Aims The increasing dependency of society on LS in Computer Science 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, CPO, Lattices - Operational Semantics - DR - 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; 389 - 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 ed., 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. M UCHNICK , N.D. JONES, editors, 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 390 formal methods and future challenges invited paper, in R. WILHELM, editor, Informatics 10 Years Back, 10 Years Ahead, volume 2000 of Lecture Notes in Computer Science, pages 138-156, Springer-Verlag, 2000. 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 LS in Computer Science 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. 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 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. 391 LS in Computer Science 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, speedup and scalability of parallel algorithms, Amdahl-Ware’s and Gustafsson’s law, isoefficiency, parallel overhead, communication time analysis. High Perfor- 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 392 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- LS in Computer Science 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, Third 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 LS in Computer Science 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, detailson-demand, 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- 393 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. Fish-eye 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. 394 - 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 behaviour. 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. LS in Computer Science References Suggested Readings - R. S PENCE , Information Visualization, Addison Wesley, 2000. - C. L I N D H O L M , T. K E I N O N E N , 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. 395 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: - BALLARD, BROWN, Computer Vision, Prentice Hall, 1982. - KLETTE, ZAMPERONI, Handbook of Image Processing Operators, Wiley, 1996. - RUSS, The Image Processing Handbook, CRC Press, 1995. IMAGES AND MULTIMEDIA Teacher Prof. Vito Roberto 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. R USS , The Image Processing Handbook, CRC Press, 1995. Credits 6 INFORMATION THEORY 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/ 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. 396 Program The course is organized in two parts: Source Coding and Channel Coding. Source Coding. B-LV codes. Code trees. Uniquely Decodable and Istantaneous Decodable Codes. Kraft-McMillan Inequality. Discrete Probability and Expected Length of a code. Entropy, Divergence, and Shannon first Theorem. Shannon-Fano 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. LS in Computer Science 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. MAC WILLIAMS, N.J. SLOANE, The theory of Error Correcting Codes, North Holland, 1977. LANGUAGES AND MODELS FOR GLOBAL COMPUTING Teacher 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. LS in Computer Science 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 ambients. 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 Teacher 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. 397 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 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. - P.F. CAMUSSONE, Il Sistema Informativo Aziendale, Etas 2000. 398 LS in Computer Science - 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. 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; penalized 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 Teacher Prof. Luigi Pace Credits 6 Aims This course presents an introduction to MATHEMATICAL STATISTIC 2 Teacher Prof. Luigi Pace Credits 6 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,