PROGRAMMI DEL CORSO DI LAUREA IN INFORMATICA

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "PROGRAMMI DEL CORSO DI LAUREA IN INFORMATICA"

Transcript

1 PROGRAMMI DEL CORSO DI LAUREA IN INFORMATICA

2 CORSO DI LAUREA IN INFORMATICA I ANNO DOCENTE: Prof. Maurizio Trombetta CORSO INTRODUTTIVO FINALITÀ DEL CORSO Lo scopo del Corso è quello di livellare la preparazione degli studenti che si iscrivono al primo anno del Corso di Laurea in Informatica, rimediando alle lacune che essi possono avere sui concetti di base e le nozioni essenziali per affrontare i Corsi di Analisi Matematica e di Matematica Discreta. ARGOMENTI TRATTATI Insiemi, elementi e sottoinsiemi. Relazioni di equivalenza e d'ordine. Applicazioni. Numeri naturali, interi, razionali, reali. Equazioni e disequazioni. Funzioni elementari: funzioni razionali, goniometri-che, esponenziali e logaritmiche. Elementi di geometria analitica e di geometria euclidea. MODALITÀ D ESAME Test scritto TESTO CONSIGLIATO M.TROMBETTA: Corso introduttivo di Matematica, Forum, Udine (2004) DOCENTE: Prof. Gianluca Gorni CREDITI: 12 ANALISI MATEMATICA FINALITÀ DEL CORSO: Finalità del corso: fornire i concetti e le tecniche di base del calcolo infinitesimale e integrale in modo conciso e adatto alle applicazioni. La teoria viene presentata con un buon livello di rigore formale negli enunciati e in quelle dimostrazioni che si decide di svolgere in dettaglio. Si addestrano gli studenti al calcolo, innanzi tutto con carta e penna, ma anche se possibile usando il computer. Un'enfasi del corso è nel familiarizzare gli studenti col significato intuitivo geometrico o dinamico dei concetti di limite, derivata e integrale, in modo che venga loro spontaneo applicare tali strumenti anche a problemi che non si presentino matematicamente gia' formalizzati. PROGRAMMA: numeri reali, funzioni, limiti e continuità, derivate, integrali, serie, applicazioni. MODALITÀ DI ESAME: ci sono due modi acquisire i crediti: il modo principale consiste in 3 compitini scritti durante l'anno, tipicamente senza orale; l'altro modo consiste in un singolo scritto piu' un orale negli appelli fra giugno e settembre; i dettagli del regolamento sono disponibili in rete. BIBLIOGRAFIA: G. C. Barozzi, Primo Corso di Analisi Matematica, Zanichelli. ARCHITETTURA DEGLI ELABORATORI

3 DOCENTE: Prof. Pietro Di Gianantonio CREDITI: 10 FINALITÀ DEL CORSO Il corso ha lo scopo di illustrare la struttura e il funzionamento di un computer e delle sue diverse parti hardware. Il percorso didattico seguito ha inizio con lo studio delle parti più piccole di cui si compone un calcolatore e si muove verso l'alto fino ad arrivare allo studio di architetture complete di calcolatori. Per meglio evidenziare i legami fra il livello hardware e quello software, il corso tratta la programmazione in linguaggio Assembler. PROGRAMMA Introduzione: Prospettiva storica sulle architetture degli elaboratori. Tipologie di computer disponibili. Settori di applicazione dei sistemi di elaborazione, embedded system. Livelli di astrazione nell'analisi di un'architettura. Reti Logiche: Porte logiche elementari. Algebre Booleane. Rappresentazione di funzioni booleane. Forme canoniche e coperture SP e PS. Circuiti combinatori d'uso più frequente. Flip-flop. Clock. Circuiti sequenziali sincroni e asincroni. Chip di memoria: DRAM, SRAM, ROM, Flash. SIMM/DIMM. Rappresentazione delle Informazioni: Sistemi di numerazione binario, ottale, decimale, esadecimale. Conversione tra basi. Rappresentazioni in modulo e segno, complemento a 2. Addizione, sottrazione, moltiplicazione. Overflow. Standard IEEE per numeri in virgola mobile. Rappresentazione di caratteri: ASCII, UNICODE. Codici di rilevamento errori. Memorizzazione: approccio big endian vs. little endian. Struttura di un Computer al livello Microarchitettural: L'architettura di Von Neumann. Architetture CISC vs. RISC. Bus. Registri. ALU. Data Path. Ciclo di fetch-decode-execute. Unita' di controllo. Microoperazioni. Pipeline, processori superscalari. Memorie cache. Predizione di salto, esecuzione fuori ordine. Pentium II. Linguaggio macchina: Tipi di dati. Indirizzamento. Tipi di istruzioni. Formati istruzioni. Programmed I/O, Interrupt, DMA. Input/Output: Dispositivi periferici. Collegamenti mediante bus. Trasferimenti di dati su bus sincroni ed asincroni. Operazioni sul bus. Meccanismi di arbitraggio: daisy-chaining, arbitraggio decentralizzato. Architettura di un tipico PC. Bus ISA, PCI, SCSI, USB. Hard disk. RAID. Dischi Ottici. Gerarchie di Memoria: Memoria centrale, di massa, cache. Cache a mappatura diretta, cache set-associative. Memoria virtuale. Paginazione e segmentazione. MMU. Architetture ad elaborazione parallela: Tipologie di calcolatori paralleli. La classificazione di Flynn. Multiprocessori e Multicomputer. Interconnessione fra processori: bus, rete. Cache coherence, snooping. Architetture UMA e NUMA. Architetture COW (Clusters of Workstations) ed MPP (Massively Parallel Processor). Programmazione Assembler: Architettura del Motorola Assembler 68000: formato istruzioni, direttive all'assemblatore. Modalita' di indirizzamento. Istruzioni di assegnamento e confronto, effetti sui condition codes. Istruzioni di salto condizionato ed incondizionato. Subroutine. Istruzioni aritmetiche, logiche, di scorrimento, di manipolazione bit. Gestione delle eccezioni. MODALITÀ D'ESAME L'esame di Architettura degli Elaboratori si compone di una prova scritta, di una prova di laboratorio, e di una prova orale. La prova scritta richiede di svolgere degli esercizi analoghi a quelli presentati nelle esercitazioni, e di rispondere ad alcune domande sugli argomenti trattati a lezione. Durante il corso, verranno svolti tre compitini. Gli studenti che superano positivamente i compitini vengono esonerati dalla prova scritta. TESTO ADOTTATO Andrew S. Tanenbaum. Architettura dei computer, un approccio strutturato. UTET Libreria, LABORATORIO DI ARCHITETTURA DEGLI ELABORATORI DOCENTI: Dott.ri Forti Sciavicco - Zantoni

4 CREDITI: 4 FINALITÀ DEL CORSO Il laboratorio ha lo scopo di far sperimentare concretamente allo studente, mediante la realizzazione di brevi progetti al calcolatore, alcuni dei temi di rilievo trattati nel corso di Sistemi di Elaborazione/Architettura degli Elaboratori. TIPI DI PROGETTO Reti Logiche: Progetto e simulazione di reti combinatorie e sequenziali in ambiente Macintosh. Realizzazione di librerie di componenti digitali di base, e loro uso per la costruzione modulare di sistemi digitali più complessi. Rappresentazioni numeriche: Algoritmi concernenti la rappresentazione e l'elaborazione di numeri interi senza segno, con segno, reali in virgola fissa e in virgola mobile. Programmazione Assembler: Sviluppo di programmi mirato ad esplorare le diverse caratteristiche dell'assembler Motorola 68000: direttive all'assemblatore, istruzioni di assegnamento e confronto, le varie modalità di indirizzamento, sfruttamento dei condition codes, strutture di controllo, istruzioni aritmetico-logiche, manipolazione singoli bit, subroutine, allocazione/deallocazione di memoria sullo stack. Oltre alle tecniche di programmazione Assembler di base, verranno affrontate anche alcune tecniche avanzate, in particolare per l'implementazione e trattamento in assembler di strutture dati (vettori, stringhe, matrici, insiemi, liste), e per la gestione delle eccezioni. MODALITÀ D'ESAME L'esame consiste nella preparazione da parte dello studente di una breve relazione scritta su un progetto volto a riassumere le diverse tematiche affrontate in laboratorio. Il progetto da svolgere va richiesto al docente e la relativa relazione va consegnata prima dello svolgimento dell'esame orale di Sistemi di Elaborazione/Architettura degli Elaboratori. DOCENTI: Prof. Lorenzo Santi FISICA FINALITÀ DEL CORSO Il corso fornisce le conoscenze di base della Fisica. Questo comprende nozioni di Meccanica, di Termodinamica e di Elettromagnetismo. L'impostazione del corso è essenzialmente operativa, nel senso che la capacità di risolvere problemi è considerata determinante. ARGOMENTI Introduzione alla Fisica, ordini di grandezza, unità di misura. Cinematica. Forze e principi della Dinamica. Energia cinetica e potenziale. Forza gravitazionale e potenziale gravitazionale, leggi di Keplero. Urti, conservazione della quantità di moto. Termodinamica. Forze elettriche e magnetiche. Introduzione ai circuiti elettrici. Introduzione elementare alle onde elettromagnetiche. MODALITÀ D'ESAME L'esame consiste in una prova scritta. BIBLIOGRAFIA Tipler: Introduzione alla Fisica, Zanichelli Dispense del corso. DOCENTE: Dott. Mario Mainardis CREDITI: 9 MATEMATICA DISCRETA FINALITÀ DEL CORSO: Introdurre gli strumenti fondamentali di Matematica Discreta, Algera e Geometria con particolare attenzione alle loro applicazioni in Informatica.

5 PROGRAMMA: Insiemi ed applicazioni. Aritmetica: numeri interi, divisori e multipli, algoritmo di Euclide, cenni sulle equazioni lineari diofantee, numeri primi, fattorizzazione, congruenze, rappresentazione n-adica dei numeri interi; numeri complessi,. Strutture algebriche: gruppi, sottogruppi, classi laterali, sottogruppi normali, quozienti, omomorfismi; anelli, ideali. Algebra Lineare: spazi vettoriali, dipendenza lineare, basi, applicazioni lineari, matrici, determinante, autovalori ed autovettori. MODALITÀ D ESAME: Prova scritta ed eventuale esame orale. LIBRO DI TESTO: Alberto Facchini: Algebra e Matematica Discreta ed. Decibel-Zanichelli DOCENTI: Dott. Claudio Mirolo - Dott. Fabio Alessi CREDITI: 10 PROGRAMMAZIONE FINALITÀ DEL CORSO: Il corso si propone di sviluppare le competenze culturali e metodologiche di base per affrontare i problemi che ammettono soluzioni algoritmiche, stimolando l analisi critica degli strumenti a disposizione dell informatico. Al termine del corso lo studente dovrebbe aver acquisito le capacità operative necessarie a progettare e formalizzare semplici programmi, applicando i paradigmi funzionale e object-oriented, e ad analizzare almeno a livello intuitivo gli elementi critici per il corretto comportamento in relazione alle specifiche. PREREQUISITI: Conoscenze matematiche di base, del livello fornito nella scuola superiore. PROGRAMMA: Parte I - Astrazione procedurale (linguaggio funzionale Scheme) Algoritmi basati sul calcolo di espressioni numeriche e non numeriche. Procedure come astrazione di espressioni. Costrutti di scelta e valori di verità. Definizioni ricorsive. Modello di valutazione per sostituzione e riduzione. Ricorsione generale e ricorsione di coda (tail recursion). Approccio iterativo come ricorsione di coda. Dimostrazioni di correttezza per induzione e concetto di invariante nella ricorsione di coda. Costrutto let. Parte II - Astrazione sui dati (linguaggio Scheme) Introduzione all astrazione sui dati attraverso semplici dati strutturati. Specifica astratta di una struttura dati e diversità delle scelte realizzative. Dati di dimensione variabile: liste. Strutture dati dal punto di vista dell utilizzatore e dal punto di vista dell implementatore. Pile e code. Alberi e alberi di valutazione delle espressioni. Esempi notevoli. Parte III - Astrazione relativa allo stato (linguaggi Scheme e Java a confronto) Concetto di stato e paradigma imperativo/sequenziale. Vettori e operazioni relative. Rivisitazione delle strutture di dati elementari attraverso il paradigma imperativo. Matrici. Costi computazionali di un algoritmo. Tecniche di memoization e programmazione dinamica. Principali comandi e costrutti del linguaggio Java. Programmi iterativi. Invarianti e correttezza dei programmi iterativi; problema della terminazione. Modello funzionale come semantica di un programma imperativo. Elementi di programmazione object-oriented in Java: classi e oggetti; campi, costruttori e metodi. Concetto di invariante di classe e linguaggi per la formalizzazione e per la verifica runtime di asserzioni. Esempi notevoli. Concetti ricorrenti: Approccio imperativo e approccio ricorsivo; invarianti; livelli di astrazione; forme di astrazione; stato e transizione di stato; approccio object-oriented. Ulteriori informazioni sul corso e sulle lezioni, in particolare gli esempi discussi in classe e i temi d esame, sono resi disponibili attraverso le pagine del corso all indirizzo:

6 MATERIALE DI STUDIO CONISGLIATO: Max Hailperin, Barbara Kaiser, Karl Knight Concrete Abstractions: An Introduction to Computer Science Using Scheme Brooks/Cole Publishing Company, 1999 (ISBN: ) John Lewis, William Loftus Java - Fondamenti di progettazione software Addison-Wesley, 2000 (Edizione italiana 2001; ISBN: ) Appunti tratti dalle lezioni; esempi ed esercizi pubblicati sulle pagine web del corso. MODALITÀ D ESAME: L esame di Programmazione prevede tre prove di accertamento, che si svolgono al termine dei tre periodi didattici in cui è articolato il corso, una prova di Laboratorio (corso affiancato di Laboratorio di Programmazione) e una prova orale. All orale sono ammessi gli studenti che hanno conseguito una valutazione complessiva di almeno 15 punti su 30 nelle tre prove di accertamento e che hanno inoltre superato la prova di Laboratorio. La discussione orale è opzionale per valutazioni delle prove di accertamento comprese fra 20 e 28 punti. La prova di Laboratorio e la prova orale, nel caso quest ultima venga sostenuta, concorrono alla valutazione finale nei termini di una media pesata. La valutazione di una singola prova di accertamento viene espressa nei seguenti livelli: ottimo, buono, discreto, sufficiente, quasi sufficiente, insufficiente. La valutazione complessiva delle prove di accertamento o dei recuperi che vertono sull intero programma viene espressa con un punteggio da 18 a 30, se sufficiente; da 15 a 17, se consente di sostenere la prova orale; insufficiente altrimenti. Infine, la valutazione della prova di laboratorio viene espresse in una scala A - B - C quando la prova è superata. Il primo appello scritto di Programmazione consiste normalmente nello svolgimento della terza prova di accertamento. A partire dal secondo appello sono invece previste (unicamente) prove scritte di recupero, che vertono sull intero programma del corso, rivolte a coloro che non abbiano potuto partecipare alle prove di accertamento o abbiano conseguito una valutazione insufficiente per l ammissione all orale. Indipendentemente dalla valutazione, le prove scritte di recupero non consentono l esonero dalla discussione orale. LABORATORIO DI PROGRAMMAZIONE DOCENTI: Dott.ri Marzano - Casagrande - Micheloni - Snidaro CREDITI: 4 OBIETTIVI DEL CORSO Conoscenza dei costrutti di base di un linguaggio di programmazione e capacità di utilizzarlo per formalizzare semplici programmi. Consapevolezza delle varie fasi di sviluppo di un programma, in particolare compilazione, caricamento/collegamento e debugging. Acquisizione di familiarità con il calcolatore e, più specificamente, con gli ambienti di sviluppo di programmi. SAPER FARE Utilizzare un linguaggio di programmazione per formalizzare programmi iterativi e ricorsivi. Utilizzare in modo elementare un ambiente di sviluppo di programmi. Utilizzare gli strumenti standard di interfaccia per la comunicazione dei dati in ingresso e in uscita durante l esecuzione di un programma (gestione di tastiera, accesso al file system). Organizzare i programmi più complessi in forma modulare.

7 CONTENUTI DEL CORSO - Gli argomenti principali trattati durante il corso sono i seguenti: Esercizi per familiarizzare con i principali costrutti dei linguaggi di programmazione. Realizzazione di semplici programmi numerici iterativi e ricorsivi. Realizzazione di programmi che fanno uso di tipi di dato strutturati. Realizzazione di un progetto che utilizzi gli strumenti disponibili nell ambiente di sviluppo: lo scopo è di realizzare una semplice istanza del processo che porta dalla formulazione di un problema all implementazione di un programma che lo risolve. Verifica separata delle singole componenti e del programma complessivo. Stesura di una relazione con specifiche, analisi del problema, soluzione tecnica adottata e discussione dei risultati.

8 II ANNO ALGORITMI E STRUTTURE DATI DOCENTE: Prof. Alberto Policriti CREDITI: 10 FINALITÀ DEL CORSO Il corso si propone di introdurre ai fondamenti della teoria degli algoritmi, delle strutture dati e all analisi della complessità computazionale di programmi. Il principale obiettivo del corso è familiarizzare lo studente con le principali problematiche e tecniche relative al disegno e alla progettazione di algoritmi. Ci si propone inoltre di introdurre i metodi di base utilizzati per stabilire la complessità di programmi e i criteri utilizzati per scegliere e progettare strutture dati. Dopo aver superato l esame si ritiene che lo studente sia in grado di risolvere algoritmicamente problemi classici e scegliere motivatamente le strutture dati adatte ad ottenere soluzioni computazionalmente efficienti. Sia in grado di porre limiti superiori sufficientemente precisi e indipendenti dall architettura alla complessità computazionale di programmi di media difficoltà. Conosca i più importanti problemi e algoritmi classici del campo nonché le più importanti e utilizzate tecniche di analisi della complessità e di strutturazione dei dati. ARGOMENTI 1. Introduzione e nozioni preliminari Introduzione. Elementi di logica e teoria degli insiemi. Alberi e grafi. Matematica discreta e analisi asintotica. Modelli di calcolo per la determinazione della complessità degli algoritmi. Problemi ricorsivi e aspetti algoritmici. 2. Algoritmi di ricerca e ordinamento Algoritmi primitivi di ordinamento e ricerca: selection-sort, insertion-sort, bubble-sort, heap-sort. Algoritmi ricorsivi: quick-sort, merge-sort. Analisi della complessità e limiti inferiori. Algoritmi lineari non basati sul confronto: counting-sort, radix-sort, bucket-sort. Determinazione dell'elemento medio. 3. Strutture dati Strutture dati primitive: liste, pile, code, heap. Algoritmi e strutture dati per la gestione e manipolazione di insiemi: tabelle hash, alberi di ricerca, bilanciamento, red-black alberi e B-alberi. Algoritmi e strutture dati per il problema Union-Find. Cenni alle strutture dati self-adjusting. 4. Algoritmi sui grafi Tecniche di rappresentazione di grafi orientati e e non orientati. Algoritmi di visita in ampiezza e profondità. Algoritmi di visita su alberi. Calcolo delle componenti fortemente connesse. Algoritmi per la determinazione di topological-sort, minimum spanning tree (Prim e Kruskal), cammino minimo da una sorgente (Dijkstra, Bellmann-Ford) cammini minimi da sorgenti multiple (Floyd-Warshall, Johnson). BIBLIOGRAFIA - Appunti delle lezioni; - Cormen T.H., Leiserson C.E., Rivest R.L, Introduction to Algorithms, MIT Press, Second edition, (Anche in italiano). Altri testi utili: - Aho A.V., Hopcroft J.E., Ullman J.D., Data Structures and Algorithms, Addison-Wesley, Aho A.V., Hopcroft J.E., Ullman J.D., The Design and Analysis of Computer Algorithms, Addison-Wesley, D. E. Knuth, Selected Papers in Computer Science Cambridge, University Press, Tarjan R.E., Data Structures and Network Algorithms, SIAM, 1983.

9 LABORATORIO DI INFORMATICA: ALGORITMI E STRUTTURE DATI DOCENTI: Dott.ri Scalabrin Bresolin - Gentilini CREDITI: 4 OBIETTIVI DEL CORSO Scopo del corso è la realizzazione di algoritmi di una certa complessità, che operano su strutture dati articolate, e la determinazione sperimentale delle relative prestazioni. In questo modo, si intende dare un supporto concreto ai fini di una migliore comprensione delle idee e dei concetti discussi nel corso teorico di Algoritmi e Strutture Dati. Si assume una conoscenza non superficiale del linguaggio di programmazione Pascal, anche se i progetti potranno essere realizzati anche in C, C++, Java, ed altri linguaggi. PROGRAMMA Misura dei tempi di calcolo e confronto fra diversi ordini di complessità. Stime teoriche dei tempi di calcolo nel caso di semplici algoritmi, notazione O-grande. Misure dei tempi, errore relativo, discussione dei risultati sperimentali. Limiti dell'analisi asintotica e ruolo delle costanti moltiplicative. Stima del tempo medio. Generatori di numeri casuali, tempo medio, varianza, intervalli di confidenza. Code tuning La regola del Tecniche per migliorare l'efficenza di alcuni programmi. Eliminazione delle chiamate di procedura, macroespansione. Valutazione sperimentale. Sperimentazione di algoritmi e strutture dati sviluppati nel corso teorico. Algoritmi di ordinamento; realizzazione di altre strutture dati e algoritmi (da determinare). MODALITÀ D'ESAME L'esame è integrato con il corso di Algoritmi e Strutture Dati. La prova di laboratorio dà luogo ad un giudizio espresso nell'intervallo A(ottimo) - B (buono) - C (sufficiente) - D (insufficiente, prova non superata). La prova consiste nella risoluzione di alcuni esercizi durante l'anno e nella redazione di tre relazioni, in cui devono essere descritti i risultati degli esperimenti assegnati che saranno assegnati. Le relazioni, che devono essere prodotte usando strumenti informatici di scrittura e produzione di tabelle e grafici, saranno valutate anche relativamente all'efficacia della presentazione dei dati sperimentali. Relazioni ed esercizi sono da consegnarsi in date fissate durante l'anno. Alternativamente, è permessa (anche se sconsigliata) la consegna cumulativa di tutti gli elaborati insieme con l'ultima relazione. MATERIALE DI STUDIO CONSIGLIATO S. Martini: appunti disponibili sulla pagina web Riferimento generale: Cormen et al., Introduction to Algorithms, MIT Press. DOCENTE: Dott. Antonio Piva CREDITI: 3 ASPETTI SOCIALI ED ETICA PROFESSIONALE Gli obiettivi principali del corso sono: rendere lo studente consapevole del contesto sociale e delle implicazioni psicologiche, sociali ed etiche conseguenti alle innovazioni tecnologiche nel campo dell informatica e al relativo utilizzo; rendere lo studente consapevole delle implicazioni deontologiche della propria attività professionale, nei confronti dei clienti e utenti, e responsabilizzarlo sulle conseguenze a tutti i livelli del proprio operato. In particolare il corso prevede la trattazione dell informatica giuridica con particolare attenzione alle innovazioni apportate da internet. Verranno trattate le seguenti tematiche: - liberalizzazione delle telecomunicazioni a livello internazionale e nell ordinamento italiano - La PRIVACY E LA SICUREZZA; nozione e sviluppo di privacy: dalle linee guida dell OCSE del 1980 alla direttiva europea, la normativa italiana in materia di dati personali, le disposizioni applicabili

