06 informatica by sSO47VQ4

VIEWS: 15 PAGES: 25

									  Corso di Laurea in Informatica

                               Presidente: Elena Barcucci
                         Dipartimento di Sistemi e Informatica
                                   Viale Morgagni, 65
                                      50134 Firenze
                                    Tel.: 055-4237437
                                    Fax: 055-4237436
                             E-mail: informatica@dsi.unifi.it
                         Portale informativo: http://if.dsi.unifi.it



 Finalità del Corso di Laurea


L’obiettivo del corso di laurea è di creare specialisti in possesso innanzi tutto di una
buona conoscenza di base degli strumenti, delle metodologie e dei fondamenti
dell’Informatica; a questi si aggiunge, a seconda della scelta degli orientamenti e
degli esami facoltativi, una maggiore competenza su alcune tematiche più specifiche,
sia di carattere fondamentale sia applicativo.
    I laureati in Informatica dovranno avere una buona preparazione tecnica che
consenta un rapido inserimento nel mondo del lavoro nel settore delle tecnologie
dell’informazione e, nello stesso tempo, una preparazione culturale di base che
permetta di affrontare con successo il progredire delle tecnologie, l’avanzamento
della carriera verso ruoli di responsabilità e l’accesso ai livelli di studio universitari
successivi.
    I laureati in Informatica devono pertanto:
 possedere una buona base ed un ampio spettro di conoscenze e di competenze nei
   vari settori delle scienze dell'informazione;
 avere capacità di affrontare e analizzare problemi e di sviluppare sistemi
   informatici per la loro soluzione;
 avere familiarità con il metodo scientifico di indagine e saper comprendere e
   utilizzare gli strumenti matematici di supporto alle competenze informatiche;
 essere in grado di utilizzare la lingua inglese, 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.


 Sbocchi Professionali

I laureati in Informatica opereranno nell’ambito della progettazione, sviluppo e
gestione di sistemi informatici, con riguardo ad una vasta gamma di domini di
applicazione. Tali attività si svolgeranno in imprese produttrici nelle aree dei sistemi
informatici e delle reti di calcolatori, nonché nelle imprese, nelle amministrazioni e
nei laboratori che utilizzano sistemi informatici complessi. La formazione del
laureato in Informatica è altresì mirata al suo inserimento, dopo ulteriori periodi di
istruzione e di addestramento, in attività di ricerca scientifica e tecnologica a livello
avanzato, ed in attività di insegnamento.

 Iscrizione al Corso e Prerequisiti

Le conoscenze di base necessarie per un agevole accesso al corso sono di norma
acquisite con un Diploma di Scuola Media Superiore. I corsi della classe richiedono
attitudine agli studi di carattere scientifico; lo studente dovrebbe possedere una buona
preparazione di base e soprattutto gradire lo studio delle materie di tipo
logico-matematico. Lo studente deve essere in grado di comunicare correttamente in
italiano scritto e parlato.
    A partire dal sito web del corso di laurea, sono reperibili un programma
dettagliato ed un test di autovalutazione che consente agli studenti di determinare il
livello della propria preparazione. È previsto un precorso (facoltativo) nel periodo dal
10 al 21 settembre 2007; il 25 settembre 2007 si terrà un test a risposta multipla
(obbligatorio per tutti), per stabilire eventuali debiti formativi. Gli studenti con debiti
formativi verranno affidati a tutor, compatibilmente con le risorse messe a
disposizione dall’Ateneo. L’estinzione dei debiti formativi avverrà contestualmente
all’esame di Analisi Matematica: Calcolo Differenziale.

 Organizzazione della Didattica

La durata normale per il conseguimento della laurea è di tre anni. La didattica è
organizzata in moduli ai quali sono associati Crediti Formativi Universitari (CFU)
che gli studenti acquisiscono in funzione del lavoro svolto. La formazione dello
studente prevede il conseguimento di 60 CFU/anno corrispondenti a 1440 ore di
lavoro complessivo. Ad ogni unità didattica sono di norma assegnati 6 CFU e sono
previste 48 ore di lezione (di cui 16 di esercitazione); per i corsi di laboratorio il
rapporto tra le ore di lezione e le ore di esercitazione è invertito.

 Calendario Didattico

L’anno accademico è suddiviso in due periodi didattici (semestri) di 12 settimane
ciascuno; al termine del primo periodo è prevista un’interruzione di 8 settimane per
permettere agli studenti di sostenere gli esami.
   I periodi didattici sono distribuiti nel corso dell’anno nel modo seguente:
 I semestre: dal 1 ottobre 2007 al 21 dicembre 2007
 II semestre: dal 18 febbraio 2008 al 23 maggio 2008 (vacanze Pasquali dal 20 al
   25 marzo compresi)
   Sono previsti i seguenti appelli di esame:
 I sessione (per i corsi tenuti nel primo semestre):
                     I appello dal 7 al 25 gennaio 2008
                     II appello dal 28 gennaio 2008 al 15 febbraio 2008
 II sessione       I appello dal 26 maggio 2008 al 13 giugno 2008
                     II appello dal 16 giugno 2008 al 4 luglio 2008
 III sessione:     I appello dal 7 al 25 luglio 2008
                     II appello dal 8 al 26 settembre 2008
 IV sessione:      I appello dal 7 al 23 gennaio 2009
                     II appello dal 26 gennaio 2009 al 13 febbraio 2009
 Piani di Studio

   Il Corso di Laurea in Informatica è articolato in 2 orientamenti:
1. Informatica Generale
2. Applicazioni Scientifiche ed Economiche dell’Informatica
    In questa organizzazione, gli insegnamenti dei primi due anni del corso di studio
sono comuni a tutti gli orientamenti. Il terzo anno invece prevede insegnamenti
comuni per 18 crediti, 18 crediti specifici per ciascun orientamento, 12 crediti a scelta
libera dello studente e 12 crediti per la prova finale.
    La scelta dell’ orientamento avverrà al momento dell’iscrizione al terzo anno di
corso. Per i due orientamenti sono previsti rispettivamente un minimo di 99 e 81
CFU nelle discipline del settore informatico, 33 CFU nelle discipline dei settori
matematici e 6 CFU nelle discipline del settore fisico. Fra le attività formative nei
diversi settori disciplinari saranno previste lezioni ed esercitazioni di laboratorio,
attività progettuali autonome e attività individuali in laboratorio, per 21 CFU.
    Nel seguito sono riportati gli insegnamenti del I, II e del III anno comuni a tutti gli
orientamenti (con indicazione dei CFU associati).


                                    I anno                                      CFU


Algebra Lineare e Applicazioni                                                    6


Analisi Matematica: Calcolo Differenziale                                         6


Analisi Matematica: Calcolo Integrale                                             6


Architetture degli Elaboratori                                                    6


Laboratorio di Informatica: Architetture                                          3


Laboratorio di Programmazione                                                     6


Matematica Discreta                                                               6


Matematica Discreta e Logica                                                      3


Programmazione                                                                    6




   Durante il primo anno di corso, sarà inoltre previsto l’accertamento della
conoscenza della lingua inglese (fondamenti della lingua e inglese tecnico), per la
quale vengono riconosciuti 6 CFU.
                                   II anno                                     CFU


