NOTIZIARIO - Corsi di Laurea di Informatica

annuncio pubblicitario
UNIVERSITÀ DEGLI STUDI DI PERUGIA
Facoltà di Scienze MM FF NN
Laurea Triennale in Informatica
NOTIZIARIO
Anno Accademico 2006 – 2007
1/1
INDICE
OBIETTIVI FORMATIVI...................................................................................................................4
ATTIVITÀ FORMATIVE...................................................................................................................4
ISCRIZIONI AL CORSO DI LAUREA IN INFORMATICA ...........................................................4
OBBLIGHI DI FREQUENZA.............................................................................................................4
CREDITI FORMATIVI UNIVERSITARI (CFU) ..............................................................................5
RICONOSCIMENTO DI CREDITI ACQUISITI PRESSO ALTRE ISTITUZIONI.........................5
INSEGNAMENTI COMUNI A TUTTI I CURRICULA ...................................................................6
INSEGNAMENTI CURRICULARI ...................................................................................................7
A)
B)
C)
INDIRIZZO RETI DI COMPUTER ...................................................................................................7
INDIRIZZO SISTEMI DI ACQUISIZIONE DATI .................................................................................7
INDIRIZZO REALTÀ VIRTUALE MOLECOLARE ...............................................................................7
ALTRE ATTIVITÀ FORMATIVE.....................................................................................................9
A SCELTA DELLO STUDENTE...................................................................................................9
ALTRE.............................................................................................................................................9
PROVA FINALE...........................................................................................................................10
PROGRAMMI DEI CORSI...............................................................................................................11
ALGORITMI E STRUTTURE DATI I.............................................................................................12
ALGORITMI E STRUTTURE DATI II ...........................................................................................13
ANALISI MATEMATICA I .............................................................................................................14
ANALISI MATEMATICA II............................................................................................................15
APPLICAZIONI E CALCOLO IN RETE.........................................................................................16
ARCHITETTURA DEGLI ELABORATORI I ................................................................................17
ARCHITETTURA DEGLI ELABORATORI II ...............................................................................18
ARCHITETTURA DELLE RETI DI COMPUTER .........................................................................20
BASI DI DATI E SISTEMI INFORMATIVI I .................................................................................21
BASI DI DATI E SISTEMI INFORMATIVI II................................................................................21
CALCOLO DELLE PROBABILITÀ E STATISTICA MATEMATICA ........................................22
CALCOLO NUMERICO ..................................................................................................................23
FISICA DEI DISPOSITIVI ELETTRONICI ....................................................................................24
FISICA GENERALE.........................................................................................................................25
ABORATORIO DI ALGORITMI.....................................................................................................27
LABORATORIO DI ARCHITETTURA ..........................................................................................27
LABORATORIO DI LINGUAGGI DI PROGRAMMAZIONE E COMPILATORI ......................28
LABORATORIO DI LINGUAGGI DI REALTÀ VIRTUALE .......................................................30
LABORATORIO DI PROGRAMMAZIONE...................................................................................30
LABORATORIO DI RETI DI COMPUTER....................................................................................31
2/2
LABORATORIO DI SISTEMI OPERATIVI ...................................................................................32
LINGUA INGLESE...........................................................................................................................34
LINGUAGGI DI REALTÀ VIRTUALE ..........................................................................................34
MATEMATICA DISCRETA I..........................................................................................................35
MATEMATICA DISCRETA II ........................................................................................................36
MODELLISTICA MOLECOLARE..................................................................................................38
PROGRAMMAZIONE I ...................................................................................................................39
PROGRAMMAZIONE II..................................................................................................................40
RETI DI CALCOLATORI: PROTOCOLLI .....................................................................................40
SISTEMI APERTI E DISTRIBUITI .................................................................................................41
SISTEMI MULTIMEDIALI..............................................................................................................42
SISTEMI OPERATIVI I....................................................................................................................44
SISTEMI OPERATIVI II ..................................................................................................................45
STRUTTURE ATOMICHE E MOLECOLARI................................................................................45
TECNICHE DI ACQUISIZIONE DATI I.........................................................................................46
TECNICHE DI ACQUISIZIONE DATI II .......................................................................................47
RECAPITI DEI DOCENTI ...............................................................................................................49
DOCENTI DEGLI INSEGNAMENTI COMUNI A TUTTI I CURRICULA..............................49
DOCENTI DEGLI INSEGNAMENTI CURRICULARI..............................................................50
3/3
Obiettivi formativi
I laureati in Informatica devono:
- possedere conoscenze e competenze nei vari settori delle scienze e tecnologie
dell’informazione e della comunicazione mirate al loro utilizzo nella progettazione, sviluppo e
gestione di sistemi informatici;
- avere capacità di affrontare e analizzare problemi e di sviluppare sistemi informatici per la
loro soluzione;
- acquisire le metodologie di indagine ed essere in grado di applicarle in situazioni concrete
con appropriata conoscenza degli strumenti matematici di supporto alle competenze
informatiche;
- essere in grado di utilizzare efficacemente, in forma scritta ed orale, almeno una lingua
dell’Unione Europea, oltre l’italiano, nell’ambito specifico di competenza e per lo scambio di
informazioni generali;
- essere capaci di lavorare in gruppo, di operare con definiti gradi di autonomia e di inserirsi
prontamente negli ambienti di lavoro.
I laureati della classe svolgeranno attività professionale negli ambiti della progettazione,
organizzazione e gestione di sistemi informatici, sia in imprese produttrici nelle aree dei sistemi
informatici e delle reti, sia nelle imprese, nelle amministrazioni e nei laboratori che utilizzano
sistemi informatici complessi. A tale scopo, una parte delle attività formative (di seguito indicate di
orientamento o curriculari) sarà dedicata alla formazione di figure professionali specifiche nei
settori:
Reti di Computer
Sistemi di Acquisizione Dati
Sistemi di Realtà Virtuale Molecolare
Attività formative
Le attività formative consistono in attività di base, caratterizzanti, affini, di orientamento o
curriculari, integrative e relative alla conoscenza della lingua straniera. Altre attività sono a libera
scelta dello studente o consistono in tirocini, acquisizione di abilità linguistiche, informatiche e
relazionali secondo quanto esposto nell’Ordinamento del Corso di Laurea in Informatica allegato al
regolamento Didattico di Ateneo. Infine, vengono svolte attività formative per la predisposizione
della prova finale secondo le disposizioni emanate dalla struttura didattica.
Nel primo anno di Corso vengono svolte attività formative comuni a tutti i curricula.
Contestualmente all’iscrizione al secondo anno di Corso, lo studente specifica, di norma, il
curriculum prescelto tra quelli previsti dal Regolamento del CdS.
All’atto dell’iscrizione al terzo anno, lo studente dovrà infine indicare, per quanto gli compete,
tutte le rimanenti attività formative con l’unica eccezione della prova finale.
Iscrizioni al Corso di Laurea in Informatica
Per essere ammessi al primo anno del Corso occorre essere in possesso di un diploma di scuola
secondaria superiore o di altro titolo di studio conseguito all'estero e ritenuto equipollente dalla
struttura didattica
Obblighi di frequenza
Per il corrente A. A. non è previsto alcun obbligo di frequenza.
4/4
Crediti formativi universitari (CFU)
La misura del lavoro di apprendimento, compreso lo studio individuale, richiesto ad uno studente
per l’acquisizione di conoscenze ed abilità nelle attività formative è espresso in crediti formativi.
Ad un credito formativo corrispondono 25 ore di lavoro per studente.
Per conseguire la laurea di I livello in Informatica lo studente deve avere acquisito 180 crediti.
La durata del corso di laurea di primo livello (3 anni) è indicativa; lo studente potrebbe conseguire i
crediti richiesti ed i corrispondenti titoli anche in un tempo inferiore con le modalità stabilite dalla
struttura didattica.
Riconoscimento di crediti acquisiti presso altre istituzioni
I crediti formativi acquisiti dagli studenti nell’ambito di programmi di studio internazionali presso
istituzioni universitarie legate da contratti bilaterali con l’Università di Perugia verranno
riconosciuti tramite il sistema di trasferimento crediti europeo (ECTS).
In caso di accordo bilaterale tra l’Università di Perugia e l’istituzione di provenienza, si procederà
in conformità con i termini dell’accordo.
Crediti acquisiti dagli studenti presso altre istituzioni di livello universitario italiane, dell’Unione
Europea o di altri paesi potranno essere riconosciuti a delibera della struttura didattica in base alla
documentazione prodotta dallo studente.
5/5
ELENCO DEGLI INSEGNAMENTI E DELLE ALTRE ATTIVITÀ FORMATIVE
Semestre
INSEGNAMENTI COMUNI A TUTTI I CURRICULA
Disciplina
Docente
H/sett
CFU
Primo anno di Corso
I
II
I
II
II
I
II
II
I
II
I
Analisi Matematica I
Analisi Matematica II
Architettura degli Elaboratori I
Architettura degli Elaboratori II
Laboratorio di Architettura
Programmazione I
Programmazione II
Laboratorio di Programmazione
Matematica Discreta I
Matematica Discreta II
Lingua Inglese
I
II
I
I
II
II
I
Algoritmi e Strutture Dati I
Algoritmi e Strutture Dati II
Laboratorio di Algoritmi
Sistemi Operativi I
Sistemi Operativi II
Laboratorio di Sistemi Operativi
Fisica Generale
Antonio Boccuto
Antonio Boccuto
Ferruccio Barsi
Ferruccio Barsi
Docente in corso di nomina
Marco Baioletti – Federico Greco
Stefano Marcugini
Stefano Marcugini
Maria Cristina Vipera
Maria Cristina Vipera
C.L.A.
4
4
4
4
3
4
4
3
4
4
4
6
6
6
6
3
6
6
3
6
6
4
4
4
3
4
4
3
4
6
6
3
6
6
3
6
4
4
6
6
3
3
Secondo anno di Corso
II
I
II
Maria Cristina Pinotti
Maria Cristina Pinotti
Rosanna Bicocchi
Arturo Carpi
Arturo Carpi
Pietro Tito Melacci
Paolo
Lariccia
–
Santocchia
Calcolo Numerico
Ivan Gerace
Calcolo delle Probabilità e Statistica Giulianella Coletti
Matematica
Laboratorio di Linguaggi di Giorgio Cecconi
Programmazione e Compilatori
Attilio
Terzo anno di Corso
I
II
Basi di Dati e Sistemi Informativi I
Marco Baioletti
Poggioni
Basi di Dati e Sistemi Informativi II Marco Baioletti
Poggioni
–
Valentina
4
6
–
Valentina
4
6
NB:
CFU = Credito Formativo Universitario; 1 CFU = 25 ore di lavoro per studente (ex art. .5 c. 1 DM 509/99)
PROPEDEUTICITÀ
Tutti gli insegnamenti denominati “I” sono propedeutici agli insegnamenti denominati “II”.
Il corso di Programmazione I è propedeutico al corso di Laboratorio di linguaggi di
programmazione e compilatori
ACQUISIZIONE DEI CREDITI E VERIFICA DEL PROFITTO
I crediti vengono acquisiti previo esito positivo di verifiche individuali del profitto. Le prove di
valutazione possono essere scritte e/o orali e/o di laboratorio e possono essere effettuate anche in
itinere. Con l’unica eccezione della prova finale, la valutazione è espressa in trentesimi da apposite
commissioni, che comprendono il responsabile dell'attività formativa, costituite secondo le norme
contenute nel Regolamento Didattico di Ateneo.
6/6
INSEGNAMENTI CURRICULARI
(Lo studente deve scegliere uno dei tre indirizzi indicati nella seguente tabella)
Anno Semestre
Disciplina
Docente
H/sett
CFU
di Osvaldo Gervasi
4
6
Sergio Tasso
4
6
Simonetta Pallottelli
Antonio Laganà, Sergio
Tasso, Leonardo Pacifici
Sergio Tasso
4
4
6
6
3
4
3
6
Totale CFU
33
a) Indirizzo Reti di Computer
II
II
III
I
Architettura delle Reti
Computer
Sistemi aperti e distribuiti
III
III
II
I
Sistemi multimediali
Applicazioni e Calcolo in Rete
III
III
II
I
Laboratorio Reti di Computer
Reti di Calcolatori: Protocolli
Bruno Checcucci
b) Indirizzo Sistemi di Acquisizione Dati
II
II
Fisica dei dispositivi elettronici Campanella
Renzo
Leonello Servoli
Laboratorio Reti di Computer Sergio Tasso
Architettura delle Reti di Osvaldo Gervasi
Computer
Tecniche di Acquisizione dati I Piero Giorgio Verdini
III
III
II
II
III
I
III
II
Tecniche di Acquisizione dati Giovanni Ambrosi
II
III
I
Reti di Calcolatori: Protocolli
–
4
6
3
4
3
6
4
6
4
6
4
6
Totale CFU
33
Bruno Checcucci
c) Indirizzo Realtà Virtuale Molecolare
II
II
III
III
I
I
III
III
III
I
I
II
Strutture
Atomiche
e Francesco Tarantelli,
Molecolari
Sistemi Aperti e Distribuiti
Sergio Tasso
Applicazioni e Calcolo in Rete Antonio Laganà, Sergio
Tasso, Leonardo Pacifici
Modellistica Molecolare
Massimo Baroni
Linguaggi di realtà Virtuale
Osvaldo Gervasi,
Laboratorio di Linguaggi di Antonio Riganelli
realtà virtuale
4
6
4
4
6
6
4
4
3
6
6
3
Totale CFU
33
NB:
CFU = Credito Formativo Universitario; 1 CFU = 25 ore di lavoro per studente (ex art. .5 c. 1 DM 509/99)
7/7
a) Reti di Computer
L'indirizzo si propone di fornire l'insieme delle competenze necessarie per il disegno, la
progettazione e la gestione di Reti di Computer complesse. Ambisce a formare figure professionali
dotate di approfondite conoscenze sulla teoria, le tecnologie e le applicazioni delle reti
informatiche.
Nell'ambito dell'indirizzo vengono fornite le conoscenze sull'architettura delle Reti, sui protocolli ed
i Servizi Internet, sulle tematiche emergenti quali la sicurezza delle reti e le applicazioni ed i servizi
Web.
Vengono approfondite le conoscenze relative alle implementazioni di applicazioni complesse
fruibili in rete e basate su sistemi distribuiti e paralleli.
Allo studente viene inoltre offerta la possibilità di sviluppare conoscenze e applicazioni
multimediali, attraverso le metodologie più avanzate.
b) Sistemi di Acquisizione dati
L'indirizzo si propone di fornire l'insieme delle competenze necessarie per la progettazione e
l’utilizzo di sistemi di acquisizione di dati da apparecchiature scientifiche e/o industriali.
La figura professionale prevista sarà in grado di gestire in completa autonomia i problemi che
nascono in realtà industriali, commerciali, scientifiche per l’acquisizione dati, il controllo dei
processi ed il trattamento dell’informazione acquisita. La medesima figura professionale avrà anche
la capacità di collaborare con le figure professionali competenti nel disegno di sistemi complessi per
la struttura di sottosistemi.
c) Sistemi di Realtà Virtuale Molecolare
L'indirizzo si propone di preparare dei laureati in informatica con sufficiente conoscenze nella
gestione di ambienti di realtà virtuale costituiti da atomi e molecole. Il percorso di apprendimento
prevede l'acquisizione degli elementi di base di strutturistica e modellistica atomica e molecolare
nonché degli strumenti matematici e algoritmici utili alla descrizione delle strutture e dei processi
degli atomi e delle molecole. Il percorso prevede la familiarizzazione con le tecnologie che
consentano calcoli ad alta prestazione e rappresentazioni interattive ed efficienti di realtà virtuali
diverse. Questo sarà finalizzato in particolare a rappresentazioni di realtà virtuali di sistemi atomici e
molecolari.
Tale percorso formativo è funzionale alla progettazione di sistemi molecolari complessi e trova
applicazioni in biologia, medicina, farmaceutica, nanotecnologie, materiali, ecologia e in tutte
quelle discipline in cui sostanze e processi debbono essere razionalizzati in termini molecolari o ne
debbono essere formulati di nuovi.
ACQUISIZIONE DEI CREDITI E VERIFICA DEL PROFITTO
Per la verifica del profitto degli insegnamenti curricolari, si rimanda a quanto già indicato
relativamente agli insegnamenti comuni a tutti gli indirizzi.
8/8
ALTRE ATTIVITÀ FORMATIVE
Attività formative
descrizione
CFU
A scelta dello studente
(art. 10, comma 1, lettera d - DM 509/99)
Attività appartenenti a tutti i settori
scientifico -disciplinari
9
Altre
(art. 10, comma 1, lettera f - DM 509/1999)
1. Tirocini (stage in aziende
private o enti pubblici);
oppure
2. abilità informatiche e
relazionali;
oppure
3. ulteriori conoscenze
linguistiche, etc.
9
Prova finale
Relazione finale (Tesi)
8
NB:
CFU = Credito Formativo Universitario; 1 CFU = 25 ore di lavoro per studente (ex art. .5 c. 1 DM 509/99)
A SCELTA DELLO STUDENTE
In base a quanto stabilito dall’art. 10 c. 1 lett. d del DM 509/99, lo studente deve scegliere
autonomamente esami appartenenti a tutti i settori scientifico-disciplinari di un qualsiasi corso di
laurea, fino a concorrenza di 9 CFU.
ACQUISIZIONE DEI CREDITI E VERIFICA DEL PROFITTO
Per la verifica del profitto degli insegnamenti a scelta dello studente, si rimanda a quanto già
indicato relativamente agli insegnamenti comuni a tutti gli indirizzi.
ALTRE
In base all’articolo 10 comma 1 lettera f del DM 509/99, le altre attività formative sono attività
formative, non previste dalle lettere precedenti, volte ad acquisire ulteriori conoscenze linguistiche,
nonché abilità informatiche e telematiche, relazionali, o comunque utili per l’inserimento nel mondo
del lavoro, nonché attività formative volte ad agevolare le scelte professionali, mediante la
conoscenza diretta del settore lavorativo cui il titolo di studio può dare accesso, tra cui, in
particolare, i tirocini formativi e di orientamento di cui al decreto del Min. del Lavoro 25 marzo 98,
n.142.
ACQUISIZIONE DEI CREDITI
Qualora lo studente realizzi un tirocinio formativo organizzato dal Corso di Laurea in Informatica
di Perugia e comprovato da firme di presenza per almeno 230 ore sul registro rilasciato dall’Ufficio
Campus del Dipartimento di Matematica ed Informatica, i 9 crediti sono automaticamente
riconosciuti; negli altri casi, lo studente dovrà richiedere al Consiglio di Corso di Laurea la
convalida dei crediti, producendo tutta la documentazione che ritiene idonea a provare di avere
9/9
effettuato un’attività formativa, ex art. 10, comma 1, lettera f del DM 509/1999, per un totale di 9
crediti.
PROVA FINALE
Per essere ammessi alla prova finale occorre avere conseguito tutti i crediti nelle attività formative
previste dal piano di studi (cioè un totale di 172 CFU ottenuti dalla somma di 121 CFU per
insegnamenti comuni a tutti i curricula, 33 CFU per insegnamenti curriculari, 9 CFU per
insegnamenti a scelta dello studente e 9 CFU per tirocinio / oppure abilità informatiche / oppure
abilità linguistiche).
Le attività formative relative alla preparazione della prova finale per il conseguimento del titolo e la
relativa verifica consistono nell’approfondimento di un argomento specifico con relativa relazione
finale, in base a quanto stabilito dal CILL Informatica nella seduta 05/05/20041 secondo quanto
segue:
- Lo studente deve presentare al Relatore prescelto la richiesta di tesi; il Relatore provvederà a
comunicare l’inizio di tesi al Presidente del Corso di Laurea.
- Ci sono due possibilità: a) tesina/monografia sotto forma di elaborato scritto da discutere
brevemente con la Commissione di Laurea e corrispondente ad un impegno di un mese circa di
lavoro e b) tesi di tipo implementativo o di approfondimento tecnico/scientifico corrispondente ad
un impegno di quattro mesi circa di lavoro. Entrambe le modalità comportano la produzione di un
elaborato scritto che deve essere presentato alla Commissione di Laurea, secondo i tempi stabiliti
dal C.C.L. e pubblicizzati nel calendario degli esami.
- Il criterio di valutazione della prova finale è il seguente:
- nel caso della Tesi il voto assegnato può variare da 0 ad 6 punti che, aggiunti alla media dei
voti degli esami sostenuti2, contribuiscono alla formazione del voto finale di laurea;
- nel caso della Tesina il voto assegnato può variare da 0 a 3 punti che, aggiunti alla media dei
voti degli esami sostenuti, ponderata rispetto ai crediti e tradotta in centodecimi,
contribuiscono alla formazione del voto finale di laurea;
Si ricorda che per sostenere la prova finale è necessario assolvere i seguenti adempimenti:
1. pagare la tassa presso la segreteria studenti (di norma entro il 15/09);
2. presentare il titolo della RELAZIONE finale alla segreteria studenti (foglio giallo), entro la
scadenza stabilita nel calendario degli esami per l’AA 06-07;
3. Entro la scadenza stabilita nel medesimo calendario degli esami per l’AA 06-07, consegnare
due copie della Relazione finale alla Segreteria Studenti della Facoltà di Scienze MM FF
NN, una copia alla segreteria del Dipartimento di Matematica ed Informatica dell’Ateneo ed
infine una copia per ciascuno dei Relatori.
Certificato complementare
Ai sensi e per gli effetti previsti dall’art. 11, comma 8, del DPR n. 509/99, il diploma attestante il
conseguimento del titolo è integrato da un certificato complementare in cui viene specificato:
il curriculum prescelto dallo studente;
l’attività di tirocinio svolta;
la prova finale
1
2
Cfr. verbale n. 6/A AA 2003-2004 del Consiglio Intercorso di Informatica del 05/05/04.
la media, ponderata rispetto ai crediti e tradotta in centodecimi, è ottenuta escludendo il voto più basso.
10 / 10
PROGRAMMI DEI CORSI
11 / 11
ALGORITMI E STRUTTURE DATI I
(Docente: M. Cristina Pinotti)
Obiettivi del corso
Progettare e analizzare l'efficienza degli algoritmi.
Manipolare le strutture dati elementari: dizionari, alberi e grafi.
Prerequisiti: Nozioni basilari dei corsi di Analisi Matematica, Matematica Discreta e
Programmazione I (anche senza aver necessariamente sostenuto l’esame).
Periodo didattico: I semestre
Programma:
Algoritmi: correttezza, terminazione, complessità (caso pessimo, caso medio). Analisi di
InsertionSort. Metodi di progetto: Divide et Impera. Analisi di Ricerca binaria e MergeSort.
Fondamenti di Matematica. Principio di Induzione (prova di terminazione e correttezza di
programmi). Ordine di grandezza di funzioni: O, Ω, θ, o, ω. Base, tetto, esponenziali, Logaritmi.
Sommatorie e serie.
Soluzioni di ricorrenze, verifiche di soluzioni. Il Teorema dell'esperto.
Generalità sugli alberi. Alberi binari (definizione ricorsiva). Rappresentazione con arrays. Heap:
procedura di mantenimento dalla proprietà di heap e calcolo della sua complessità. Costruzione di
un heap: metodo dal basso e dall'alto, calcolo delle complessità HeapSort e sua complessità. Code
di priorità. Inserimento e cancellazione su un heap, complessità. Heaps d-ary.
Ordinamento: Procedure di partizione (3 versioni). Analisi della complessità di QuickSort (caso
peggiore, caso migliore, complessità media). Limiti teorici della complessità di ordinamento per
confronto. CountingSort. Radix Sort.
Mediana: Complessità di calcolo del minimo e del massimo in una sequenza. La mediana e la
selezione dell'i-esimo elemento: algoritmo di complessità media O(n); algoritmo di complessità
O(n) nel caso peggiore.
Tabelle hash:
Memorizzazione su tabelle con indirizzamento diretto. Collisioni. Tabelle hash. Criteri per funzioni
hash. Gestione delle collisioni. Scansione esterna (liste di trabocco). Scansione interna (lineare,
quadratica, doppio hashing, pseudocasuale). Cancellazione di dati. Complessità della scansione
esterna ed interna senza agglomerati primari.
Alberi di ricerca:
Generalità sugli alberi ordinati, realizzazione. Alberi binari di ricerca. Ricerca di chiavi, minimo,
massimo, successore e predecessore. Inserimento e cancellazione. Complessità delle operazioni di
ricerca e problema del bilanciamento. Alberi binari di ricerca bilanciati. Alberi bilanciati per
realizzare insiemi disgiunti (union, find).
Generalità e rappresentazione in memoria. Schema generale di visita di grafi. Alberi di copertura e
componenti connesse.Visita in ampiezza (BFS), visita in profondità (DFS) e loro proprietà
(classificazione degli archi). Grafi aciclici e ordine topologico (algoritmo con la cancellazione di
sorgenti, algoritmo con i tempi di fine-visita DFS). Componenti fortemente connesse (algoritmo
con i tempi di fine-visita DFS).
12 / 12
Modalità di Esame. Per accedere all'esame orale, lo studente deve superare una prova scritta di 2
ore, senza possibilità di consultare i testi. Una volta superata la prova scritta lo studente dovrà - a
pena dell'annullamento della prova - sostenere l'orale nello stesso appello.
Testi consigliati:
T. H. CORMEN, C. E. LEISERSON, R. L. RIVEST, C. STEIN Introduzione agli algoritmi e
strutture dati (Seconda edizione), McGraw-Hill, 2005, ISBN: 88-386-6251-7.
ALGORITMI E STRUTTURE DATI II
(Docente: M. Cristina Pinotti)
Obiettivi del corso
Progettare e realizzare algoritmi per problemi combinatori, utilizzando tecniche di programmazione
avanzate. Conoscere strutture dati per la memoria secondaria. Riconoscere i problemi trattabili e
non.
Periodo didattico: II semestre
Prerequisiti: È necessario aver seguito il corso Algoritmi e Strutture Dati I.
Programma:
B-alberi e hashing per la memoria secondaria.
Alberi di copertura di costo minimo: algoritmo di Kruskal, algoritmo di Prim.
Cammini minimi da sorgente unica: algorimi di Dijkstra, algoritmo di Bellman-Ford.
Heap binomiali e Heap di Fibonacci.
Programmazione dinamica: moltiplicazione di matrici con il minimo numero di prodotti, la piu'
lunga sottosequenza a comune fra due stringhe, problema dello zaino intero con/senza ripetizioni,
palindrome, proghrammazione delle catene di montaggio.
Algoritmi Greedy: selezione delle attività, colorazione di un grafo di intervalli, codici di Huffman.
Cammini minimi fra tutte le coppie: algoritmo di Floyd-Warshall, algoritmo analogo alla
moltiplicazione di matrici, algoritmo di Johnson per grafi sparsi.
Flusso massimo; metodo di Ford-Fulkerson, algoritmo di Edmonds-Karp.
Non-determinismo e algoritmi enumerativi.
Teoria della NP-completezza e riducibilita'.
Modalità di Esame. Per accedere all'esame orale, lo studente deve superare una prova scritta di 2
ore, senza possibilita' di consultare i testi. Una volta superata la prova scritta lo studente dovrà - a
pena dell'annullamento della prova - sostenere l'orale nello stesso appello.
Testi consigliati:
T. H. CORMEN, C. E. LEISERSON, R. L. RIVEST, C. STEIN Introduzione agli algoritmi e
strutture dati (Seconda edizione), McGraw-Hill, 2005, ISBN: 88-386-6251-7.
13 / 13
ANALISI MATEMATICA I
(Docente: Antonio Boccuto)
Obiettivi del Corso
Il Corso si propone di fornire le basi e gli strumenti necessari per il Calcolo di limiti, derivate,
studio di funzioni e serie e una metodologia critica di studio.
Prerequisiti
Conoscenze preliminari di decomposizione di polinomi, regola di Ruffini, logaritmi, funzione
esponenziale, funzioni trigonometriche.
Periodo didattico: I semestre
Programma
Funzioni cosiddette „elementari“: potenza, radice, esponenziale, logaritmo, funzioni
trigonometriche e fondamentali proprietà.
Studio di vari tipi di disequazioni (di primo e secondo grado, esponenziali, logaritmiche,
trigonometriche, razionali). Calcolo
di domini di funzioni attraverso le disequazioni (esercizi). Definizioni e proprietà fondamentali
dell‘estremo superiore e inferiore. Successioni e funzioni monotone. Definizione di limite.
Significato geometrico del limite. „0 x limitata=0“ (senza dim.). Altre proprietà fondamentali dei
limiti (senza dim.). Teoremi dell‘unicità del limite, della limitatezza locale, della permanenza del
segno (senza dim.). Esercizi sui limiti e risoluzione di forme indeterminate. Continuità e punti di
discontinuità. Teoremi di Weierstrass, dei valori intermedi, degli zeri delle funzioni continue
(senza dim.). Applicazioni. Definizione, significato geometrico e proprietà fondamentali della
derivata (senza dim.). Derivabilità implica continuità (con dim.), ma non è vero il viceversa.
Esercizi
sulle derivate e sulle derivate notevoli. Punti di massimo e minimo assoluti e relativi, teorema di
Fermat (senza dim.). Continuità, convessità, flessi e asintoti. Studi di funzione ed esercizi.
Teorema di Rolle (con dim. ed esempi correlati), teorema di Lagrange (con dim.), conseguenze del
teorema di Lagrange (con dim. di una a piacere), teorema di Cauchy (con dim.), teorema de
L‘Hospital nei casi „zero su zero“ e „infinito su infinito“ (senza dim.). Teorema di Darboux (senza
dim.). Calcolo di alcuni limiti
con l‘aiuto del Teorema de l‘Hospital (esercizi).
Serie: convergenza, divergenza e indeterminatezza. Serie geometrica e serie armonica generalizzata
(senza dim.). Una serie
A termini positivi o converge o diverge (con dim.). Se una serie converge, allora il limite del
termine generale è zero (con dim.).
Non è vero il viceversa (esempio). Criteri del confronto, del confronto asintotico, della radice, del
rapporto, criteri di Leibnitz
(senza dim.). Esercizi.
Modalità di esame
L’esame verte in una prova scritta, su esercizi sugli argomenti del Corso, e di una prova orale su
tutto il programma, esercizi compresi. Sono ammessi all’orale solo gli studenti che alla prova scritta
riportano una votazione non inferiore a 16/30.
Testi consigliati
Dispense fornite dal Docente
ADAMS, Calcolo differenziale I, Ambrosiana Editrice, Milano
14 / 14
PAGANI-SALSA, Analisi Matematica per Diplomi Universitari,
Masson, Milano
VINTI, Lezioni di Analisi Matematica, Vol. I, Galeno, Perugia
ZWIRNER, Esercizi di Analisi Matematica, Vol. I, Cedam, Padova
DEMIDOVIC, Esercizi e problemi di Analisi Matematica, MIR
ANALISI MATEMATICA II
(Docente: Antonio Boccuto)
Obiettivi del Corso
Il Corso si propone di fornire le basi e gli strumenti necessari per il Calcolo di limiti, derivate,
studio di funzioni e serie e una metodologia critica di studio.
Periodo didattico: II semestre
Programma
(N.B.: Solo dov'è esplicitamente indicato viene richiesta la dimostrazione; altrimenti si intende
senza dimostrazione)
Integrazione alla Riemann e principali proprietà. Integrale inferiore e superiore. Funzione di
Dirichlet. Funzione integrale e sua lipschitzianità (con dim.), teorema della media nelle varie
versioni (tutte quante con dim.), teorema di Torricelli-Barrow (con dim.), Formula Fondamentale
del Calcolo Integrale (con dim.).
Significato geometrico dell`integrale (con esercizi); legami, differenze e affinità tra integrale ed
aree; calcolo di aree.
Integrale indefinito e sue fondamentali proprietà. Integrazione per parti e per sostituzione. Formule
della tangente dell’arco metà. Varie versioni della formula di Hermite (escluso il caso di radici
complesse multiple).
Legami tra integrabilità alla Riemann ed esistenza di primitive (esempi).
Integrali generalizzati o impropri (cenni).
Formula di Taylor. Differenziale. Sviluppi in serie di Taylor ed esempi.
Introduzione ai numeri complessi: operazioni elementari, potenze, radici,
logaritmi. Teorema fondamentale dell’algebra (senza dim.; solo un cenno).
Funzioni di due variabili: intorni, continuità, differenziabilità, derivate parziali, gradiente, Hessiano.
Ricerca di massimi e minimi per funzioni di due e tre variabili. Punti stazionari o critici, punti sella.
Autovalori e autovettori di matrici 2 x 2 e 3 x 3. Integrali doppi (con esercizi, senza particolari
approfondimenti teorici). Integrali importanti per il Calcolo delle Probabilità e Statistica
Matematica. Cenni sulla funzione Gamma e sue principali proprietà.
Equazioni differenziali: Generalità su equazioni differenziali ordinarie del primo ordine, problema
di Cauchy. Equazioni a variabili separabili. Equazioni lineari del primo ordine. Equazioni lineari del
secondo ordine a coefficienti costanti. Metodo della variazione delle costanti arbitrarie (sia per il
primo che per il secondo ordine: molto bene).
Applicazioni a problemi della Fisica riguardanti i circuiti oscillanti, il moto dei gravi e il pendolo.
Applicazioni all’equazione logistica e alla dinamica delle popolazioni.
15 / 15
Cenni sulle linee di livello.
Modalità di esame
L’esame consiste in due prove, prova scritta e orale. La prova scritta verte su esercizi su argomenti
del corso. La prova orale verte su tutto il programma, esercizi compresi. Passano la prova scritta
solamente gli studenti che riportano una votazione non inferiore a 16/30.
Testi consigliati
Dispense fornite dal docente
R. A. ADAMS, Calcolo Differenziale, Vol. I, Ambrosiana, 1999
C. VINTI, Lezioni di Analisi Matematica, Vol. I e II, Galeno, 1992
C. D. PAGANI - S. SALSA, Matematica per i Diplomi Universitari, Masson, 1997
G. ZWIRNER, Esercizi di Analisi Matematica, Vol. II, CEDAM, 1977
B. DEMIDOVIC, Esercizi di Analisi Matematica, MIR, 1987
APPLICAZIONI E CALCOLO IN RETE
(Docenti: Antonio Laganà, Sergio Tasso, Leonardo Pacifici)
Obiettivi del corso
Familiarizzare con l'evoluzione delle architetture da sequenzialità a concorrenza.
Sviluppare la capacità di analizzare algoritmi semplici sia per ambienti sequenziali che paralleli.
Familiarizzare con la programmazione scientifica fortran.
Approfondimento della conoscenza degli strumenti per la parallelizzazione e la distribuzione su rete
di programmi scientifici e relative applicazioni.
Periodo didattico: I semestre
Programma
Mod. I - 16 ore - Dalla sequenzialità alla concorrenza (A. Laganà)
- a. Verso la concorrenza su elaboratori a singola cpu
- b. Piattaforme concorrenti a più cpu
- c. Piattaforme di elaborazione su grid
- d. Soluzioni concorrenti di problemi elementari
Mod. II 16 ore - Strumenti e tecniche di parallelizzazione e valutazione delle prestazioni (S. Tasso)
- a. Elementi di calcolo in Fortran
- b. Programmazione parallela e valutazione delle prestazioni
Mod. III 16 ore - Approcci concorrenti al calcolo tecnico-scientifico (L. Pacifici)
- a. Modelli di programmazione parallela e paradigmi di programmazione
- b. MPI: nascita ed evoluzione
- c. Applicazioni di paradigmi e modelli di parallelismo
Modalità di Esame
Superamento di test di valutazione telematico (EOL)
Colloquio di verifica dei risultati del test
16 / 16
Per eventuale incremento del voto e lode: discussione di un progetto di parallelizzazione da
riprendere eventualmente per preparare la tesi, per coloro che scegliessero di fare la tesi su
applicazioni e calcolo in rete
Testi consigliati
Gregory F Pfister, In search of clusters, Prentice Hall (1988)
Ian Foster, Designing and Building Parallel Programs, Concepts and
tools for Parallel software engineering, Addison-Wesley (1995)
Dongarra, Foster, Fox, Gropp. Kennedy,Torczon,Whit, The sourcebook of parallel computing,
Elsevier (2002)
ARCHITETTURA DEGLI ELABORATORI I
(Docente: Ferruccio Barsi)
Obiettivi del corso
Analisi e sintesi delle reti digitali.
Introduzione alla modellistica discreta ed al progetto di sistemi numerici.
Periodo didattico: I semestre
Programma
LE RETI LOGICHE
Funzioni logiche e reti logiche. Circuiti AND, OR, NOT, NAND, NOR e loro impiego.
Rappresentazione grafica.
LE RETI COMBINATORIE
Funzioni logiche e loro rappresentazione. Implicazione e copertura. Implicanti ed implicati. La
ricerca degli implicanti. Espressioni irridondanti e minime. Procedure sistematiche per
l’ottenimento delle forme minime. La tabella di copertura. Tabelle cicliche. Funzioni non
completamente specificate e funzioni a più uscite.
MODULI COMBINATORI
I moduli combinatori. Addizionatori, codificatori e decodificatori, Multiplexer e Demultiplexer,
PLA. ROM.
LE RETI SEQUENZIALI
Reti sequenziali. La macchina sequenziale. Gli elementi di memoria. Riduzione del numero di
stati di una macchina sequenziale.La procedura di Moore e la Tabella di Unger. La macchina
minima. Sintesi.
Macchine non completamente specificate. Copertura, compatibilità, riduzione. Procedure
sistematiche per la riduzione di macchine non completamente specificate. Sintesi.
MODULI SEQUENZIALI
Moduli sequenziali. Contatori e registri.
Modalità di Esame. Per accedere all'esame orale, lo studente deve superare una prova scritta
generalmente consistente in un questionario a risposte multiple. Una volta superata la prova scritta
lo studente dovrà - pena l'annullamento della prova - sostenere l'orale in un appello dell'anno
17 / 17
accademico di riferimento. Lo studente ha facoltà di rinunciare al proseguimento della prova orale
(la rinuncia non comporta menzione nella carriera dello studente) per una ed una sola volta senza
che la prova scritta venga annullata ma non è consentito ripetere l'esame nella stessa sessione.
Testi consigliati
F. BARSI, Architettura degli Elaboratori. Prima parte: Reti Logiche, Margiacchi - Galeno Editrice,
2001 - ISBN 88-86494-40-8
F. BARSI, Reti Logiche e Aritmetica di macchina - Esercizi e Test, Margiacchi - Galeno Editrice,
2005 - ISBN 88-86494-60-2
ARCHITETTURA DEGLI ELABORATORI II
(Docente: Ferruccio Barsi)
Obiettivi del corso
Analisi di sistemi digitali e loro architettura tipo. Sintesi elementare. Capacità di comprensione di
sistemi complessi. Aritmetica dei calcolatori.
Periodo didattico: II semestre
Programma
ARCHITETTURA A LIVELLO DEI REGISTRI
Considerazioni generali sull?architettura di un sistema digitale. Il livello descrittivo dei registri. Il
linguaggio RTL. Le micro-operazioni ( op). op di trasferimento ed aritmetico ? logiche.
Considerazioni generali sul controllo. Cicli di macchina. Formato istruzioni. Indirizzamento.
Controllo cablato e programmato. Architetture RISC e CISC.
UN CALCOLATORE ELEMENTARE A CONTROLLO CABLATO
Un calcolatore didattico a controllo cablato. L?architettura a livello di registri. Il bus di sistema.
Tipi di istruzioni. Istruzioni che fanno riferimento alla memoria. Linguaggi a livello macchina.
Assembly language. Programmazione assembly. Esempi di programmi. Cicli e subroutines.
UN CALCOLATORE ELEMENTARE A CONTROLLO MICROPROGRAMMATO
Architettura. Il linguaggio µ-Assembler. La routine di fetch. Le altre routine. Decodifica dei campi
funzione. Il generatore di indirizzi.
ARCHITETTURA A LIVELLO DEI PROCESSOR
La CPU
L'unità aritmetico logica. Lo shifter. Lo stack di memoria.
LA MEMORIA
Dispositivi di Memoria. Caratteristiche dei dispositivi di Memoria. Dischi. Memorie Veloci.
Memoria Virtuale. Gerarchie di memoria. Address mapping. Allocazione dinamica.. Allocazione
nelle diverse organizzazioni di memoria principale di memoria.
L'INGRESSO/USCITA
L'Interfaccia di I/O. I/O Bus e Modulo di interfaccia. I/O Bus e Memory Bus. Un esempio di
interfaccia I/O. Trasferimento dati. Modalità di controllo di I/O. L'interrupt. Hardware priority
interrupt. Accesso Diretto in Memoria. I/O Processor.
18 / 18
L'INFORMAZIONE
La rappresentazione dei numeri.. Sistemi numerici posizionali in base fissa. Rappresentazione di un
numero in base fissa. Cambiamento della base della rappresentazione. La rappresentazione dei
numeri relativi. Rappresentazione in complemento al campo. I numeri razionali. Rappresentazione
di un numero frazionario. Rappresentazione di un numero razionale.
OPERAZIONI ARITMETICHE
Addizione di interi relativi. Traboccamento. Moltiplicazione di interi relativi. La virgola mobile.
PROTEZIONE DELL'INFORMAZIONE DA ERRORE
La parola di informazione. Le ipotesi di errore. Rilevazione e correzione di errore. Codici binari
lineari. Codici di Hamming.
SISTEMI DI SICUREZZA
La criptografia. Riservatezza ed autenticazione. Sicurezza assoluta e computazionale. Tipi di
criptosistemi. Le firme digitali. Il criptosistema DES. Il criptosistema RSA. La moneta elettronica
nel criptosistema RSA. Il criptosistema PGP.
Modalità di Esame. Per accedere all'esame orale, lo studente deve superare una prova scritta
eralmente consistente in un questionario a risposte multiple. Una volta superata la prova scritta lo
studente dovrà - pena l'annullamento della prova - sostenere l'orale in un appello dell'anno
accademico di riferimento. Lo studente ha facoltà di rinunciare al proseguimento della prova orale
(la rinuncia non comporta menzione nella carriera dello studente) per una ed una sola volta senza
che la prova scritta venga annullata ma non è consentito ripetere l'esame nella stessa sessione.
Testi consigliati
F. BARSI, Architettura degli Elaboratori. Parte Seconda: Struttura dei Sistemi, Margiacchi Galeno Editrice, 2006 – ISBN 88-86494-63-7
F. BARSI, L’Informazione – Rappresentazione Trattamento Protezione, Margiacchi - Galeno
Editrice, 2006 – ISBN 88-86494-64-5
F. BARSI, Reti Logiche e Aritmetica di macchina - Esercizi e Test, Margiacchi - Galeno Editrice,
2005 - ISBN 88-86494-60-2
19 / 19
ARCHITETTURA DELLE RETI DI COMPUTER
(Docente: Osvaldo Gervasi)
Obiettivi del corso
Conoscenza delle tecnologie e dei servizi di rete. Comprensione del funzionamento dei principali
servizi Internet. Approfondimento del ruolo dei diversi dispositivi hardware e funzionalità dei
protocolli software.
Periodo didattico: II semestre
Programma
Introduzione
Presentazione del corso e delle modalità di esame.
Reti Aziendali, Reti per le persone
La rete Internet
Storia, Struttura della rete, Evoluzione, Architettura di Internet;
Servizi ed applicazioni emergenti: Intranet - Extranet -Sicurezza nelle reti telematiche - Firewall Secure Socket Layer (SSL) - Privacy ed autenticazione nelle transazioni elettroniche (EDI) –
Encryption - PGP - Firma digitale - Accesso controllato alla rete Internet (PICS).
Reti locali e geografiche
Introduzione, ISO Open System Interconnection (OSI) Reference Model, Reti locali, Topologie,
Metodi di accesso, Principali standard, Reti Metropolitane (MAN), Reti geografiche (WAN),
Interconnessione di LAN su scala geografica, Reti a commutazione di pacchetto e loro evoluzione,
X.25, Frame Relay, ATM, Tecnologia per DSL, Reti Wireless, Satellite Networks, Mobile
Networks, Personal Area Networks.
TCP/IP
Protocolli IP, ARP, RARP, ICMP, TCP e UDP. Request For Comments (RFC).
Servizi di rete: Telnet - File Transfer Protocol (FTP) - Network File System (NFS) - Network
Information System (NIS) - Domain Name System (DNS) - Simple Mail Transfer Protocol (SMTP)
- Simple Network Management Protocol (SNMP) - Network News Transfer Protocol (NNTP) Hyper Text Transfer Protocol (HTTP) - Network Time Protocol (NTP) - Esempi applicativi in
ambiente Unix (AIX, Linux);
Protocolli di routing
RIP - OSPF - BGP
Esempi applicativi in ambiente Unix (AIX, Linux) e Cisco;
Modalità di Esame
Test su sistema EOL e prova orale.
Testi consigliati:
1. Andrew S. Tanenbaum: Reti di Computer, UTET-Prentice Hall International, ISBN 88-7750453-6
2. Douglas Comer: Internetworking con TCP/IP - Principi, protocolli, Architettura; Gr. Ed.
Jackson-Prentice Hall Int. ISBN 88-256-0346-0
3. Materiale multimediale fornito del Docente.
20 / 20
BASI DI DATI E SISTEMI INFORMATIVI I
(Docenti: Marco Baioletti, Valentina Poggioni)
Obiettivi del corso
Comprensione e capacità di utilizzo delle nozioni e strumenti basilari connessi alla progettazione ed
implementazione delle basi di dati.
Periodo didattico: I semestre
Programma
Concetti generali dei sistemi informativi e introduzione alle basi di dati e ai DBMS.
La progettazione concettuale con il modello Entità/Relazione Esteso.
La progettazione logica con il modello relazionale dei dati.
Dal modello E.R. al modello relazionale.
Le interrogazioni con l'algebra relazionale.
Il linguaggio SQL (Structured Query Language): sottolinguaggi DML, DDL, QL.
Modalità di Esame
Esame scritto, colloquio orale.
Testi consigliati
1. Atzeni P., Ceri S., Paraboschi S., Torlone R., Basi di dati, Modelli e linguaggi di interrogazione.
Seconda edizione. McGraw-Hill Libri Italia, 2006.
BASI DI DATI E SISTEMI INFORMATIVI II
(Docenti: Marco Baioletti, Valentina Poggioni)
Obiettivi del corso
Conoscenza di base sull'architettura dei DBMS e sulle strutture dati ed algoritmi impiegati per la
loro realizzazione. Conoscenza critica delle problematiche connesse all'approccio object-oriented e
distribuito. Laboratorio di basi di dati: realizzazione di applicazioni database.
Periodo didattico: II semestre
Programma
Forme normali e normalizzazione.
Tecnologia dei DBMS: Teoria della concorrenza e transazioni. Gestione della concorrenza.
Gestione dell'affidabilità. Gestione del buffer e delle memorie di massa. Strutture di
memorizzazione. Ottimizzazione ed esecuzione delle interrogazioni.
DBMS distribuiti: Architetture. Trasparenza. Frammentazione. Transazioni distribuite e loro
problematiche.
DBMS ad oggetti: OODBMS e ORDBMS. Lo standard SQL-3.
DBMS attivi.
Sviluppo di applicazioni con Java e VB.NET con connessione ed utilizzo di database MySQL e
PostgreSQL.
21 / 21
Modalità di Esame
Progetto, colloquio orale.
Testi consigliati
1. Atzeni P., Ceri S., Paraboschi S., Torlone R., Basi di dati, Architetture e linee di evoluzione.
McGraw-Hill Libri Italia, 2003.
2. Dispense distribuite dal docente (esclusivamente sulla parte del programma non coperta dal libro
di testo)
CALCOLO DELLE PROBABILITÀ E STATISTICA MATEMATICA
(Docente: Giulianella Coletti)
Obiettivi del corso
Fornire, in modo integrato, alcuni concetti fondamentali di probabilità e statistica, cercando di
stimolare le capacità critiche del discente, per metterlo così in grado anche di affrontare ogni nuovo
problema e non solo quelli di "routine" (la cui soluzione può essere invece affidata ad un
calcolatore).
Periodo didattico: I semestre
Programma
Eventi. Operazioni fra eventi. La probabilità come grado di fiducia. Coerenza e additività . La
valutazione combinatoria. Numeri aleatori semplici. Previsione e varianza di numeri aleatori
semplici. La valutazione frequentista. Eventi condizionati e probabilità condizionata. Indipendenza
stocastica. Distribuzione binomiale e ipergeometrica. Test di ipotesi. Numeri aleatori discreti e
continui. Distribuzioni di Poisson, geometrica, uniforme, esponenziale, normale. Distribuzioni
multiple. Il teorema centrale.
Variabili statistiche discrete e continue. Media, moda, mediana. Misure di dispersione. Correlazione
di dati bidimensionali. Rette di regressione. Campionamento statistico e stima dei parametri.
Intervalli di confidenza.
Modalità di Esame
Prova scritta e (eventuale) prova orale (a scelta del candidato) a cui si accede solo con la sufficienza
della prova scritta.
Testi consigliati:
R. Scozzafava. Incertezza e Probabilità, Ed. Zanichelli.
22 / 22
CALCOLO NUMERICO
(Docente: Ivan Gerace)
Obiettivi del corso
Fornire allo studente gli strumenti fondamentali per l'implementazione al computer dei principali
metodi per la risoluzione di problemi matematici.
Periodo didattico: II semestre
Programma
Analisi dell' errore - Numeri di macchina. Errore nella rappresentazione di un numero macchina.
Errore totale, inerente e algoritmico. Uso dei grafi per l'analisi dell'errore.
Equazioni non lineari - Metodo di bisezione. Metodi di iterazione funzionale. Ordine di
convergenza. Metodi delle tangenti. Metodo delle secanti.
Metodi per la risoluzione di sistemi lineari - Richiami di algebra lineare (autovalori e norme).
Numero di condizionamento. Metodo di Gauss. Fattorizzazioni LU e LLT. Metodi iterativi. Metodi
di Jacobi e Gauss-Seidel. Metodo del gradiente coniugato.
Metodi per il calcolo degli autovalori – Condizionamento del problema. Localizzazione degli
autovalori. Metodo delle potenze.
Al laboratorio: esercitazione con uso di MatLab.
Modalità di Esame
È suddiviso in una prova scritta ed una orale (Prerequisiti: Analisi Matematica II, Matematica
Discreta II, Laboratorio di Informatica: Programmazione II).
Testi consigliati
1. D. Bini, M. Capovani, O. Menchi, Metodi Numerici per l'Algebra Lineare, Zanichelli.
2. R. Bevilacqua, D. Bini, M. Capovani, O. Menchi, Metodi Numerici , Zanichelli.
3. W.J. Palm III, MATLAB 6 per l'ingegneria e le scienze, MC Graw Hill.
23 / 23
FISICA DEI DISPOSITIVI ELETTRONICI
(Docenti: Renzo Campanella, Leonello Servoli)
Obiettivi del corso
Comprensione del funzionamento dei dispositivi elettronici impiegati sulle macchine attuali e degli
sviluppi futuri del campo. Capacità di realizzare semplici circuiti.
Periodo didattico: II semestre
Programma
MODELLO ATOMICO. Atomo di idrogeno, principio di esclusione di Pauli, Livelli di energia,
buche ed effetto tunnel, distribuzione di Fermi-Dirac, Livelli di Fermi.
FISICA DEI MATERIALI SEMICONDUTTORI. Conduttori, semiconduttori, isolanti. Cenni sulla
meccanica quantistica. Livello di fermi nei metalli. Densità degli stati disponibili. Teoria delle
bande nei solidi. Concetto di lacuna. Massa efficace. Esempi di bande nei semiconduttori (gr. IV e
gr III-V). Semiconduttori intrinseci ed estrinseci. Livello di Fermi nei semiconduttori. Fenomeni di
trasporto nei materiali semiconduttori. Equazione generale della diffusione.
GIUNZIONE P-N. Equilibrio termodinamico, regione di svuotamento. Caratteristica i-v,
funzionamento come un diodo, modello lineare del diodo, tempi di transizione. Diodi zener e
tunnel.
TRANSISTORE BIPOLARE. Effetto transistore e regioni di funzionamento. Guadagno di corrente,
fattore di trasporto ed efficienza di emettitore. Il modello di Ebers-Moll. Caratteristiche statiche I-V.
Effetto Early. Effetti della polarizzazione di emettitore. Resistenza di base. Modelli e circuiti
equivalenti principali.
ELEMENTI DI ELETTRONICA DIGITALE. Implementazione delle operazioni logiche. Famiglie
logiche
DISPOSITIVI OPTOELETTRONICI. Transizioni radiative e assorbimento ottico. Diodi emettitori
di luce: LED, Laser a semiconduttore. Fotorivelatori, celle solari. Trasduttori. Sensori.
DISPOSITIVI QUANTISTICI PER IL QUANTUM COMPUTING E DISPOSITIVI PER LA
NANOELETTRONICA. Dispositivi quantistici (memorie e quantum computing). Nanotubi di
carbonio: Proprietà generali. Proprietà elettriche. FET su nanotubi di carbonio. Prestazioni dei
dispositivi nanometrici.
CENNI SUI DISPOSITIVI PER LA BIOELETTRONICA.
Laboratorio:
- Simulazione di circuiti elettrici e dispositivi logici.
- Esperienze con componentistica discreta analogica e digitale.
- Realizzazione di semplici circuiti logici.
Testi consigliati
G. Giustolisi, G. Palumbo: Introduzione ai dispositivi elettronici - Franco Angeli
J. Millman, A. Grabel: Microelettronica - McGraw-Hill
Libri di consultazione:
H. Taub, D. Schilling: Elettronica integrata digitale - Jackson Libri
S.M. Sze, Dispositivi a semiconduttore - Hoepli
Materiale integrativo
Modalità di Esame
Consultare il docente.
24 / 24
FISICA GENERALE
(Docenti: Paolo La riccia, Attilio Santocchia)
Obiettivi del corso
Comprensione dei concetti fondamentali di fisica classica con particolare riguardo agli aspetti
rilevanti per il funzionamento dei calcolatori e delle loro periferiche.
Periodo didattico: I semestre
Programma
MECCANICA
Misure. Moto rettilineo: velocità media, velocità istantanea, accelerazione. Esempi ed esercizi.
Moto in due e tre dimensioni. Posizione, spostamento, velocità, accelerazione. Composizione e
decomposizione dei moti.
Moto dei proiettili. Moto circolare uniforme e moto armonico
Forze e moto: Le forze. Forza di gravità, forza elastica, forze di attrito. Le forze ed il moto.
Moti relativi: Moti relativi. Sistemi inerziali. Esempi ed esercizi.
Forze e moto: Cenni storici sulla meccanica newtoniana. Le forze della natura.
Massa. Baricentro, moto del baricentro.
Energia cinetica e lavoro: Energia cinetica. Lavoro: lavoro di una forza costante e di una forza
variabile, esempi. Il teorema dell’energia cinetica per il moto di un corpo senza energia interna.
Esempi ed esercizi.
Lavoro ed energia: Lavoro ed energia. Forze conservative e non conservative.
Conservazione dell’energia: Energia interna ad un sistema. Il principio di conservazione
dell’energia in generale.
Cenni alla dinamica dei moti rotatori. Equilibrio.
MECCANICA DEI FLUIDI
I fluidi: Densità e pressione. Misura della pressione. Principio di Pascal. Principio di Archimede.
Dinamica dei fluidi: Linee di flusso ed equazione di continuità. Equazione di Bernoulli ed
applicazioni.
TERMOLOGIA E TERMIDINAMICA
Calorimetria: Temperatura e calore. Esempi ed esercizi.
Il primo principio della termodinamica. Trasmissione del calore. Equazione di stato dei gas perfetti.
Temperatura assoluta e gas: Equazione di stato dei gas perfetti. Il modello molecolare dei gas
perfetti. La temperatura assoluta. Cenno ai gas reali.
Macchine termiche e frigorifere.
Il secondo principio della termodinamica. Cenni al terzo principio della termodinamica.
Propagazione del calore.
ELETTROSTATICA
Carica elettrica e campo elettrico: Carica elettrica, conservazione della carica. Legge di Coulomb.
Campo elettrico.
La carica dell’elettrone. Il concetto di campo. Legge di Gauss per il campo gravitazionale ed
elettrostatico.
Energia potenziale e potenziale elettrico.
Capacità e condensatori: Capacità e condensatori. Condensatori piani. Calcolo della capacità.
Condensatori in serie e parallelo. L’oscillografo.
Energia immagazzinata nel campo elettrico. Dielettrici.
CORRENTI ELETTRICHE CONTINUE
Cariche in movimento, densità di corrente e corrente elettrica.
Legge di Ohm. Potenze nei circuiti elettrici. Dissipazione della potenza. Elettrolisi.
Resistenze in serie e parallelo. Esempi ed esercizi. Cenno ai superconduttori.
25 / 25
Generatori di f.e.m. Resistenza interna. Generatori di tensione e di corrente. Cenni ai
semiconduttori.
Circuiti in corrente continua. Amperometri, voltmetri, Ohmetri. Esempi ed esercizi.
Principi di Kirchhoff. Esempi ed esercizi
INTRODUZIONE ALL’ELETTRONICA
Carica e scarica di un condensatore. Elementi non lineari. Diodo a giunzione.
Il LED. Il transistore a giunzione e ad effetto di campo: principio di funzionamento.
Applicazioni dei transistori: Il transistore come amplificatore, il transistore come interruttore.
CAMPI MAGNETICI STATICI
Il campo magnetico. Legge di Ampère. Solenoidi e toroidi
Dipolo magnetico. Il teorema di Gauss per il campo magnetico. Equivalenza di una spira percorsa
da corrente con un dipolo magnetico.
Fenomeni magnetici e struttura della materia. Cenno al ferromagnetismo.
CAMPI
ELETTRICI
E
MAGNETICI
VARIABILI
E
INTRODUZIONE
ALL’ELETTRODINAMICA
Legge di induzione di Faraday-Lenz. Esempi ed applicazioni.
Considerazioni energetiche. Alternatori e motori. Induttori ed induttanza.
Energia immagazzinata in un campo magnetico. Mutua induttanza,
Campi magnetici indotti. Corrente di spostamento. Cenno alle equazioni di Maxwell.
Propagazione dell’onda elettromagnetica: trattazione qualitativa. Velocità della luce. Trasporto di
energia.
Cenno ai fenomeni ondulatori: interferenze e diffrazione.
INTRODUZIONE ALL’OTTICA
Riflessione, rifrazione. Il prisma e la scomposizione della luce. Le fibre ottiche.
Introduzione all’ottica geometrica. Immagini. Proprietà delle lenti.
CIRCUITI IN CORRENTE ALTERNATA
Oscillazioni LC. L’analogia tra oscillazioni in corrente alternata e gli oscillatori in meccanica.
Corrente alternata.
Ciruiti in corrente alternata. Cenno alla analisi di Fourier. Il trasformatore
Oscillazioni smorzate. Oscillazioni forzate.
CENNI DI STRUTTURA DELLA MATERIA ED APPLICAZIONI
Cenni alla struttura atomica. Tavola periodica degli elementi.
Laser e luce laser. Principio di funzionamento del laser.
Modalità di Esame
L'esame è costituito da una prova scritta eventualmente seguita da una prova orale nei casi in cui la
prova scritta sia leggermente insufficiente o lo studente reputi la sua preparazione superiore al
risultato conseguito o, infine, a giudizio del docente.
La prova scritta è costituita da quesiti a scelta multipla. Il voto in trentesimi è proporzionale al
numero di risposte corrette. La prova è valida per la sola sessione di esame in cui è stata effettuata.
Testi consigliati
Halliday - Resnick: Fondamenti di fisica - Sesta edizione
Casa Editrice Ambrosiana (Anche le edizioni precedenti vanno bene).
Note: I trasparenti delle lezioni ed un esempio di prova scritta alla fine del
modulo sono disponibili su http://lariccia-pc2.pg.infn.it/moodle/ e saranno in
futuro disponibili sul sito di Facoltà e-science
26 / 26
ABORATORIO DI ALGORITMI
(Docente: Rosanna Bicocchi)
Periodo didattico: I semestre
Obiettivi del corso:
Implementare algoritmi operanti su strutture dati elementari:
liste, pile, code, alberi, grafi.
Programma:
Tipi di dati astratti: specifica sintattica e semantica,
implementazione.
Rappresentazione di insiemi.
Rappresentazione di tipi di dati astratti (gioco, contenitore, ecc.)
Liste semplici: specifica sintattica e semantica, rappresentazione
sequenziale e collegata.
Algoritmi operanti su liste semplici.
Liste bidirezionali: rappresentazione collegata .
Algoritmi operanti su liste bidirezionali.
Liste circolari.
Liste ordinate.
Alberi radicati: specifica sintattica e semantica, possibili
rappresentazioni.
Alberi binari: rappresentazione sequenziale e collegata. Algoritmi
di visita. Algoritmi operanti su alberi binari.
Alberi binari di ricerca. Algoritmi operanti su alberi binari di
ricerca: ricerca di una chiave, inserimento di un nodo,
cancellazione di un nodo.
Grafi: specifica sintattica e semantica, possibili rappresentazioni.
Algoritmi di visita.
Modalità di esame: l`esame e` costituito da una prova scritta, che deve
essere superata con voto >= 18, seguita da una prova orale.
Testi: A. A. Bertossi: “Algoritmi e strutture di dati”, UTET, 2000.
LABORATORIO DI ARCHITETTURA
(Docente: in corso di nomina)
27 / 27
LABORATORIO DI LINGUAGGI DI PROGRAMMAZIONE E COMPILATORI
(Docente: Giorgio Cecconi)
Obiettivi del corso:
Il corso ha lo scopo di illustrare le principali metodiche teoriche ed alcuni strumenti di uso
corrente che sono alla base per la costruzione di compilatori ed interpreti.
Periodo didattico: II semestre
Programma:
Finalizzazione:
Sono esaminati alcuni strumenti per definire la sintassi e la semantica dei linguaggi di
programmazione, la struttura di un compilatore. La parte più teorica è incentrata sulla definizione e
classificazione dei linguaggi, con approfondimento su grammatiche libere dal contesto, su alberi
sintattici, automi a pila. La parte pratica è sviluppata tramite i tools di Unix per il trattamento delle
espressioni regolari (sed, ed, grep family, awk, visual editors), su analizzatori lessicali (Lex/Flex),
su analizzatori sintattici (Yacc/Bison). Vengono proposti progetti di approfondimento teorico o di
sviluppo di parser specializzati.
Contenuti parte teorica:
•
•
•
•
•
•
INTRODUZIONE: cosa sono gli interpreti e i compilatori; linguaggi di programmazione e
macchine; le pasi di un interprete e di un compilatore.
LINGUAGGI E AUTOMI: linguaggi formali e grammatiche; gerarchia di Chomsky;
linguaggi regolari e liberi dal contesto; automi a stati finiti; automi a pila.
ANALISI LESSICALE: il ruolo dell'analizzatore lessicale; espressioni regolari; da
espressioni regolari a automi a stati finiti; il generatore LEX.
ANALISI SINTATTICA: il ruolo del parser; parsing top-down (LL) e parsing bottom-up
(LR); il generatore di parser YACC.
TRADUZIONE GUIDATA DALLA SINTASSI: definizioni guidate dalla sintassi;
valutazione top-down e bottom-up delle definizioni guidate dalla sintassi.
GENERAZIONE DEL CODICE: generazione del codice intermedio e generazione del
codice target; linguaggi intermedi; ottimizzazione del codice intermedio; emissione del
codice target.
• Cenni su:
CONTROLLO DI SEQUENZA: comandi condizionali e iterativi; controllo dei
sottoprogrammi; controllo di sequenza in interpreti e compilatori.TIPI DI DATO: tipi di
dato elementari e strutturati; sistemi di tipi e espressioni di tipi; type checking statico e
dinamico; gestione dei tipi di dato negli interpreti e nei compilatori. GESTIONE DELLA
MEMORIA: memoria statica e dinamica; allocazione e de-allocazione della memoria; deallocazione automatica della memoria: contatori dei riferimenti e garbage collecting.
Contenuti parte pratica:
• Realizzazione di automi a stati finiti riconoscitori.
• Realizzazione di analizzatori lessicali.
• Gestione delle tabelle dei simboli.
28 / 28
• Realizzazione di programmi per manipolare le grammatiche.
Ricevimento:
• secondo calendario delle lezioni
• a fine lezione
• per appuntamento
Modalità di Esame:
Di norma consiste in una prova scritta il cui esito determina l’ammissione alla prova orale.
In alternativa alla prova scritta potrà essere concordato con il docente un progetto di
approfondimento, da presentare in aula e discutere con gli altri studenti del corso.
Materiale didattico:
. distribuito o proposto dal docente
. indicazione di URL di riferimento
Testi consigliati:
- per approfondimento generale e su compilatori:
J. Levine, T. Mason, D. Brown, Lex & Yacc, O'Reilly, 1992.
A.W. Appel, Modern Compiler Implementation in C, Cambridge University Press, 1998.
A.V. Aho, R. Sethi, J.D. Ullman. Compilers: Principles, Techniques, and Tools. Addison-Wesley,
1986.
T.W. Pratt and M.V. Zelkiwitz. Programming Languages: Design and Implementation. Third
Edition. Prentice Hall, 1996.
- su teoria degli automi:
John E. Hopcroft, Jeffrey D. Ullman, Rajeev Motwani, Introduction to Automata Theory,
Languages, and Computation, Addison-Wesley, 2000.
John E. Hopcroft, Jeffrey D. Ullman, R. Motwani, Automi, linguaggi e calcolabilità, AddisonWesley, 2003.
29 / 29
LABORATORIO DI LINGUAGGI DI REALTÀ VIRTUALE
(Docente: Antonio Riganelli)
Obiettivi del corso
Conoscenza delle tecnologie alla base della rappresentazione virtuale degli oggetti e delle scene e
delle tecnologie Web3D, in particolare i linguaggi X3D e VRML.
Periodo didattico: II semestre
Programma:
Approfondimento delle tematiche affrontate nel corso di Linguaggi di Realtà Virtuale.
Esercitazioni guidate in laboratorio.
Sviluppo dell’applicazione oggetto dell’esame.
Modalità di Esame
Test idoneativo mediante il sistema EOL.
Presentazione della relazione in formato HTML o Openoffice o PDF o Powerpoint inerente il
progetto di Mondo Virtuale sviluppato dallo Studente ed assegnato dal Docente.
Testi consigliati:
Materiale multimediale e bibliografia di siti Internet forniti dal Docente.
LABORATORIO DI PROGRAMMAZIONE
(Docente: Stefano Marcugini)
Obiettivi del corso
Capacità di progettare e realizzare programmi applicativi.
Periodo didattico: II semestre
Programma
Approfondimento del linguaggio Java.
Esempi di applicazioni.
Programmazione mirata all'ambiente di rete Socket.
Applicazioni client-server.
Modalità di Esame
Presentazione e discussione di un progetto.
Testi consigliati:
Appunti forniti dal docente
Java "Dai fondamenti alla programmazione avanzata"
di Karsten Samaschke
edizioni Apogeo
Testi di riferimento
L.Lemay, C.L. Perkins, Java 1.2, Edizioni Sams net
Cay S. Horstmann e Gary Cornell, Java 2 i fondamenti, Mc Graw Hill;
Cay S. Horstmann e Gary Cornell, Java 2 tecniche avanzate, Mc Graw Hill;
30 / 30
LABORATORIO DI RETI DI COMPUTER
(Docenti: Sergio Tasso)
Obiettivi del corso
Fornire conoscenze ed esperienze sulla gestione del hardware di rete, dei servizi Internet e di
strumenti per la messa in sicurezza delle reti.
Periodo didattico: I semestre
Programma
Introduzione alla gestione delle reti
· Configurazione del TCP/IP:
Come definire sottoreti, definizione delle interfacce
· La configurazione del Routing:
minimale, statico, dinamico (RIP, OSPF, EGP)
· Servizi di rete (definizione, configurazione ed uso):
La gestione dei nomi
la Host table, il DNS (Domain Name Service);
L'accesso a risorse in rete
comandi remoti, il servizio NIS (Network Information Service), il sistema NFS
(Network File System);
La posta elettronica
gli aliases, il servizio sendmail;
· Servizi di controllo e gestione:
SNMP (Simple Network Management Protocol)
definizione del protocollo, MIB (Management Information Base), applicazioni di
gestione, monitoraggio, definizione degli allarmi, trattamento degli eventi;
Altri comandi e tools di diagnostica in Unix;
Sicurezza:
Criteri di valutazione dei rischi
Strumenti per il controllo dei rischi
Limitazione degli accessi
TCP wrapper
Firewall
Strumenti di monitoraggio e IDS
Esempi ed esercitazioni su tutti gli argomenti trattati
Modalità di Esame
Test a risposte chiuse e progetto di LAN aziendale
Testi consigliati:
Gary Govanus: TCP/IP Per configurare, implementare e gestire TCP/IP sulla vostra rete,
McGraw-Hill
Craig Hunt: TCP/IP Network Administration, O’Reilly & Associates, Inc.
Materiale fornito dal Docente.
31 / 31
LABORATORIO DI SISTEMI OPERATIVI
(Docente: Pietro Tito Melacci)
Obiettivo del corso:
Studio di uno specifico SO dal punto di vista dell’utente e sviluppo
di semplici programmi di interazione con il sistema.
Programma:
IL SISTEMA OPERATIVO UNIX.
Organizzazione a livelli (HW, Kernel, Tools, Shell). La portabilità` di UNIX. La storia di UNIX.
Formato dei comandi. Il manuale UNIX in linea. Comandi interattivi e non interattivi.
Interfaccia utente. I codici speciali (eof, esc, lnext, intr, quit, start, stop).
La procedura di bootstrap.
Il processo init. I processi utente. I daemon.
LA GESTIONE DEI FILE.
Il file system, la struttura gerarchica. Le directory standard di UNIX. I tipi di file di UNIX (file
ordinari, directory, file speciali, pipe, link simbolici).
I pathname. I nomi dei file e i metacaratteri. I meccanismi di protezione dei file (i diritti di
accesso, i diritti di accesso sulle directory).
Maschera di creazione dei file. Modifica dei diritti di accesso ai file (modo numerico, modo
simbolico). Home directory. Operazioni sui file ordinari (cp, mv, rm, ln). Hard link, link
simbolici (symlink).
Verifica del contenuto dei file ordinari. Reperire informazioni sui file. File e directory
significativi di UNIX.
I file speciali (major number, minor number). Le espressioni regolari.
LA GESTIONE DEI PROCESSI.
Verifica dell`evoluzione dei processi (stati di avanzamento di un processo UNIX).
Manipolazione dell`evoluzione dei processi. La gestione dei segnali. La creazione di un
processo e l`esecuzione di un programma (la primitiva exec, la primitiva fork).
LA SHELL UNIX.
Le shell di UNIX, la Bourne shell e la C shell. Il meccanismo di esecuzione dei comandi: i
comandi built-in ed i comandi esterni (primitive fork ed exec), meccanismo di esecuzione di un
comando.
Multitasking: comandi foreground, comandi background (metacarattere &), meccanismo di
esecuzione di un commando in background.
REDIREZIONE:
Redirezione dello standard output (metacaratteri > e >>),
Redirezione dello standard input (metacarattere < ),
Redirezione dello standard error (nella Bourne shell e nella C shell),
Here documents ( metacarattere <<).
COMPOSIZIONE DEI COMANDI:
Esecuzione seriale (metacarattere ;), il meccanismo di esecuzione seriale; pipeling
(metacarattere |), il meccanismo di esecuzione di una pipeline; esecuzione con subshell
(metacaratteri ( e )), il meccanismo di esecuzione con subshell.
Esecuzione condizionale dei comandi utilizzando && e | |
AMBIENTE SHELL:
Il file .profile e le variabili di ambiente nella Bourne shell,
Il file .login e le variabili di ambiente nella C shell.
Caratteristiche tipiche della C shell (la history, aliasing, il job control).
La gestione del login (il file /etc/passwd).
MANIPOLAZIONE TESTI.
32 / 32
L`editor vi. Command mode, text input mode. Le modifiche con ex. Pattern di ricerca.
Le espressioni regolari dell`editor. Interazione con la Shell. Personalizzazione di vi.
Gestori di testi.
LINGUAGGI E STRUMENTI DI SUPPORTO ALLA PROGRAMMAZIONE.
Compilatori ed interpreti (opzioni, il file oggetto). I compilatori Fortran, Pascal, C.
Debugger. Librerie.
STRUMENTI DI GESTIONE DEI FILE.
Gestione avanzata dei file. Comandi filtro (comandi dell`algebra relazionale). Confrontare file.
Selezionare file. Occupazione della memoria.
STRUTTURA INTERNA DEL FILE SYSTEM UNIX.
La suddivisione del file system (bootstrap, superblock, i-list, area dati).
Blocco di bootstrap. Il super-block, i-node, i-number, l`area dati, la i-list, i link.
Struttura di un i-node. L`indirizzamento indiretto ai blocchi dati.
Interpretazione del pathname. Lista dei blocchi liberi. Link multipli allo stesso file.
I file system montati, chiamate al sistema mount/unmount. Monitoraggio del sistema.
IL LINGUAGGIO DELLA SHELL.
Gli shell script. Variabili, passaggio di parametri, strutture di controllo, login script.
Meccanismi di esecuzione di shell script. La variabile PATH.
Ambiente di valutazione (le variabili di ambiente, le variabili predefinite).
Il metacarattere (back apostrophe). La history. Aliasing. Funzioni.
Bourne shell: elementi del linguaggio, costrutti di controllo (for, case, while, if), funzioni,
esempi di shell script.
C shell: elementi del linguaggio, caratteristiche tipiche della C-shell, variabili numeriche
(simbolo @, operatori), input/output, espressioni (operatori), costrutti di controllo (foreach,
switch, while, if, repeat, goto), esempi di shell script. Debugging di shell script.
COMUNICAZIONI.
La comunicazione immediata di messaggi. Il sistema di posta elettronica, la funzione mail, i
programmi mailer. Connessione remota (telnet), modo comandi. Trasferimento file (ftp), comandi
di ftp.
CHIAMATE DI SISTEMA UNIX.
Chiamate relative ai file. Chiamate relative ai processi.
X WINDOW SYSTEM.
Modalità di esame:
Presentazione di un progetto, prova scritta che deve essere
superata con voto >= 18, prova orale.
Testi di riferimento:
A. Bonsignori, A. Fabrizio: ''UNIX'', Jackson libri, 1993.
G. Glass: ''UNIX for Programmers and Users. A Complete Guide'',
Prentice Hall International Editions, 1993.
Appunti forniti dal docente e disponibili in forma elettronica sulla
cartella H:\comune\docenti\melacci\ nei PC del Laboratorio di
Informatica del Dipartimento.
33 / 33
LINGUA INGLESE
I Corsi vengono svolti dal Centro Linguistico di Ateneo (CLA).
LINGUAGGI DI REALTÀ VIRTUALE
(Docente: Osvaldo Gervasi)
Obiettivi del corso
Conoscenza delle tecnologie alla base della rappresentazione virtuale degli oggetti e delle scene e
delle tecnologie Web3D, in particolare i linguaggi X3D e VRML.
Periodo didattico: I semestre
Programma
Introduzione alla realtà virtuale
Esperienze significative nell'evoluzione della Realtà Virtuale; Sensorama; Sketchpad; Head
Mounted Display (HMD); Virtual Interface Environment Workstation; Evoluzione della Realtà
Virtuale; VR devices: BOOM, CAVE, Digital Glove; Immersive VR; Shared Virtual Environments;
Non immersive VR.
Il linguaggio VRML
Creazione di mondi con VRML; sintassi VRML; lo spazio VRML; Eventi e Route.
il nodo Shape; il nodo Appearance; il nodo Material; i nodi Box, Cone, Cylinder, Spere; Il nodo
Group. il nodo Text; il nodo FontStyle.
Il nodo Transform. il nodo TimeSensor; Il nodo PositionInterpolator; Il nodo
OrientationInterpolator; il nodo ColorInterpolator; il nodo ScalarInterpolator.
Il nodo ElevationGrid.
Gestione delle luci in VRML; il nodo PointLight; il nodo DirectionalLight; il nodo SpotLight.
Gestione di sfondi e della nebbia nel mondo virtuale.
Riproduzione di filmati e e suoni. Controllo del punto di vista e delle proprietà dell’avatar: i nodi
Viewpoint e NavigationInfo.
Scrittura di programmi Script in Java e Javascript; Il nodo Script; Le API Java e Javascript.
X3D
Presentazione delle specifiche del Web3D Consortium per X3D. Introduzione ad XML, XML
Schema e Document Type Definition (DTD). Formati supportati in X3D. Caratteristiche dei nodi
X3D esistenti anche in VRML. Caratteristiche dei nodi specifici di X3D: Arc2D, ArcClose2D,
AudioClip, BooleanFilter, BooleanSequencer, BooleanToggle, BooleanTrigger, Circle2D,
ColorRGBA, Contour2D, ContourPolyline2D, CoordinateInterpolator2D, Disk2D,
EspduTransform, FillProperties,
GeoCoordinate, GeoElevationGrid, GeoLocation, GeoLOD, GeoMetadata, GeoOrigin,
GeoPositionInterpolator, GeoTouchSensor, GeoViewpoint, HAnimDisplacer, HAnimHumanoid,
HAnimJoint, HAnimSegment, HAnimSite, IndexedTriangleFanSet, IndexedTriangleSet,
IndexedTriangleStripSet, IntegerSequencer, IntegerTrigger, KeySensor, LineProperties, LineSet,
LoadSensor, MetadataDouble, MetadataFloat, MetadataInteger, MetadataSet, MetadataString,
34 / 34
MultiTexture, MultiTextureCoordinate, MultiTextureTransform, NurbsCurve, NurbsCurve2D,
NurbsOrientationInterpolator, NurbsPatchSurface, NurbsPositionInterpolator, NurbsSet,
NurbsSurfaceInterpolator, NurbsSweptSurface, NurbsSwungSurface, NurbsTextureCoordinate,
NurbsTrimmedSurface, Polyline2D, Polypoint2D, PositionInterpolator2D, RecieverPdu,
Rectangle2D,
SignalPdu, StaticGroup, StringSensor, TextureBackground, TextureCoordinateGenerator,
TimeTrigger, TransmitterPdu, TriangleFanSet, TriangleSet, TriangleSet2D, TriangleStripSet.
Programmazione di nodi Script e Scene Authoring Interface (SAI).
Java3D
Presentazione delle API Java3D. Rappresentazione di forme. Apparenza delle forme. Rotazione di
forme. Testi. Sfondi. Interazioni. Animazioni. Luci. Textures.
Modalità di Esame:
Test idoneativo mediante il sistema EOL.
Presentazione della relazione in formato HTML o Openoffice o PDF o Powerpoint inerente il
progetto di Mondo Virtuale sviluppato dallo Studente ed assegnato dal Docente.
Testi consigliati
Materiale multimediale e bibliografia di siti Internet forniti dal Docente.
.
MATEMATICA DISCRETA I
(Docente: Maria Cristina Vipera)
Obiettivi del corso
Fornire le nozioni di Matematica necessarie per trattare strutture discrete.
Periodo didattico: I semestre
Programma
INSIEMI
Insiemi e sottoinsiemi. Operazioni tra insiemi: proprietà. Insieme delle parti, complementare, leggi
di De Morgan. Prodotto cartesiano.
APPLICAZIONI
Corrispondenze e applicazioni. Applicazioni iniettive, suriettive, biiettive. Composizione di
applicazioni. Inversa di una applicazione biiettiva. Immagini e controimmagini di sottoinsiemi.
NUMERI NATURALI E CARDINALITÀ
Numeri naturali, divisibilità, M.C.D. e m.c.m. Numeri primi; unica fattorizzazione. Principio
d'induzione (due forme). Divisione con resto. Cardinalità di insiemi finiti. Formule fondamentali del
calcolo combinatorio: disposizioni semplici e con ripetizione, combinazioni semplici, binomio di
Newton.
RELAZIONI D'EQUIVALENZA
Relazioni binarie in un insieme. Relazioni d'equivalenza e partizioni.
RELAZIONI D'ORDINE E RETICOLI
Relazioni d'ordine: ordinamenti forti e deboli, totali e parziali. Massimo e minimo. Elementi
massimali e minimali. Estremo superiore e inferiore. Isomorfismi di insiemi ordinati.
Reticoli, distributività, complementi. Algebre booleane: proprietà fondamentali, legge di dualità;
struttura e cardinalità delle algebre booleane finite.
35 / 35
NUMERI INTERI RELATIVI E CONGRUENZE
Definizione di alcune strutture algebriche: semigruppi, monoidi: elementi invertibili, cancellabili.
Gruppi, anelli, campi. Relazioni d'equivalenza compatibili e strutture quoziente.
Anello degli interi. Algoritmo delle divisioni successive, identità di Bézout.
Congruenze e classi di resto. Divisori dello 0. Inversi modulo n. Risoluzione di congruenze e
sistemi di congruenze.
Cenni ai campi razionale e reale e alla rappresentazione dei numeri.
GRAFI
Definizione di grafo. Grado di un vertice. Grafi completi. Sottografi, grafo complementare,
isomorfismi di grafi.
Cammini e circuiti, cicli. Grafi connessi. Componenti connesse. Distanza, geodetiche. Centro di un
grafo.
Alberi: definizioni equivalenti e proprietà.
Cammini e circuiti euleriani. Cenno ai cammini e ai cicli hamiltoniani.
Punti di taglio e ponti. Connettività (cenni).
Grafi bipartiti, grafi bipartiti completi.
Grafi planari, facce. Caratterizzazione dei grafi piani (senza dimostrazione).
Definizione di digrafo (o grafo diretto) e di grafo orientato. Cammini e semicammini. Connessione
forte, debole, unilaterale di un digrafo, componenti. Digrafi inversi, dualità. Sorgenti e pozzi. Alberi
orientati.
Modalità di Esame
La prova scritta è divisa in due parti. La prima è formata da 3 o 4 esercizi da risolvere. Durante
questa prova gli studenti potranno consultare testi ed appunti. La seconda parte consiste nel
rispondere ad alcuni quesiti per verificare la comprensione della teoria. In questa seconda fase non è
consentito consultare libri o appunti. La durata totale delle due prove è di circa 3 ore e mezzo, che
includono un intervallo tra le due prove.
La prova orale si terrà di regola dopo due o tre giorni e si baserà, almeno in parte, su un commento
alla seconda parte della prova scritta.
Testi consigliati
M. Cristina Vipera, Corso di Matematica Discreta, Margiacchi - Galeno Editrice - 2001.
MATEMATICA DISCRETA II
(Docente: Maria Cristina Vipera)
Obiettivi del corso
Fornire conoscenze algebriche di base, con particolare riguardo all’Algebra Lineare e alle strutture
algebriche finite.
Periodo didattico: II semestre
Programma:
GRUPPI
Gruppi e sottogruppi. Potenze e loro proprietà. Elementi periodici e aperiodici. Proprietà del
periodo. Sottogruppi ciclici. Gruppi ciclici.
Congruenze modulo un sottogruppo. Laterali, teorema di Lagrange e conseguenze.
Gruppi di permutazioni. Decomposizione di una permutazione in cicli disgiunti. Inversi. Parità.
Coniugio in un gruppo; permutazioni coniugate.
Sottogruppi normali e gruppi quozienti. Omomorfismi: nucleo e immagine. Isomorfismi.
36 / 36
ALGEBRA LINEARE
Spazi vettoriali, sottospazi. Combinazioni lineari. Sistemi di generatori. Dipendenza lineare, basi,
dimensione. Dimensione di un sottospazio.
Matrici e sistemi lineari: eliminazione di Gauss. Calcolo del rango (per colonne). Teorema di
Rouché-Capelli.
Somma e somma diretta di sottospazi. Dimensione della somma diretta. Formula di Grassmann
(senza dimostrazione).
Applicazioni lineari: nucleo, immagine e loro dimensione. Matrice associata ad un'applicazione
lineare rispetto a due basi fissate. Prodotto di matrici. Matrice della composizione di due
applicazioni lineari. Isomorfismi e matrici invertibili. Calcolo della matrice inversa mediante
l'eliminazione di Gauss.
Determinante: definizione e proprietà (senza dimostrazione). Criteri per l'invertibilità di una
matrice. Metodi per il calcolo del determinante. Formule di Laplace (senza dimostrazione)
e calcolo della matrice inversa mediante i cofattori.
Definizioni equivalenti di rango di una matrice. Teorema di Cramer. Soluzione dei sistemi con l'uso
dei determinanti.
POLINOMI.
Anelli di polinomi (in una indeterminata) a coefficienti in un campo. Grado. Divisione con resto.
Polinomi irriducibili. Decomposizione di polinomi. M.C.D e m.c.m. di polinomi. Radici, teorema di
Ruffini. Radici multiple. Estensioni algebriche semplici. Il campo complesso; radici complesse di
polinomi reali. Campi finiti (cenni).
DIAGONALIZZAZIONE.
Cambiamenti di base. Matrici coniugate. Autovalori e autovettori. Diagonalizzazione.
Modalità di Esame
La prova scritta è divisa in due parti. La prima è formata da 3 o 4 esercizi da risolvere. Durante
questa prova gli studenti potranno consultare testi ed appunti. La seconda parte consiste nel
rispondere ad alcuni quesiti per verificare la comprensione della teoria. In questa seconda fase non è
consentito consultare libri o appunti. La durata totale delle due prove è di circa 3 ore e mezzo, che
includono un intervallo tra le due prove.
La prova orale si terrà di regola dopo due o tre giorni e si baserà, almeno in parte, su un commento
alla seconda parte della prova scritta.
Testi consigliati
M. Cristina Vipera, Corso di Matematica Discreta, Margiacchi - Galeno Editrice, 2001.
37 / 37
MODELLISTICA MOLECOLARE
(Docente: Massimo Baroni)
Obiettivi del corso
Acquisire di conoscenze di base della modellistica molecolare in alcuni suoi aspetti. Sapere
affrontare problematiche d’interesse chimico mediante strumenti informatici. Conseguire capacità
di analisi degli aspetti algoritmici ed implementativi nello sviluppo di softwares dedicati alla
modellistica molecolare ed alla chemioinformatica.
Periodo didattico: I semestre
Programma
Introduzione alla modellistica molecolare. Gli hardwares e softwares per il chimico modellista.
Lo sviluppo di un programma: algoritmi, complessità computazionale, progettazione.
Richiami di programmazione orientata agli oggetti in C++: tipi di dati, operatori, visibilità,
istruzioni di controllo, array, overloading delle funzioni e funzioni inline, riferimenti, puntatori, tipi
di dati definiti dall’utente, allocazione dinamica, namespaces, gestione delle eccezioni, classi e data
hiding, polimorfismo, membri a livello di classe e accesso friend, costruzione e distruzione di un
oggetto, oggetti allocati dinamicamente, membri puntatori, costruttori di copia, overloading degli
operatori, eredità, polimorfismo, funzioni virtuali, costruttori e distruttori virtuali, classi astratte,
template e funzioni template.
La molecola ed il modello di valenza. Rappresentazione e manipolazione di strutture molecolari:
modalità mono, bi e tridimensionali. Matrice di connettività e notazione lineare.
Calcolo della geometria 3D delle molecole: metodi di meccanica molecolare e force fields. Metodi
per la visualizzazione tridimensionale di strutture molecolari.
Potenziali elettrostatici molecolari e campi d’interazione molecolare. Visualizzazione di superfici,
volumi e delle proprietà molecolari. Algoritmo di Connoly.
Banche dati per il chimico. Lo screening virtuale “in silico”. Grafi molecolari. Aspetti
computazionali nella ricerca per struttura e sottostruttura. Isomorfismo fra grafi molecolari e la
ricerca del massimo sottografo comune per la valutazione del grado di similitudine fra molecole.
Analisi dell’algoritmo LeRP applicato a strutture 2D molecolari.
Metodi di codifica delle strutture molecolari in stringhe di bit per ricerche veloci. Percorsi minimi
superficiali e funzioni di forma per la descrizione molecolare.
Il problema della numerazione canonica di una molecola: analisi di un algoritmo a due stadi.
Esempi di codici sorgenti scritti in C e C++ per l’implementazione di alcuni degli algoritmi
illustrati.
Modalità di Esame
Prova orale.
Testi consigliati
Dispense fornite dal docente
38 / 38
PROGRAMMAZIONE I
(Docenti: Marco Baioletti, Federico Greco)
Obiettivi del corso
Comprensione dei concetti di base relativi alla programmazione: strutture dati, meccanismi di
controllo. Conoscenza del linguaggio C e parte del linguaggio C++. Capacità di progettazione ed
implementazione di semplici algoritmi.
Periodo didattico: I semestre
Programma
Introduzione.
Algoritmi e loro proprietà. Il processore e il linguaggio macchina. Paradigmi e linguaggi di
programmazione.
Compilatori ed interpreti. Il ciclo di vita del software.
I linguaggi C e C++.
Tipi di dati elementari, variabili, costanti ed espressioni. Assegnamento ed operatori di base.
Istruzioni elementari di I/O. Costrutti di sequenza, scelta ed iterazione.
Tipi di dati strutturati array, record, stringhe, union (cenni).
Procedure, funzioni e passaggio dei parametri. Variabili e regole di visibilità. Record di attivazione
e stack. Ricorsione. Puntatori e operazioni sui puntatori. Allocazione dinamica delle variabili e
gestione della memoria. Cenni alla gestione delle eccezioni. I file.
Algoritmi e strutture dati elementari.
Somma, media, massimo, minimo, conteggio e filtro di un array. Algoritmi di ricerca (lineare e
binaria) e di ordinamento (bubblesort, sort per selezione e per inserzione) di un array.
Intersezione, unione e differenza di insiemi rappresentati con liste. Definizione ricorsiva di
fattoriale, elevamento a potenza, numeri di Fibonacci e coefficienti binomiali. Liste lineari semplici
e operazioni su di esse (inserimento e cancellazione di un nodo, ricerca, scansione, ordinamento).
Liste lineari ordinate.
Cenni alle liste bidirezionali. Pile e code implementate con liste. Alberi binari e operazioni su di
essi (inserimento di un nodo, visite pre-order, in-order e post-order). Alberi binari di ricerca.
Modalità di Esame
Prova scritto-pratica al calcolatore, colloquio orale.
Testi consigliati
Dispense fornite dal docente
39 / 39
PROGRAMMAZIONE II
(Docente: Stefano Marcugini)
Obiettivi del corso
Comprensione dei concetti riguardanti la programmazione orientata agli oggetti
ed agli eventi. Capacità di realizzare semplici applicazioni.
Periodo didattico: II semestre
Programma
PROGRAMMAZIONE AD OGGETTI
Incapsulamento;
Ereditarietà; Polimorfismo;
INTRODUZIONE AL LINGUAGGIO JAVA
Istruzioni strutturate; Array; Classi e metodi; Programmi stand-alone; Applet;
Librerie Java; Eccezioni; Multithreading; Input ed Output; Istruzioni,
espressioni, operazioni; Programmazione orientata agli eventi.
ESEMPI DI ALGORITMI.
Modalità di Esame
esame orale
Testi consigliati:
Appunti forniti dal docente
Java "Dai fondamenti alla programmazione avanzata"
di Karsten Samaschke
edizioni Apogeo
Testi di riferimento
L.Lemay, C.L. Perkins, Java 1.2, Edizioni Sams net
Cay S. Horstmann e Gary Cornell, Java 2 i fondamenti, Mc Graw Hill;
Cay S. Horstmann e Gary Cornell, Java 2 tecniche avanzate, Mc Graw Hill;
RETI DI CALCOLATORI: PROTOCOLLI
(Docente: Bruno Checcucci)
Obiettivi del corso
Conoscenza dei primi tre livelli del sistema di architettura ISO-OSI. Conoscenza delle principali
tipologie di reti telematiche e strutture dati ad esse correlate
Periodo didattico: I semestre
Programma
INTRODUZIONE
Il concetto di informazione e sua misura, il processo comunicativo, flussi
trasmissivi, topologie di rete, il concetto di protocollo, il codice, la
compressione, l'errore, metodi di rivelazione e di risoluzione, sistemi sincroni e asincroni.
I PROTOCOLLI SECONDO IL MODELLO ISO-OSI
Introduzione, organismi di standardizzazione, esame dei sette livelli, strutturazione dei dati,
organizzazione di frame OSI, strati OSI e sommario funzioni.
LA TRASMISSIONE DATI
40 / 40
Segnali analogici e digitali, il segnale dati, rappresentazione nel dominio del tempo e delle
frequenze, il concetto di modulazione, le modulazioni di ampiezza, frequenza e fase, la
modulazione PCM, la multiplazione Time sharing (TDM) e FDM, sistemi interattivi e sistemi di
tipo batch, schema di una trasmissione dati, le interfaccie DTE-DCE, varie categorie di modem.
MEZZI TRASMISSIVI
I mezzi di comunicazione, le bande di comunicazione, il doppino telefonico,
il cavo coassiale, la fibra ottica, i sistemi softwire, cenni sui sistemi satellitari.
LE RETI PER LA TRASMISSIONE DATI
Strutture per reti di tipo analogico/digitale, rete commutata e rete dedicata, sistemi point to point e
multipoint, e la procedura di contesa con sincronizzazione, le reti wan, varie tipologie, in particolare
wireless.
IL SECONDO LIVELLO ISO-OSI
Introduzione, i protocolli asincroni e sincroni, i protocolli orientati al carattere e al bit, il protocollo
BSC, il protocollo HDLC il protocollo SDLC, cenni sul protocollo PPP.
IL TERZO LIVELLO ISO-OSI
Introduzione, le tecniche di commutazione ed instradamento, la commutazione di circuito, la
commutazione di messaggio, la commutazione di pacchetto, le tecniche di routing, il routing statico,
il routing adattativo, il routing misto, la rete X.25, i circuiti virtuali, il protocollo MPLS,
architettura, situazione attuale e sviluppi, campi d’applicazione, esempi sull’introduzione
dell’MPLS
LE RETI NUMERICHE
La rete CDN, la rete ISDN, i sistemi di rete xDSL:principali caratteristiche del canale trasmissivo e
tipologie xDSLx, reti di accesso con sistemi ADSL, soluzioni di rete per ADSL,il sistema HDSL.
Modalità di Esame
Consiste in una prova scritta.
Testi di riferimento:
B.Checcucci – Il protocollo MPLS e le reti xDSL - Ed. Margiacchi-Galeno;
Tanenbaum – Reti di Computer – Ed UTET;
Testi Consigliati:
C.Tomlison – TLC un approccio per informatici - Ed. McGrawHill;
U.Black - Data Network, concepts, theory and practice - Ed.Prentice Hall.
SISTEMI APERTI E DISTRIBUITI
(Docente: Sergio Tasso)
Obiettivi del corso
Comprensione delle principali tecnologie di progettazione e sviluppo in ambiente distribuito.
Periodo didattico: II semestre
Programma
INTRODUZIONE AI SISTEMI DISTRIBUITI
Definizione; Vantaggi e svantaggi; Tipologie;
COMUNICAZIONI NEI SISTEMI DISTRIBUITI
Protocolli a livelli; Modello Client/Server; Chiamata di procedura remota (RPC);
Comunicazioni di gruppo;
ELABORAZIONE NEI SISTEMI DISTRIBUITI
41 / 41
Processi e thread; Package di thread; Thread e RPC; Modelli di sistema (workstation e pool
di processori); Allocazione dei processori; Schedulazione nei s.d.;
FILE SYSTEM DISTRIBUITI
Progettazione; Implementazione; Struttura; Caching; Replicazione;
NFS; AFS; CODA;
STANDARD CORBA
Definizioni; componenti (ORB, BOA, POA, IDL, SII, DII, DSI) e applicazioni;
COM e DCOM
Definizioni e applicazioni;
JAVA RMI
Definizioni e applicazioni;
WIRELESS COMPUTING
Tecnologie e configurazioni; Client/Server in ambienti mobili;
SERVIZI WEB
definizioni e stato dell’arte;
IL PROTOCOLLO SOAP, SOAP-RPC
fondamenti e applicazioni;
IL LINGUAGGIO WSDL
introduzione e struttura di documenti WSDL;
IL PROGETTO UDDI
introduzione ed utilizzo;
J2EE E I SERVIZI WEB
la metodologia SOAP-J2EE;
Modalità di Esame
Test a risposte chiuse e progetto di un'applicazione in ambiente distribuito
Testi consigliati
Andrew S.Tanenbaun, I moderni sistemi operativi, Prentice Hall International - Jackson Libri
David A. Chappell, Tyler Jewell, Java Web Services, O’Reilly - HOPS
James Snell, Doug Tidwell, Pavel Kulchenko, Programmare servizi Web con SOAP, O’Reilly JACKSON Libri
Pradeep K. Sinha, Distributed Operating Systems, IEEE Press
Materiale multimediale fornito dal Docente
SISTEMI MULTIMEDIALI
(Docente: Simonetta Pallottelli)
Obiettivi del corso
Il corso intende far conoscere i modelli, le tecnologie e gli strumenti alla base del progetto di
sistemi ipertestuali e multimediali. È strutturato in tre parti. Nelle prime due parti vengono illustrate
le principali tecniche per la codifica, la memorizzazione e la diffusione di informazioni
multimediali, analizzando soluzioni e software specifici. Nell’ultima parte, il Corso presenta una
panoramica generale delle tecnologie Web e di come queste possano essere impiegate per la
produzione di materiale multimediale in ambiente distribuito. Lo studente dovrebbe, alla fine,
essere in grado di affrontare correttamente ed esaurientemente l’analisi e la realizzazione di
applicazioni multimediali.
42 / 42
Periodo didattico: II semestre
Programma
I° Parte: Introduzione ai sistemi multimediali.
1. Introduzione. Il paradigma ipertestuale. Struttura di un ipertesto. Tipi di collegamenti.
Navigazione in un ipertesto. Strumenti per l'orientamento. Sistemi multimediali e
ipermediali.
2. I modelli per la descrizione e per la progettazione di applicazioni ipermediali. I modelli di
riferimento: Dexter Reference Model, Amsterdam Hypermedia Model. I modelli per la
progettazione strutturata di presentazioni ipermediali.
3. I formati dei media. Media e modelli dei dati. Classificazione dei media. Audio, immagini
statiche, video. Media statici, media continui, media temporizzati.
4. La compressione dei dati. Compressione reversibile e irreversibile. Compressione MP3 dei
dati audio. Compressione JPEG delle immagini. Compressione MPEG dei dati video.
5. Aspetti sistemistici: sistemi operativi per media continui, qualità di servizio, protocolli di
rete real-time.
II° Parte: Strumenti ed Applicativi.
1. Panoramica e confronti su tecnologie e strumenti web.
2. Software applicativi: Flash e cenni su ToolBook,.
III° Parte: linguaggi e tecniche per la progettazione multimediale in ambiente Web.
1. Il World Wide Web: Struttura attuale del World Wide Web. Principi architetturali
fondamentali. Informazione nel Web attuale: Modelli di funzionamento. Trattamento
dell'informazione.
2. Il linguaggio HTML e i fogli di stile (CSS).
3. XML come mezzo di codifica dell'informazione. Strutturazione dell'informazione a vari
livelli. Modeling dell'informazione in XML. Meta-livelli. Il passaggio dall'informazione al
media in XML. Esprimere significati usando XML. Senso comune e Semantic Web.
Ontologie e ragionamento.
4. Privacy: Web e società. Spie nel Web. Esempio d'uso di XML come soluzione ai problemi
di privacy del Web.
5. Il Web del futuro: visione della famiglia di tecnologie fondanti XML; problemi di
integrazione. Le nuove tecnologie.
6. Il linguaggio SMIL. Proprietà. Struttura di un file SMIL. Regioni e layout grafico.
Esecuzione sequenziale e parallela di media. Eventi. Interazione utente.
Modalità di Esame
Presentazione di un progetto in Flash, prova scritta, prova orale.
Testi consigliati
Introduzione alle tecnologie Web. Vito Roberto, Marco Frailis, Alessio Gullotta - Milano :
McGraw-Hill
Progettazione di dati e applicazioni per il web. Stefano Ceri ... [et al.] - Milano [etc.] :
McGraw-Hill
Audio e multimedia. Vincenzo Lombardo, Andrea Valle - Milano: Apogeo
Architettura dell’informazione per il World Wide Web – L.Rosenfeld, P.Morville – Hopslibri
Programmare XML – R.Allen Wyke, Sultan Rehman, Brad Leupen - Mondadori
Altro materiale didattico
Copie delle trasparenze del corso, articoli tratti da riviste scientifiche, e documentazione che sarà
resa disponibile su Internet. Saranno indicati durante il corso alcuni testi per un approfondimento di
alcuni argomenti.
43 / 43
SISTEMI OPERATIVI I
(Docente: Arturo Carpi)
Obiettivi del corso
Conoscenza del funzionamento del sistema calcolatore al livello di astrazione del Sistema
Operativo. Identificazione delle differenti organizzazioni del Sistema Operativo. Conoscenza dei
meccanismi interni di funzionamento dei Sistemi Operativi.
Periodo didattico: I semestre
Programma
EVOLUZIONE DEI SISTEMI OPERATIVI: Sistemi a lotti, dispositivi virtuali,
multiprogrammazione, time-sharing, sistemi personali e sistemi distribuiti.
SERVIZI E FUNZIONI Sistema di archiviazione, esecuzione dei programmi, Input/Output,
processi, gestione delle risorse, protezione, interprete dei comandi.
STRUTTURA DEL CALCOLATORE: Unità centrale, istruzioni e programmi, dispositivi, sistema
di interruzione, accesso diretto alla memoria, multiprocessori.
ESECUZIONE DEI PROGRAMMI: Archivi, compilazione e collegamento, modelli di memoria e
di caricamento, rilocazione e caricamento.
IL MODELLO CONCORRENTE: Processi, condivisione di dati, sincronizzazione e
comunicazione,
dipendenze tra paradigmi di interazione, processi esterni, generazione e terminazione di processi.
IL NUCLEO DEL SISTEMA OPERATIVO: Modelli di organizzazione del sistema operativo,
realizzazione dei processi, protezione, semafori e primitive per la comunicazione , sincronizzazione
con i processi esterni, primitive per la generazione e terminazione, gestione del processore.
LE RISORSE: Modelli e politiche di gestione delle risorse, stallo e attesa indefinita, problemi
classici: processi lettori e scrittori, filosofi a cena, scambio di messaggi.
PROGRAMMAZIONE CONCORRENTE: Costrutti per il modello orientato procedure e per il
modello cliente-servente.
Modalità di Esame
Prova scritta (domande a risposta aperta) e prova orale. La prova scritta, se superata, conserva la sua
validità per 12 mesi.
Testi consigliati:
Piero Maestrini, Sistemi Operativi, McGraw-Hill
William Stallings, Sistemi Operativi, Jackson
Abraham Silberschatz, Peter Baer Galvin, Greg Gagne, Sistemi Operativi, Pearson
44 / 44
SISTEMI OPERATIVI II
(Docente: Arturo Carpi)
Obiettivi del corso
Conoscenza della problematica legata alla gestione delle risorse e capacità di confrontare le
caratteristiche di alcuni SO commerciali.
Periodo didattico: II semestre
Programma
GESTIONE DEI DISPOSITIVI: Dipositivi a caratteri. Temporizzatore condiviso. Gestione del
disco: politica FCFS, ordinamento per settore, scansione, memoria cache.
GESTIONE DELLA MEMORIA: Partizioni fisse e partizioni variabili. Swapping. Paginazione
statica e dinamica. Segmentazione statica e dinamica. Paginazione con modello di memoria con
segmentazione. Algoritmi di sostituzione: LRU, second chance, insieme di lavoro, algoritmi di
sostituzione per segmentazione.
GESTIONE DEGLI ARCHIVI: Modello logico del sistema di archiviazione. Realizzazione di
archivi e repertori. Collegamento degli archivi. Strutture dati del sistema di archiviazione e del
gestore degli archivi. Affidabilita' e sicurezza del sistema di archiviazione.
Modalità di Esame
Prova scritta (domande a risposta aperta) e prova orale. La prova scritta, se superata, conserva la sua
validità per 12 mesi.
Testi consigliati
Piero Maestrini, Sistemi Operativi, McGraw-Hill
William Stallings, Sistemi Operativi, Jackson
Abraham Silberschatz, Peter Baer Galvin, Greg Gagne, Sistemi Operativi, Pearson
STRUTTURE ATOMICHE E MOLECOLARI
(Docente: Francesco Tarantelli)
Obiettivi del corso
Comprensione delle leggi fondamentali che governano i fenomeni chimici e delle tecniche di
simulazione, a fini di studio e progettazione, di molecole, materiali e farmaci.
Periodo didattico: II semestre
Programma
FONDAMENTI DI STRUTTURA DELLA MATERIA
Aspetti generali. Nuclei ed elettroni. Atomi. Il sistema periodico. Il legame chimico. Reazioni
chimiche. La descrizione quantistica. Funzioni d'onda e distribuzioni. Valori medi di grandezze
fisiche, operatori e autovalori. Relazioni di indeterminazione. Evoluzione degli stati nel tempo:
l'equazione di Schroedinger. Stati stazionari e non. Il processo di misura.
ATOMI, MOLECOLE E SISTEMI COMPLESSI
Orbitali e funzioni d'onda elettroniche. Il metodo Hartree-Fock e gli orbitali molecolari. La
correlazione elettronica. Teoria delle perturbazioni. Interazione di Configurazione e altri metodi per
la correlazione elettronica. La teoria del funzionale della densità. Superfici di energia potenziale e
45 / 45
moto dei nuclei. Vibrazioni e rotazioni. Dinamica molecolare. Dinamica nucleare e reazioni
chimiche. Sistemi di molecole e sistemi chimici complessi.
ASPETTI COMPUTAZIONALI E ALGORITMI NUMERICI
Calcolo degli integrali elettronici. Diagonalizzazione di matrici. Calcolo delle strutture nucleari di
equilibrio e dei punti di sella. Metodi iterativi in sottospazi. Metodi diretti integral-driven.
Risoluzione di equazioni differenziali. Fast Fourier Transform. Strategie per il calcolo parallelo e
distribuito. Realtà virtuale molecolare.
Modalità di Esame
Consiste in un’unica prova orale.
Testi consigliati
Dispense scritte dal docente.
TECNICHE DI ACQUISIZIONE DATI I
(Docente: Piero Giorgio Verdini)
Obiettivi del corso
Familiarizzare gli studenti con la programmazione in C di sistemi embedded, basati su
microcontrollori della famiglia MCS-51.
Realizzare durante il corso una implementazione software del protocollo I2C e di un rudimentale
sistema operativo per detti microcontrollori.
Sviluppare una o più applicazioni dimostrative basate sui prodotti software precedentemente
sviluppati.
Periodo didattico: I semestre
Programma
Il concetto di sistemi “real-time” ed “embedded”.
Programmazione di microcontrollori della famiglia MCS-51 in linguaggio C. Uso dell’“Integrated
Developement Environment” e simulatore RIDE.
Sistemi “event-triggered” (attivati da un evento).
Sistemi “time-triggered” (attivati a tempo).
Scheduler per applicazioni embedded: Il “superciclo” come scheduler rudimentale; Scheduler “preemptive” (coercitivo); Scheduler “cooperativo”; Scheduler ibrido; Il concetto di puntatori a
funzioni.
Pensare cooperativamente: “loop timeout” (timeout di ciclo); “hardware timeout” (timeout
hardware); Il concetto di “watchdog”.
Il protocollo I2C e sua realizzazione in software.
Organizzazione di un progetto software in C
Elementi di programmazione C avanzata
Modalità di Esame
L’esame consiste in una relazione scritta sull’applicazione dimostrativa sviluppata durante l’anno, e
su una verifica orale della materia di programma.
Qualora uno studente non abbia partecipato alle esercitazioni durante il corso, è prevista una
verifica pratica delle nozioni di programmazione nell’ambiente di sviluppo utilizzato per il corso
(RIDE).
Testi consigliati
46 / 46
Moltissimi concetti sui sistemi “real-time” ed “embedded” si possono trovare in “Patterns for TimeTriggered Embedded Systems”, di Michael J. Pont, ISBN 0-201-33138-1, edito da Addison-Wesley
(collana ACM Press) nel 2001.
Per quanto riguarda il bus I2C, esso è stato definito e brevettato nel 1992 dalla Philips, che produce
un gran numero di circuiti integrati che lo supportano, sia come Slave che come Master. Nel 1998 è
stata pubblicata una nuova serie di specifiche (v. 2.0), che sono allegate e che sono disponibili sul
sito Web della Philips, http://www.philips.com insieme alle specifiche e alle note applicative per i
circuiti integrati I2C.
Per quanto riguarda il linguaggio C come definito nello standard ANSI/ISO, l’opera di riferimento è
“The C programming language, second edition”, di Brian W. Kernighan e Dennis M. Ritchie, ISBN
0-13-110362-8, edito da Prentice Hall nel 1988. Un’opera molto più didattica e di facile lettura, che
copre anche brevemente la “Standard Library”, è “C programming: a modern approach” di K.N.
King, ISBN 0-393-96945-2, edito da W. W. Norton & Company nel 1996.
Un testo fondamentale per quanto riguarda lo studio formale e matematico degli algoritmi, seppur
di difficile lettura, è la collana “The art of computer programming” di Donald E. Knuth, al
momento in tre volumi, edito da Addison-Wesley nel 1973 (Data della seconda edizione.
Attualmente esiste la terza).
Letture raccomandate a quanti abbiano intenzione di dedicarsi alla programmazione
professionalmente, per il loro contenuto di insegnamenti pratici e stilistici, sono:
“The practice of programming”, di Brian W. Kernighan e Rob Pike, ISBN 0-201-61586-X, edito da
Adison-Wesley nel 1999;
“Programming Pearls, second edition” di Jon Bentley, ISBN 0-201-65788-0, edito da AddisonWesley (collana ACM Press) nel 1999;
“Code complete: a practical handbook of software construction” di Steve McConnell, ISBN 155615-484-4, edito da Microsoft Press nel 1993.
TECNICHE DI ACQUISIZIONE DATI II
(Docente: Giovanni Ambrosi)
Obiettivi del corso
Familiarizzare lo studente con il trattamento dei segnali in tempo reale ed in particolare con lo
studio in frequenza, sia sotto il profilo teorico che sperimentale. Realizzare implementazioni
software di semplici architetture di acquisizione dati.
Periodo didattico: II semestre.
Programma del Corso
Definizione di un segnale, tipi di segnali:
Segnali a tempo continuo, segnali a tempo discreto, segnali ad ampiezza continua, segnali ad
ampiezza discreta.
Segnali a tempo continuo:
Segnali periodici: Analisi armonica, sviluppo in serie di Fourier in forma polare ed in forma
complessa; spettri di ampiezza e di fase; proprietà dello spettro di un segnale periodico.
47 / 47
Segnali aperiodici: dalla serie all'integrale di Fourier; proprietà dell'integrale di fourier:
simmetrie, linearità, dualità. Teorema del ritardo. Teorema della modulazione. Teorema del
prodotto e della convoluzione.
Trasformate di Fourier generalizzate: Delta di Dirac e funzione a gradino. Funzioni seno e
coseno.
Sistemi monodimensionali a tempo continuo:
Concetto di trasformazione, amplificatore ideale, proprietà. Risposta impulsiva e risposta in
frequenza. Definizione di Decibel
Filtri: passa basso, passa alto, passa banda e band stop.
Densità spettrale di energia e di potenza; funzione di autocorrelazione e teorema di WienerKhintchine. Densità spettrale di segnali periodici.
Segnali a tempo discreto:
Campionamento dei segnali a tempo continuo. Trasformata di Fourier dei segnali aperiodici
a tempo discreto. Teoremi sulla trasformata di Fourier di una sequenza.
Condizione di Nyquist e teorema del campionamento. Interpolazione: a mantenimento,
interpolazione cardinale.
Analisi di Fourier delle sequenze periodiche; trasformata discreta di Fourier. Fast Fourier
Trasform (FFT): complessità di calcolo
Sistemi monodimensionali a tempo discreto:
Risposta impulsiva e risposta in frequenza. Filtri a tempo discreto: filtro a
media mobile.
Cenni di teoria delle code e affidabilità dei sistemi.
L’ambiente di programmazione LabView con esercitazioni.
Modalità di Esame
L’esame consiste nella preparazione e discussione delle relazioni scritte relative alle applicazioni
sviluppate durante l’anno, e in una verifica orale degli argomenti indicati nel programma trattati a
lezione. Nel caso uno studente non abbia partecipato regolarmente alle esercitazioni durante il
corso, l’esame sarà preceduto da una verifica pratica delle nozioni di programmazione
nell’ambiente di sviluppo
Testi consigliati
Teoria dei segnali, Marco Luise & Giorgio M. Vitetta - McGraw-Hill, ISBN 88-386-0809-1
48 / 48
RECAPITI DEI DOCENTI
N. B.: Per contattare i docenti telefonicamente, è necessario far precedere il numero interno dal
seguente numero: 075/585
DOCENTI DEGLI INSEGNAMENTI COMUNI A TUTTI I CURRICULA
Disciplina
Docente
n. tel.
interno
e.mail
Primo anno di Corso
Analisi Matematica I - II
Architettura degli Elaboratori I - II
Laboratorio di Architettura
Programmazione I
Programmazione II
Laboratorio di Programmazione
Matematica Discreta I - II
Lingua Inglese
Antonio Boccuto
Ferruccio Barsi
In corso di nomina
Marco Baioletti
Federico Greco
Stefano Marcugini
Stefano Marcugini
Maria Cristina Vipera
Centro Linguistico Ateno –
Hutchinson Nancy e Giles Hilary
5034
5046
[email protected]
[email protected]
5044
[email protected]
[email protected]
5049
5049
5012
5741
[email protected]
[email protected]
[email protected]
5055
5047
5014
5047
2709
5050
5019
[email protected]
[email protected]
Secondo anno di Corso
Algoritmi e Strutture Dati I - II
Maria Cristina Pinotti
Laboratorio di Algoritmi
Rosanna Bicocchi
Sistemi Operativi I - II
Arturo Carpi
Laboratorio di Sistemi Operativi
Pietro Tito Melacci
Fisica Generale
Paolo Lariccia
Calcolo Numerico
Ivan Gerace
Calcolo
delle
Probabilità
e Giulianella Coletti
Statistica Matematica
Laboratorio di Linguaggi di Giorgio Cecconi
Programmazione e Compilatori
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
Terzo anno di Corso
Basi di Dati e Sistemi Informativi I Marco Baioletti –
- II
Valentina Poggioni
5044
[email protected]
[email protected]
49 / 49
DOCENTI DEGLI INSEGNAMENTI CURRICULARI
Indirizzo Reti di Computer
n. tel.
interno
e.mail
di Osvaldo Gervasi
5048
[email protected]
Sergio Tasso
5048
[email protected]
Sistemi multimediali
Simonetta Pallottelli
Applicazioni e Calcolo in Rete Sergio Tasso
5044
5048
[email protected]
[email protected]
Laboratorio Reti di Computer
Reti di Calcolatori: Protocolli
5048
2741
[email protected]
[email protected]
Disciplina
Architettura delle Reti
Computer
Sistemi aperti e distribuiti
Docente
Sergio Tasso
Bruno Checcucci
Indirizzo Sistemi di Acquisizione Dati
Disciplina
Docente
Fisica dei dispositivi elettronici Renzo Campanella
Leonello Servoli
Laboratorio Reti di Computer Sergio Tasso
n. tel.
interno
e.mail
[email protected]
2784-3839
2706
5048
[email protected]
Architettura delle Reti di Osvaldo Gervasi
Computer
Tecniche di Acquisizione dati I Piero Giorgio Verdini
5048
[email protected]
Tecniche di Acquisizione dati Giovanni Ambrosi
II
Reti di Calcolatori: Protocolli Bruno Checcucci
2708
[email protected]
2741
[email protected]
[email protected]
[email protected]
Indirizzo Realtà Virtuale Molecolare
Disciplina
Docente
Strutture
Atomiche
e Francesco Tarantelli
Molecolari
Sistemi Aperti e Distribuiti
Sergio Tasso
Applicazioni e Calcolo in Rete Antonio Laganà, Sergio
Tasso, Osvaldo Gervasi
Modellistica Molecolare
Massimo Baroni
Linguaggi di realtà Virtuale
Osvaldo Gervasi
Laboratorio di Linguaggi di Antonio Riganelli
realtà virtuale
n. tel.
interno
e.mail
5531
[email protected]
5048
5048
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
5048
[email protected]
50 / 50
Scarica