UNIVERSITÀ DEGLI STUDI DI PERUGIA
Facoltà di Scienze MM FF NN
Laurea Triennale in Informatica
NOTIZIARIO
Anno Accademico 2007 – 2008
Rev. 01 del 02/08/07
1/1
INDICE
INDICE ................................................................................................................................................2
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 ...................................................................................................8
A)
B)
C)
INDIRIZZO RETI DI COMPUTER ...................................................................................................8
INDIRIZZO SISTEMI DI ACQUISIZIONE DATI .................................................................................8
INDIRIZZO REALTÀ VIRTUALE MOLECOLARE ...............................................................................8
ALTRE ATTIVITÀ FORMATIVE...................................................................................................10
A SCELTA DELLO STUDENTE.................................................................................................10
ALTRE...........................................................................................................................................10
PROVA FINALE...........................................................................................................................11
PROGRAMMI DEI CORSI ................................................................................12
ALGORITMI E STRUTTURE DATI I.............................................................................................13
ALGORITMI E STRUTTURE DATI II ...........................................................................................14
ANALISI MATEMATICA I .............................................................................................................15
ANALISI MATEMATICA II............................................................................................................16
APPLICAZIONI E CALCOLO IN RETE.........................................................................................17
ARCHITETTURA DEGLI ELABORATORI I ................................................................................18
ARCHITETTURA DEGLI ELABORATORI II ...............................................................................19
ARCHITETTURA DELLE RETI DI COMPUTER .........................................................................20
BASI DI DATI E SISTEMI INFORMATIVI I .................................................................................21
BASI DI DATI E SISTEMI INFORMATIVI II................................................................................22
CALCOLO DELLE PROBABILITÀ E STATISTICA MATEMATICA ........................................22
CALCOLO NUMERICO ..................................................................................................................23
ELEMENTI DI SCIENZE ATOMICHE E MOLECOLARI ............................................................24
FISICA DEI DISPOSITIVI ELETTRONICI ....................................................................................24
FISICA GENERALE.........................................................................................................................25
INGEGNERIA DEL SOFTWARE....................................................................................................27
LABORATORIO DI ALGORITMI ..................................................................................................28
LABORATORIO DI ARCHITETTURA ..........................................................................................28
2/2
LABORATORIO DI LINGUAGGI DI REALTÀ VIRTUALE .......................................................29
LABORATORIO DI PROGRAMMAZIONE...................................................................................29
LABORATORIO DI RETI DI COMPUTER....................................................................................30
LABORATORIO DI SISTEMI OPERATIVI ...................................................................................31
LINGUA INGLESE...........................................................................................................................33
LINGUAGGI DI REALTÀ VIRTUALE ..........................................................................................33
LINGUAGGI FORMALI E COMPILATORI ..................................................................................34
MATEMATICA DISCRETA I..........................................................................................................35
MATEMATICA DISCRETA II ........................................................................................................36
MODELLISTICA MOLECOLARE..................................................................................................37
PROGRAMMAZIONE I ...................................................................................................................38
PROGRAMMAZIONE II..................................................................................................................38
RETI DI CALCOLATORI: PROTOCOLLI .....................................................................................39
SISTEMI APERTI E DISTRIBUITI .................................................................................................40
SISTEMI MULTIMEDIALI..............................................................................................................41
SISTEMI OPERATIVI ......................................................................................................................42
TECNICHE DI ACQUISIZIONE DATI I.........................................................................................43
TECNICHE DI ACQUISIZIONE DATI II .......................................................................................44
RECAPITI DEI DOCENTI ..................................................................................46
DOCENTI DEGLI INSEGNAMENTI COMUNI A TUTTI I CURRICULA..............................46
DOCENTI DEGLI INSEGNAMENTI CURRICULARI..............................................................47
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
INSEGNAMENTI COMUNI A TUTTI I CURRICULA
Disciplina
Docente
H/sett
Semestre
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
Antonio Boccuto
Antonio Boccuto
Ferruccio Barsi
Ferruccio Barsi
Docente in corso di nomina
Marco Baioletti
Stefano Marcugini
Stefano Marcugini
Maria Cristina Vipera
Massimo Giulietti
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
4
6
4
3
6
3
Secondo anno di Corso*
I
II
I
I
II
II
I
II
Maria Cristina Pinotti
Maria Cristina Pinotti
Rosanna Bicocchi
Andrea Formisano
Alfredo Milani
Pietro Tito Melacci
Paolo Lariccia
Attilio Santocchia
Calcolo Numerico
Ivan Gerace
Calcolo delle Probabilità e Statistica Giulianella Coletti
Matematica
Linguaggi formali e Compilatori
Arturo Carpi
I
II
Basi di Dati e Sistemi Informativi I
Laboratorio di Basi di Dati
II
I
Algoritmi e Strutture Dati I
Algoritmi e Strutture Dati II
Laboratorio di Algoritmi
Sistemi Operativi
Ingegneria del Software
Laboratorio di Sistemi Operativi
Fisica Generale
Terzo anno di Corso**
Andrea Formisano
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 Linguaggi formali e compilatori
* - ** NOTE:
** Per coloro che nell’aa 07-08 si iscrivono al III anno di corso, resta in vigore (solo) il vecchio regolamento, che
prevede come insegnamenti comuni:
Semestre
Disciplina
I
Basi di dati e Sistemi
Informativi I
II
Basi di dati e Sistemi
Informativi II
Terzo anno di Corso
Docente
Andrea Formisano
Silvia Suriani – Valentina Poggioni
H/sett
4
4
CFU
6
6
6/6
* Coloro che si iscrivono al II anno di corso potranno optare per il nuovo regolamento (un apposito modulo sarà
disponibile presso le segreterie studenti e presso l’ufficio del manager didattico) o rimanere al vecchio, che prevede
come insegnamenti comuni
Secondo anno di Corso
Semestre
I
II
I
II
I
I
II
I
II
II
Informatico
Informatico
Disciplina
Algoritmi e Strutture Dati I
Calcolo Numerico
Calcolo delle Probabilità e
Statistica
Matematica
Algoritmi e Strutture Dati II
Laboratorio di Algoritmi
1
Sistemi Operativi I
1
Sistemi Operativi II
Fisica generale
Laboratorio di Sistemi operativi
Laboratorio di programmazione e
compilatori
Basi di dati e Sistemi Informativi
I
Basi di dati e Sistemi Informativi
II
Docente
H/sett
CFU
Maria Cristina Pinotti
Ivan Gerace
Giulianella Coletti
4
4
4
6
6
6
Maria Cristina Pinotti
Rosanna Bicocchi
Andrea Formisano
Arturo Carpi
Paolo Lariccia – Attilio Santocchia
Pietro Tito Melacci
Giorgio Cecconi
4
3
4
4
4
3
4
6
3
6
6
6
3
6
4
6
4
6
Terzo anno di Corso
Andrea Formisano
Silvia Suriani – Valentina Poggioni
1
Per il programma dei corsi di Sistemi Operativi I e II si rimanda al notiziario AA. 06-07.
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.
7/7
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
Francesco Tarantelli, Storchi
Loriano
Sergio Tasso
4
4
6
6
3
4
3
6
Totale CFU
33
a) Indirizzo Reti di Computer
III
I
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 Leonello Servoli
4
6
III
III
II
I
3
4
3
6
III
I
Laboratorio Reti di Computer Sergio Tasso
Architettura delle Reti di Osvaldo Gervasi
Computer
Tecniche di Acquisizione dati I Piero Giorgio Verdini
4
6
III
II
Tecniche di Acquisizione dati Giovanni Ambrosi
II
4
6
III
I
Reti di Calcolatori: Protocolli
4
6
Totale CFU
33
Bruno Checcucci
c) Indirizzo Realtà Virtuale Molecolare
II
II
Elementi di Scienze Atomiche Antonio Laganà, Leonardo
e Molecolari
Pacifici
4
6
III
III
I
I
Sistemi Aperti e Distribuiti
Applicazioni e Calcolo in Rete
4
4
6
6
III
III
III
I
I
II
4
4
3
6
6
3
Totale CFU
33
Sergio Tasso
Francesco Tarantelli, Storchi
Loriano
Modellistica Molecolare
Massimo Baroni
Linguaggi di realtà Virtuale
Osvaldo Gervasi,
Laboratorio di Linguaggi di Docente in corso di nomina
realtà virtuale
8/8
NB:
CFU = Credito Formativo Universitario; 1 CFU = 25 ore di lavoro per studente (ex art. .5 c. 1 DM 509/99)
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.
9/9
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
effettuato un’attività formativa, ex art. 10, comma 1, lettera f del DM 509/1999, per un totale di 9
crediti.
10 / 10
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.
11 / 11
PROGRAMMI DEI CORSI
12 / 12
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).
13 / 13
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.
14 / 14
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
15 / 15
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.
16 / 16
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: Tarantelli Franccesco, Storchi Loriano)
Obiettivi del corso
Familiarizzare con l'evoluzione delle architetture da sequenzialita' a concorrenza.
Sviluppare la capacita' di analizzare algoritmi semplici sia per ambienti sequenziali che paralleli.
Familiarizzare con la programmazione di socket. Approfondimento della conoscenza degli
strumenti per la parallelizzazione e la distribuzione su rete di programmi scientifici e relative
applicazioni.
Periodo didattico: I semestre
Programma
- L'interfaccia di Socket.
- a. basi di programmazione in ambieti UNIX.
- b. utilizzo di socket su protocollo TCP/IP.
- c. sviluppo di semplici applicazioni in C/C++.
- Dalla sequenzialità alla concorrenza
- 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
- Strumenti e tecniche di parallelizzazione e valutazione delle prestazioni
- a. Programmazione parallela e valutazione delle prestazioni
- Approcci concorrenti al calcolo tecnico-scientifico
- 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
Colloquio orale.
Testi consigliati
Rivolgersi al docente.
17 / 17
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
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
18 / 18
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.
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
19 / 19
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
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: I 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.
20 / 20
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.
BASI DI DATI E SISTEMI INFORMATIVI I
(Docente: Andrea Formisano)
Obiettivi del corso
Il corso si propone di fornire le competenze essenziali relative a fondamenti, concetti, metodi e
tecniche per il progetto e l'utilizzo delle basi di dati e dei sistemi di gestione delle basi di dati.
Lo studente dovrebbe acquisire capacita` di comprensione e utilizzo delle nozioni e strumenti
basilari
connessi alla progettazione e realizzazione delle basi di dati.
Periodo didattico: I semestre
Prerequisiti
Architettura degli elaboratori e Sistemi operativi.
Programma
Introduzione ai database ed ai DBMS. Il modello Entità-Relazione. Progettazione concettuale. Il
modello relazionale. Algebra e calcolo relazionale. Il linguaggio SQL. Normalizzazione.
Introduzione alla tecnologia dei DBMS.
Testi consigliati
R.A.Elmasri e S.B.Navathe: Sistemi di basi di dati, 5a edizione, Pearson-AddisonWesley (2007)
Eventuale materiale complementare fornito dal docente.
Esame
Prova scritta (eventuale prova orale).
21 / 21
BASI DI DATI E SISTEMI INFORMATIVI II
(Docenti: Valentina Poggioni, Silvia Suriani)
Obiettivi del corso
Il corso ha un duplice obiettivo: da una parte offrire una panoramica sugli aspetti tecnologici di un
DB server e sulle principali applicazioni e/o estensioni del modello standard dei database relazionali
(DB distribuiti e ad oggetti). Dall'altra si illustrano i sistemi con cui comunemente sono sviluppate
le applicazioni che accedono ai DB. Una significativa parte del corso si svolgerà in laboratorio per
garantire agli studenti l’acquisizione di abilità specifiche nella effettiva realizzazione di database.
Periodo didattico: II semestre
Prerequisiti
Basi di dati e Sistemi informativi I, Programmazione II.
Programma
Gestione delle transazioni: Transazioni e loro proprietà. Controllo di affidabilità: log, ripresa a caldo e
a freddo. Controllo di concorrenza: anomalie, teoria della concorrenza, soluzioni proposte, gestione dei
lock, i deadlock.
Organizzazione fisica di un DB e gestione delle interrogazioni: Gestione del buffer . Strutture dati per
l'organizzazione dei file. Esecuzione e ottimizzazione delle interrogazioni.
Basi di dati ad oggetti: caratteristiche principali, lo standard ODMG, basi di dati relazionali ad oggetti
Architetture distribuite: Basi di dati distribuite. Tecnologia dei DB distribuiti, protocollo di commit a
due fasi, TS distribuito, replicazione, cenni al parallelismo e alla cooperazione dei DB
Cenni sulle architetture dei sistemi informativi su Web.
Laboratorio: JDBC, PostgreSQL, DB4O, Database attivi.
Modalità di Esame
Realizzazione di un progetto, colloquio orale.
Testi consigliati
Atzeni P., Ceri S., Paraboschi S., Torlone R., Basi di dati, Architetture e linee di evoluzione.
McGraw-Hill, seconda edizione.
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" .
Periodo didattico: I semestre
Prerequisiti
Concetti base di Analisi I e II. Elementi di logica booleana.
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
22 / 22
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.
Testi consigliati
Romano Scozzafava: Incertezza e Probabilità, Zanichelli (2001)
Modalità di Esame
Prova scritta e orale (facoltativa). Nota bene la eventuale prova orale può essere sostenuta solo
avendo ottenuto la sufficienza nella prova scritta.
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
ELEMENTI DI SCIENZE ATOMICHE E MOLECOLARI
(Docente: Antonio Laganà, Leonardo Pacifici)
Obiettivi del corso
Fornire, in modo integrato, alcuni concetti fondamentali delle strutture atomiche e molecolari
partendo dai principi fondamentali della fisica e collegandoli all’esito dei processi chimici.
Esaminare in modo sistematico il variare delle proprietà di atomi e molecole collegandole alla
progressivo arricchirsi della struttura elettronica. Sviluppare le capacità del discente nel
comprendere la natura molecolare dei processi chimici.
Periodo didattico: II semestre
Programma
Le proprietà dei processi bimolecolari e la meccanica classica. Modelli con soluzioni analitiche e
numeriche per collisioni elastiche e reattive. Superamento della visione classica e trattamento
quantistico per potenziali modello. Il caso degli stati discreti e la costruzione dell’atomo
idrogenoide. Le soluzioni numeriche e i metodi di approssimazione. I sistemi a tre o più corpi.
Metodi numerici dello sviluppo in un set di base. I sistemi a molti corpi. Sistematica principali dei
vari gruppi.
Modalità di Esame
Prova scritta e orale
Testi consigliati
Peter Atkins e Loretta Jones, Chimica Generale, Zanichelli
FISICA DEI DISPOSITIVI ELETTRONICI
(Docenti: in corso di nomina)
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
24 / 24
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.
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.
25 / 25
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.
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
26 / 26
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
INGEGNERIA DEL SOFTWARE
(Docente: Alfredo Milani)
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" .
Periodo didattico: II semestre
Prerequisiti
Concetti di base di programmazione ad oggetti. Elementi di logica booleana.
Programma
Il software: processo e prodotto. Modelli di Ciclo di Vita del Software e Tecniche di Analisi.
Linguaggi di modellazione: UML. Metriche di prodotto e di processo. Tecniche di Test e di
Verifica Formale, Model Checking. Standard Valutazione del Software e della Sicurezza.
Tecnologie di supporto al riuso.
Modalità di esame:
Progetto individuale e prova orale.
Testi consigliati
Ghezzi et al. INGEGNERIA del SOFTWARE, Ed. Mondadori Informatica
Appunti del Docente
27 / 27
LABORATORIO 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 consigliati: A. A. Bertossi: “Algoritmi e strutture di dati”, UTET, 2000.
LABORATORIO DI ARCHITETTURA
(Docente: in corso di nomina)
28 / 28
LABORATORIO DI LINGUAGGI DI REALTÀ VIRTUALE
(Docente: in corso di nomina)
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
La prova di esame consiste in una prova pratica da svolgere in laboratorio su
esercizi proposti dal docente e in una discussione orale sulla prova realizzata.
Testi consigliati:
Karsten Samaschke, Java "Dai fondamenti alla programmazione avanzata" edizioni Apogeo
Appunti forniti dal docente
Altri 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;
29 / 29
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: II 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.
30 / 30
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.
31 / 31
Caratteristiche tipiche della C shell (la history, aliasing, il job control).
La gestione del login (il file /etc/passwd).
MANIPOLAZIONE TESTI.
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.
32 / 32
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,
MultiTexture, MultiTextureCoordinate, MultiTextureTransform, NurbsCurve, NurbsCurve2D,
NurbsOrientationInterpolator, NurbsPatchSurface, NurbsPositionInterpolator, NurbsSet,
33 / 33
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.
LINGUAGGI FORMALI E COMPILATORI
(Docente: Arturo Carpi)
Obiettivi del corso
Conoscere le basi della teoria dei linguaggi formali e del parsing. Comprensione degli aspetti
formali sintattico/semantici dei linguaggi di programmazione e del funzionamento di interpreti e
compilatori.
Periodo didattico: II semestre
Prerequisiti
Concetti base di Programmazione e Matematica Discreta.
Programma
Generalità sui linguaggi di programmazione e compilatori, esempi, problemi
Alfabeto, parole, linguaggi, grammatiche, operazioni tra linguaggi
Analisi lessicale: automi a stati finiti, modello deterministico e non deterministico, linguaggi
regolari e teorema di Kleene, automa minimo e teorema di Myhill-Nerode, grammatiche lineari
destre, lemma di iterazione, analizzatori lessicali, proprietà di chiusura dei linguaggi regolari.
Analisi sintattica: grammatiche non contestuali, grammatiche ambigue e linguaggi inerentemente
ambigui, lemma di iterazione per linguaggi non contestuali, forme normali di Chomsky e Greibach,
automi a pila, riconoscimento per pila vuota e stato finale, caratterizzazione dei linguaggi non
contestuali mediante automi a pila, algoritmi di parsing.
La gerarchia di Chomsky: linguaggi contestuali e monotoni, linguaggi ricorsivi e ricorsivamente
enumerabili.
Analisi semantica: cenni
Modalità diEsame
Prova scritta e orale.
34 / 34
Testi consigliati
J. Hopcroft, R. Motwani, J. Ullman, Automi, linguaggi e calcolabilità, Pearson
A.V. Aho, R. Sethi, J.D. Ullman, Compilers. Principles, Techniques and Tools, Addison Wesley,
1988
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.
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
35 / 35
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: Massimo Giulietti, Dipartimento di Matematica e Informatica)
Obiettivi del corso
Fornire conoscenze algebriche di base, con particolare riguardo all'Algebra Lineare e alle strutture
algebriche finite.
Periodo didattico: II semestre
Prerequisiti
Matematica Discreta I.
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.
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).
36 / 36
DIAGONALIZZAZIONE. Cambiamenti di base. Matrici coniugate. Autovalori e autovettori.
Diagonalizzazione.
Modalità di Esame
Prova scritta e orale (facoltativa). Nota bene la eventuale prova orale può essere sostenuta solo
avendo ottenuto la sufficienza nella prova scritta.
Testi consigliati
M. Cristina Vipera, Corso di Matematica Discreta, Marghiacchi – Galeno Editrice, 2001.
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
37 / 37
PROGRAMMAZIONE I
(Docenti: Marco Baioletti)
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à. Cenni al processore ed al linguaggio macchina. Paradigmi e
linguaggi di programmazione. Compilatori ed interpreti.
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.
Definizione di tipi di dati e tipi di dati strutturati array, record, stringhe, union.
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. Operazioni elementari su 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 array. 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.
Testi consigliati
Cay Horstmann, Fondamenti di C++, McGraw-Hill 2003
Dispense fornite dal docente
Modalità di Esame
Prova scritto-pratica al calcolatore, colloquio orale.
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.
38 / 38
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
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,
39 / 39
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
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;
40 / 40
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. Sono illustrate le principali tecniche per la codifica, la
memorizzazione e la diffusione di informazioni multimediali, analizzando soluzioni e software
specifici. Il corso prevede delle ore di laboratorio. Le conoscenze maturate consentiranno allo
studente di affrontare correttamente ed esaurientemente l’analisi e la realizzazione di applicazioni
multimediali.
Periodo didattico: II semestre
Programma
1.
Introduzione ai sistemi multimediali.
1.1. Trattamento dell'informazione. Il paradigma ipertestuale. Struttura di un ipertesto. Tipi
di collegamenti. Navigazione in un ipertesto. Strumenti per l'orientamento. Sistemi
multimediali e ipermediali.
1.2. I modelli per la descrizione e per la progettazione di applicazioni multimediali. I
modelli di riferimento.
2.
Dai media naturali ai media digitali.
2.1. I formati dei media. Media e modelli dei dati. Classificazione dei media. Audio,
immagini statiche, video. Media statici, media continui, media temporizzati.
2.2. La compressione dei dati. Compressione reversibile e irreversibile. Compressione dei
dati audio. Compressione JPEG delle immagini. Compressione MPEG dei dati video.
2.3. Aspetti sistemistici: sistemi operativi per media continui, qualità di servizio, protocolli
di rete real-time.
3.
Strumenti ed Applicativi.
3.1. Panoramica e confronti su tecnologie e strumenti web.
3.2. Software applicativi: Flash e cenni su ToolBook,.
4.
Linguaggi e tecniche per la progettazione multimediale in ambiente Web.
41 / 41
4.1. Il World Wide Web: Struttura attuale del World Wide Web. Principi architetturali
fondamentali. Informazione nel Web attuale. Modelli di funzionamento. Trattamento
dell'informazione.
4.2. Il linguaggio HTML e i fogli di stile (CSS). Accessibilità e Usabilità. Validazione.
4.3. XML come mezzo di codifica dell'informazione. Definizione di dati semistrutturati
(DTD). 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.4. I linguaggi XSL, XPath e XQuery.
4.5. Il linguaggio XHTML.
4.6. Basi di dati per XML. Modelli dei dati. Memorizzazione di informazioni
multidimensionali. Linguaggi di interrogazione.
4.7. Privacy: Web e società. Spie nel Web. Esempio d'uso di XML come soluzione ai
problemi di privacy del Web. Il Web del futuro: visione della famiglia di tecnologie
fondanti XML.
4.8. 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.] : McGrawHill
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 – Mondatori
Basi di dati. Architetture e linee di evoluzione – Paolo Atzeni ... [et al.] - Milano [etc.] : McGrawHill
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.
SISTEMI OPERATIVI
(Docente: Andrea Formisano)
Obiettivi del corso
Il corso si propone di fornire competenze relative ai concetti di base comuni ai sistemi operativi,
alla loro architettura e loro principali funzionalità. Parimenti si vuole fornire nozioni e competenze
relative alle tecnologie e tecniche HW e SW sviluppate per la soluzione delle principali
problematiche insite nel processo di progetto, realizzazione ed utilizzo di un sistema operativo.
Periodo didattico: I semestre
Prerequisiti
42 / 42
Architettura degli elaboratori.
Programma
Generalita' sui sistemi operativi. Processi e thread. Scheduling della CPU. Sincronizzazione dei
processi.
Blocco critico. Gestione della memoria centrale. Memoria virtuale. File system. Memoria
secondaria. Nozioni base sul sistema di I/O.
Modalità diEsame
Prova scritta (eventuale prova orale).
Testi consigliati
A.Silberschatz, P.Galvin, G.Gagne. Sistemi Operativi. Settima ed. Addison-Wesley, 2006.
G.Glass e K.Ables. Unix for Programmers and Users. Terza edizione, Pearson-PrenticeHall, 2003.
K.A.Robbins, S.Robbins. Unix system programming. Pearson-PrenticeHall, 2004.
Eventuale materiale complementare fornito 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
43 / 43
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
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
Prerequisiti
Concetti di Analisi I e II, Fisica
44 / 44
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.
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
Marco Luise & Giorgio M. Vitetta, Teoria dei segnali, McGraw-Hill, ISBN 88-386-0809-1
45 / 45
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
Analisi Matematica I - II
Architettura degli Elaboratori I - II
Laboratorio di Architettura
Programmazione I
Programmazione II
Laboratorio di Programmazione
Matematica Discreta I
Matematica Discreta II
Lingua Inglese
Docente
Primo anno di Corso
Antonio Boccuto
Ferruccio Barsi
In corso di nomina
Marco Baioletti
Stefano Marcugini
Stefano Marcugini
Maria Cristina Vipera
Massimo Giulietti
Centro Linguistico Ateno –
Hutchinson Nancy e Giles Hilary
n. tel.
interno
e.mail
5034
5046
[email protected]
[email protected]
5044
5049
5049
5012
5021
5741
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
Secondo anno di Corso
Algoritmi e Strutture Dati I - II
Laboratorio di Algoritmi
Sistemi Operativi
Laboratorio di Sistemi Operativi
Fisica Generale
Ingegneria del software
Calcolo Numerico
Calcolo delle Probabilità
Statistica Matematica
Linguaggi Formali e Compilatori
Maria Cristina Pinotti
Rosanna Bicocchi
Andrea Formisano
Pietro Tito Melacci
Paolo La Riccia
Attilio Santocchia
Alfredo Milani
Ivan Gerace
e Giulianella Coletti
Arturo Carpi
5055
5047
5011
5047
2709
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
5049
5050
5019
[email protected]
[email protected]
[email protected]
5014
[email protected]
5011
5008
5051
[email protected]
[email protected]
[email protected]
Terzo anno di Corso
Basi di Dati e Sistemi Informativi I Andrea Formisano
Basi di Dati e Sistemi Informativi Valentina Poggioni
II
Silvia Suriani
46 / 46
DOCENTI DEGLI INSEGNAMENTI CURRICULARI
Indirizzo Reti di Computer
Disciplina
Architettura delle Reti
Computer
Sistemi aperti e distribuiti
n. tel.
interno
e.mail
di Osvaldo Gervasi
5048
[email protected]
Sergio Tasso
5048
[email protected]
5044
5531
[email protected]
[email protected]
[email protected]
5048
2741
[email protected]
[email protected]
Docente
Sistemi multimediali
Simonetta Pallottelli
Applicazioni e Calcolo in Rete Francesco Tarantelli
Loriano Storchi
Laboratorio Reti di Computer Sergio Tasso
Reti di Calcolatori: Protocolli Bruno Checcucci
Indirizzo Sistemi di Acquisizione Dati
Disciplina
Docente
n. tel.
interno
e.mail
Fisica dei dispositivi elettronici Leonello Servoli
Laboratorio Reti di Computer Sergio Tasso
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
Elementi di Scienze Atomiche Francesco Tarantelli
e Molecolari
Sistemi Aperti e Distribuiti
Sergio Tasso
Applicazioni e Calcolo in Rete Francesco Tarantelli
Loriano Storchi
Modellistica Molecolare
Massimo Baroni
Linguaggi di realtà Virtuale
Osvaldo Gervasi
Laboratorio di Linguaggi di Docente in corso di nomina
realtà virtuale
n. tel.
interno
e.mail
5531
[email protected]
5048
5531
[email protected]
5048
[email protected]
[email protected]
[email protected]
[email protected]
47 / 47
Scarica

Laurea Triennale in Informatica