Algoritmi e Strutture Dati                                                       6
Basi di Dati e Sistemi Informativi                           6


Calcolo delle Probabilità e Statistica                       6


Calcolo Numerico                                             6


Fisica Generale                                              6


Laboratorio di Informatica: Algoritmi e Strutture Dati       3


Laboratorio di Sistemi Informativi                           3


Linguaggi di Programmazione e Compilazione                   6


Metodologie di Programmazione                                6


Programmazione Concorrente                                   6


Reti di Calcolatori                                          6


Sistemi Operativi                                            6




                                     III anno                CFU


Informatica e Gestione Aziendale                                 3


Informatica Teorica: Linguaggi, Computabilità, Complessità       6


Laboratorio di Informatica: Sistemi Operativi                    3
Laboratorio di Reti                                                                   3


Tecniche di Comunicazione                                                             3




   Di seguito sono infine riportati gli obiettivi formativi specifici e gli insegnamenti di
ciascun orientamento.

 Orientamento “Informatica generale”
Obiettivo principale dell’orientamento è quello di creare specialisti in possesso di una
buona conoscenza di base degli strumenti, delle metodologie e dei fondamenti
dell’Informatica e che abbiano anche competenze su alcune tematiche più specifiche,
sia di carattere fondamentale sia applicativo. In particolare si vuole dare una buona
preparazione tecnica che consenta un rapido inserimento nel mondo del lavoro ed una
preparazione culturale di base che permetta di affrontare il progredire delle tecnologie,
l’avanzamento della carriera verso ruoli di responsabilità e l’accesso ai livelli di studio
universitari successivi, in particolare alla laurea specialistica in Scienze e Tecnologie
dell’Informazione che ne costituisce la naturale prosecuzione. L’orientamento mira a
sviluppare la capacità di progettazione, sviluppo e gestione sia dei sistemi informatici
sia delle reti di calcolatori.


               III anno, 3 esami a scelta tra                  CFU


Algoritmi e Strutture Dati II                                    6


Basi di Dati Distribuite                                         6


Ingegneria del Software                                          6


Modellistica e Simulazione                                       6
Organizzazione Informatica del Lavoro                            6


Paradigmi di Programmazione                                      6


Programmazione di Reti                                           6


Sicurezza delle Reti                                             6


Sistemi concorrenti e distribuiti                                6


Strutture per basi di dati                                       6




 Orientamento “Applicazioni scientifiche ed economiche dell’informatica”
Obiettivo principale dell’orientamento è quello di formare degli esperti informatici con
specifiche competenze nell’ambito del Calcolo Scientifico. I corsi che lo caratterizzano
pertanto intendono fornire gli approfondimenti matematici e fisici e gli strumenti
numerici necessari per la comprensione, la modellizzazione e la simulazione al
calcolatore di importanti problemi teorici e applicativi comuni a svariati settori
scientifici e tecnologici. L’orientamento intende impartire una preparazione tale da
favorire l’inserimento di informatici in ambiti lavorativi che necessitano competenze
scientifiche multidisciplinari, oltre che permettere l’accesso a livelli di studio
universitari successivi e in particolare alla laurea specialistica in Scienze e Tecnologie
dell’Informazione che ne costituisce la naturale prosecuzione.
                         III anno, 3 esami a scelta tra                          CFU


Analisi Matematica II                                                              6


Elettronica                                                                        6
Fisica Generale II                                                                 6


Geometria Computazionale                                                           6


Metodi di Approssimazione                                                          6


Metodi Matematici per la Finanza                                                   6


Metodi Numerici per la Grafica                                                     6


Modelli e Calcoli per la Fisica                                                    6




  Attività complementari
Per quanto riguarda le attività autonomamente scelte, lo studente può inserire nel
proprio piano di studi attività di norma corrispondenti a corsi universitari previsti
nell’Università di Firenze. Eventuali CFU acquisiti presso altre istituzioni
universitarie italiane, dell’Unione Europea o di altri paesi potranno essere
riconosciuti in base alla documentazione prodotta dallo studente ovvero in base ad
accordi bilaterali preventivamente stipulati. Potranno essere riconosciuti anche CFU
acquisiti in istituzioni non universitarie utilizzando sistemi di trasferimento di CFU
riconosciuti dall’Università di Firenze. Alla prova finale ed al possibile stage esterno
sono riservati complessivamente 12 CFU. Entro il mese di dicembre lo studente può
presentare la richiesta di accreditamento di altre attività non previste dal presente
regolamento e opportunamente certificate, che rispecchino il raggiungimento degli
stessi obiettivi formativi del corso di studi. La conformità viene riconosciuta dal
competente Consiglio del Corso di Laurea e trasmessa alla segreteria studenti. Il
giudizio di non conformità è emesso negli stessi termini.

 Propedeuticità

È fortemente consigliato sostenere gli esami nello stesso ordine in cui sono tenuti i
corsi corrispondenti, in particolar modo per i corsi dei primi due anni.
 Frequenza

Per poter trarre pieno vantaggio dall’organizzazione didattica in semestri è
importante che lo studente affronti i corsi con assiduità e impegno: dunque, la
frequenza ai corsi è fortemente consigliata. La frequenza ai corsi di laboratorio, per la
loro natura pratica e applicativa, è obbligatoria e sarà certificata solo a seguito della
presenza ad almeno il 75% delle attività didattiche. Sono previste agevolazioni per gli
studenti lavoratori.

 Verifiche di Profitto

La verifica del profitto individuale raggiunto dallo studente e il conseguente
riconoscimento dei CFU maturati nelle varie attività formative sono effettuati tramite
esami scritti e/o orali e/o progetti da eseguire in laboratorio. Per i corsi di laboratorio
sono previste valutazioni in itinere che contribuiranno alla formazione del voto
dell’insegnamento con essi correlato. La prova di conoscenza della lingua inglese è
effettuata tramite due test di valutazione da effettuarsi presso il Centro Linguistico
d’Ateneo.
    La votazione è espressa in trentesimi per gli esami e in centodecimi per la prova
finale, con eventuale lode.
    L’esito della valutazione si considera positivo, ai fini dell’attribuzione dei CFU, se
si ottiene il punteggio di almeno 18/30.
    Il punteggio minimo per il superamento della prova finale è 66/110.

 Trasferimenti

Nei trasferimenti fra corsi di studio dell’Università di Firenze appartenenti alla stessa
classe, i CFU conseguiti nella formazione di base sono riconosciuti integralmente,
mentre i CFU conseguiti nella formazione caratterizzante sono riconosciuti dopo
approvazione del Consiglio del Corso di Laurea.



 Prova Finale

    Per essere ammessi alla prova finale occorre avere conseguito tutti i CFU nelle
attività formative previste dal piano di studi.
    Le attività formative relative alla preparazione della prova finale per il
conseguimento del titolo consistono nello svolgimento di un progetto documentato
con un elaborato scritto sotto la supervisione di un membro del Consiglio del Corso
di Laurea. È prevista una discussione pubblica sull’elaborato risultato del progetto
finale e, durante tale discussione, saranno fatte anche domande di carattere generale.
Un apposito regolamento, definito dal Consiglio del Corso di Laurea, specifica il
ruolo del supervisore e le modalità di valutazione della tesi e del curriculum.
    Potrà essere svolto uno stage presso un’azienda o un ente esterno secondo
