Salta gli elementi di navigazione
banner
logo ridotto
logo-salomone
Corso di Laurea triennale in Ingegneria Informatica

Terzo Anno

A titolo puramente informativo si riportano i programmi di massima dei Corsi erogati nel terzo anno. Tali descrizioni sono finalizzate a fornire una panoramica dei contenuti dei corsi e possono non corrispondere con i programmi di determinati anni accademici. I programmi e le modalità di esame aggiornate possono essere recuperate dai link nella pagina "Insegnamenti".

NOTA: La presente descrizione è relativa all'organizzazione degli insegnamenti per gli studenti immatricolati fino all'A.A. 2014/15.

Gli studenti immatricolati nell'A.A. 2015/16 possono trovare utili informazioni sull'organizzazione degli insegnamenti nel documenti presente nella homepage del Corso di Studi.


PIANO ANNUALE DEL III ANNO

 

I Semestre

II Semestre

SSD

INSEGNAMENTO

CFU

SSD*

INSEGNAMENTO

CFU

ING-INF/05

Ingegneria del Software

6

ING-INF/05

Sistemi Distribuiti*

6

ING-INF/05

Basi di dati

6

ING-INF/05

Informatica Industriale*

6

 

MAT/03

 

Matematica discreta*

 

6

 

ING-INF/03

Fondamenti di Reti di tele- comunicazioni1,*

 

6

 

ING-INF/05

Progettazione   e  produzione multimediale*

 

6

 

ING-INF/03

 

Fondamenti di Telematica*

 

6

ING-INF/05

Intelligenza      Artificiale*

6

 

Laboratorio di Informatica2

3

 

Attività a scelta libera

12

Prova finale

6

1  Mutuato da Fondamenti di reti di telecomunicazioni attivo presso il Corso di Laurea in Ingegneria Elettronica e delle Telecomunicazioni

2 Il Laboratorio di Informatica consiste nello svolgimento da parte dello studente di un compito didattico aggiuntivo nell’ambito di uno degli insegnamenti del SSD ING-INF/05.

 

Attività  a scelta vincolata

Gli studenti interessati a proseguire la formazione nella Laurea Magistrale sono tenuti a seguire quattro dei sette corsi indicati con * nei piani annuali, per un totale di 24 CFU – vedi Tabella A (per questi studenti l’esame di Fondamenti di Ricerca Operativa rientra quindi fra quelli obbligatori)Gli studenti non interessati a proseguire la formazione possono sostituire con attività di tirocinio da una a tre materie, con tirocini da 6, 12, 18 CFU: pertanto come attività a scelta vincolata dovranno scegliere, rispettivamente, tre, due o una materia  (18, 12 o 6 CFU), tra le otto materie indicate con *,º, nei piani annuali – vedi Tabella B.

 

Attività  a scelta vincolata

Tabella A (24 CFU totali)*

Tabella B (12, 18 o 24 CFU)*,º

Fondamenti di Reti di telecomunicazioni

Fondamenti di Reti di telecomunicazioni

Fondamenti di Telematica

Fondamenti di Ricerca Operativa

Informatica Industriale

Fondamenti di Telematica

Intelligenza  Artificiale

Informatica Industriale

Matematica discreta

Intelligenza Artificiale

Progettazione e produzione multimediale

Matematica discrete

Sistemi Distribuiti

Progettazione e produzione multimediale

 

Sistemi Distribuiti

 

Basi di Dati

Sistemi Informativi e Basi di Dati;

1. Il modello relazionale

Definizione di relazione, vincoli di integrità.

2. Algebra relazionale

unione, intersezione, differenza, selezione, proiezione e join.

3. Il linguaggio SQL

tipi di dati, creazione tabelle, specifica vincoli di integrità, il comando select, clausole di raggruppamento, ordinamento, operatoriaggregati, interrogazioni nidificate, viste, aggiornabilità delle viste,
viste ricorsive.

4. Progetto di basi di dati:

- Il modello Entity-Relationship:

   entità, relazioni, attributi, cardinalità, generalizzazioni;