10 alla rete, gli obblighi per gli Internet Service Provider, la gestione della sicurezza, le figure Giuridiche previste dal regolamento. - La tutela della segretezza della posta elettronica nell ordinamento italiano e negli altri ordinamenti. - La PROPRIETA INTELLETTUALE e IL DIRITTO D AUTORE; dalle origini del diritto d autore alla proprietà intellettuale nella società dell informazione; la normativa internazionale, europea ed italiana in materia. La tutela giuridica del SOFTWARE: Il diritto d autore sul software e la sua brevettabilità; la durata del diritto, i beni oggetto del diritto in particolare il software e le banche dati. La disciplina della BANCHE DATI nell ordinamento italiano, nelle normative europee e nelle convenzioni internazionali. Le opere multimediali e gli aspetti giuridici. - I DOMAIN NAMES di internet e gli aspetti giuridici; le procedure di registrazione ed il grabbing. Il DN ed il marchio, analisi di alcuni casi di protezione giuridica ed alcune decisioni dei tribunali italiani; Le autorità preposte alla registrazione ed al controllo degli accessi; la risoluzione dei conflitti. L utilizzo dei LINK nei Web ed alcuni casi giuridici. - La MUSICA DIGITALE in rete; la proprietà intellettuale nella musica, analisi di alcune vicende giudiziarie - La MUSICA DIGITALE in rete; la proprietà intellettuale nella musica, analisi di alcune vicende giudiziarie. - LA FIRMA DIGITALE E LA CARTA D IDENTITA ELETTRONICA; il documento elettronico e la sua validità giuridica nell ordinamento italiano; la crittografia: storia, evoluzione, tecniche di sicurezza sulla rete; La riservatezza, l integrità, l autenticazione ed il non ripudio; le certification autority riconosciute dall AIPA ed i certificati elettronici; le normative italiane ed Europee sulla firma elettronica; firma autografa e digitale a confronto; Accenni sulla Carta d Identità elettronica. L Informatica nella Pubblica Amministrazione: la Rete unitaria della PA, alcuni progetti intersettoriali. - Il COMMERCIO ELETTRONICO; le direttive dell Unione Europea in materia; i CONTRATTI mediante Internet, le normative italiane vigenti in materia, i contratti a distanza, i contratti Telematici; la tutela dei consumatori in Internet; i PAGAMENTI ELETTRONICI: validità del pagamento, modi e strumenti di pagamento, la moneta elettronica, le normative a livello Europeo e Nazionale; il regime fiscale; i PROVIDER ed il nostro ordinamento; La PUBBLICITA in RETE: definizioni e disciplina legale, i banner, lo spamming in Usa in UE e nell ordinamento italiano. - La CRIMINALITA INFORMATICA e Il DIRITTO PENALE di INTERNET; la tutela dei beni informatici, i Virus, la violazione del domicilio informatico, gli hackers, la normativa penale di riferimento a livello europeo ed in Italia. - LA QUALITA. Storia ed evoluzione della qualità, dalle norme ISO 9000:1994 alle Vision 2000; la loro applicabilità alle più diverse situazioni ed organizzazioni, la terminologia, il Sistema di Gestione della Qualità, l orientamento all adeguatezza del sistema gestionale, i principi della qualità, i requisiti delle norme, l approccio ai processi, il manuale, le verifiche ispettive, la gestione delle non conformità, delle azioni preventive e correttive, la soddisfazione del cliente, risorse umane e qualità: il lavoro di gruppo e il miglioramento continuo. DOCENTE: Prof. Luigi Pace CALCOLO DELLE PROBABILITÀ E STATISTICA FINALITÀ DEL CORSO L'obiettivo del corso è introdurre lo studente a quelli che sono i concetti fondamentali del Calcolo delle probabilità e della Statistica, quale strumentazione di base per lo studio dei fenomeni aleatori. Tali nozioni verranno presentate sottolineando l'ambito delle applicazioni. TEMATICHE 1. Introduzione al calcolo delle probabilità Richiami di calcolo combinatorio; fenomeni aleatori; spazi di probabilità; gli assiomi della probabilità; probabilità condizionata e legge delle probabilità composte; indipendenza stocastica fra eventi; teorema di Bayes. 2. Variabili casuali unidimensionali Definizione di variabile casuale (v.c.); la funzione di ripartizione; v.c. discrete e v.c. assolutamente continue; funzioni di densità e loro proprietà; media, mediana, moda, varianza e momenti di ordine successivo; disuguaglianze notevoli; funzione generatrice dei momenti e sue proprietà; le principali distribuzioni di probabilità discrete e assolutamente continue.

11 3. Variabili casuali multidimensionali V.c. bivariate discrete e assolutamente continue; funzione di ripartizione congiunta; distribuzioni di probabilità marginali; indipendenza tra due v.c.; covarianza e coefficiente di correlazione; distribuzioni di probabilità condizionate; somme di v.c.. 4. Convergenza e teoremi limite Successioni di v.c.; convergenza in probabilità; legge debole dei grandi numeri; convergenza in distribuzione; teorema centrale del limite. 5. Introduzione all'inferenza statistica Il problema dell'inferenza statistica; modelli statistici parametrici; statistiche campionarie; media campionaria; varianza campionaria. 6. Stima puntuale e intervallare Introduzione alla stima puntuale e intervallare; stime e stimatori; proprietà degli stimatori; metodo della massima verosimiglianza; il metodo dei momenti; intervalli di confidenza e coefficiente di confidenza; intervallo di confidenza per la media e per la varianza di una popolazione normale; il caso di una popolazione bernoulliana; intervalli di confidenza approssimati. 7. Verifica di ipotesi Introduzione alla teoria dei test statistici; test di ipotesi sulla media e sulla varianza di una popolazione normale; test per una percentuale; verifica di ipotesi sulla media per grandi campioni. MODALITÀ D ESAME L esame consiste in una prova scritta seguita, per i sufficienti, da una prova orale. Entrambe le prove dovranno essere superate nello stesso appello. TESTI CONSIGLIATI Appunti delle lezioni. G. Cicchitelli Probabilità e Statistica, Maggioli 2a ed., P. Baldi Calcolo delle Probabilità e Statistica, McGraw-Hill, DOCENTE: Prof.ssa Rossana Vermiglio CALCOLO SCIENTIFICO OBIETTIVI FORMATIVI Portare lo studente ad avere familiarita' con alcune delle tematiche di base dell' analisi numerica attraverso la conoscenza, la sperimentazione e l'analisi critica dei principali metodi numerici; accrescere le sue capacita' di programmazione. Al termine del corso lo studente sapra riconoscere, analizzare e risolvere numericamente alcuni problemi della matematica; individuare e usare in modo appropriato le risorse informatiche (algoritmi, tempo macchina, memoria) necessarie per la loro risoluzione; conoscere i vincoli di precisione e di tempo imposti dalle risorse disponibili; sviluppare software numerico, saper stimare l'attendibilita' dei risultati ottenuti ed interpretarli. CONTENUTI DEL CORSO Gli argomenti principali del corso sono i seguenti: Numeri e aritmetica di macchina, analisi degli errori; euqazioni non lineari; risoluzione di sistemi lineari con metodi diretti; approssimazione di dati e funzioni (interpolazione e minimi quadrati), funzioni splines; soluzione di sistemi sovradeterminati, metodo QR, metodo SVD; integrazione e differenziazione numerica; cenni equazioni differenziali e software scientifico. Le esercitazioni saranno integrate con esperienze in laboratorio. PREREQUISITI: Matematica discreta, Analisi Matematica. MODALITÀ D ESAME: svolgimento di alcuni esercizi di laboratorio, prova scritta e orale. LIBRI DI TESTO [1] V. COMINCIOLI; Analisi numerica, McGraw Hill, [2] D. BINI, M. CAPOVANI, O. MENCHI; Metodi numerici per l'algebra lineare, Zanichelli, [3] R. BEVILACQUA, D. BINI, M. CAPOVANI, O. MENCHI Metodi Numerici, Zanichelli, [4] G. MONEGATO, Fondamenti di calcolo numerico, CLUT (1998). [5] G. W. Stewart; Afternotes on Numerical Analysis, SIAM 1996

12 DOCENTE: Dott. Giovanni Luigi Michelutti CAMPI E ONDE ELETTROMAGNETICHE FINALITÀ DEL CORSO Il corso ha un carattere culturale, di completamento dello studio iniziato nel corso di Fisica, ed inoltre è propedeutico al corso di Laurea di Specializzazione in Fisica Computazionale. Il corso contiene materiale sulle onde che è introduce lo studio di concetti di base della Meccanica Quantistica. ARGOMENTI DEL CORSO Approfondimento dei concetti fondamentali dell'elettrodinamica classica. Le equazioni di Maxwell. Le onde in sistemi continui meccanici. Le onde elettromagnetiche. Ottica ondulatoria. Teoria della relatività speciale. Interazione luce-materia, irraggiamento da parte di cariche accelerate, sorgenti di radiazione. MODALITÀ D'ESAME L'esame consiste in una prova scritta. BIBLIOGRAFIA: dispense del corso. DOCENTE: Prof. Alberto Marcone CREDITI: 3 ELEMENTI DI LOGICA MATEMATICA FINALITÀ DEL CORSO Lo scopo del corso è quello di acquisire gli elementi di base della logica matematica, con particolare attenzione ai metodi algoritmici. PROGRAMMA Calcolo preposizionale: sintassi e semantica, soddisfacibilità e conseguenza logica, trasformazione in forma normale congiuntiva o disgiuntiva, tableau semantici. Calcolo dei predicati: sintassi e semantica, soddisfacibilità e conseguenza logica, tableau semantici. Traduzione dal linguaggio naturale al linguaggio formale. MODALITÀ D'ESAME prova scritta, con prova orale facoltativa. BIBLIOGRAFIA M. Ben-Ari, Mathematical Logic for Computer Science, 2 nd edition, Springer, DOCENTE: Prof. Furio Honsell FONDAMENTI DELL'INFORMATICA 1 OBIETTIVI Far riflettere gli studenti sulle limitazioni dei procedimenti algoritmici, limiti sia intrinseci sia dettati dalle risorse a disposizione. Gli studenti incontreranno il concetto di funzione calcolabile, di linguaggio formale, di automa, di classe di complessità e le loro reciproche relazioni. Dopo aver superato l'esame si ritiene che lo studente: conosca l'esistenza di problemi intrinsecamente irrisolubili per via algoritmica; abbia una chiara idea delle relazioni note tra le classi di complessità logaritmica, polinomiale deterministica e non deterministica, esponenziale; conosca le prime nozioni relative ai linguaggi formali e alle loro relazioni con gli automi.

13 CONTENUTI DEL CORSO 1.Calcolabilità. Modelli di calcolo: la Macchina di Turing. Funzioni calcolabili e problemi decidibili. Enumerazione delle funzioni calcolabili, funzione universale. Tesi di Church. Esistenza di problemi non decidibili. Problemi semidecidibili. 2. Complessità. Macchine di Turing con risorse limitate. Classi di complessità. Alcune classi: P, NP, EXP, PSPACE. Riduzioni polinomiali e problemi completi. NP-completezza, teorema di Cook, esempi di problemi NP completi. 3. Linguaggi formali. Grammatiche a struttura di frase. Linguaggi regolari, espressioni regolari, automi finiti. Linguaggi liberi dal contesto, alberi di derivazione; automi a pila. MATERIALE DI STUDIO Appunti delle lezioni. N.J. Cutland, Computability: An introduction to recursive function theory, Cambridge Univ.Press, Cambridge J.E. Hopcroft e J.D. Ullman, Introduction to automata, languages and computation, Addison-Wesley, Reading DOCENTE: Dott. Claudio Mirolo PROGRAMMAZIONE ORIENTATA AGLI OGGETTI OBIETTIVI DEL CORSO L obiettivo principale del corso è quello di discutere il paradigma della programmazione orientata agli oggetti come evoluzione della programmazione strutturata e della costruzione di tipi di dati astratti, introdotti nel corso di Programmazione. Verranno inoltre presentate le caratteristiche di base di un linguaggio di programmazione orientato agli oggetti. I concetti saranno introdotti soprattutto attraverso la discussione di esempi. Al termine del corso lo studente dovrebbe aver acquisito capacità di problem solving per progettare soluzioni object-oriented, basate sulla definizione di un insieme di moduli interagenti fra di loro. PREREQUISITI: Corso di Programmazione; alcuni dei contenuti dei corsi di Matematica Discreta e Analisi Matematica. CONTENUTI DEL CORSO: Gli argomenti principali trattati durante il corso sono indicati qui di seguito. Gli esempi sono sviluppati utilizzando il linguaggio di programmazione Java. Concetti e metodologie Nozioni di base: moduli interagenti, messaggi e metodi, responsabilità, classi e istanze, gerarchie di classi e ereditarietà, overriding di metodi, eccezioni. Progettazione orientata agli oggetti: identificazione delle componenti e definizione delle responsabilità; definizione del comportamento e delle interazioni fra moduli; specifica dell interfaccia; concetto di stato. Benefici della programmazione orientata agli oggetti: incapsulamento delle informazioni, maggiore affidabilità e potenzialità di riutilizzo del codice, condivisione di codice, polimorfismo, rapidità di prototipazione. Ereditarietà: sottoclassi, tipi e compatibilità per sostituzione. Specializzazione e altre forme di ereditarietà. Ereditarietà del codice ed ereditarietà del comportamento. Selezione dinamica dei metodi. Confronto fra ereditarietà e composizione relative a classi; composizione dinamica. Classi nidificate. Clonazione. Polimorfismo e variabili polimorfe. Overloading. Overriding:

14 sostituzione e raffinamento. Metodi astratti. Modelli di progetto (design patterns): composite; decorator; factory method; flyweight; observer; prototype; proxy; strategy. Paradigma model-view-controlller. Linguaggio di programmazione Java Caratteristiche e costrutti principali del linguaggio Java. Realizzazioni di classi in Java: struttura di un programma; campi per rappresentare le variabili di stato; costruttori; attributi di campi e metodi; istanziazione di oggetti; ereditarietà e interfaccie. Classi interne e organizzazione del codice. Modello degli eventi in Java. Gestione delle eccezioni. Thread multiple di esecuzione e sincronizzazione. Garbage collection. Alcune caratteristiche avanzate dell ambiente di programmazione basato su Java. Progetto di interfacce verso l utente (GUI) attraverso la libreria Application Windowing Toolkit (AWT) di Java: componenti e layout manager. Input e output in Java. Altre classi di utilità: Math, Random, System, String. Grafica elementare in Java. Classi Collection: Vector e confronto con gli array; Dictionnary. Applet e programmazione per la rete. Discussione di esempi in Java. Concetti ricorrenti: Livelli di astrazione; astrazione sui dati; stato; approccio object-oriented; incapsulamento dell informazione; riutilizzo del codice. Ulteriori informazioni sul corso e sulle lezioni, in particolare gli esempi discussi in classe e i temi d esame, sono resi disponibili attraverso le pagine del corso all indirizzo: MATERIALE DI STUDIO CONSIGLIATO: Understanding Object-Oriented Programming with Java Addison-Wesley, 2000 (ISBN: ) Appunti tratti dalle lezioni. TESTI SUL LINGUAGGIO JAVA: David Arnow and Gerald Weiss Introduction to Programming Using Java: An Object-Oriented Approach Addison-Wesley, 1998 (ISBN: ) oppure John Lewis, William Loftus Java - Fondamenti di progettazione software Addison-Wesley, 2000 (Edizione italiana 2001; ISBN: ) TESTI PER CONSULTAZIONE B. Liskov, J. Guttag Program Development in Java Addison-Wesley, 2000; X. Jia Object Oriented Software Development Using Java Addison-Wesley, 2002; B. Eckel Thinking in Java Prentice Hall, 2000;

15 K.A. Lambert, M. Osborne A Framework for Program Design and Data Structures Brooks/Cole, 2000; MODALITÀ D ESAME L esame di Programmazione Orientata agli Oggetti prevede due prove di accertamento, che si svolgono al termine dei due periodi didattici in cui è articolato il corso, e una prova orale. All orale sono ammessi gli studenti che hanno conseguito una valutazione complessiva di almeno 15 punti su 30 nelle due prove di accertamento. La discussione orale non è obbligatoria per valutazioni delle prove di accertamento comprese fra 20 e 28 punti. Opzionalmente, ai fini della discussione orale il candidato può concordare con il docente la realizzazione di un progetto di programmazione che applichi concetti e metodologie introdotti durante il corso. In tal caso, la discussione del progetto costituirà la parte prevalente della prova orale. Nel caso venga sostenuta, la prova orale concorre alla valutazione finale nei termini di una media pesata. La valutazione di una singola prova di accertamento viene espressa nei seguenti livelli: ottimo, buono, discreto, sufficiente, quasi sufficiente, insufficiente. La valutazione complessiva delle prove di accertamento o dei recuperi che vertono sull intero programma viene espressa con un punteggio da 18 a 30, se sufficiente; da 15 a 17, se consente di sostenere la prova orale; insufficiente altrimenti. Il primo appello scritto di Programmazione Orientata agli Oggetti consiste normalmente nello svolgimento della seconda prova di accertamento. A partire dal secondo appello sono invece previste (unicamente) prove scritte di recupero, che vertono sull intero programma del corso, rivolte a coloro che non abbiano potuto partecipare alle prove di accertamento o abbiano conseguito una valutazione insufficiente per l ammissione all orale. Indipendentemente dalla valutazione, le prove scritte di recupero non consentono l esonero dalla discussione orale. DOCENTI: Prof. Marina Lenisa Dott. Marco Comini CREDITI: 11 SISTEMI OPERATIVI FINALITÀ DEL CORSO I sistemi operativi sono parte essenziale di un sistema di calcolo e pertanto è necessario che uno studente di informatica possieda le basi per l efficace valutazione e utilizzo da utente da progettista da programmatore da amministratore di un sistema operativo moderno allo scopo di fornire tali basi questo corso presenta i concetti fondamentali relativi alle funzionalità primarie dei sistemi operativi come la gestione dei processori della memoria e dei dispositivi di ingresso/uscita. Inoltre il corso fornisce le basi della programmazione concorrente e dei principali modelli di calcolo parallelo e distribuito. PROGRAMMA 1. Aspetti generali. Ruolo del sistema operativo (SO) in un sistema di calcolo; interfacce. Tipi di SO, struttura di un sistema operativo. 2. I processi. Definizioni, concetti base, operazioni sui processi. Commutazione di contesto. I processi leggeri (threads): modello a thread. Lo scheduling dei processori: concetti di base, criteri di scheduling, algoritmi di scheduling. 3. Programmazione concorrente. Race conditions, sezioni critiche, mutua esclusione, sincronizzazione tra processi e memorie condivise, primitive di comunicazione e sincronizzazione. Stallo: definizione, modelli per lo stallo, identificazione, prevenzione. 4. Gestione della memoria. Gerarchie di memoria. Strategie di allocazione, frammentazione. La memoria virtuale: paginazione a richiesta, algoritmi di sostituzione delle pagine, il thrashing, il modello Working set. 5. Input/Output. tipi di dispositivi di I/O. Il trattamento delle interruzioni, i driver di I/O. I/O bloccante, non bloccante, asincrono. Interfaccia per le applicazioni. I dischi. Algoritmi di schedulazione dei dischi. 6. Il file system. Il file: attributi, operazioni, struttura fisica, metodi di accesso. Le directory e la struttura logica di un file system. Aspetti di sicurezza e protezione. Implementazione dei file system. Operazioni su dischi, partizioni e file system. Cenni ai journaled file system. 7. Sistemi con processori multipli. Processori strettamente/debolmente accoppiati. Multiprocessori. Multicomputer. Memoria condivisa distribuita. Sistemi distribuiti. Servizi di rete, e servizi distribuiti. Il modello

16 client/server, protocolli, socket. Modelli distribuiti. Middleware di comunicazione. Chiamate di procedure remote, NFS. MODALITÀ D ESAME Prova scritta, seguita eventualmente da una prova orale. Per l ammissione all orale e la registrazione è necessario aver svolto con successo i progetti obbligatori del corso di Laboratorio di Sistemi Operativi. BIBLIOGRAFIA A. Tanenbaum, I moderni sistemi operativi (II ed.). Jackson Libri, ISBN È il libro di testo principale. Abraham Silberschatz, Peter Baer Galvin, Greg Gagne, Sistemi Operativi (6 ed.). Addison-Wesley, Ottima alternativa al precedente. Graham Glass, King Ables, UNIX for Programmers and Users, seconda edizione. Prentice-Hall, per consultazione per la programmazione concorrente e di sistema. Trasparenze usate in aula. PROPEDEUTICITÀ ASD, Programmazione DOCENTI: Dott. Ivan Scagnetto CREDITI: 4 LABORATORIO DI SISTEMI OPERATIVI CONTENUTI DEL CORSO - Gli argomenti principali trattati durante il corso sono indicati qui di seguito: 1. Sistema Operativo UNIX. Struttura, interfaccia utente, varianti (Solaris, Linux). 1. Introduzione alla shell UNIX. Ruolo e varianti. Procedura di login. Organizzazione del file system, comandi base della shell per la gestione di files (cd, ls, rm, tail, wc). Manuale online. La shell bash: espansione del pathname, ridirezione del I/O, pipe, jobs in background, il comando history, editing della linea di comando, completamento di comandi. Gli editors vi e (X)emacs. 2. Comandi rilevanti della shell. - Gestione di processi: ps, top. - Monitoraggio della memoria: df, du, free, top. - Comandi filtro: ricerca (grep, find), ordinamento (sort), editing (sed, cut, paste). - L'utility awk. 3. Shell script. Variabili, passaggio dei parametri, strutture di controllo, login script. 4. Programmazione di sistema. - Controllo di processi: le system call fork(), exec(), wait(), exit(), getpid(), etc. - File system. Apertura, lettura, scrittura di files: le system call open(), creat(), access(), read(), write(), lseek(). I/O bufferizzato e non bufferizzato. Tempi di esecuzione di processi. Inode e gerarchia di directory. Accesso agli attributi dei file tramite la system call stat(). Modifica di attributi: chmod(), umask(), truncate(), etc. Creazione, rimozione di directory: mkdir(), rmdir(). Creazione, rimozione di link(): link(), unlink(). Apertura e lettura di directory: opendir(), readdir(). - Comunicazione tra processi (IPC). Pipe, Named pipe. Shared memory: le system call shmget(), shmat(), shmdt(). Cenni ai Semafori. - Threads e Multithreding. 5. Amministrazione di sistema. - Installazione di Linux: partizionamento del disco, creazione dei file system, configurazioni, installazione di applicazioni (rpm, tgz, make), X, demoni, moduli kernel. - Gestione degli account utente: creazione e modifica di account. Gestione delle password. Sicurezza. - Installazione di servizi di rete: server popd, ftpd, rudimenti di httpd.

17 6. Il linguaggio C. Introduzione. Tipi, operatori ed espressioni. Strutture di controllo. Funzioni e struttura di programmi. Puntatori e vettori. Strutture. Input ed output. BIBLIOGRAFIA: 1) B.W. Kernighan, D.M. Ritchie, Linguaggio C, Jackson, 2a edizione, ) G. Glass, K. Ables, "UNIX for Programmers and Users", Prentice Hall, 2a edizione, Altri riferimenti: 3) P. Cornes, The Linux A-Z, Prentice Hall, ) K. Haviland, D. Gray, B. Salama, UNIX System Programming, Addison Wesley, 2a edizione, 1999.