modalità stabilite annualmente dalle strutture didattiche. Tale attività dovrà essere
seguita da un membro del Consiglio del Corso di Laurea, in qualità di responsabile
scientifico, e da un tutore interno all’azienda o all’ente esterno che sia responsabile
della parte esecutiva.

 Norme Transitorie

Gli studenti iscritti presso l’Università di Firenze a corsi di laurea o diplomi
universitari, del previgente ordinamento didattico, che intendono iscriversi al presente
corso di studi potranno ottenere le convalide degli esami sostenuti dopo approvazione
del Consiglio del Corso di Laurea. Per gli studenti provenienti dai previgenti corsi di
laurea e diploma universitario in Informatica dell’Università di Firenze è stata
predisposta una tabella di corrispondenze che, sostanzialmente, consente di riconoscere
come CFU per la nuova laurea in Informatica tutti gli esami superati. Altri casi diversi
da quelli previsti dovranno essere valutati individualmente dal competente Consiglio
del Corso di Laurea.
    Per gli studenti provenienti da altre università sono consentite abbreviazioni di
corso previa valutazione del curriculum individuale da parte del Consiglio del Corso
di Laurea.
  Programmi dei Corsi


Algebra Lineare e Applicazioni (E. Rubei)
Obiettivi formativi. Il corso intende fornire agli studenti le conoscenze dei concetti
fondamentali dell’algebra lineare, cominciando dal linguaggio delle matrici, importante
per tutto il percorso successivo di studi.
Programma. Matrici; operazioni fra matrici. Sistemi lineari. Spazi vettoriali, basi.
Funzioni lineari. Determinante. Rango. Autovalori, autovettori, diagonalizzabilita’.
Algoritmi e Strutture Dati (M. C. Verri)
Obiettivi formativi. Il corso intende fornire agli studenti le nozioni necessarie a
comprendere le diverse problematiche di progettazione e valutazione degli algoritmi,
con particolare riferimento agli algoritmi non numerici che operano su memoria
centrale.
Programma. Strutture dati astratte (lista, pila, coda, albero). Strutture dati interne:
elementari, sequenziali, concatenate. Algoritmi di ricerca: sequenziale, binaria, alberi
binari di ricerca, alberi 2-3. Ricerca digitale, ricerca casuale (hashing). Algoritmi di
ordinamento: per selezione, per inserzione, bubble sort, counting sort. Quicksort,
Heapsort, Mergesort. Per tutti gli algoritmi presentati viene data una valutazione della
complessità e dei criteri generali sulla loro applicazione.
Algoritmi e Strutture Dati II (M. C. Verri)
Obiettivi formativi. Il corso fornisce una panoramica dei più importanti algoritmi di
livello avanzato e delle principali tecniche algoritmiche. Più precisamente vengono
esaminate le tecniche di programmazione dinamica, le tecniche greedy e gli algoritmi
union-find relativamente a problemi concernenti la ricerca nelle sue forme più evolute,
la compressione dei dati ed i grafi.
Programma. Algoritmi di ricerca su stringhe. Algoritmi di compressione dati.
Algoritmi union-find. Programmazione dinamica. Algoritmi greedy. Grafi. Visita di
grafi. Connettività. Grafi pesati. Minimum spanning tree. Flusso massimo. Matrimoni
stabili.
Analisi Matematica II (V. Vespri)
Obiettivi formativi. Dare la conoscenza di strumenti matematici avanzati. Risolvere
equazioni differenziali ordinarie e alle derivate parziali.
Programma. Equazioni differenziali lineari. Curve e superfici. Serie di Fourier.
Risoluzioni di PDE a coefficienti costanti. Integrali multipli. Teorema del Dini
Analisi Matematica: Calcolo Differenziale (G. Paoli)
Obiettivi formativi. Il corso si propone di fornire agli studenti le nozioni di base del
calcolo differenziale (limiti, derivate, formula di Taylor) e delle loro applicazioni
(principalmente allo studio di funzioni di una variabile reale). Obiettivo minimo del
corso è quello di permettere allo studente di completare correttamente lo studio di una
funzione di una variabile reale.
Programma. Limiti di funzioni e di successioni. Derivate e regole di derivazione.
Formula di Taylor. Applicazioni.
Analisi Matematica: Calcolo Integrale (E. Francini)
Obiettivi formativi. Il corso si propone di fornire allo studente le nozioni di base
sull’integrale di Riemann e le sue applicazioni al calcolo di aree e volumi ed alle
equazioni differenziali ordinarie. Una parte del corso sarà dedicata alle serie
numeriche. Obiettivo minimo del corso sarà quello di far sì che lo studente comprenda
correttamente l’importanza del teorema fondamentale del calcolo.
Programma. Integrale di Riemann. Primitive. Calcolo di primitive. Calcolo di aree e di
volumi. Serie numeriche. Equazioni differenziali di facile risoluzione.
Architettura degli Elaboratori (A. Bondavalli)
Obiettivi formativi. Il corso intende fornire gli elementi di base per comprendere
l’architettura dei calcolatori e l’interfaccia tra quest’ultima ed i livelli di astrazione
superiori di un sistema di calcolo. Come risultato, gli studenti impareranno il perchè
della progettazione degli elaboratori, in particolare i principi su cui si basa la
progettazione dei moderni processori.
Programma. I moderni elaboratori e l’evoluzione tecnologica. Il ruolo delle
prestazioni. Introduzione ai linguaggi assembler. Reti logiche combinatorie e
sequenziali. Concetti fondamentali di rappresentazione dei numeri e aritmetica binaria.
Il progetto di una ALU. Moltiplicazione e divisione. Numeri in virgola mobile.
Progetto della CPU a ciclo singolo: il cammino dei dati ed il controllo. Progetto della
CPU a cicli multipli: il cammino dei dati ed il controllo. Eccezioni. Cenni sul
pipelining.
Basi di Dati e Sistemi Informativi (F. Cesarini)
Obiettivi formativi. Il corso è focalizzato sulle basi di dati di tipo relazionale; esse oltre
ad essere le più utilizzate, sono anche di primaria importanza per la definizione di
concetti e metodologie ulteriormente sviluppate in successive proposte. In particolare il
corso si propone di fornire allo studente le nozioni fondamentali per la progettazione e
analisi di una base di dati relazionale e per l’utilizzo della stessa con metodologie
standard.
Programma. Architettura dei sistemi per la gestione di basi di dati. Modelli dei dati. Il
modello Entity Relationship. Il modello relazionale. Algebra relazionale: operatori e
query. Analisi e trasformazione di uno schema ER in uno schema relazionale.
Dipendenze funzionali, forme normali, decomposizione di schemi. Introduzione al
linguaggio SQL.
Basi di Dati Distribuite (F. Cesarini)
Obiettivi formativi. In questo corso saranno trattati argomenti relativi alla progettazione
e gestione di informazioni distribuite, ed alla gestione di dati semistrutturati.
Programma. Interazione tra sistemi per la gestione di basi di dati e reti di calcolatori.
Modalità di distribuzione dei dati: frammentazione ed allocazione dei frammenti.
Esecuzione di query distribuite: decomposizione, localizzazione dei dati e
ottimizzazione. Transazioni in ambiente centralizzato, concorrenza e affidabilità.
Transazioni in ambiente distribuito, protocollo 2PC, concorrenza e affidabilità. Dati
semistrutturati in XML, gestione e interrogazione di basi di dati di documenti XML.
Calcolo delle Probabilità e Statistica (L. Vannucci)
Obiettivi formativi. Il corso intende fornire agli studenti i concetti, i metodi e i modelli
necessari per misurare l’incertezza con riferimento a eventi e a numeri. Particolare
attenzione sarà riservata alle esemplificazioni e alle applicazioni, con particolare
riguardo a quelle statistiche.
Programma. Rappresentazione dell’incertezza su eventi. Calcolo combinatorio. Classi
di eventi probabilizzabili nelle varie concezioni. Alcuni risultati per la valutazione
delle probabilità di eventi. Alcuni schemi di valutazione per le probabilità di eventi.
Eventi limite e probabilità 0-1. Determinazioni possibili e distribuzioni di probabilità di
una variabile aleatoria. Indicatori sintetici associati a distribuzioni. Funzioni
trasformate. Alcune distribuzioni notevoli. Disuguaglianze stocastiche. Distribuzioni a
più dimensioni e loro indicatori di sintesi. Il problema della regressione lineare e non
lineare. Variabili funzioni di variabili aleatorie. Successioni di variabili aleatorie e vari
tipi di convergenza stocastica: leggi dei grandi numeri, teorema centrale del limite.
Statistica descrittiva. Statistica inferenziale: stimatori puntuali e intervallari, test di
ipotesi, approccio decisionale.
Calcolo Numerico (A. Sestini)
Obiettivi formativi. Molte problematiche applicative sono formalizzate mediante un
modello matematico del problema. Al fine di rendere fruibile il contenuto informativo
del modello stesso, è spesso necessario risolvere le equazioni coinvolte. Le
metodologie intese ad ottenere questo scopo sono denominate metodi numerici ed il
corso tratta quelli di utilizzo più comune. Il corso di Calcolo Numerico si prefigura,
pertanto, come un corso di base di calcolo scientifico.
Programma. Errori ed aritmetica finita. Condizionamento di un problema. Zeri di
funzioni di una variabile. Sistemi lineari: fattorizzazione LU, pivoting, fattorizzazione
QR e sistemi sovradeterminati. Approssimazione di funzioni: interpolazione
polinomiale; funzioni spline. Approssimazione di integrali definiti: formule di
quadratura di Newton-Cotes e formule adattative.
Elettronica (G. Pasquali)
Obiettivi formativi. Il corso intende dare una conoscenza di base dei componenti
utilizzati nella microelettronica, mettendo in rilievo i fenomeni fisici che ne
determinano il funzionamento, nonché le applicazioni sopratutto ai circuiti digitali. Lo
studente sarà guidato a comprendere e quindi valutare le specifiche tecniche dei
circuiti impiegati nell’hardware dei calcolatori.
Programma. Fisica dei semiconduttori. Giunzione “pn” e diodo. Transistori ad effetto
di campo (JFET). Capacità Metallo Ossido Semiconduttore (MOS). Transistori
MOSFET: caratteristiche di ingresso e di uscita, MOSFET di tipo N (NMOS) e di tipo
P (PMOS), MOSFET complementari (CMOS). Famiglie logiche a NMOS e CMOS:
invertitore, circuiti NOR, NAND e per funzioni logiche più complesse. Tecniche di
progettazione. Circuiti combinatori: memorie ROM e Array logici programmabili
(PLA). Circuiti sequenziali: Latch, flip-flop, shift register, contatori. Memorie ad
accesso diretto (RAM) a 6 e 4 transistori. Memoria RAM ad un transistore
Fisica Generale (M. Rosa Clot)
Obiettivi formativi. Il corso di Fisica Generale si propone di dare una formazione di
base di fisica limitatamente alla meccanica e alla termodinamica. Il corso non richiede
particolari strumenti matematici ma pone l’accento sugli aspetti quantitativi e
osservativi: ordini di grandezza, fenomenologia.
Programma. Unità di misura e ordini di grandezza. Dinamica del punto: problemi uni-
e bi-dimensionali. Gravitazione universale e leggi di Keplero. Lavoro ed Energia.
Impulso e quantità di moto. Termometria e calorimetria. I modelli: gas perfetti e gas
reali. Primo principio della termodinamica. Secondo principio. Ciclo di Carnot.
Entropia. Relazione tra entropia e probabilità.
Fisica Generale II (M. Rosa Clot)
Obiettivi formativi. Il corso di Fisica II riprende il programma di fisica Generale
ampliando alcune parti teoriche ma sopratutto approfondendo gli aspetti quantitativi
mediante le tecniche di simulazione numerica.
 Programma. Modelli, simulazione ed esperimenti in meccanica e termodinamica. 1)