- Progettazione logica:

   analisi delle ridondanze, ristrutturazione di schemi ER, traduzione nel modello relazionale;

- Forme normali

  Dipendenze funzionali, decomposizioni, copertura minimale, forme normali prima, seconda, terza e Boyce

  Codd, procedure di normalizzazione;

5. Basi di dati attive:

   Triggers;

6. Transazioni.

7. Casi di studio: MySQL, Oracle XE


 

Fondamenti Telematica

 

1. Architetture di comunicazione a strati
- Definizioni generali: Stratificazione, information hiding; separation of concern.
- Il modello OSI
- Il modello Internet

2. Lo strato di applicazione
- Uniform Resource Identifier (URI)
- I protocolli applicativi (FTP, HTTP, SMTP)
- Il sistema di naming (DNS)

3. Lo strato di trasporto
- Il protocollo UDP
- Il protocollo TCP
Formato dei segmenti
Gestione della connessione
Controllo di flusso
Controllo di congestione

4. Richiami su protocollo IP e protocollo ARP

5. Approfondimenti su Applicazioni Web
- REST: approccio architetturale e progettazione servizi REST 
- Web of Data
- Session Initiation Protocol (SIP) e suo utilizzo per servizi Voice-Over-IP (VOIP)
- Cloud Computing

 

 Informatica Industriale

 

Caratteristiche generali dei sistemi embedded
Richiami su macchine a stati finiti, automi a stati finiti riconoscitori di linguaggi - classificazione di Chomsky

Implementazione di macchine a stati
Realizzazione sistemi event-driven con interruzioni
Tipici cicli di controllo - vincoli real-time - wcet - task periodici
Real time Scheduling
Fixed priority scheduling - rate monotonic priority assignment - Earliest deadline first
Priority inversion - Priority inheritance


Sistemi operativi real-time
 Introduzione ai processori di utilizzo industriale - classificazione in MPU, MCU, DSP, PLC, PC industriali
 Dependability - concetti e terminologia
 Valutazione dell?Affidabilità - failure rate, MTTF
 Modello MIL-HDBK 217 F per valutazione Affidabilità di componenti Hw
 Modello combinatorio per la valutazione dell?affidabilità Modelli serie, parallelo, N su M
 Modello markoviano per la valutazione degli attributi di dependability
 Disponibilità, Manutenibilità, MTBF, MTTR

Safety
Tecniche di valutazione qualitativa affidabilità: FMEA / HAZOP / FTA
 Meccanismi di rilevazione degli errori - duplicazione e confronto
 Codici rilevatori di errore
 Principi dei codici correttori di errore e loro applicazioni
 Fault masking TMR NMR
 Architetture a ridondanza ibrida
 Riconfigurabilità - hot spare/cold spare
 Ridondanza per diversità - Software fault tolerance
 Esempi di sistemi dependable
 Introduzione ai metodi formali per lo sviluppo, la specifica e la verifica del SW
 Introduzione alla verifica formale - Model checking
 La certificazione software e la Normativa CENELEC

 Testing del software

 

Ingegneria del Software

 

1. Introduzione.I problemi dell'ingegneria del software. Il software come prodotto industriale. Il ciclo di vita del software. Cenni sui differenti modelli di cicli di vita. Principi generali di programmazione: Astrazione; struttura dei programmi;  modularizzazione. incapsulamento dell’informazione;  tipi di dati astratti.

2. Programmazione orientata agli oggetti.  Classi, oggetti, ereditarietà.  Principi e metodi di programmazione OO. Relazioni tra oggetti: associazione, aggregazione, derivazione/generalizzazione, composizione di oggetti. Delega. Polimorfismo.  Il modello MVC. Esempi di Design Patterns.

3.UML. Il linguaggio UML. Generalità.  Il diagramma delle classi: classi astratte interfacce. Associazioni, dipendenze e altre relazioni tra classi.  Il diagramma dei casi d’uso. Diagrammi di sequenza, di collaborazione, di attività e di stato. Packaging e deployment.