18 III ANNO DOCENTE: Prof. Angelo Montanari BASI DI DATI E SISTEMI INFORMATIVI PROGRAMMA Parte 1 - Concetti di base Ruolo e funzionalità di una base di dati; astrazioni sui dati; modelli concettuali, logici e fisici dei dati; istanze e schemi; indipendenza logica e fisica dei dati; linguaggi per la definizione e la manipolazione dei dati; sistemi per la gestione delle basi di dati (DBMS); amministratore e utenti di una base di dati; il dizionario dei dati; la struttura generale di una base di dati. Parte 2 - Il modello Entità/Relazioni (ER) Metodologie e modelli per il progetto: il ciclo di vita dei sistemi informativi e le metodologie di progettazione di basi di dati; i costrutti di base del modello concettuale Entità/Relazioni (ER): tipi e istanze di entità e relazioni, attributi (semplici, composti, a singolo valore, multivalore, derivati) e chiavi (identificatori interni ed esterni, le nozioni di entità debole, entità proprietaria, chiave parziale e relazione identificante), dominio di un attributo e utilizzo di NULL, vincoli associati alle relazioni (partecipazione e rapporto di cardinalità), relazioni ricorsive e ruoli, relazioni di grado superiore al secondo, i diagrammi ER; documentazione di schemi ER: tecniche di documentazione, regole aziendali (vincoli di integrità e regole di derivazione); costrutti avanzati del modello ER: specializzazioni e categorie. Parte 3 - Il modello relazionale e l'algebra relazionale Il modello relazionale: nozioni di base, definizione delle relazioni, definizione dei vincoli sulle relazioni (che coinvolgono un'unica relazione o più relazioni), operazioni di aggiornamento delle relazioni; l'algebra relazionale: le operazioni di base, interrogazioni in algebra relazionale, operazioni addizionali, ottimizzazione algebrica, i limiti dell'algebra relazionale; il calcolo relazionale: nozioni di base, calcolo relazionale dei domini e delle tuple, il legame con l'algebra relazionale. Parte 4 - Il linguaggio SQL La definizione dei dati in SQL; interrogazioni in SQL; istruzioni di aggiornamento in SQL; altre definizioni dei dati in SQL (vincoli di integrità generici, viste, specifica di vincoli di addizionali sotto forma di asserzioni); SQL e sicurezza (controllo discrezionale degli accessi basato sui privilegi); il DBMS mysql. Parte 5 - La progettazione delle basi di dati. La progettazione concettuale dei dati: raccolta e analisi dei requisiti, criteri generali di rappresentazione, strategie di progetto, qualità di uno schema concettuale, strumenti CASE per la progettazione dei dati; la progettazione logica dei dati: analisi delle prestazioni su schemi ER, ristrutturazione di schemi ER (analisi delle ridondanze, eliminazione delle gerarchie, partizionamento /accorpamento di entità e/o relazioni, scelta degli identificatori principali), traduzione del modello ER nel modello relazionale; la teoria della progettazione delle basi di dati relazionali: dipendenze funzionali, ragionamento sulle dipendenze funzionali, scomposizione di relazioni, scomposizioni lossless-join, scomposizioni che conservano le dipendenze, forme normali per gli schemi di relazione (1NF, 2NF, 3NF e BCNF), scomposizioni lossless-join in BCNF, scomposizioni in 3NF che conservano le dipendenze. BIBLIOGARFIA Testi adottati R. Elmastri, S. Navathe, Sistemi di Basi di Dati, Pearson Education Italia, P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone, Basi di Dati: Modelli e Linguaggi di Interrogazione, McGraw-Hill, ALTRI TESTI DI RIFERIMENTO: J. D. Ullman. Principles of Databases and Knowledge-Base Systems (Volume I), Computer Science Press, 1988.