Modelli unidimensionali di meccanica del punto in una dimensione. 2) Modelli di
Meccanica del punto in due dimensioni. 3) Elementi di statistica: Metodo di
MonteCarlo, Teoria cinetica dei gas, Distribuzione di Boltzmann. 4) Analisi di un
segnale: analisi di fourier, acquisizione di segnali, rumore, entropia.
Geometria Computazionale (V. Ancona)
Obiettivi formativi. Il corso intende fornire agli studenti le conoscenze e le competenze
per comprendere, implementare ed utilizzare tecniche di visualizzazione fotorealistica
non interattiva.
Programma. Si intendono trattare gli argomenti di base della image-syntesis a partire
dalle proiezioni prospettiche, cancellazione delle superfici nascoste e tecniche
elementari di shading per poi focalizzare su tematiche specifiche della visualizzazione
fotorealistica quali ray-tracing, radiosity e approssimazioni. Sara’ parte integrante del
corso la comprensione e l’aggiunta di features al ray-tracer (in C++) che e’ stato
appostamente sviluppato per il corso con la partecipazione di tutti gli studenti durante
l’A.A. 2005/2006. La prova di esame prevede che ogni studente (eventualmente a
gruppi) implementi nuove parti del codice e ne discuta le problematiche, gli obiettivi e
l’implementazione durante lezioni/seminario tenute di fronte a tutti gli altri studenti del
corso.
Informatica e Gestione Aziendale (D. De Luca Cardillo)
Obiettivi formativi. Il corso intende fornire agli studenti strumenti teorici (modelli
matematici) e pratici (applicazioni a particolari situazioni) di gestione d’azienda con
particolare focalizzazione sull’uso di modelli di ordinamento e tempificazione e sui
loro possibili usi. Programma. Management d’azienda e possibili strutture
organizzative. Teoria dello scheduling. Collegamenti a classici problemi(Commesso
Viaggiatore, Zaino),Tecnica Branch and Bound applicata al problema di n lavori su 1
macchina. Il programma potrà essere modificato in base a particolari esigenze
didattiche riscontrate.
Informatica Teorica: Linguaggi, Computabilità, Complessità (P. Crescenzi)
Obiettivi formativi. Scopo del corso è fornire gli elementi di base delle teorie che sono
di fondamento all’informatica, ovvero la teoria della calcolabilità, quella dei linguaggi
formali e quella della complessità.
Programma. Macchine di Turing e loro varianti. La macchina di Turino universale.
Linguaggi non decidibili. Teorema della ricorsione. Grammatiche linguaggi e
macchine. Classi di complessità. La classe P. La classe NP. Oltre NP. Algoritmi di
approssimazione.
Ingegneria del Software (M. Gabbrielli)
Obiettivi formativi. Il corso intende fornire agli studenti le nozioni necessarie a
comprendere le diverse problematiche presenti nella progettazione, realizzazione e
manutenzione di sistemi software.
Programma. Definizione dell’Ingegneria del Software. Il software: da arte ad attività
industriale. Il processo di sviluppo software. I fattori di qualità e i principi
dell’Ingegneria del Software. Modelli di ciclo di vita a cascata, modelli iterativi, UP.
Analisi e specifica dei requisiti. La progettazione: modularizzazione, tecniche
top-down, tecniche bottom-up, tecniche orientate ad oggetti. UML. Design patterns.
Architetture software. Convalida e verifica: analisi statica, analisi dinamica. Qualità del
software.
Laboratorio di Informatica: Algoritmi e Strutture Dati (P. Crescenzi)
Obiettivi formativi. Il corso intende preparare gli studenti alla corretta implementazione
ed al corretto uso delle strutture di dati. Allo scopo saranno studiate le principali
strutture di dati e gli algoritmi più diffusi.
Programma. Interpretazione delle principali strutture di dati tramite il linguaggio Java:
array, matrici, liste, alberi binari, pile e code. Implementazione e visualizzazione di tali
strutture di dati e di alcuni tra i più comuni algoritmi che di esse fanno uso.
Laboratorio di Informatica: Architettura degli Elaboratori (M. Boreale)
Obiettivi formativi. Attraverso l’insegnamento di un linguaggio assembler (MIPS) il
laboratorio intende fornire gli elementi per comprendere i linguaggi assembly e
l’interfaccia che essi costituiscono fra l’architettura hardware ed i livelli di astrazione
superiori di un sistema di calcolo. Come risultato, gli studenti impareranno a
programmare in un linguaggio assembly, con i vincoli che ciò pone relativamente alla
conoscenza del processore.
Programma. Introduzione ai linguaggi assembly. Il linguaggio MIPS. Il simulatore
Spim. Esercitazioni in laboratorio.
Laboratorio di Informatica: Sistemi Operativi (L. Ferrari)
Obiettivi formativi. Il corso si propone di approfondire alcuni argomenti che vengono
presentati nel corso di Sistemi Operativi tramite attività, anche di carattere pratico, sia
di programmazione che di utilizzazione di tool esistenti.
Programma. Cenni sul concetto di sistema operativo; evoluzione di Linux; concetto di
Open Source. Livelli e componenti di UNIX: Shell. Libreria Standard, Kernel.
Introduzione al file system. I comandi principali di Linux. La gestione dei file e il file
system di Linux; attributi dei files e gestione dei permessi. La shell Bash: realizzazione
di script per Bash.
Laboratorio di Programmazione (E. Barcucci)
Obiettivi formativi. Il corso intende insegnare agli studenti il linguaggio di
programmazione Java e, in generale, i concetti fondamentali della programmazione.
Programma. Introduzione alla programmazione. Tipi primitivi. Controllo del flusso.
Metodi, programmazione procedurale e ricorsione. Programmazione orientata agli
oggetti. Informazioni strutturate.
Laboratorio di Sistemi Informativi (D. Merlini)
Obiettivi formativi. Il corso intende far sperimentare agli studenti le varie fasi di
sviluppo di una base di dati utilizzando MySQL come sistema per la gestione di basi di
dati.
Programma. Creazione di basi di dati e tabelle in MySQL. Vincoli intrarelazionali e
interrelazionali. Integrità referenziale. Modifica degli schemi. Inserimento,
cancellazione e modifica dei dati. Importazione ed esportazione di dati. Query su una
sola tabella: il comando SELECT e le clausole WHERE, GROUP BY, HAVING,
ORDERD BY, LIMIT. Query su più tabelle: join implicito ed esplicito, operazioni
insiemistiche e query annidate. Funzioni built in. Tipi di indici e tabelle. Aspetti
avanzati di MySQL. Esercitazioni in laboratorio.
Laboratorio di Reti (L. Ferrari)
Obiettivi formativi. Il corso verterà su alcuni argomenti legati alla rete Internet. Uno
degli scopi del corso sarà quello di fornire alcuni strumenti per la programmazione per
il web. Verranno introdotti concetti di base sulle applicazioni client/server, sui
protocolli per il web e verranno forniti alcuni rudimenti per la programmazione per il
web lato server.
Programma. Alcuni degli argomenti trattati saranno i seguenti: i principali protocolli
applicativi, con particolare riferimento a HTTP e FTP; linguaggi per creare pagine
web: html e css; linguaggi per la programmazione web lato server: PHP; cenni
all’algoritmo di PageRank per la ricerca di informazioni sul web.
Linguaggi di Programmazione e Compilazione (E. Barcucci)
Obiettivi formativi. Il corso intende fornire agli studenti le nozioni necessarie per
comprendere ed affrontare le diverse problematiche relative ai linguaggi formali ed alle
diverse fasi della compilazione con particolare attenzione all’analisi lessicale, sintattica
e semantica
Programma del corso. Struttura del compilatore. Grammatiche; proprietà; gerarchia di
Chomsky. Espressioni regolari; automi a stati finiti deterministici e non; eliminazione
del non determinismo; minimizzazione di automi; relazioni fra automi, espressioni e
grammatiche. Analisi lessicale e schema di un analizzatore. Analisi sintattica;
grammatiche context free; trasformazione di grammatiche. Analisi top down; tabelle
per l’analisi top down; grammatiche LL(1); analisi in discesa ricorsiva. Analisi bottom
up; costruzione delle tabelle SLR(1), LR(1) e LALR(1); trattamento degli errori
nell’analisi sintattica. Grammatiche ad attributi; analisi top down con attributi di tipo S
o L; analisi LR con attributi di tipo S o L. Tabella dei simboli. Analisi semantica;
obiettivi e strutture dati; analisi semantica delle dichiarazioni.
Lingua Inglese
Obiettivi formativi. Verifica delle capacità di comprensione dell’inglese scritto e
parlato equivalenti a quelle acquisite con una buona preparazione di inglese nella
scuola secondaria. Ulteriore verifica delle capacità di comprensione dell’inglese
scritto nell’area scientifico-tecnologica.
Matematica Discreta (A. Marcja)
Obiettivi formativi. Il corso intende fornire agli studenti alcune basi matematiche
necessarie alle nuove tecnologie.
Programma. Insiemi e loro operazioni: insiemi, corrispondenze e applicazioni.
Cardinalità. Operazioni su un insieme. Il numero di sottoinsiemi di un insieme finito.
Stringhe. Permutazioni di un insieme. Induzione su N.Il numero dei sottoinsiemi
ordinati. Il teorema binomiale. Distribuzioni. Interi, divisori e primi. Massimo Comun
Divisore. Relazioni su un insieme: proprietà. Chiusure di relazioni. Relazioni di
equivalenza. Classi di resto: congruenze. Criteri di divisibilità. Elementi invertibili.
Relazioni di ordine: ordine parziale. Sottoinsiemi ordinati. Reticoli. Grafi. Isomorfismo
di grafi. Grafi semplici. Sottografi e grafi ridotti. Grado di un vertice. Cammini. Grafi
connessi. Un esempio storico: il problema dei sette ponti. Alberi: alberi liberi e alberi.
Alberi di decisione: codici di Huffman.
Matematica Discreta e Logica (F. Lacava)
Obiettivi formativi. Il corso intende fornire agli studenti le nozioni necessarie per
comprendere i linguaggi formali e i metodi di ragionamento.
Programma. Logica proposizionale: alfabeto, parole e formule.Valutazioni e formule
soddisfacibili. Tavole di verità. Metodo di risoluzione. Logica dei predicati del primo
ordine: tipo, alfabeto, termini e formule. Interpretazione, valutazione e
modelli. Modelli di Herbrand. Algoritmo di unificazione.
Metodi di Approssimazione (D. Trigiante)
Obiettivi formativi. Fornire le conoscenze essenziali di sistemi dinamici lineari continui
e discreti necessarie per lo studio e la simulazione numerica di modelli matematici
descriventi problematiche tratte da varie applicazioni; studio di algoritmi e di metodi
adeguati per la discretizzazione di problemi continui; simulazione sul calcolatore di
modelli lineari.
Programma. Preliminari sulle equazioni alle differenze. Equazioni alle differenze e
differenziali lineari a coefficienti constanti. Stabilità delle soluzioni. Alcuni modelli
discreti di economia. Metodi multistep per equazioni differenziali. Problemi stiff e
regioni di assoluta stabilità dei metodi. Analisi di stabilità lineare per sistemi continui e
discreti mediante studio di funzioni di matrici. Alcuni modelli di dinamica delle
popolazioni. Matrici positive, teorema di Perron-Frobenius e sue applicazioni ad alcuni
modelli.
Metodi Matematici per la Finanza (V. Vespri)
Obiettivi formativi. Dare le conoscenze di base della finanza matematica e le nozioni
e la nomenclatura fondamentale.
Programma. Le opzioni e i titoli derivati. Il problema del prezzo giusto.
Ottimizzazione lineare. Prime nozioni di calcolo stocastico.
Metodi Numerici per la Grafica (A. Sestini)
Obiettivi formativi. Fornire le conoscenze e i metodi numerici necessari per la
costruzione e la rappresentazione grafica al calcolatore di curve parametriche e per il
loro impiego nell’ambito dell’approssimazione di dati assegnati. E’ previsto l’utilizzo
di Matlab.
Programma. Cenni di geometria differenziale. Curve di Bézier: loro proprietà e relativi
algoritmi di manipolazione. Algoritmo di de Casteljau. Curve Bézier spline. Continuità
classica e geometrica. Curve di Bezier razionali e rappresentazione di coniche in forma
di Bezier razionale. B-splines con nodi semplici e multipli. Curve B-spline, algoritmo
di de Boor e di inserimento di un nodo. B-splines su nodi equispaziati: algoritmi di
suddivisione. Interpolazione parametrica di Lagrange e di Hermite mediante polinomi e
mediante splines. Approssimazione ai minimi quadrati con curve B-spline. Parameter
correction.
Metodologie di Programmazione (B. Venneri)
Obiettivi formativi. Presentare i principi, le tecniche e le metodologie per lo sviluppo
e la realizzazione di sistemi software, basati sulla tecnologia “orientata agli oggetti”.
Come risultato, gli studenti dovranno acquisire la padronanza della metodologia
orientata agli oggetti sia come strumento di disegno e progettazione che come
paradigma di programmazione realizzato nei linguaggi C++ e Java.
Programma. Modularizzazione per riusabilità e estendibilità; l’astrazione sui dati. La
nozione di classe, l’astrazione per interfacce, le relazione fra classi: ereditarietà e
clientela, aggregazione e composizione, ereditarietà multipla. Il modello degli oggetti
e il binding dinamico dei metodi. Il formalismo U.M.L. Patterns design e Framework.
Linguaggio utilizzato: JAVA.
Modelli e Calcoli per la Fisica (G. Landi)
Obiettivi formativi. Il corso intende fornire agli studenti una conoscenza approfondita
di tecniche di calcolo avanzate, in uso nelle analisi di dati di esperimenti di fisica. Tali
metodi sono modellati sul paradigma delle “reti neurali”, e tentano di riprodurre alcuni
aspetti delle capacità del cervello animale e della sua straordinaria efficienza di
riconoscimento di aggregati di segnali.
Programma. Dinamica dei neuroni del cervello animale. Perceptron. Classificatore
ottimo di Bayes. Multilayer Perceptron.Algoritmi di apprendimento. Radial Basis
Functions. Funzioni di Green. Clustering e funzioni radiali a scale multiple. Analisi di
“Pattern” Temporali. Filtri di Widrow-Hoff. Problemi di controllo nonlineare. Modello
di Kohonen. Principal Component Analysis. Metodi di Meccanica Statistica: modello
di Hopfield e reti neurali ricorsive. Elementi di Meccanica Statistica. Vetri di Spin:
isomorfismo con il Modello di Hopfield. Modello di Sherrington-Kirkpatrick.
Simmetria di Replica. Soluzione di Parisi (Replica Symmetry Breaking). Ultrametricità
e reti neurali; organizzazione gerarchica in un sistema disordinato. Ottimizzazione:
Simulated Annealing e metodi Monte Carlo. Toolbox di MATLAB neural-networks.
Modellistica e Simulazione (S. Chiaradonna, F. Di Giandomenico)
Obiettivi formativi. Il corso intende fornire agli studenti le nozioni necessarie a
comprendere gli aspetti di analisi quantitativa e di qualità del servizio offerto da sistemi
di elaborazione, con particolare enfasi sull’analisi delle prestazioni ed affidabilità.
Come risultato, gli studenti impareranno il significato della analisi quantitativa di
sistemi di elaborazione ed i principi e alcune tecniche di modellizzazione e valutazione.
Programma. Concetti di prestazioni ed affidabilità dei sistemi e validazione.
Definizione di indici di prestazione ed affidabilità. Regole di costruzione e validazione
dei modelli. Richiami di probabilità. Metodi combinatorii. I processi di Markov a
tempo discreto. I processi di Markov a tempo continuo. Teoria delle code: la coda
MM1 e sue varianti. Reti di Petri stocastiche. Formalismi di modellizzazione e
strumenti automatici di supporto: SAN e UltraSan, DSPN e DEEM.
Organizzazione Informatica del Lavoro (E. Bocci)
Obiettivi formativi. Nel corso vengono presentati i concetti e i più importanti sistemi
per l’organizzazione del lavoro con strumenti informatici, soprattutto per ciò che
riguarda la progettazione, il flusso delle informazioni e il lavoro di gruppo.
Programma. I sistemi informativi e le loro limitazioni. I formalismi per la
progettazione del lavoro e il loro uso. Il flusso delle informazioni nel lavoro d’ufficio.
Controllo del flusso e degli accessi. Autorizzazioni. Sistemi di Workflow.
Organizzazione del lavoro di gruppo. Sistemi di Workgroup. Responsabilità personali.
Sistemi informatici integrati per l’organizzazione del lavoro. Saranno presentate
testimonianze dirette di imprenditori, manager, funzionari e sindacalisti di aziende del
settore informatico e telecomunicazioni.
Paradigmi di Programmazione (G. Aguzzi)
Obiettivi formativi. Il corso intende fornire agli studenti le basi teoriche e le relative
conoscenze delle pratiche realizzazioni del paradigma di programmazione basato
sulla logica dei predicati ossia della programmazione logica. Lo studente viene avviato
all’uso del paradigma dichiarativo ed alle sue peculiarità, utilizzando il linguaggio
Prolog.
Programma. Unificazione fra termini e sua decidibilità. Teoria della Dimostrazione:
Calcolo di Hilbert, Forme Normali di formule, forma clausale, Algebra di Herbrand e
Teoremi di Herbrand. Dimostrazione per refutazione, Calcolo della Risoluzione per
Clausole Generali, proprietà di Correttezza e Completezza. Logica a Clausole di Horn,
La Programmazione Logica e la Risoluzione SLD. Semantica Operazionale e a
Modelli della Programmazione Logica. Il problema della negazione: La Risoluzione
SLDNF. Il linguaggio Prolog. Applicazioni: realizzazione di sistemi di riscrittura di
termini; le liste-differenza e le DCG; costruzione di metainterpreti per il PROLOG.

