MAT/02 - Algebra
Sistemi Lineari: sistemi a scala, riduzione a scala; tecniche di calcolo
MAT/02 - Algebra
Autovalori e autovettori:polinomio caratteristico; diagonalizzazione di una matrice
MAT/02 - Algebra
Prodotti scalari:disuguaglianza di Cauchy-Schwarz; basi ortonormali; spazi vettoriali euclidei
MAT/03 - Geometria
Geometria Spazi affini euclidei di dimensione 2,3 : rette; parallelismo e ortogonalita' di rette; distanza di due punti, distanza punto retta (in dimensione 2)
MAT/02 - Algebra
Strutture algebriche: gruppoidi, semigruppi, monoidi, gruppi, anelli; campi. Dominio di integrita' dei polinomi a coefficienti in un campo.Strutture algebriche:gruppoidi,semigruppi, monoidi,gruppi, anelli; campi ,Domidio di integrita' dei polinomi a coefficienti in un campo. Spazi vettoriali su un campo : sottospazi ; indipendenza lineare e basi; esistenza delle basi; somma e intersezione di sottospazi; somme dirette.
MAT/03 - Geometria
Accenni a problemi di geometria computazionale: diagrammi di Voronoi.
(*) Le sottoaree con asterisco sono quelle che il GRIN auspica facciano parte in via prioritaria dei sillabi degli insegnamenti assegnati all?area stessa
Riepilogo dell'insegnamento: ALGORITMI E STRUTTURE DATI 1
Nome
ALGORITMI E STRUTTURE DATI 1
CFU
9
Ore di didattica frontale per CFU
8
Settore Scientifico Disciplinare
INF/01
9 cfu così ripartiti nelle aree:
1 CFU nell'area A - Fondamenti
8 CFU nell'area B - Algoritmi
Sillabo dell'insegnamento
A - Fondamenti
COM - Complessita'
La RAM con criterio di costo uniforme e logaritmico. Complessit`a di un algoritmo e di un problema. Ordini di grandezza delle funzioni. Limiti inferiori alla complessita'. Relazioni di ricorrenza e Lemma Fondamentale.
B - Algoritmi
*
ASC - Algoritmi su Strutture Combinatorie
Grafi, generalita' e rappresentazione in memoria. Visite di grafi, BFS e DFS. Alberi di copertura e componenti connesse. Classificazione degli archi. Grafi diretti aciclici e ordine topologico. Algoritmi per minimum spanning tree (Prim e Kruskal). Cammini minimi da sorgente unica: algorimi di Dijkstra, algoritmo di Bellman-Ford.
*
SDF - Strutture di Dati Fondamentali
Strutture di dati: dati statici e dinamici. Arrays. Liste: realizzazione con puntatori e con cursori. Pile: realizzazione con puntatori e con arrays. Code: realizzazione con puntatori e con arrays.
*
A - Algoritmi fondamentali
Algoritmi di ordinamento: selection-sort, insertion-sort, bubble-sort. Tecnica divide et impera: algoritmo di Karatsuba-Hofman, ricerca binaria, mergesort. Partition, quick-sort, quick-sort randomizzato. Analisi della complessita' e limiti inferiori alla complessita' del problema di ordinamento per confronti. Algoritmi lineari non basati sul confronto: counting-sort, radix-sort, bucket-sort.
*
A - Algoritmi fondamentali
Ricerca del secondo minimo. Ricerca del minimo e del massimo in una sequenza. Selezione dell'i-esimo elemento, calcolo del mediano: algoritmo deterministico e randomizzato.
*
SDF - Strutture di Dati Fondamentali
Tabelle con indirizzamento diretto. Tabelle hash. Funzioni hash. Gestione delle collisioni. Liste di trabocco, indirizzamento aperto.
*
SDF - Strutture di Dati Fondamentali
Alberi ordinali, realizzazione. Alberi binari di ricerca. Ricerca di una chiave, minimo, massimo, successore, predecessore, inserimento e cancellazione. Problema del bilanciamento. Alberi AVL, rotazioni. Strutture dati per insiemi disgiunti. Alberi 2-3.
*
SDF - Strutture di Dati Fondamentali
Heap. Costruzione di un heap,inserimento, cancellazione, mantenimento della proprieta' di heap. Heapsort. Coda a priorit`a
TAPA - Tecniche fondamentali di Analisi e Progetto di Algoritmi
Programmazione dinamica: distanza di edit. Partizione, zaino 0-1. Parentesizzazione ottima. Algoritmi greedy: zaino reale.
(*) Le sottoaree con asterisco sono quelle che il GRIN auspica facciano parte in via prioritaria dei sillabi degli insegnamenti assegnati all?area stessa
Riepilogo dell'insegnamento: ALGORITMI E STRUTTURE DATI 2
Nome
ALGORITMI E STRUTTURE DATI 2
CFU
6
Ore di didattica frontale per CFU
8
Settore Scientifico Disciplinare
INF/01
6 cfu così ripartiti nelle aree:
2 CFU nell'area A - Fondamenti
4 CFU nell'area B - Algoritmi
Sillabo dell'insegnamento
A - Fondamenti
COM - Complessita'
Problemi decisionali. Classi di complessita P, NP, NPC. Riduzioni polinomiali. Il teorema di Cook (cenni).
COM - Complessita'
Algoritmi di approssimazione: minimum vertex cover, commesso viaggiatore.
B - Algoritmi
*
ASC - Algoritmi su Strutture Combinatorie
Cammini minimi fra tutte le coppie: algoritmo di Floyd-Warshall, algoritmo di Johnson per grafi sparsi. Chiusura transitiva. Componenti fortemente connesse di un grafo.
*
A - Algoritmi fondamentali
Algoritmi randomizzati, test di primalit`a di Miller-Rabin. Algoritmi di geometria computazionale: inviluppo convesso ( algoritmo di Gra- ham, algoritmo di Jarvis), algoritmo sweeping. External memory model, k-way mergesort. Algoritmi online, algoritmo MTF, algoritmi di paging.
SDA - Strutture di Dati Avanzate
B-alberi. Heap binomiali. Heap di Fibonacci. Trie, suffix tree, suffix array.
*
A - Algoritmi fondamentali
Algoritmo FFT, algoritmo di Cooley-Tuckey, prodotto di polinomi. FFT in strutture finite, algoritmo di Schonhage-Strassen per il prodotto di interi (cenni). String matching esatto: algoritmo Knuth-Morris-Pratt, algoritmo Boyer- Moore.
(*) Le sottoaree con asterisco sono quelle che il GRIN auspica facciano parte in via prioritaria dei sillabi degli insegnamenti assegnati all?area stessa
Riepilogo dell'insegnamento: ANALISI MATEMATICA
Nome
ANALISI MATEMATICA
CFU
9
Ore di didattica frontale per CFU
8
Settore Scientifico Disciplinare
MAT/05
9 cfu così ripartiti nelle aree:
9 CFU nell'area MAT - Crediti di MATEMATICA
Sillabo dell'insegnamento
MAT - Crediti di MATEMATICA
MAT/05 - Analisi Matematica
Insiemi: relazione di appartenenza. Sottoinsiemi, insieme delle parti, insieme vuoto. Operazioni con insiemi: unione, intersezione, differenza, differenza simmetrica, complementare. Insiemi dati per elencazione, per proprieta` caratteristica. Connettivi e quantificatori.
MAT/05 - Analisi Matematica
Insiemi numerici (N, Z, Q, R, C) e loro proprieta` principali. Operazioni e loro proprieta`. Ordinamento totale degli insiemi N, Z, Q, R. Equazioni e disequazioni. Polinomi.
MAT/05 - Analisi Matematica
Funzioni: dominio, codominio, immagine, immagine inversa, grafico. Funzioni iniettive, suriettive, biiettive. Composizione di funzioni. Grafici delle funzioni elementari. Funzione identica, funzioni costanti, funzioni lineari e affini, potenze con esponente fissato, valore assoluto, segno, parte intera, parte frazionaria, funzioni esponenziali e logaritmiche, funzioni trigonometriche. Funzioni polinomiali.
MAT/05 - Analisi Matematica
Proprieta` dei numeri reali: la completezza. Estremo superiore, estremo inferiore, massimo e minimo.
MAT/05 - Analisi Matematica
Successioni e serie numeriche. Successioni definite per ricorrenza o con assegnato termine generale. Induzione matematica. Successioni aritmetiche, geometriche, di Fibonacci, algoritmo di Erone-Newton.
MAT/05 - Analisi Matematica
Definizione di limite finito e di limite infinito. Teorema dell'unicita` del limite e della permanenza del segno. Esistenza del limite di successioni monotone. Esempi di successioni che non hanno limite. Operazioni con i limiti. Limite di alcune particolari successioni ("limiti notevoli").
MAT/05 - Analisi Matematica
Calcolo Differenziale. Funzioni reali di variabile reale. Dominio e codominio. Limiti agli estremi del dominio. Studio di funzioni a partire da elementi grezzi. Funzioni continue in un punto, in un insieme. Definizione di limite. Teoremi dell'unicita` del limite e della permanenza del segno. Proprieta` delle funzioni continue. Esistenza del limite per funzioni monotone. Teorema di esistenza degli zeri e teorema di Bolzano-Weierstrass.
MAT/05 - Analisi Matematica
Rapporto incrementale, derivata in un punto. Piccole variazioni. Interpretazione geometrica della derivata e retta tangente. Relazione fra derivabilita` e continuita`. Funzione derivata. Derivata di somma, prodotto, rapporto e composizione di due funzioni. Derivate delle funzioni elementari. Teoremi sulle derivate (Rolle, Lagrange, Cauchy). Segno della derivata e monotonia. Studio di funzioni. Problemi di massimo e minimo. Concavita` e convessita`. Derivata seconda e derivate successive. Punti di flesso. Teorema di de l'Hopital. Asintoti di funzioni reali. Applicazione al calcolo dei limiti.
MAT/05 - Analisi Matematica
Calcolo Integrale. Aree e misura. Il problema inverso della derivazione. Integrale di Cauchy per funzioni di una variabile reale. Condizioni necessarie e sufficienti per l'integrabilita`. Integrabilita` delle funzioni monotone e delle funzioni continue. Funzione integrale. Proprieta`: additivita` e monotonia. Media di una funzione continua. Teorema della Media. Insieme delle primitive di una funzione continua. Relazione fra primitive, funzione integrale e aree. Il Teorema Fondamentale del Calcolo Integrale. Metodi di integrazione: funzioni razionali, sostituzione, parti.
(*) Le sottoaree con asterisco sono quelle che il GRIN auspica facciano parte in via prioritaria dei sillabi degli insegnamenti assegnati all?area stessa
Riepilogo dell'insegnamento: ARCHITETTURA DEGLI ELABORATORI
Nome
ARCHITETTURA DEGLI ELABORATORI
CFU
6
Ore di didattica frontale per CFU
8
Settore Scientifico Disciplinare
INF/01
6 cfu così ripartiti nelle aree:
6 CFU nell'area E - Architetture
Sillabo dell'insegnamento
E - Architetture
*
AC - Aritmetica dei calcolatori
Sistemi di elaborazione. Evoluzione storica e tecnologica. Architettura e organizzazione dei calcolatori elettronici. Modelli di sistema e livelli di astrazione. Sistemi di numerazione binario, esadecimale e ottale. Rappresentazione binaria dei numeri reali. Informazioni di carattere alfanumerico. Rappresentazione di suoni, immagini e video.
*
CCS - Circuiti combinatori e sequenziali
Algebra delle reti. Circuiti logici elementari. Forme canoniche e trasformazioni. Minimizzazione logica. Reti combinatorie. Reti sequenziali
*
LII - Livello Instruction Set
Relazione tra livello funzionale e livello micro-architettura. Organizzazione di un calcolatore moderno. Il repertorio delle istruzioni. La CPU. I sistemi di memoria. Il sottosistema di I/O.
*
ASS - Linguaggio Assembler
Architettura IA-32. Le CPU IA-32: gestione della memoria, registri, flag. Istruzioni dell'assembly IA-32. Set di istruzioni aggiuntive dei moderni microprocessori: MMX, 3DNow!, SSE, SSE2. Programmazione assembly ed interfaccia con il linguaggio C.
V - Varie
Cenni al sistema operativo. Cenni alla struttura dei compilatori di linguaggi tipo-C. Cenni alla generazione di codice assembly per un sotto-insieme del C.
*
LMP - Livello di Microprogrammazione
La microarchitettura: progettazione hardwired e micro-programmata. Approfondimenti sulle architetture micro-programmate. Cenni alla struttura di una architettura micro-programmata compatibile con le CPU tipo NMOS 6502 Gestione del I/O a livello micro-architettura: interrupt e DMA. Interazione con il livello software
(*) Le sottoaree con asterisco sono quelle che il GRIN auspica facciano parte in via prioritaria dei sillabi degli insegnamenti assegnati all?area stessa
Riepilogo dell'insegnamento: BASI DI DATI
Nome
BASI DI DATI
CFU
9
Ore di didattica frontale per CFU
8
Settore Scientifico Disciplinare
INF/01
9 cfu così ripartiti nelle aree:
9 CFU nell'area G - Basi di dati
Sillabo dell'insegnamento
G - Basi di dati
*
DBMS - Sistemi di Gestione di Basi di Dati
Introduzione ai sistemi di gestione di basi di dati.
*
DBMS - Sistemi di Gestione di Basi di Dati
Introduzione ad uno specifico sistema di gestione di basi di dati, con esercitazioni pratiche e preparazione di un progetto da discutere in sede di esame.
*
ML - Modelli logici
Il modello relazionale dei dati
*
LI - Linguaggi di Interrogazione di Basi di Dati
Algebra e calcolo relazionale. Consistenza: vincoli di integrita`. Il linguaggio SQL
LP - Linguaggi di Programmazione di Basi di Dati
Utilizzo di SQL nei linguaggi di programmazione. Basi di dati attive: stored procedure e trigger.
*
PC - Progettazione concettuale
Metodologie per il progetto di basi di dati: il modello Entita' -Relazione e la progettazione concettuale.
*
PL - Progettazione Logica
Progettazione logica: traduzione dal modello concettuale al modello relazionale. Sicurezza: gestione dei diritti di accesso. Cenni sulla progettazione fisica.
NBD - Normalizzazione di Basi di Dati
Normalizzazione di schemi di basi di dati.
TCR - Transazioni, Concorrenza e Recovery
Atomicita` e persistenza: ripristino della base dati in caso di guasto. Isolamento: concorrenza e gestione delle transazioni.
(*) Le sottoaree con asterisco sono quelle che il GRIN auspica facciano parte in via prioritaria dei sillabi degli insegnamenti assegnati all?area stessa
Riepilogo dell'insegnamento: CALCOLO NUMERICO
Nome
CALCOLO NUMERICO
CFU
12
Ore di didattica frontale per CFU
8
Settore Scientifico Disciplinare
MAT/08
12 cfu così ripartiti nelle aree:
12 CFU nell'area MAT - Crediti di MATEMATICA
Sillabo dell'insegnamento
MAT - Crediti di MATEMATICA
MAT/08 - Analisi Numerica
Sistemi di numerazione. Rappresentazione dei numeri in un calcolatore. Errori di arrotondamento e operazioni macchina. Conversione di base. Cancellazione numerica.
MAT/08 - Analisi Numerica
Condizionamento di un problema e stabilità di un algoritmo. Complessità computazionale. Analisi dell'errore.
MAT/08 - Analisi Numerica
Algebra lineare numerica: preliminari. Algebra lineare numerica 1. Risoluzione di sistemi triangolari. Il metodo di eliminazione Gaussiana. Effetto degli errori di arrotondamento. Pivoting. Scaling.
MAT/08 - Analisi Numerica
Calcolo dell'inversa di una matrice. Analisi di stabilità per sistemi lineari. Il numero di condizionamento di una matrice. Fattorizzazione LU. Matrici simmetriche e definite positive: fattorizzazione di Cholesky. Matrici tridiagonali. Fattorizzazioni.
MAT/08 - Analisi Numerica
Metodi iterativi per la risoluzione di sistemi lineari. Convergenza. Metodo di Jacobi. Metodo di Gauss-Seidel. Metodo di rilassamento. Sistemi tridiagonali a blocchi. Calcolo di autovalori di matrici tridiagonali simmetriche.
MAT/08 - Analisi Numerica
Equazioni non lineari. Metodo di bisezione. Metodo delle secanti. Metodo della Regula falsi. Metodo delle corde. Studio della convergenza del metodo di Newton. Radici reali di polinomi. Convergenza e tecniche di arresto per i metodi iterativi.
MAT/08 - Analisi Numerica
Introduzione a MATLAB 7. Matlab come ambiente di calcolo. Array e matrici. Files, funzioni e strutture dati. Diagrammi. Grafica 3D.
MAT/08 - Analisi Numerica
Matlab come linguaggio di programmazione.
MAT/08 - Analisi Numerica
Matlab come strumento per l'implementazione e l'analisi di algoritmi numerici.
MAT/08 - Analisi Numerica
Integrazione Numerica. Formule interpolatorie. Formule di Newton-Cotes. Forma dell'errore nelle formule Newtoniane. Studio della convergenza. Cenno alle formule adattive.
MAT/08 - Analisi Numerica
Problema generale di interpolazione lineare. Costruzione del polinomio di interpolazione. Formula di interpolazione di Lagrange. Interpolazione di Hermite. Formula di Newton alle differenze divise. Stabilità e convergenza. Rappresentazione dell'errore.
MAT/08 - Analisi Numerica
Funzioni spline. Costruzione di una base per le funzioni spline. Proprietà di norma minima per le funzioni spline. Metodo dei minimi quadrati: caso discreto. Cenno sul caso continuo.
(*) Le sottoaree con asterisco sono quelle che il GRIN auspica facciano parte in via prioritaria dei sillabi degli insegnamenti assegnati all?area stessa
Riepilogo dell'insegnamento: FISICA
Nome
FISICA
CFU
9
Ore di didattica frontale per CFU
8
Settore Scientifico Disciplinare
FIS/01
9 cfu così ripartiti nelle aree:
9 CFU nell'area altro - Crediti NON dell'INFORMATICA nè della MATEMATICA
Sillabo dell'insegnamento
Non è presente il sillabo poiché non vi sono crediti allocati in aree per cui è previsto.
*
ALF - Automi e Linguaggi Formali
Linguaggi liberi dal contesto.
*
CAL - Calcolabilita'
Macchine di Turing.
*
CAL - Calcolabilita'
Funzioni calcolabili e non. Cenni su insiemi ricorsivi e ricorsivamente enumerabili.
SLP - Semantica dei Linguaggi di Programmazione
Calcolabilita` e linguaggi di programmazione.
D - Linguaggi
PLN - Paradigmi Linguistici
Descrizione dei linguaggi di programmazione. Nomi e ambiente.
*
TTCI - Tecniche di Traduzione: Compilatori e Interpreti
Interpreti e compilatori.
*
MATR - Macchine Astratte e Tecniche per la Realizzazione dei linguaggi di programmazione
Gestione della memoria. Strutture e astrazioni del controllo. Strutture e astrazioni dei dati.
(*) Le sottoaree con asterisco sono quelle che il GRIN auspica facciano parte in via prioritaria dei sillabi degli insegnamenti assegnati all?area stessa
Riepilogo dell'insegnamento: FONDAMENTI DI PROGRAMMAZIONE A e B
Nome
FONDAMENTI DI PROGRAMMAZIONE A e B
CFU
15
Ore di didattica frontale per CFU
8
Settore Scientifico Disciplinare
INF/01
15 cfu così ripartiti nelle aree:
12 CFU nell'area C - Programmazione
3 CFU nell'area D - Linguaggi
Sillabo dell'insegnamento
C - Programmazione
*
SDTD - Strutture Dati e Tipi di Dati astratti
Tipi di dato astratti (ADT). Classi parametriche: dichiarazione, istanziazione. Realizzazione di tipi di dato astratti in C++. Problematiche con allocazione dinamica della memoria.
*
POO - Programmazione Orientata agli Oggetti
Classi e oggetti. Motivazioni. Dichiarazione di classe in C++. Creazione ed uso di oggetti. Inizializzazione di oggetti: costruttori.
*
POO - Programmazione Orientata agli Oggetti
''Incapsulamento'' e ''Information hiding''. ''Overloading'' di funzioni ed operatori in C++. Ereditarieta': motivazioni, meccanismi.
*
R - Ricorsione
Ricorsione. Definizioni e funzioni ricorsive. Esempi (in partic., ordinamento basato su ''merge-sort''). Gestione della memoria: record d'attivazione, pila di sistema. Ricorsione vs. iterazione.
*
P - Procedure
Dichiarazione e chiamata di funzione in C++. Passaggio parametri: per valore, per riferimento. Struttura a blocchi. Nomi, ambienti e regole di ''scope''. Tempo di vita di un oggetto. Gestione delle eccezioni: motivazioni, meccanismi.
*
SDTD - Strutture Dati e Tipi di Dati astratti
Strutture dati astratte vs. concrete. Array in C++ (realizzazione vettori, matrici, stringhe). Struct in C++ (realizzazione record, tabelle). Puntatori ed allocazione dinamica della memoria.
*
PSA - Problem Solving e Algoritmi
Il concetto di algoritmo. Rappresentazione di algoritmi. Diagrammi di flusso. Variabili e assegnamento. Strutture di controllo. Risoluzione di problemi: esempi (in partic., ordinamento).
*
CB - Costrutti di Base
Dichiarazioni. Tipi di dato primitivi. Tipi semplici del C++. Assegnamento. Espressioni ed operatori. Struttura di un programma. Input/output di base. Comandi per il controllo di sequenza.
*
POO - Programmazione Orientata agli Oggetti
Interfacce Grafiche (GUI) in Java. Tipi di oggetti di una GUI in Java. Eventi e Listener.
*
SS - Sintassi e Semantica
Descrizione della sintassi di un linguaggio. Grammatiche. Diagrammi sintattici e BNF. La sintassi delle espessioni. Semantica dei linguaggi di programmazione (cenni)
*
POO - Programmazione Orientata agli Oggetti
Programmazione Orientata agli Oggetti in Java. Struttura di un programma Java. Reference e oggetti. Ereditarieta'.
*
POO - Programmazione Orientata agli Oggetti
Programmazione Orientata agli Oggetti in Java. Gerarchia di classi. Tipi "wrapper". Interfacce e implementazioni. Esempi di interfacce di librerie standard.
D - Linguaggi
*
TTCI - Tecniche di Traduzione: Compilatori e Interpreti
Compilazione ed interpretazione. Struttura e funzionamento di un compilatore. Modello d'esecuzione di programmi Java.
MP - Metodologie di Programmazione
La nozione di modulo. Interfaccia ed implementazione. Forme di modularizzazione. Progettazione ''object-oriented''. Classi e modularizzazione in C++.
MP - Metodologie di Programmazione
Programmazione strutturata. Sviluppo programmi ''per raffinamenti successivi''. Ciclo di sviluppo dei programmi. ''Programming-in-the-large'' vs. ''Programming-in-the-small''.
(*) Le sottoaree con asterisco sono quelle che il GRIN auspica facciano parte in via prioritaria dei sillabi degli insegnamenti assegnati all?area stessa
Riepilogo dell'insegnamento: INGEGNERIA DEL SOFTWARE
Nome
INGEGNERIA DEL SOFTWARE
CFU
9
Ore di didattica frontale per CFU
8
Settore Scientifico Disciplinare
INF/01
9 cfu così ripartiti nelle aree:
9 CFU nell'area I - Ingegneria del software
Sillabo dell'insegnamento
I - Ingegneria del software
*
PSS - Processi di Sviluppo del Software
Il processo di sviluppo del software: aspetti economici, organizzativi e metodologici; il gruppo di lavoro; prodotto software e processo; il ciclo di vita dei sistemi software; modelli di sviluppo software: modello tradizionale a cascata; modello evolutivo e a fontana, altri modelli.
*
LMS - Linguaggi di Modellazione del Software
Modellazione del software: modelli e linguaggi di specifica; il linguaggio UML; uso di UML entro i progetti informatici; gli strumenti CASE.
*
AR - Analisi dei Requisiti
Analisi e specifica dei requisiti: l'interazione con il cliente e la formalizzazione dei requisiti; il metodo dei casi d'uso e le sue applicazioni; risultati del processo di analisi.
*
ASW - Architetture Software
Le architetture software: architetture software per piccoli sistemi; architetture client-server, multi-tier e Web; il pattern MVC e le sue applicazioni; riuso delle componenti server e approccio multicanale.
AS - Ambienti di Sviluppo
Il linguaggio Java; l'architettura di Java2; Java e le proprietà di oggetti; sistemi multi-tier in Java; sistemi Web in Java; cenni al linguaggio C# e all'architettura .NET.
*
PSC - Progettazione del Software e Codifica
Progettazione dei sistemi software: principi e metodi di progettazione; principi di modularità ed incapsulamento; la progettazione orientata agli oggetti; i ?design patterns? ed il loro uso; regole di scrittura del codice.
*
TVV - Testing, Verifica e Validazione
La fase di test, sviluppi parziali e test parziali (scatola bianca e scatola nera); test di aggregazione; test su dati reali; test di regressione; collaudo; entrata in produzione e manutenzione ordinaria; case study.
EPGS - Economia della Produzione e Gestione di progetti Software
Metodologie di gestione dei progetti software: il project management La conduzione operativa di un progetto: impostazione e definizione di obiettivi; analisi dei vincoli; scelta di strumenti e architetture; il lavoro in team; metriche e diagrammi utili (Gantt, PERT, ...).
MES - Manutenzione ed Evoluzione del Software
Il problema della documentazione; comunicazione entro e fuori un team; evoluzione e manutenibilità dei sistemi, manutenzione evolutiva.
(*) Le sottoaree con asterisco sono quelle che il GRIN auspica facciano parte in via prioritaria dei sillabi degli insegnamenti assegnati all?area stessa
6 CFU nell'area M - Rappresentazione della conoscenza
Sillabo dell'insegnamento
M - Rappresentazione della conoscenza
*
RP - Risoluzione di Problemi
Soluzione di problemi basata sulla ricerca nello spazio degli stati. Ricerca in ampiezza e ricerca in profondità. Metodi di ricerca informata: algoritmo A*. Cenni ai metodi di ricerca locale.
*
LPD - Logica e Programmazione Dichiarativa
Logica proposizionale, clausole e risoluzione. Logica del primo ordine e cenni alla risoluzione e alla programmazione logica.
*
SBC - Sistemi Basati su Conoscenza
Logica descrittiva e reti a ereditarietà strutturata. Ontologie e cenni alle applicazioni al Web semantico.
AI - Agenti Intelligenti
Introduzione all'Intelligenza Artificiale moderna e alla metafora di agente razionale. Descrizione delle quattro principali tipologie di agente.
AASC - Apprendimento Automatico e Scoperta di Conoscenza
Apprendimento induttivo: alberi di decisione. Apprendimento per rinforzo.
AIA - Applicazioni della Intelligenza Artificiale
Agenti comunicanti e i sistemi multi-agente cooperanti e concorrenti. Comunicazione fra agenti e atti linguistici. FIPA e il modello BDI (con cenni alla logica modale).
(*) Le sottoaree con asterisco sono quelle che il GRIN auspica facciano parte in via prioritaria dei sillabi degli insegnamenti assegnati all?area stessa
Riepilogo dell'insegnamento: METODOLOGIE DI PROGRAMMAZIONE
Nome
METODOLOGIE DI PROGRAMMAZIONE
CFU
6
Ore di didattica frontale per CFU
8
Settore Scientifico Disciplinare
INF/01
Commento
6 cfu così ripartiti nelle aree:
4 CFU nell'area C - Programmazione
2 CFU nell'area I - Ingegneria del software
Sillabo dell'insegnamento
C - Programmazione
*
SCP - Sviluppo e Correttezza dei Programmi
Richiami sul linguaggio C++: tipi di dato; espressioni; istruzioni; funzioni; campo d'azione e ciclo di vita; funzioni sovraccaricate; classi. Programmazione per contratto: pre-condizioni, post-condizioni ed invarianti di classe.
*
POO - Programmazione Orientata agli Oggetti
Ereditarieta' semplice: differenze tra contenimento, ereditarieta' privata ed ereditarieta'? pubblica. Polimorfismo dinamico: funzioni virtuali; il principio di sostituzione di Liskov.
*
SDTD - Strutture Dati e Tipi di Dati astratti
Inizializzazione, assegnamento e distruzione. Eccezioni e gestione delle risorse; tecniche per la gestione dinamica della memoria. Progettazione di strutture dati robuste in presenza di comportamenti eccezionali.
*
POO - Programmazione Orientata agli Oggetti
Polimorfismo statico: template di funzione e template di classe. La libreria standard STL: contenitori, iteratori ed algoritmi generici; oggetti funzione.
I - Ingegneria del software
*
PSC - Progettazione del Software e Codifica
Progetto di interfacce software: tipi concreti, tipi astratti, classi di interfaccia e classi implementative; ereditarieta' multipla e virtuale.
AS - Ambienti di Sviluppo
Ambiente di sviluppo: il compilatore g++; il debugger gdb; automazione del processo di compilazione: make; controllo delle versioni: CVS; documentazione di interfacce software: Doxygen.
(*) Le sottoaree con asterisco sono quelle che il GRIN auspica facciano parte in via prioritaria dei sillabi degli insegnamenti assegnati all?area stessa
Riepilogo dell'insegnamento: RETI DI CALCOLATORI
Nome
RETI DI CALCOLATORI
CFU
9
Ore di didattica frontale per CFU
8
Settore Scientifico Disciplinare
INF/01
9 cfu così ripartiti nelle aree:
9 CFU nell'area H - Computazione su rete
Sillabo dell'insegnamento
H - Computazione su rete
*
ARTC - Architettura delle Reti di Calcolatori
Introduzione alle reti di calcolatori. Utilizzi della rete, tipi di servizi e prestazioni, architetture di rete, commutazione di circuito e di pacchetto, Protocolli, Modello ISO/OSI, Protocolli TCP/IP.
DR - Dispositivi di Rete
Livello fisico. La trasmissione dell'informazione, mezzi trasmissivi elettrici, ottici e wireless, il cablaggio strutturato. La codifica del livello fisico. Livello data-link. Scopi del livello Data_link e servizi offerti al livello rete. Impacchettamento, Controllo degli errori, controllo del flusso. Protocolli per collegamenti punto-punto. Protocolli per reti locali: condivisone del canale trasmissivo, protocolli statici e dinamici, protocolli LAN wireless.
*
PT - Protocolli
Livello rete. Scopi del livello Rete e servizi offerti al livello di Trasporto. Commutazione di circuito, commutazione di pacchetto a circuito virtuale e a datagramma. Lo Stack di ATM. Internet, Il protocollo IPv4, Indirizzi IPv4, reti e sottoreti. Protocolli di controllo e di servizio. Il Router, algoritmi e protocolli di routing non adattivi e adattivi. IPv6.
*
PT - Protocolli
Livello di Trasporto. Servizi forniti al livello superiore, multiplexing, il modello client-server. I socket di Berkeley: la libreria, le porte e le primitive. UDP: il protocollo, la trama, la programmazione. TCP: apertura e rilascio della connessione, ordinamento dei dati, controllo di flusso, congestione, errori di trasmissione, la trama e la programmazione.
*
PT - Protocolli
Livello Applicazione (H-PT). Il servizio DNS, DHCP, TFTP, la Posta elettronica, il World Wide Web. Multimedia: Compressione audio, audio streaming, radio internet, VOIP, compressione video, JPEG e MPEG, video on demand.
*
SR - Sicurezza delle Reti
Tecniche di attacco e di difesa. Elementi di Crittografia applicata: algoritmi a chiave simmetrica e a chiave pubblica, RSA, Message Digest, firme digitali, infrastrutture a chiave pubblica (PKI), SSL/TLS. Sicurezza dei servizi di rete, protocolli di Autenticazione, infrastrutture di Autenticazione e Autorizzazione.
GRC - Gestione di Reti di Calcolatori
Laboratorio di Protocolli di rete. Protocolli e applicativi di rete: utilizzo e configurazione dei principali protocolli di TCP/IP.
PASR - Programmazione di Applicazioni e Servizi di Rete
Programmazione di rete. I Socket: socket TCP e socket UDP, programmazione in C/C++, Java e Python. Paradigmi per la programmazione distribuita, RPC, Web Services. Middleware per la programmazione di rete, Cloud Computing.
*
FCD - Fondamenti del Calcolo Distribuito
Architetture per il calcolo distribuito. Modello a memoria comune e modello a scambio di messaggi. Programmazione con MPI.
(*) Le sottoaree con asterisco sono quelle che il GRIN auspica facciano parte in via prioritaria dei sillabi degli insegnamenti assegnati all?area stessa
Insegnamenti a scelta in un elenco di insegnamenti attivati nei settori MAT, FIS, BIO, CHIM, GEO
6 cfu così ripartiti nelle aree:
6 CFU nell'area NC - Crediti Non Classificabili a priori
Sillabo dell'insegnamento
Non è presente il sillabo poiché non vi sono crediti allocati in aree per cui è previsto.
Riepilogo dell'insegnamento: SEMANTICA DEI LINGUAGGI DI PROGRAMMAZIONE
Nome
SEMANTICA DEI LINGUAGGI DI PROGRAMMAZIONE
CFU
6
Ore di didattica frontale per CFU
8
Settore Scientifico Disciplinare
INF/01
6 cfu così ripartiti nelle aree:
1 CFU nell'area A - Fondamenti
5 CFU nell'area D - Linguaggi
Sillabo dell'insegnamento
A - Fondamenti
L - Logica
Principi di induzione e definizioni induttive. Elementi di teoria della dimostrazione.
D - Linguaggi
*
S - Semantica
Semantica operazionale strutturata big step e small step.
*
S - Semantica
Ordinamenti, domini e punti fissi.
*
S - Semantica
Semantica denotazionale.
*
S - Semantica
Semantica assiomatica. Logica di Floyd-Hoare.
TAV - Tecniche di Analisi e Verifica
Verifica di correttezza dei programmi. Analisi statica dei programmi.
(*) Le sottoaree con asterisco sono quelle che il GRIN auspica facciano parte in via prioritaria dei sillabi degli insegnamenti assegnati all?area stessa
Riepilogo dell'insegnamento: SISTEMI OPERATIVI
Nome
SISTEMI OPERATIVI
CFU
9
Ore di didattica frontale per CFU
8
Settore Scientifico Disciplinare
INF/01
9 cfu così ripartiti nelle aree:
9 CFU nell'area F - Sistemi operativi
Sillabo dell'insegnamento
F - Sistemi operativi
*
SCO - Struttura e Componenti di un sistema operativo
Introduzione: Richiami sulla struttura del calcolatore. Evoluzione dei sistemi operativi.
*
GSP - Gestione e Sincronizzazione dei Processi
Processi e Thread: Modello a processi, stato, generazione e terminazione. Il modello a thread, uso e implementazione. Paradigmi di interazione: condivisione, sincronizzazione, comunicazione. Scheduling di thread e processi.
*
GSP - Gestione e Sincronizzazione dei Processi
Sincronizzazione: semafori, monitor. Protocolli di sincronizzazione classici.
*
GSP - Gestione e Sincronizzazione dei Processi
Modelli di gestione delle risorse. Politiche elementari di gestione. Il problema dello stallo: caratterizzazione, metodi per evitarlo, impedirlo, riconoscerlo ed eliminarlo. Attesa indefinita. Alcuni problemi classici.
*
GM - Gestione della Memoria
Il problema di base. Swapping. Paginazione. Algoritmi di sostituzione. Segmentazione e problematiche implementative.
GP - Gestione delle Periferiche
Gestione dei dispositivi di Ingresso/Uscita. Dispositivi e processi controller. Caratteristiche del software di I/O, vari livelli di gestione: interruzioni, driver dei dispositivi, I/O software indipendente dai dispositivi. Gestione di alcuni dispositivi: dispositivi a caratteri, dischi magnetici.
*
FS - File System
File System: Modello logico del sistema di archiviazione, file, directory. Implementazione di un file system. Esempi di file system.
*
AMM - Amministrazione di sistema
Sistemi Unix e Linux. La shell di Unix. La shell Bash, shell scripting, i filtri.
PS - Programmazione di Sistema
Programmazione di Sistema in C. Chiamate e librerie di sistema, controllo dei processi, comunicazioni tra processi, thread e multithreading, accesso al file-system e I/O.
(*) Le sottoaree con asterisco sono quelle che il GRIN auspica facciano parte in via prioritaria dei sillabi degli insegnamenti assegnati all?area stessa