4. Analisi - Progettazione - Sviluppo. Stesura dei requisiti in forma testuale (Std IEEE 830); costruzione del modello di dominio.  Analisi dei casi d’uso: diagramma dei casi d’uso, esame dettagliato dei singoli casi d’uso. Analisi di robustezza: identificazioni delle funzionalità applicative, riesame dei casi d’uso eliminazione di possibili ambiguità residue, riesame del modello di dominio. Realizzazione dei casi d’uso: impiego dei diagrammi di sequenza. Individuazione delle responsabilità delle classi; definizione delle relative interfacce. Progetto di dettaglio, transizione verso lo sviluppo. defiizione dei casi di test dai casi d’uso. Sviluppo guidato dal test (TDD). (Nel presentare questa parte si farà normalmente riferimento a casi concreti.).   Cenni al metodo dell’analisi del Flusso Dati.

5. Miscellanea Tipologie applicative.  Sistemi “Enterprise”. Persistenza. Programmazione OO e basi di dati relazionali.  ORM. Pattern architetturali. Cenni su tool e framework per lo sviluppo di sistemi software. Applicazioni a prevalente aspetto di controllo. Cenni sui sistemi di tempo reale. I ciclo di vita:  il modello a   cascata e le sue fasi, il modello UP, modelli agili,  il modello XP.  Standard industriali di riferimemto.  Impatto degli standard industriali sul ciclo di vita: documentazione, pianificazione, analisi del rischio.   Misurare il software. Metriche software (SLOC, Function Points). Previsione di costi e tempi di sviluppo (COCOMO). Qualità del software.

 

Intelligenza Artificiale

 

Introduzione all'Intelligenza Artificiale. Intelligenza e razionalità. Panoramica su alcune aree specifiche dell'AI. Agenti: percezioni, azioni, funzione agente. Tipi di ambiente. Esempi

Struttura degli agenti. Agenti reattivi e basati su obiettivi. Introduzione alla ricerca

Ricerca non informata. Formalizzazione. Strategie: DFS, BFS, Ricerca a costo uniforma, Iterative deepening.

Euristiche. Best first. Ammissibilità e consistenza. A*. Dominanza. Misure: penetranza e effective branching factor. Cenni su IDA*.

Esercitazione python: ricerca non informata e informata

Ricerca locale. Semplici metaeuristiche: hill climbing (con random restart), simulated annealing Problemi di soddisfacimento di vincoli. Panoramica e definizioni. Esempi. Reti di vincoli: consistenza di nodo e di arco. Revisione.

Propagazione di vincoli. Algoritmo AC-3. Analisi. Consistenza di cammino. k-consistenza. Ricerca con backtracking. Euristiche (MRV,LCV). Algoritmo MAC (maintaining arc consistency).

Strutture trattabili nei problemi di sodisfacimento di vincoli. Consistenza orientata e algoritmo DAC. Problemi duali. Solver per reti acicliche. Junction tree clustering.

Introduzione a minizinc

Apprendimento con supervisione. Schema generale. Esempi. Spazi di ipotesi.

Classificazione binaria con iperpiani. Rischio e rischio empirico. Perceptron: algoritmo di Rosenblatt e teorema di Block-Novikoff. Perceptron votato

Forma duale del perceptron. Limitazioni: problemi non linearmente separabili e pre-elaborazione polinomiale. Perceptron multistrato: rappresentazione, funzione di attivazione e log-loss. Ricerca con gradiente stocastico.

Addestramento di reti neurali artificiali con gradiente stocastico. Backpropagation. Early stopping e regolarizzazione

Support vector machines

Kernel polinomiale e kernel Gaussiano (RBF)

Esercitazione SVM (scikit-learn)

Agenti basati su conoscenza. Logica proposizionale: sintassi e semantica

Inferenza in logica proposizionale. Model checking via enumerazione ricorsiva.

Regole di inferenza e dimostrazione di teoremi. Risoluzione ground.

Clausole definite e forward chaining. Procedura di Davis-Putnam.

Ricerca locale per la sodisfacibilità. WalkSAT. Logica del primo ordine: sintassi e semantica. Inferenza nella logica del primo ordine.

Proposizionalizzazione e teorema di Herbrand. Instanziazione universale ed esistenziale. Modus Ponens. Unificazione. Esempi.