Programmazione (G. Aguzzi)
Obiettivi formativi. Il corso intende fornire agli studenti le basi metodologiche e le
relative conoscenze del paradigma di programmazione imperativo (linguaggio alla Von
Neumann con comandi di assegnazione, controllo, iterazione e definizione/uso di
sottoprogrammi) ed introdurre quello dichiarativo (equazioni ricorsive). Ulteriore
obiettivo del corso è quello di fornire gli strumenti minimali per poter provare la
correttezza di programmi tramite l’uso dei concetti di proprietà invarianti di cicli e
prove induttive.
Programma. Linguaggi formali, grammatiche context-free, loro correttezza e
completezza, rappresentazione dell’informazione. Il paradigma della programmazione
imperativa: il linguaggio alla Von Neumann VN: assegnazione, I/O, controlli,
iterazione, variabili semplici e matriciali, sottoprogrammi funzione e procedura.
Principali algoritmi di sorting di vettori. Proprietà invarianti di cicli e prove induttive.
Il paradigma della programmazione dichiarativa: i termini e i sistemi di riscrittura ed
uso della ricorsione. Il concetto di lista e sua manipolazione. La semantica
operazionale dei linguaggi di programmazione: definizione della semantica
operazionale del linguaggio VN.
Programmazione Concorrente (R. De Nicola)
Obiettivi formativi. Insegnare le nozioni di base della programmazione concorrente
attraverso un’illustrazione dei problemi, dei concetti e delle tecniche connesse alla
modellizzazione di sistemi in cui ci sono più componenti attive contemporaneamente
che si coordinano e competono per l’uso di risorse condivise. Mostrare come queste
tecniche possono essere utilizzate per scrivere semplici programmi in Java
Concorrente.
Programma. Introduzione alla concorrenza, il problema della mutua esclusione e della
sincronizzazione condizionale. Meccanismi per scambio di messaggi: memoria
condivisa e comunicazione esplicita, sincronia ed asincronia. Strumenti per il controllo
della concorrenza e le loro proprietà: semafori, monitors a Remote Procedure Calls.
Risoluzione di problemi attraverso primitive linguistiche per la concorrenza:
produttore-consumatore, lettori-scrittori, filosofi a cena. Progetto di semplici algoritmi
concorrenti in Java: l’uso dei threads, dei metodi sincronizzati e dei monitors.
Programmazione di Reti (M. Loreti)
Obiettivi formativi. Il corso intende fornire agli studenti le nozioni necessarie a
sviluppare applicazioni di rete utilizzando diversi paradigmi: Client-Server, RPC, Code
on-demand e Agenti Mobili. Durante il corso verranno approfonditi in modo
particolare gli aspetti metodologici relativi alla progettazione delle applicazioni di rete.
Nel corso verrà utilizzato il linguaggio Java. Questo verrà utilizzato sia come
strumento per lo sviluppo di applicazioni Client-Server che, successivamente, come
base per la progettazione di applicazioni orientate al Web. Come risultato, gli studenti
impareranno a progettare e sviluppare un’applicazione di complessità media che
soddisfi requisiti di manutenibilità ed estendibilità.
Programma. I paradigmi di programmazione di reti. Richiami del linguaggio Java.
Programmazione Client-Server. Documenti Web. Programmazione Web lato Server. I
Web service.
Reti di Calcolatori (R. Sprugnoli)
Obiettivi formativi. Il corso intende fornire agli studenti le nozioni necessarie a
comprendere le diverse problematiche di progettazione soggiacenti le moderne reti di
calcolatori. Focalizzandosi su Internet, il corso intende promuovere una comprensione
pratica delle reti e dei loro blocchi costituenti. Come risultato, gli studenti impareranno
il perché della progettazione delle reti: non semplicemente i fatti che circondano i
sistemi attuali ma i principi su cui si basa la progettazione delle moderne reti di
calcolatori.
Programma. Requisiti ed architettura delle reti di calcolatori. Nodi e collegamenti.
Codifica dei dati. Framing dei dati. Rilevamento degli errori. Trasmissione affidabile.
Ethernet. Token ring. Reti a commutazione di pacchetto. Circuiti virtuali. Reti LAN
estese. Inter-reti ed il protocollo IP. Metodo costo-direzione e metodo dello stato dei
collegamenti. Inter-reti globali. Il DNS. Il protocollo TCP: apertura e chiusura della
connessione, finestra scorrevole rivista, ritrasmissione adattiva. Controllo della
congestione in TCP.
Sicurezza delle Reti (M. Boreale)
Obiettivi formativi. Il corso mira a fornire una comprensione approfondita degli aspetti
scientifici e tecnologici della crittografia e della sicurezza delle reti (network security).
Programma. Un modello per la network security. Crittografia a chiave condivisa.
Resistenza dei cifrari: tipologie di attacco. Cifrari monoalfabetici e polialfabetici.
Esempi: cifrari di Hill e di Vigenere, e loro criptanalisi. Cifrari perfetti secondo
Shannon, One-Time-Pad e entropia informativa. Cifrari di Feistel. Il Data Encryption
Standard (DES). L’Advanced Encryption Standard (AES). Gestione della chiave
segreta e relativi problemi. Crittografia a chiave pubblica. Elementi di teoria dei
numeri. Il cifrario RSA. Alternative a RSA: El-Gamal. Gestione della chiave con la
crittografia a chiave pubblica. Il protocollo di Diffie-Hellman. Funzioni hash one-way
e MAC. Firma digitale. Il sistema Pretty Good Privacy (PGP). La sicurezza
nell’architettura IP (IPSec). Il protocollo Secure Socket Layer (SSL).
Sistemi Concorrenti e Distribuiti (R. De Nicola)
Obiettivi formativi. Questo modulo introduce dei formalismi per specificare,
progettare, implementare, analizzare e dimostrare proprietà di sistemi concorrenti e
distribuiti. Inoltre fornisce i presupposti per l’ulteriore studio e la ricerca su teoria dei
sistemi distribuiti, dei sistemi real-time e dei sistemi fault-tolerant. Il modulo
insegnerà come specificare, progettare e realizzare semplici sistemi concorrenti. Gli
allievi inoltre impareranno come verificare la correttezza di tali sistemi anche
attraverso strumenti software di supporto.
Programma. Introduzione ai sistemi concorrenti e distribuiti, alle nozioni di
concorrenza e di comunicazione. Strumenti per la specifica di sistemi concorrenti:
sistemi di transizione etichettati ed algebre di processo, semantiche operazionali.
Strumenti per la verifica di proprietà: equivalenze comportamentali, logiche temporali
e modali. Equivalenze basate sulla bisimulazione ed equivalenze basate sul testing.
Sintassi e semantica di CCS (Calculus of Communicating Systems). Equivalenze
osservazionali, congruenze, caratterizzazioni equazionali e ragionamento algebrico.
Specifiche ed esecuzioni dei sistemi concorrenti in CCS. Presentazione di strumenti
software per la verifica: CWB (Edinburgh Concurrency Workbench), Jack (Just
Another Concurrency Kit), MC (Model Checkers).
Sistemi Operativi (R. Pugliese)
Obiettivi formativi. Il corso si propone di portare a conoscenza dello studente le
problematiche inerenti la progettazione e realizzazione delle varie parti che
costituiscono un sistema operativo, evidenziando i legami hardware/software e le
interazioni con i programmi utente. Dalla conoscenza della struttura interna del sistema
operativo, e non solo della sua interfaccia, può derivare un utilizzo più consapevole e
mirato dello stesso e un uso efficace dei suoi strumenti
Programma. Principi e funzioni principali di un sistema operativo. I processi.
Scheduling della CPU. Comunicazione e sincronizzazione tra processi. Lo stallo.
Gestione della memoria. Memoria virtuale. Gestione delle periferiche. Il file system:
directory, metodi di accesso, allocazione dei file.
Strutture per Basi di Dati (R. Sprugnoli)
Obiettivi formativi. Il corso fornisce le nozioni di base per la comprensione della
struttura interna dei sistemi per la gestione delle basi di dati e di sistemi analoghi. Gli
argomenti vanno dalla struttura interna degli archivi e degli indici ai corrispondenti
metodi di ricerca; dalla implementazione degli archivi e delle associazioni alla loro
gestione fisica; dalle realizzazioni degli operatori dell’algebra relazionale
all’ottimizzazione delle interrogazioni.
Programma. Struttura fisica degli archivi e metodi di accesso. Bufferizzazione e
ottimizzazione dell’I/O. Metodi di accesso procedurali (Hashing). Hashing dinamico.
Metodi di accesso ad albero (B-alberi). Gestione delle informazioni a lunghezza
variabile. Liste multiple e liste invertite. Gli operatori dell’algebra relazionale. Piani
d’accesso e ottimizzazione delle query. La concorrenza sui B-alberi. Accenni al
modello reticolare e alle banche dati.
Tecniche di Comunicazione (D. De Luca Cardillo)
Obiettivi formativi. Il corso intende fornire agli studenti strumenti per comprendere
diversi approcci alla vita aziendale, ai rapporti interpersonali, alla tempificazione di
progetti. In particolare saranno evidenziate le caratteristiche e la figura del Project
Manager.
Programma. Sistema decisionale. Programmazione reticolare: CPM PERT e Metodo
Antecedenti. Project management e uso di programmi per la trattazione automatica di
progetti (MS Project e prodotti free-ware). Rapporti con la clientela e relazioni
interpersonali. Il programma potrà essere modificato in base a particolari esigenze
didattiche riscontrate.
 Indirizzi utili