19 S.Abiteboul, R.Hull, V. Vianu. Foundations of Databases, Addison-Wesley, A. Albano, G. Ghelli, R. Orsini. Basi di dati relazionali e a oggetti, Zanichelli, C. J. Date. An Introduction to Databases Systems (7 th Edition), Addison-Wesley, A. Silberschatz, H. F. Korth, S. Sudarshan. Database System Concepts (4th Edition), McGraw- Hill, L. Welling, L. Thomson. MySQL Tutorial, Pearson Education Inc., DOCENTE: Prof. Angelo Montanari COMPLEMENTI DI BASI DI DATI PROGRAMMA Parte 1 - La progettazione delle basi di dati (complementi) La progettazione delle basi di dati e il modello Dataflow: processi, flussi dei dati, depositi dei dati e interfacce, diagrammi contesto e diagrammi di flusso dei dati, progetto funzionale basato sul modello Dataflow; progetto di sistemi informativi: un approccio integrato alla progettazione dei dati e delle funzioni; la progettazione delle basi di dati e il formalismo UML. Parte 2 - Il linguaggio SQL (complementi) SQL e linguaggi di programmazione: SQL embedded statico (interrogazioni semplici e complesse, l'utilizzo dei cursori) e dinamico (esecuzione immediata ed esecuzione in due fasi); le procedure memorizzate; i trigger; le Call Level Interface (CLI); ODBC e JDBC. Parte 3 - L'organizzazione fisica dei dati. Memorizzazione dei record ed organizzazione dei file primari: introduzione, strumenti e tecniche per la gestione della memoria secondaria, la tecnologia RAID buffering dei blocchi, memorizzazione di file di record su disco, operazioni sui file, file di record non ordinati (heap file), file di record ordinati (sorted file), tecniche di hashing, altre possibili organizzazioni dei file primari; strutture di indicizzazione dei file: tipi di indici ordinati di livello singolo (primari, di clustering, secondari), indici multilivello, indici multilivello dinamici che utilizzano B-alberi e B + -alberi, altri tipi di indici. Parte 4 - Tecnologia delle basi di dati centralizzate. La nozione di transazione: introduzione, proprietà desiderabili delle transazioni, scheduling e recupero delle transazioni, tecniche di serializzazione; tecniche di controllo della concorrenza: problematiche, architettura, anomalie delle transazioni concorrenti, tecniche basate su viste, conflitti, locking a due fasi (2PL e 2PL stretto) e timestamp, tecniche multiversione, granularità dei data item; gestore del buffer: architettura del buffer manager, primitive per la gestione del buffer, politiche di gestione del buffer, relazione tra il gestore del buffer e il file system; tecniche di controllo dell affidabilità: concetti di base, architettura del controllore dell affidabilità, memoria stabile, organizzazzione del log, gestione delle transazioni, gestione dei guasti; elaborazione e ottimizzazione delle interrogazioni: i cataloghi di sistema; ottimizzazione delle interrogazioni (rappresentazione interna delle interrogazioni, profili delle relazioni, ottimizzazione basata sui costi); progettazione fisica di una base di dati; la sicurezza nella basi di dati: introduzione, controllo obbligatorio degli accessi per supportare livelli multipli di sicurezza, la sicurezza nelle basi di dati statistiche (cenni). Parte 5 -. Basi di dati distribuite Introduzione ai DBMS distribuiti, elementi di base dell'architettura client-server, frammentazione dei dati, allocazione dei dati, livelli di trasparenza, tipi di sistemi di basi di dati distribuite, elaborazione delle interrogazioni in basi di dati distribuite, controllo della concorrenza e dell affidabilità nelle basi di dati distribuite. Parte 6 - Basi di dati e World Wide Web Nozioni di base (Internet, World Wide Web, HTML, protocollo HTTP); gateway e form; tecniche e strumenti per l'accesso a basi di dati attraverso il Web; accesso a basi di dati tramite programmi CGI; strumenti di sviluppo; limiti del protocollo CGI; soluzioni basate sul server; soluzioni basate sul client; sistemi informativi sul web; progettazione concettuale di applicazioni web. Parte 7 - Argomenti conclusivi (cenni)

20 Basi di dati per il supporto alle decisioni (data warehouse); dati semistrutturati in XML; basi di dati a oggetti; basi di dati attive; basi di dati temporali e spaziali. BIBLIOGRAFIA: Testo adottato P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone, Basi di Dati: Architetture e Linee di Evoluzione, McGraw-Hill, ALTRI TESTI DI RIFERIMENTO: J. D. Ullman. Principles of Databases and Knowledge-Base Systems, Computer Science Press, Volume I. B. Silberschatz, H. F. Korth, S. Sudarshan. Database System Concepts (4th Edition), McGraw- Hill, A. Albano. Costruire sistemi per basi di dati, Addison-Wesley, R. Elmastri, S. Navathe, Fundamentals of Database Systems (4 th Edition), Addison-Wesley, A. Albano, G. Ghelli, R. Orsini. Basi di dati relazionali e a oggetti, Zanichelli, P. Atzeni, S. Ceri, S. Paraboschi, TESTI ADOTTATI: P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone. Basi di dati (Second Edizione), McGraw-Hill, R. Elmasri, S. Navathe. Fundamentals of Database Systems (Third Edition), Benjamin/Cummings, COMUNICAZIONE EFFICACE (Vedi Corso di Laurea in Tecnologie Web e Multimediali) FISICA MODERNA (Vedi Corso di Laurea Specialistica in Fisica Computazionale) DOCENTE: Prof. Agostino Dovier FONDAMENTI DELL'INFORMATICA 2 FINALITÀ DEL CORSO Approfondire le competenze degli argomenti già trattati nel corso di Fondamenti dell'informatica I. Dopo aver superato l'esame si ritiene che lo studente sia in grado di discutere la decidibilità o meno (la polinomialità o meno) di problemi, anche utilizzando tecniche raffinate di riduzione, e conosca gli aspetti rilevanti della teoria dei linguaggi formali. PROGRAMMA Il corso si divide in tre parti: linguaggi formali, calcolabilità e complessità. Linguaggi formali. Richiami sui linguaggi regolari. Automi a stati finiti deterministici e nondeterministici, e loro equivalenza. Espressioni regolari. Pumping Lemma per i linguaggi regolari e sue applicazioni. Proprietà di chiusura e di decidibilità dei linguaggi regolari. Il teorema di Myhill-Nerode; unicità e determinazione dell'automa minimo. Linguaggi liberi dal contesto. Grammatiche libere dal contesto e alberi di derivazione. Grammatiche ambigue. Le forme normali di Chomsky e di Greibach. Il pumping lemma per i linguaggi liberi e le sue applicazioni. Proprietà di chiusura e di decidibilità dei linguaggi liberi. Grammatiche lineari destre e sinistre, grammatiche di tipo 0 e 1 e gerarchia di Chomsky. Calcolabilità. Richiamo dei formalismi delle funzioni primitive ricorsive, ricorsive parziali e Macchine di Turing. Equivalenza tra le funzioni ricorsive parziali e le funzioni Turingcalcolabili. Calcolabilità e Linguaggi di Programmazione. Il linguaggio While: Sintassi, semantica e funzioni While-calcolabili. Turing completezza del linguaggio While. Il linguaggio For. Equivalenza tra funzioni For-calcolabili e funzioni primitive ricorsive. Indecidibilità dell'halting problem senza aritmetizzazione. Il teorema S-m-n per la While calcolabilità e gli

Informatica Applicata

Informatica Applicata Ing. Irina Trubitsyna Concetti Introduttivi Programma del corso Obiettivi: Il corso di illustra i principi fondamentali della programmazione con riferimento al linguaggio C. In particolare privilegia gli

Dettagli

Il Concetto di Processo

Il Concetto di Processo Processi e Thread Il Concetto di Processo Il processo è un programma in esecuzione. È l unità di esecuzione all interno del S.O. Solitamente, l esecuzione di un processo è sequenziale (le istruzioni vengono

Dettagli

QUARTA E QUINTA ISTITUTO TECNICO INDUSTRIALE

QUARTA E QUINTA ISTITUTO TECNICO INDUSTRIALE QUARTA E QUINTA ISTITUTO TECNICO INDUSTRIALE - Matematica - Griglie di valutazione Materia: Matematica Obiettivi disciplinari Gli obiettivi indicati si riferiscono all intero percorso della classe quarta

Dettagli

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory FILE SYSTEM : INTERFACCIA 8.1 Interfaccia del File System Concetto di File Metodi di Accesso Struttura delle Directory Montaggio del File System Condivisione di File Protezione 8.2 Concetto di File File

Dettagli

Informatica. Scopo della lezione

Informatica. Scopo della lezione 1 Informatica per laurea diarea non informatica LEZIONE 1 - Cos è l informatica 2 Scopo della lezione Introdurre le nozioni base della materia Definire le differenze tra hardware e software Individuare

Dettagli

SCHEDA DI PROGRAMMAZIONE DELLE ATTIVITA EDUCATIVE DIDATTICHE. Disciplina: Matematica Classe: 5A sia A.S. 2014/15 Docente: Rosito Franco

SCHEDA DI PROGRAMMAZIONE DELLE ATTIVITA EDUCATIVE DIDATTICHE. Disciplina: Matematica Classe: 5A sia A.S. 2014/15 Docente: Rosito Franco Disciplina: Matematica Classe: 5A sia A.S. 2014/15 Docente: Rosito Franco ANALISI DI SITUAZIONE - LIVELLO COGNITIVO La classe ha dimostrato fin dal primo momento grande attenzione e interesse verso gli

Dettagli

Inter Process Communication. Laboratorio Software 2008-2009 C. Brandolese

Inter Process Communication. Laboratorio Software 2008-2009 C. Brandolese Inter Process Communication Laboratorio Software 2008-2009 C. Brandolese Introduzione Più processi o thread Concorrono alla relaizzazione di una funzione applicativa Devono poter realizzare Sincronizzazione

Dettagli

ALLEGATO al verbale della riunione del 3 Settembre 2010, del Dipartimento di Elettrotecnica e Automazione.

ALLEGATO al verbale della riunione del 3 Settembre 2010, del Dipartimento di Elettrotecnica e Automazione. ALLEGATO al verbale della riunione del 3 Settembre 2010, del Dipartimento di Elettrotecnica e Automazione. COMPETENZE MINIME- INDIRIZZO : ELETTROTECNICA ED AUTOMAZIONE 1) CORSO ORDINARIO Disciplina: ELETTROTECNICA

Dettagli

Architettura dei Calcolatori

Architettura dei Calcolatori Architettura dei Calcolatori Sistema di memoria parte prima Ing. dell Automazione A.A. 2011/12 Gabriele Cecchetti Sistema di memoria parte prima Sommario: Banco di registri Generalità sulla memoria Tecnologie

Dettagli

Amministrazione, finanza e marketing - Turismo Ministero dell Istruzione, dell Università e della Ricerca PROGRAMMAZIONE DISCIPLINARE PER U. di A.

Amministrazione, finanza e marketing - Turismo Ministero dell Istruzione, dell Università e della Ricerca PROGRAMMAZIONE DISCIPLINARE PER U. di A. UdA n. 1 Titolo: Disequazioni algebriche Saper esprimere in linguaggio matematico disuguaglianze e disequazioni Risolvere problemi mediante l uso di disequazioni algebriche Le disequazioni I principi delle

Dettagli

Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Sede di Reggio Emilia

Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Sede di Reggio Emilia Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Sede di Reggio Emilia Corso di Laurea Specialistica in Ingegneria Meccatronica a.a. 2008/2009 Corso di CALCOLATORI ELETTRONICI Capitolo

Dettagli

Rappresentazione dei numeri in un calcolatore

Rappresentazione dei numeri in un calcolatore Corso di Calcolatori Elettronici I A.A. 2010-2011 Rappresentazione dei numeri in un calcolatore Lezione 2 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Rappresentazione dei numeri

Dettagli

GLI ASSI CULTURALI. Allegato 1 - Gli assi culturali. Nota. rimessa all autonomia didattica del docente e alla programmazione collegiale del

GLI ASSI CULTURALI. Allegato 1 - Gli assi culturali. Nota. rimessa all autonomia didattica del docente e alla programmazione collegiale del GLI ASSI CULTURALI Nota rimessa all autonomia didattica del docente e alla programmazione collegiale del La normativa italiana dal 2007 13 L Asse dei linguaggi un adeguato utilizzo delle tecnologie dell

Dettagli

Esercizi per il corso di Algoritmi e Strutture Dati

Esercizi per il corso di Algoritmi e Strutture Dati 1 Esercizi per il corso di Algoritmi e Strutture Dati Esercizi sulla Tecnica Divide et Impera N.B. Tutti gli algoritmi vanno scritti in pseudocodice (non in Java, né in C++, etc. ). Di tutti gli algoritmi

Dettagli

Comandi filtro: sed. Se non si specificano azioni, sed stampa sullo standard output le linee in input, lasciandole inalterate.

Comandi filtro: sed. Se non si specificano azioni, sed stampa sullo standard output le linee in input, lasciandole inalterate. Comandi filtro: sed Il nome del comando sed sta per Stream EDitor e la sua funzione è quella di permettere di editare il testo passato da un comando ad un altro in una pipeline. Ciò è molto utile perché

Dettagli

AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Unified Process. Prof. Agostino Poggi

AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Unified Process. Prof. Agostino Poggi AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Unified Process Prof. Agostino Poggi Unified Process Unified Software Development Process (USDP), comunemente chiamato

Dettagli

Le funzionalità di un DBMS

Le funzionalità di un DBMS Le funzionalità di un DBMS Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: DBMS.pdf Sistemi Informativi L-A DBMS: principali funzionalità Le

Dettagli

Sistemi di supporto alle decisioni Ing. Valerio Lacagnina

Sistemi di supporto alle decisioni Ing. Valerio Lacagnina Cosa è il DSS L elevato sviluppo dei personal computer, delle reti di calcolatori, dei sistemi database di grandi dimensioni, e la forte espansione di modelli basati sui calcolatori rappresentano gli sviluppi

Dettagli

ISTITUTO COMPRENSIVO N 1 LANCIANO - SCUOLA SECONDARIA DI PRIMO GRADO CURRICOLO VERTICALE - Classe Prima MATEMATICA a.s. 2014/2015

ISTITUTO COMPRENSIVO N 1 LANCIANO - SCUOLA SECONDARIA DI PRIMO GRADO CURRICOLO VERTICALE - Classe Prima MATEMATICA a.s. 2014/2015 NUMERI. SPAZIO E FIGURE. RELAZIONI, FUNZIONI, MISURE, DATI E PREVISIONI Le sociali e ISTITUTO COMPRENSIVO N 1 LANCIANO - SCUOLA SECONDARIA DI PRIMO GRADO CURRICOLO VERTICALE - Classe Prima MATEMATICA procedure

Dettagli

GeoGebra 4.2 Introduzione all utilizzo della Vista CAS per il secondo biennio e il quinto anno

GeoGebra 4.2 Introduzione all utilizzo della Vista CAS per il secondo biennio e il quinto anno GeoGebra 4.2 Introduzione all utilizzo della Vista CAS per il secondo biennio e il quinto anno La Vista CAS L ambiente di lavoro Le celle Assegnazione di una variabile o di una funzione / visualizzazione

Dettagli

Architetture CISC e RISC

Architetture CISC e RISC FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Architetture CISC e RISC 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n.

Dettagli

Programmazione Generale. Matematica e Complementi. Classi: 2 Biennio Quarta. Istituto Tecnico Tecnologico Basilio Focaccia Salerno

Programmazione Generale. Matematica e Complementi. Classi: 2 Biennio Quarta. Istituto Tecnico Tecnologico Basilio Focaccia Salerno Istituto Tecnico Tecnologico Basilio Focaccia Salerno Programmazione Generale Matematica e Complementi Classi: 2 Biennio Quarta I Docenti della Disciplina Salerno, lì 12 settembre 2014 Finalità della Disciplina

Dettagli

Introduzione alla Programmazione ad Oggetti in C++

Introduzione alla Programmazione ad Oggetti in C++ Introduzione alla Programmazione ad Oggetti in C++ Lezione 1 Cosa è la Programmazione Orientata agli Oggetti Metodologia per costruire prodotti software di grosse dimensioni che siano affidabili e facilmente

Dettagli

MASTER UNIVERSITARI CORSI di PERFEZIONAMENTO CORSI di FORMAZIONE AVANZATA

MASTER UNIVERSITARI CORSI di PERFEZIONAMENTO CORSI di FORMAZIONE AVANZATA Allegato 1 al bando di gara SCUOLA TELECOMUNICAZIONI FF.AA. CHIAVARI REQUISITO TECNICO OPERATIVO MASTER UNIVERSITARI CORSI di PERFEZIONAMENTO CORSI di FORMAZIONE AVANZATA MASTER DI 2 LIVELLO 1. DIFESA

Dettagli

Così come le macchine meccaniche trasformano

Così come le macchine meccaniche trasformano DENTRO LA SCATOLA Rubrica a cura di Fabio A. Schreiber Il Consiglio Scientifico della rivista ha pensato di attuare un iniziativa culturalmente utile presentando in ogni numero di Mondo Digitale un argomento

Dettagli

Dispense del Corso di Algoritmi e Strutture Dati

Dispense del Corso di Algoritmi e Strutture Dati Dispense del Corso di Algoritmi e Strutture Dati Marco Bernardo Edoardo Bontà Università degli Studi di Urbino Carlo Bo Facoltà di Scienze e Tecnologie Corso di Laurea in Informatica Applicata Versione

Dettagli

FileMaker Server 12. Guida introduttiva

FileMaker Server 12. Guida introduttiva FileMaker Server 12 Guida introduttiva 2007 2012 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker e Bento sono marchi di FileMaker,

Dettagli

Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone. SQL: il DDL

Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone. SQL: il DDL Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone SQL: il DDL Parti del linguaggio SQL Definizione di basi di dati (Data Definition Language DDL) Linguaggio per modificare

Dettagli

Indicizzazione terza parte e modello booleano

Indicizzazione terza parte e modello booleano Reperimento dell informazione (IR) - aa 2014-2015 Indicizzazione terza parte e modello booleano Gruppo di ricerca su Sistemi di Gestione delle Informazioni (IMS) Dipartimento di Ingegneria dell Informazione

Dettagli

COORDINAMENTO PER MATERIE SETTEMBRE 2013 MATERIA DI NUOVA INTRODUZIONE PER EFFETTO DELLA RIFORMA

COORDINAMENTO PER MATERIE SETTEMBRE 2013 MATERIA DI NUOVA INTRODUZIONE PER EFFETTO DELLA RIFORMA Pagina 1 di 5 COORDINAMENTO PER MATERIE SETTEMBRE 2013 MATERIA DI NUOVA INTRODUZIONE PER EFFETTO DELLA RIFORMA AREA DISCIPLINARE : Indirizzo Informatica e Telecomunicazioni, articolazione Informatica.

Dettagli

Scuola primaria: obiettivi al termine della classe 5

Scuola primaria: obiettivi al termine della classe 5 Competenza: partecipare e interagire con gli altri in diverse situazioni comunicative Scuola Infanzia : 3 anni Obiettivi di *Esprime e comunica agli altri emozioni, sentimenti, pensieri attraverso il linguaggio

Dettagli

razionali Figura 1. Rappresentazione degli insiemi numerici Numeri reali algebrici trascendenti frazionari decimali finiti

razionali Figura 1. Rappresentazione degli insiemi numerici Numeri reali algebrici trascendenti frazionari decimali finiti 4. Insiemi numerici 4.1 Insiemi numerici Insieme dei numeri naturali = {0,1,,3,,} Insieme dei numeri interi relativi = {..., 3,, 1,0, + 1, +, + 3, } Insieme dei numeri razionali n 1 1 1 1 = : n, m \{0}

Dettagli

IDENTIFICAZIONE dei MODELLI e ANALISI dei DATI. Lezione 40: Filtro di Kalman - introduzione. Struttura ricorsiva della soluzione.

IDENTIFICAZIONE dei MODELLI e ANALISI dei DATI. Lezione 40: Filtro di Kalman - introduzione. Struttura ricorsiva della soluzione. IDENTIFICAZIONE dei MODELLI e ANALISI dei DATI Lezione 40: Filtro di Kalman - introduzione Cenni storici Filtro di Kalman e filtro di Wiener Formulazione del problema Struttura ricorsiva della soluzione

Dettagli

BIENNIO DI SECONDO LIVELLO IN DISCIPLINE MUSICALI MUSICA ELETTRONICA E TECNOLOGIE DEL SUONO

BIENNIO DI SECONDO LIVELLO IN DISCIPLINE MUSICALI MUSICA ELETTRONICA E TECNOLOGIE DEL SUONO BIENNIO DI SECONDO LIVELLO IN DISCIPLINE MUSICALI MUSICA ELETTRONICA E TECNOLOGIE DEL SUONO Requisiti d'ammissione Dal Regolamento didattico del Conservatorio di Como Ex Art. 24: Ammissione ai corsi di

Dettagli

Universita' di Ferrara Dipartimento di Matematica e Informatica. Algoritmi e Strutture Dati. Rappresentazione concreta di insiemi e Hash table

Universita' di Ferrara Dipartimento di Matematica e Informatica. Algoritmi e Strutture Dati. Rappresentazione concreta di insiemi e Hash table Universita' di Ferrara Dipartimento di Matematica e Informatica Algoritmi e Strutture Dati Rappresentazione concreta di insiemi e Hash table Copyright 2006-2015 by Claudio Salati. Lez. 9a 1 Rappresentazione

Dettagli

Minimizzazione di Reti Logiche Combinatorie Multi-livello

Minimizzazione di Reti Logiche Combinatorie Multi-livello Minimizzazione di Reti Logiche Combinatorie Multi-livello Maurizio Palesi Maurizio Palesi 1 Introduzione Obiettivo della sintesi logica: ottimizzazione delle cifre di merito area e prestazioni Prestazioni:

Dettagli

REGOLAMENTO DIDATTICO DEL CORSO DI LAUREA SPECIALISTICA IN INGEGNERIA ELETTRICA Second level degree in electrical engineering

REGOLAMENTO DIDATTICO DEL CORSO DI LAUREA SPECIALISTICA IN INGEGNERIA ELETTRICA Second level degree in electrical engineering REGOLAMENTO DIDATTICO DEL CORSO DI LAUREA SPECIALISTICA IN INGEGNERIA ELETTRICA Second level degree in electrical engineering ( MODIFICATO IL 29 giugno 2009) Classe 31/S Politecnico di Bari I A Facoltà

Dettagli

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1 DIAGRAMMI A BLOCCHI TEORIA ED ESERCIZI 1 1 Il linguaggio dei diagrammi a blocchi è un possibile formalismo per la descrizione di algoritmi Il diagramma a blocchi, o flowchart, è una rappresentazione grafica

Dettagli

Istituto Istruzione Superiore Liceo Scientifico Ghilarza Anno Scolastico 2013/2014 PROGRAMMA DI MATEMATICA E FISICA

Istituto Istruzione Superiore Liceo Scientifico Ghilarza Anno Scolastico 2013/2014 PROGRAMMA DI MATEMATICA E FISICA PROGRAMMA DI MATEMATICA E FISICA Classe VA scientifico MATEMATICA MODULO 1 ESPONENZIALI E LOGARITMI 1. Potenze con esponente reale; 2. La funzione esponenziale: proprietà e grafico; 3. Definizione di logaritmo;

Dettagli

PROGRAMMA DI FISICA ( CLASSE I SEZ. E) ( anno scol. 2013/2014)

PROGRAMMA DI FISICA ( CLASSE I SEZ. E) ( anno scol. 2013/2014) PROGRAMMA DI FISICA ( CLASSE I SEZ. E) ( anno scol. 2013/2014) Le grandezze fisiche. Metodo sperimentale di Galilei. Concetto di grandezza fisica e della sua misura. Il Sistema internazionale di Unità

Dettagli

LA MOLTIPLICAZIONE IN PRIMA ELEMENTARE

LA MOLTIPLICAZIONE IN PRIMA ELEMENTARE LA MOLTIPLICAZIONE IN PRIMA ELEMENTARE E bene presentarla confrontando tra loro varie tecniche: addizione ripetuta; prodotto combinatorio (schieramenti). Rispetto a quest'ultima tecnica, grande utilità

Dettagli

CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1

CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1 1.1 Che cos è un algoritmo CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1 Gli algoritmi sono metodi per la soluzione di problemi. Possiamo caratterizzare un problema mediante i dati di cui si dispone all inizio

Dettagli

DBMS (Data Base Management System)

DBMS (Data Base Management System) Cos'è un Database I database o banche dati o base dati sono collezioni di dati, tra loro correlati, utilizzati per rappresentare una porzione del mondo reale. Sono strutturati in modo tale da consentire

Dettagli

Prof. Caterina Rizzi Dipartimento di Ingegneria Industriale

Prof. Caterina Rizzi Dipartimento di Ingegneria Industriale RUOLO DELLA MODELLAZIONE GEOMETRICA E LIVELLI DI MODELLAZIONE PARTE 2 Prof. Caterina Rizzi... IN QUESTA LEZIONE Modelli 2D/3D Modelli 3D/3D Dimensione delle primitive di modellazione Dimensione dell oggettoy

Dettagli

Abstract Data Type (ADT)

Abstract Data Type (ADT) Abstract Data Type Pag. 1/10 Abstract Data Type (ADT) Iniziamo la nostra trattazione presentando una nozione che ci accompagnerà lungo l intero corso di Laboratorio Algoritmi e Strutture Dati: il Tipo

Dettagli

Lezioni di Matematica 1 - I modulo

Lezioni di Matematica 1 - I modulo Lezioni di Matematica 1 - I modulo Luciano Battaia 16 ottobre 2008 Luciano Battaia - http://www.batmath.it Matematica 1 - I modulo. Lezione del 16/10/2008 1 / 13 L introduzione dei numeri reali si può

Dettagli

Lezione n.19 Processori RISC e CISC

Lezione n.19 Processori RISC e CISC Lezione n.19 Processori RISC e CISC 1 Processori RISC e Superscalari Motivazioni che hanno portato alla realizzazione di queste architetture Sommario: Confronto tra le architetture CISC e RISC Prestazioni

Dettagli

Processi (di sviluppo del) software. Fase di Analisi dei Requisiti. Esempi di Feature e Requisiti. Progettazione ed implementazione

Processi (di sviluppo del) software. Fase di Analisi dei Requisiti. Esempi di Feature e Requisiti. Progettazione ed implementazione Processi (di sviluppo del) software Fase di Analisi dei Requisiti Un processo software descrive le attività (o task) necessarie allo sviluppo di un prodotto software e come queste attività sono collegate

Dettagli

UML Component and Deployment diagram

UML Component and Deployment diagram UML Component and Deployment diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania I diagrammi UML Classificazione

Dettagli

Analisi dei requisiti e casi d uso

Analisi dei requisiti e casi d uso Analisi dei requisiti e casi d uso Indice 1 Introduzione 2 1.1 Terminologia........................... 2 2 Modello della Web Application 5 3 Struttura della web Application 6 4 Casi di utilizzo della Web

Dettagli

Cos è l Ingegneria del Software?

Cos è l Ingegneria del Software? Cos è l Ingegneria del Software? Corpus di metodologie e tecniche per la produzione di sistemi software. L ingegneria del software è la disciplina tecnologica e gestionale che riguarda la produzione sistematica

Dettagli

Le Reti Informatiche

Le Reti Informatiche Le Reti Informatiche modulo 10 Prof. Salvatore Rosta www.byteman.it s.rosta@byteman.it 1 Nomenclatura: 1 La rappresentazione di uno schema richiede una serie di abbreviazioni per i vari componenti. Seguiremo

Dettagli

PROGRAMMAZIONE DIDATTICA DISCIPLINARE

PROGRAMMAZIONE DIDATTICA DISCIPLINARE MOD PROGRAMMAZIONEDISCIPLINARE REV.00del27.09.13 Pag1di5 PROGRAMMAZIONEDIDATTICADISCIPLINARE Disciplina:_SISTEMIELETTRONICIAUTOMATICIa.s.2013/2014 Classe:5 Sez.A INDIRIZZO:ELETTRONICAPERTELECOMUNICAZIONI

Dettagli

Elementi di Statistica

Elementi di Statistica Elementi di Statistica Contenuti Contenuti di Statistica nel corso di Data Base Elementi di statistica descrittiva: media, moda, mediana, indici di dispersione Introduzione alle variabili casuali e alle

Dettagli

I Metacaratteri della Shell Unix

I Metacaratteri della Shell Unix I Metacaratteri della Shell Unix La shell Unix riconosce alcuni caratteri speciali, chiamati metacaratteri, che possono comparire nei comandi. Quando l utente invia un comando, la shell lo scandisce alla

Dettagli

Università degli Studi di Parma. Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica

Università degli Studi di Parma. Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica A.A. 2007-08 CORSO DI INGEGNERIA DEL SOFTWARE Prof. Giulio Destri http://www.areasp.com (C) 2007 AreaSP for

Dettagli

Introduzione a MySQL

Introduzione a MySQL Introduzione a MySQL Cinzia Cappiello Alessandro Raffio Politecnico di Milano Prima di iniziare qualche dettaglio su MySQL MySQL è un sistema di gestione di basi di dati relazionali (RDBMS) composto da

Dettagli

Lezione n 1! Introduzione"

Lezione n 1! Introduzione Lezione n 1! Introduzione" Corso sui linguaggi del web" Fondamentali del web" Fondamentali di una gestione FTP" Nomenclatura di base del linguaggio del web" Come funziona la rete internet?" Connessione"

Dettagli

RAPPRESENTAZIONE BINARIA DEI NUMERI. Andrea Bobbio Anno Accademico 1996-1997

RAPPRESENTAZIONE BINARIA DEI NUMERI. Andrea Bobbio Anno Accademico 1996-1997 1 RAPPRESENTAZIONE BINARIA DEI NUMERI Andrea Bobbio Anno Accademico 1996-1997 Numeri Binari 2 Sistemi di Numerazione Il valore di un numero può essere espresso con diverse rappresentazioni. non posizionali:

Dettagli

LICEO CLASSICO C. CAVOUR DISCIPLINA : FISICA PROGRAMMAZIONE DIDATTICA ED EDUCATIVA

LICEO CLASSICO C. CAVOUR DISCIPLINA : FISICA PROGRAMMAZIONE DIDATTICA ED EDUCATIVA PROGRAMMAZIONE DIDATTICA ED EDUCATIVA 1. OBIETTIVI SPECIFICI DELLA DISCIPLINA PROGRAMMAZIONE PER COMPETENZE Le prime due/tre settimane sono state dedicate allo sviluppo di un modulo di allineamento per

Dettagli

Modello OSI e architettura TCP/IP

Modello OSI e architettura TCP/IP Modello OSI e architettura TCP/IP Differenza tra modello e architettura - Modello: è puramente teorico, definisce relazioni e caratteristiche dei livelli ma non i protocolli effettivi - Architettura: è

Dettagli

SMARTCARD Studente: Elvis Ciotti Prof: Luciano Margara 1

SMARTCARD Studente: Elvis Ciotti Prof: Luciano Margara 1 SMARTCARD Studente: Elvis Ciotti Prof: Luciano Margara 1 Introduzione SmartCard: Carta intelligente Evoluzione della carta magnetica Simile a piccolo computer : contiene memoria (a contatti elettrici)

Dettagli

Basi di Da( Presentazione del corso

Basi di Da( Presentazione del corso Basi di Da( Presentazione del corso Basi di Da( Prof. Riccardo Martoglia E- mail: riccardo.martoglia@unimo.it Home page del corso: h4p://www.isgroup.unimo.it/corsi/bda: 2 Basi di Dati - Presentazione del

Dettagli

Corso di Programmazione ad Oggetti

Corso di Programmazione ad Oggetti Corso di Programmazione ad Oggetti Introduzione alla programmazione ad oggetti a.a. 2008/2009 Claudio De Stefano 1 La programmazione modulare Un programma può essere visto come un insieme di moduli che

Dettagli

Elementi di semantica denotazionale ed operazionale

Elementi di semantica denotazionale ed operazionale Elementi di semantica denotazionale ed operazionale 1 Contenuti! sintassi astratta e domini sintattici " un frammento di linguaggio imperativo! semantica denotazionale " domini semantici: valori e stato

Dettagli

Gli algoritmi. Gli algoritmi. Analisi e programmazione

Gli algoritmi. Gli algoritmi. Analisi e programmazione Gli algoritmi Analisi e programmazione Gli algoritmi Proprietà ed esempi Costanti e variabili, assegnazione, istruzioni, proposizioni e predicati Vettori e matrici I diagrammi a blocchi Analisi strutturata

Dettagli

Quando A e B coincidono una coppia ordinata é determinata anche dalla loro posizione.

Quando A e B coincidono una coppia ordinata é determinata anche dalla loro posizione. Grafi ed Alberi Pag. /26 Grafi ed Alberi In questo capitolo richiameremo i principali concetti di due ADT che ricorreranno puntualmente nel corso della nostra trattazione: i grafi e gli alberi. Naturale

Dettagli

Bus di sistema. Bus di sistema

Bus di sistema. Bus di sistema Bus di sistema Permette la comunicazione (scambio di dati) tra i diversi dispositivi che costituiscono il calcolatore E costituito da un insieme di fili metallici che danno luogo ad un collegamento aperto

Dettagli

Derivazione elementare dell espressione della quantità di moto e dell energia in relativività ristretta

Derivazione elementare dell espressione della quantità di moto e dell energia in relativività ristretta Derivazione elementare dell espressione della quantità di moto e dell energia in relativività ristretta L. P. 22 Aprile 2015 Sommario L espressione della quantità di moto e dell energia in relatività ristretta

Dettagli

Esercizi per il recupero del debito formativo:

Esercizi per il recupero del debito formativo: ANNO SCOLASTICO 2005/2006 CLASSE 3 ISC Esercizi per il recupero del debito formativo: Disegnare il diagramma e scrivere la matrice delle transizioni di stato degli automi a stati finiti che rappresentano

Dettagli

POLITECNICO DI BARI REGOLAMENTO TEST DI AMMISSIONE

POLITECNICO DI BARI REGOLAMENTO TEST DI AMMISSIONE POLITECNICO DI BARI REGOLAMENTO TEST DI AMMISSIONE IMMATRICOLAZIONI AL PRIMO ANNO DEI CORSI DI LAUREA TRIENNA- LI IN INGEGNERIA DEL POLITECNICO DI BARI - A.A. 2015/2016 Sommario REGOLAMENTO TEST DI AMMISSIONE...

Dettagli

RUP (Rational Unified Process)

RUP (Rational Unified Process) RUP (Rational Unified Process) Caratteristiche, Punti di forza, Limiti versione del tutorial: 3.3 (febbraio 2007) Pag. 1 Unified Process Booch, Rumbaugh, Jacobson UML (Unified Modeling Language) notazione

Dettagli

Business Process Management

Business Process Management Corso di Certificazione in Business Process Management Progetto Didattico 2015 con la supervisione scientifica del Dipartimento di Informatica Università degli Studi di Torino Responsabile scientifico

Dettagli

Guida rapida all uso di ECM Titanium

Guida rapida all uso di ECM Titanium Guida rapida all uso di ECM Titanium Introduzione Questa guida contiene una spiegazione semplificata del funzionamento del software per Chiputilizzare al meglio il Tuning ECM Titanium ed include tutte

Dettagli

Elementi di UML (7): Diagrammi dei componenti e di deployment

Elementi di UML (7): Diagrammi dei componenti e di deployment Elementi di UML (7): Diagrammi dei componenti e di deployment Università degli Studi di Bologna Facoltà di Scienze MM. FF. NN. Corso di Laurea in Scienze di Internet Anno Accademico 2004-2005 Laboratorio

Dettagli

Il World Wide Web: nozioni introduttive

Il World Wide Web: nozioni introduttive Il World Wide Web: nozioni introduttive Dott. Nicole NOVIELLI novielli@di.uniba.it http://www.di.uniba.it/intint/people/nicole.html Cos è Internet! Acronimo di "interconnected networks" ("reti interconnesse")!

Dettagli

Programmazione Modulare

Programmazione Modulare Indirizzo: BIENNIO Programmazione Modulare Disciplina: FISICA Classe: 2 a D Ore settimanali previste: (2 ore Teoria 1 ora Laboratorio) Prerequisiti per l'accesso alla PARTE D: Effetti delle forze. Scomposizione

Dettagli

AA 2006-07 LA RICORSIONE

AA 2006-07 LA RICORSIONE PROGRAMMAZIONE AA 2006-07 LA RICORSIONE AA 2006-07 Prof.ssa A. Lanza - DIB 1/18 LA RICORSIONE Il concetto di ricorsione nasce dalla matematica Una funzione matematica è definita ricorsivamente quando nella

Dettagli

Lezione 15 File System

Lezione 15 File System Lezione 15 File System Sistemi Operativi (9 CFU), CdL Informatica, A. A. 2014/2015 Dipartimento di Scienze Fisiche, Informatiche e Matematiche Università di Modena e Reggio Emilia http://weblab.ing.unimo.it/people/andreolini/didattica/sistemi-operativi

Dettagli

Le funzioni continue. A. Pisani Liceo Classico Dante Alighieri A.S. 2002-03. A. Pisani, appunti di Matematica 1

Le funzioni continue. A. Pisani Liceo Classico Dante Alighieri A.S. 2002-03. A. Pisani, appunti di Matematica 1 Le funzioni continue A. Pisani Liceo Classico Dante Alighieri A.S. -3 A. Pisani, appunti di Matematica 1 Nota bene Questi appunti sono da intendere come guida allo studio e come riassunto di quanto illustrato

Dettagli

Cristian Secchi Pag. 1

Cristian Secchi Pag. 1 CONTROLLI DIGITALI Laurea Magistrale in Ingegneria Meccatronica SISTEMI A TEMPO DISCRETO Ing. Tel. 0522 522235 e-mail: cristian.secchi@unimore.it http://www.dismi.unimo.it/members/csecchi Richiami di Controlli

Dettagli

PROBABILITA, VALORE ATTESO E VARIANZA DELLE QUANTITÁ ALEATORIE E LORO RELAZIONE CON I DATI OSSERVATI

PROBABILITA, VALORE ATTESO E VARIANZA DELLE QUANTITÁ ALEATORIE E LORO RELAZIONE CON I DATI OSSERVATI statistica, Università Cattaneo-Liuc, AA 006-007, lezione del 08.05.07 IDICE (lezione 08.05.07 PROBABILITA, VALORE ATTESO E VARIAZA DELLE QUATITÁ ALEATORIE E LORO RELAZIOE CO I DATI OSSERVATI 3.1 Valore

Dettagli

Algoritmo euclideo, massimo comun divisore ed equazioni diofantee

Algoritmo euclideo, massimo comun divisore ed equazioni diofantee Algoritmo euclideo, massimo comun divisore ed equazioni diofantee Se a e b sono numeri interi, si dice che a divide b, in simboli: a b, se e solo se esiste c Z tale che b = ac. Si può subito notare che:

Dettagli

ITALIANO - ASCOLTARE E PARLARE

ITALIANO - ASCOLTARE E PARLARE O B I E T T I V I M I N I M I P E R L A S C U O L A P R I M A R I A E S E C O N D A R I A D I P R I M O G R A D O ITALIANO - ASCOLTARE E PARLARE Ascoltare e comprendere semplici consegne operative Comprendere

Dettagli

Informatica per la comunicazione" - lezione 9 -

Informatica per la comunicazione - lezione 9 - Informatica per la comunicazione" - lezione 9 - Protocolli di livello intermedio:" TCP/IP" IP: Internet Protocol" E il protocollo che viene seguito per trasmettere un pacchetto da un host a un altro, in

Dettagli

Appunti di Sistemi Operativi. Enzo Mumolo e-mail address :mumolo@units.it web address :www.units.it/mumolo

Appunti di Sistemi Operativi. Enzo Mumolo e-mail address :mumolo@units.it web address :www.units.it/mumolo Appunti di Sistemi Operativi Enzo Mumolo e-mail address :mumolo@units.it web address :www.units.it/mumolo Indice 1 Cenni su alcuni algoritmi del Kernel di Unix 1 1.1 Elementi di Unix Internals.................................

Dettagli

Rational Asset Manager, versione 7.1

Rational Asset Manager, versione 7.1 Rational Asset Manager, versione 7.1 Versione 7.1 Guida all installazione Rational Asset Manager, versione 7.1 Versione 7.1 Guida all installazione Note Prima di utilizzare queste informazioni e il prodotto

Dettagli

Istituto Superiore Vincenzo Cardarelli Istituto Tecnico per Geometri Liceo Artistico A.S. 2014 2015

Istituto Superiore Vincenzo Cardarelli Istituto Tecnico per Geometri Liceo Artistico A.S. 2014 2015 Istituto Superiore Vincenzo Cardarelli Istituto Tecnico per Geometri Liceo Artistico A.S. 2014 2015 Piano di lavoro annuale Materia : Fisica Classi Quinte Blocchi tematici Competenze Traguardi formativi

Dettagli

Ricapitoliamo. Ricapitoliamo

Ricapitoliamo. Ricapitoliamo Ricapitoliamo Finora ci siamo concentrati sui processi computazionali e sul ruolo che giocano le procedure nella progettazione dei programmi In particolare, abbiamo visto: Come usare dati primitivi (numeri)

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione Le Reti di Calcolatori (parte 2) Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Docente: Daniela

Dettagli

Descrizioni VHDL Behavioral

Descrizioni VHDL Behavioral 1 Descrizioni VHDL Behavioral In questo capitolo vedremo come la struttura di un sistema digitale è descritto in VHDL utilizzando descrizioni di tipo comportamentale. Outline: process wait statements,

Dettagli

Introduzione alle applicazioni di rete

Introduzione alle applicazioni di rete Introduzione alle applicazioni di rete Definizioni base Modelli client-server e peer-to-peer Socket API Scelta del tipo di servizio Indirizzamento dei processi Identificazione di un servizio Concorrenza

Dettagli

Talento LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) L'UTILIZZO DI ALTRI SERVIZI INTERNET. In questa lezione imparerete a:

Talento LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) L'UTILIZZO DI ALTRI SERVIZI INTERNET. In questa lezione imparerete a: Lab 4.1 Utilizzare FTP (File Tranfer Protocol) LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) In questa lezione imparerete a: Utilizzare altri servizi Internet, Collegarsi al servizio Telnet, Accedere

Dettagli

Master Universitario di II livello in PROJECT MANAGEMENT: MANAGING COMPLEXITY a.a. 2014/2015 MANIFESTO DEGLI STUDI

Master Universitario di II livello in PROJECT MANAGEMENT: MANAGING COMPLEXITY a.a. 2014/2015 MANIFESTO DEGLI STUDI Master Universitario di II livello in PROJECT MANAGEMENT: MANAGING COMPLEXITY a.a. 201/2015 MANIFESTO DEGLI STUDI Art. 1 - Attivazione e scopo del Master 1 E' attivato per l'a.a. 201/2015 presso l'università

Dettagli

CLASSE 76/A -TRATTAMENTO TESTI, CALCOLO, CONTABILITÀ ELETTRONICA ED APPLICAZIONI GESTIONALI. Ambito Disciplinare 6.

CLASSE 76/A -TRATTAMENTO TESTI, CALCOLO, CONTABILITÀ ELETTRONICA ED APPLICAZIONI GESTIONALI. Ambito Disciplinare 6. CLASSE 76/A -TRATTAMENTO TESTI, CALCOLO, CONTABILITÀ ELETTRONICA ED APPLICAZIONI GESTIONALI Ambito Disciplinare 6 Programma d'esame CLASSE 75/A - DATTILOGRAFIA, STENOGRAFIA, TRATTAMENTO TESTI E DATI Temi

Dettagli

Principal Component Analysis

Principal Component Analysis Principal Component Analysis Alessandro Rezzani Abstract L articolo descrive una delle tecniche di riduzione della dimensionalità del data set: il metodo dell analisi delle componenti principali (Principal

Dettagli

Business Process Modeling and Notation e WebML

Business Process Modeling and Notation e WebML Business Process Modeling and Notation e WebML 24 Introduzione I Web Service e BPMN sono standard de facto per l interoperabilità in rete a servizio delle imprese moderne I Web Service sono utilizzati

Dettagli

Oggetti Lezione 3. aspetti generali e definizione di classi I

Oggetti Lezione 3. aspetti generali e definizione di classi I Programmazione a Oggetti Lezione 3 Il linguaggio Java: aspetti generali e definizione di classi I Sommario Storia e Motivazioni Definizione di Classi Campi e Metodi Istanziazione di oggetti Introduzione

Dettagli

Guida Dell di base all'acquisto dei server

Guida Dell di base all'acquisto dei server Guida Dell di base all'acquisto dei server Per le piccole aziende che dispongono di più computer è opportuno investire in un server che aiuti a garantire la sicurezza e l'organizzazione dei dati, consentendo

Dettagli