Risoluzione con la logica del primo ordine. Backward chaining. Introduzione alla programmazione logica.

Laboratorio programmazione logica e Prolog

 

 

Matematica Discreta

 

Definizioni di gruppo, gruppo abeliano, anello, anello commutativo, campo. 
Divisione con resto (teorema s.d.).
Congruenze: congruenza modulo un intero positivo d, definizione e prime proprietà . 
Algoritmo dei quadrati ripetuti. 
Massimo comun divisore: esistenza e unicità .
Algoritmo Euclideo per determinare il massimo comun divisore tra due interi. Algoritmo Euclideo esteso. 
Proprietà  del massimo comun divisore.
Teorema cinese dei resti. 
Definizione della funzione ? di Eulero sui naturali. 
Teorema di Eulero. 
Ogni intero positivo si fattorizza in modo unico come prodotto di numeri primi (s.d.).
Calcolo della funzione di Eulero nota la fattorizzazione

Sistema criptografico RSA--sistema di crittografia a chiave pubblica--per la trasmissione di dati.
Anello delle classi di resto modulo n.
Z/nZ è un campo se e solo se n è primo.

Polinomi: anello dei polinomi a coefficienti in un anello, in un campo. Grado. In K[x], con K campo, deg(fg)=deg(f)+deg(g). Gli elementi invertibili di k[x] sono le costanti.
Divisione tra polinomi f e d.
Radice di un polinomio. 
Molteplicità  di una radice. Fattorizzazione di un polinomio quando sono note le sue radici.
Derivata Df di un polinomio f e sue proprietà.

Radici n-esime di 1 nel campo complesso. Radici primitive e loro proprietà .
Definizione per ogni n naturale ? 1, del polinomio ciclotomico ?_n.
Proprietà  fondamentali dei polinomi ciclotomici.
Caratteristica di un campo k.
I polinomi ciclotomici in un campo K. Definizione di radice n-esima primitiva di 1 in K e sue proprietà .
Sia G un gruppo. Ordine di un elemento g in G. Sia G un gruppo finito con N elementi, allora l'ordine di ogni elemento g di G divide N. Definizione di gruppo ciclico.
Teorema di Gauss: Sia K un campo e sia G un sottogruppo finito del gruppo moltiplicativo K*, allora G è ciclico.

Definizione di anello quoziente A/I, con A anello e I ideale. 
A/I è un campo, con A anello e I ideale, se e solo se I è massimale.
Gli anelli Z e K[x] (K campo) sono anelli a ideali principali. Definizione di omorfismo di anelli. Se f da A a B è un omorfismo di anelli allora la mappa indotta da A/ker(f) a B è un omorfismo di anelli iniettivo.

Esempi di campi costruiti come quozienti. 
Teorema: ogni campo finito di caratteristica p è isomorfo a un quoziente dell'anello dei polinomi
a coefficienti in F_p per l'ideale generato da un polinomio irriducibile di grado n.
Teorema di esistenza e unicità  per campi finiti.
Teorema: Il polinomio X^(p^n-1)-X in F_p è il prodotto DEI polinomi monici irriducibili di F_p di grado d, con 0? d ? n e d che divide n.
Corollario: formula per il numero dei polinomi monici irriducibili di grado d in F_p.
Definizione della mappa di Froebenius dall'anello F_p[x]/? f ? in se. 
Algoritmo di Berlekamp per la fattorizzazione di polinomi.
Introduzione agli insiemi parzialmente ordinati (poset). 
Algebra di incidenza di un poset localmente finito. Funzione di Moebius. 
Formule di inversione. Diagramma di Hasse di un poset. Reticoli. Teorema del punto fisso di Tarski.

Introduzione alla Teoria dei Codici:
Problema generale della codifica&decodifica.
Codici. Distanza di Hamming. Decodifica a minima distanza.
Bounds per codici (Hamming, sphere packing, Gilbert-Varshamov).
Codici lineari. Matrici generatrice e di controllo di parità. 
Decodifica lineare (a sindrome).
Operazioni sui codici. Equivalenza di codici.
Codici di Reed-Solomon, codici di Hamming.
Codici ciclici. Teorema di classificazione.
Oltre la decodifica a minima distanza: correzione di errori localizzati (burst errors).

 