Per informazioni rivolgersi a:
 Segreteria Studenti, Viale Morgagni 48, Tel. 055 4598428; scimat@adm.unifi.it
   (modulistica, bollettini e aspetti burocratico-formali).
 Presidenza Corso di Laurea, Dipartimento di Sistemi e Informatica,Viale
   Morgagni 65, 50134 – Firenze; informatica@dsi.unifi.it
 Delegati all’orientamento:
   Francesca Cesarini: cesarini@dsi.unifi.it
   Alessandra Sestini: sestini@math.unifi.it
 Rappresentanti degli studenti:
   Andrea Epifani: epifani.andrea@gmail.com
   Andrea Marino: andrea_marino85@yahoo.it
   Vincenzo Milone: vincenzomilone@gmail.com
   Massimiliano Olivieri: maxoli@gmail.com
   Lorenzo Stella: lorestar@gmail.com


   Corso di Laurea Specialistica in
    SCIENZE E TECNOLOGIE DELL’INFORMAZIONE




A partire dall’anno accademico 2004-2005 presso l’Università degli Studi di Firenze,
Facoltà di Scienze Matematiche, Fisiche e Naturali, è stato attivato il Corso di Laurea
Specialistica in Scienze e Tecnologie dell’Informazione.
   Il Corso prevede un solo curriculum ed ha come obiettivo la formazione di