Progettazione e Produzione Multimediale

 

1. Media e formati

- formati per immagini: JPEG, JPEG2000;

- formati per video: MPEG1, MPEG2, MPEG4

2. Programmazione Web:

- Introduzione a WWW

- HTML,  HTML5

3. Programmazione client-server

- Applicazioni lato server: JSP, PHP

- Applicazioni lato client: AJAX, JAVASCRIPT

- Laboratorio: programmazione client-server

4. Applicazioni mobili e sociali

- Programmazione mobile web

- Laboratorio: Mobile web programming

5. Progetto interfacce:

- Principi di Web design

- Usabilità e Accessibilità

- Interfacce naturali e mobili

 

Reti di Telecomunicazioni

 

Struttura e caratteristiche delle reti di comunicazione : generalità.
- Rete telefonica. Struttura di una centrale telefonica automatica.

Architettura delle reti di connessione. Condizione di assenza di blocco.
- Reti per trasmissione dati e per comunicazione fra calcolatori. Protocolli: modello ISO/OSI.
- Rete telegrafica e telex. Sistemi e servizi telematici.
- Caratteristiche del traffico.
- Commutazione di circuito, di messaggio, di pacchetto.
- Commutazione veloce di pacchetto (FPS) e circuito (FCS).
- Rete numerica integrata nei servizi (ISDN).
- Il trattamento della segnalazione, sistema di segnalazione N.7 (SS7)
- Reti di comunicazione in area locale (LAN), standard IEEE 802.
- Reti di comunicazione in area metropolitana (MAN).
- Reti di comunicazione in area geografica (WAN).
- Servizi a commutazione di pacchetto: Protocollo X.25, Frame Relay,  SMDS,TCP/IP.
- Problematiche inerenti l'interconnessione di reti di telecomunicazioni.
- ISDN a larga banda e ATM: Generalità, Aspetti architetturali,

Aspetti trasmissivi, Livello fisico, ATM e AAL.
- Il livello fisico nell'accesso alle reti pubbliche : PDH, SDH
- Il livello collegamento : HDLC e suoi derivati.
- Il livello rete.

Reti Wireless
- Tecnica di accesso CSMA/CA
- Reti in tecnologia IEEE 802.11
- Tecnica ad accesso OFDMA
- Reti in tecnolgia IEEE 802.16.

Reti di sensori

- Tecniche di istradamento in reti fisse e wireless
- Tecniche per il controllo della congestione

Elementi di sicurezza delle comunicazioni.

 

Sistemi Distribuiti

 

1. Introduzione, middleware e call
internet e intranet, condivisione delle risorse
XML, web services, SOAP
programmazione in PHP
CMS Drupal, Esercitazioni
architetture client server, multi tier
patter dei sistemi distribuiti
RPC, RMI, Interface description language, IDL
Middleware CORBA
Clock e sincronizzazioni

2. Sistemi P2P e Architetture Parallele
modelli dei protocolli P2P, download multisorgente
procotolli DHT, BTorrent
architetture parallele,
GRID, calcolo parallelo e distribuito
programmazione parallela

3. Sistemi Mobili e sistemi embedded
programmazione dei sistemi mobili
programmazione in objective C per iOS, iPhone, iPad
programmazione per Android
Internet delle cose, IOT, simil Arduino
Esercitazioni

4. Modelli Semantici
Reti Sociali: Social media, modelli sematici per le reti sociali
Smart City: modelli di supporto alle decisioni
Ontologie deduttive
Raccomandazioni

5. Cloud Computing and Virtualization
Virtualizzazione, cloud computing, PaaS, SaaS, IaaS,
architetture scalabilie tolleranti ai guasti
high availability
sistemi di grandi dimensioni
Esercitazioni

6. Laboratorio

 


 
ultimo aggiornamento: 17-Ago-2015
UniFI Scuola di Ingegneria Home Page

Inizio pagina