specialisti in possesso di un’adeguata conoscenza degli strumenti, delle metodologie e
dei fondamenti dell’Informatica, sia negli aspetti tecnologici ed applicativi, sia negli
aspetti scientifici. I laureati dovranno avere un’ottima preparazione tecnica che ne
consenta l’inserimento nel mondo del lavoro nel settore delle tecnologie
dell’informazione e della progettazione di sistemi informatici, con particolare riguardo
ai sistemi informativi e ai sistemi distribuiti. La preparazione culturale dovrà
permettere loro di adeguarsi facilmente all’evolversi della tecnologia, di assumere ruoli
di responsabilità nell’ambito aziendale e di poter proseguire gli studi ai livelli
successivi.
   Il Corso ha la durata di 2 anni. L’attività normale dello studente corrisponde a
quella necessaria per il conseguimento di 60 crediti all’anno. Lo studente che abbia
comunque ottenuto 120 crediti (oltre ai 180 acquisiti nel corso di laurea triennale di
primo livello), adempiendo a tutto quanto previsto dalla struttura didattica, può
conseguire il titolo anche prima della scadenza biennale.
    Per l’accesso al Corso di Laurea è richiesto il possesso della laurea triennale di
primo livello in Informatica (classe 26) o di altro titolo riconosciuto idoneo. In
particolare, i crediti acquisiti nel triennio della Laurea in Informatica presso
l’Università di Firenze saranno integralmente riconosciuti e sufficienti per l’iscrizione
al corso di Laurea Specialistica in Scienze e Tecnologie dell’Informazione. Il
riconoscimento dei CFU per il passaggio a corsi di laurea specialistica spetta
comunque alla struttura didattica competente.

								
To top