Docente
|
LO CASTRO FABIO
(programma)
PROGRAMMA DELL'INSEGNAMENTO :
- Rappresentazione delle Informazioni
- Architettura dei computer (hardware)
- Reti Neurali
- Reti di Calcolatori: Reti locali, Reti geografiche, Internet
- Il software: Sist. Operativi e programmi
- Algoritmi e linguaggi di programmazione
OBIETTIVI DEL INSEGNAMENTO
1 - Conoscere i fondamenti su cui si basa il mondo digitale (sistema binario, digitalizzazione di immagini, di suoni, calcoli).
2 – Conoscere l’hardware per capire, almeno a grandi linee, su quale macchina stiamo lavorando e cosa ci servirebbe per lavorare meglio.
3 - Conoscere i fondamenti teorici sulle reti neurali alla base dei sistemi che usano l'intelligenza artificiale per svolgere il proprio compito.
4 – Conoscere la teoria dei sistemi operativi come nucleo di ogni sistema hardware/software.
5 – Conoscere i principi di funzionamento e interazione delle reti locali ed internet.
6 – Conoscere i fondamenti della programmazione, base dell’elaborazione dell’informazione.
Programma dettagliato
1 - Rappresentazione delle Informazioni
La rappresentazione delle informazioni , La codifica dei caratteri, Il codice ASCII, Codifiche universali, La codifica dei numeri, Rappresentazione binaria, Rappresentazione di
numeri negativi, Rappresentazione floating point (con virgola mobile), Rappresentazione esadecimale, La codifica delle immagini, Compressione delle informazioni e formati di co
difica, Immagini in movimento, Elaborazione delle immagini, La codifica dei suoni e formati di codifica, Strutturazione logica dei dati: i file, File ad accesso sequenziale, File ad accesso diretto, Accesso con chiave, Strategie di ricerca.
2 - Architettura dei computer (hardware)
Architettura hardware degli elaboratori , La memoria principale , Il processore (Unità di Controllo, registri, L’Unità Aritmetico-Logica, L’unità di gestione della memoria
(MMU)), Esecuzione delle istruzioni in linguaggio macchina, Lettura e scrittura in memoria, Un semplice esempio di esecuzione di un programma, Memoria cache, Tipi di processori (CISC e RISC),CPU,GPU,MCU, La memoria secondaria ( Dischi magnetici, Dischi ottici: CD, DVD e blue-ray, Memory Card, Nastri magnetici), Interfacce di un calcolatore, Dispositivi di input/ output ( Tastiera, Video e display, Dispositivi di puntamento su video, Altri dispositivi di input/output, Classi di elaboratori
3 - Reti Neurali
Definizioni, Il Neurone cellula del corpo umano, Applicazioni delle reti neurali artificiali, Le reti neurali artificiali, modello di neurone artificiale di McCulloch e Pitts, il percettrone e sua rappresentazione geometrica, memorie associative, reti multi strato, rappresentazione giometrica di una rete multistrato algoritmo di back propagation, architettura di una rete neurale, vantaggi e svantaggi di una rete neurale, robustezza di una rete neurale, confusion matrix, funzione di attivazione, le reti RBF Radial Basis Function, l’apprendimento di una rete neurale ( supervisionato e non supervisionato), metodo del gradiente, validazione dell’apprendimento, stima dell’errore nella risposta di una rete neurale, Impiego nel riconoscimento di immagine, Convolutional Neural Network (CNN), riconoscimento della voce, Residual Network (ResNET)
4 - Reti di Calcolatori: Reti locali, Reti geografiche, Internet
Reti di calcolatori: introduzione, Organizzazione fisica delle reti, Componenti hardware, Topologie di reti di comunicazione, Protocolli di comunicazione, Alcune scelte nella comunicazione in rete ( Trasmissione digitale e analogica, Trasmissione seriale e parallela, Trasmissione su linee dedicate e commutate) Commutazione di circuito e di pacchetto, Verifica di corretta ricezione, Identificazione (indirizzamento) dei nodi, Strategie di instradamento dei messaggi, Accesso al canale, conflitti di comunicazione e loro risoluzione, Modelli di interazione delle reti, Tipi di reti, Reti locali, Obiettivi di una rete locale Funzionamento di una rete locale , Tolleranza ai guasti, Reti locali wireless, Reti geografiche e internet , Struttura di una internet , protocolli della rete Internet, Il protocollo IP – Internet Protocol, Il protocollo TCP – Transmission Control Protocol, Protocolli applicativi, Indirizzamento logico: il protocollo DNS – Domain Name System, Posta elettronica: il protocollo SMTP – Simple Mail Transfer Protocol, Trasferimento dati: il protocollo FTP – File Transfer Protocol, Collegamento remoto: il protocollo Telnet, Il Web e il protocollo HTTP – HyperText Transfer Protocol, Sicurezza delle informazioni ( Cenni di crittografia, Firme elettroniche e certificazione, Protocolli sicuri)
5 - Il software: Sist. Operativi e programmi
Il software, Il software di base, Funzioni del software di base, Il sistema operativo, Funzionamento del sistema operativo, Avviamento dell’elaboratore, Gestione del processore e dei processi, Gestione dei processi, Cambio di contesto, Politiche di gestione (scheduling del processore, Coordinamento e sincronizzazione, Gestione della memoria principale, Gestione della memoria reale, Gestione della memoria virtuale, Gestione della memoria secondaria: il file system, Organizzazione logica dei file, Organizzazione fisica dei file, Gestione delle periferiche (gestione dell’input/output), Linguaggio di comandi per l’interazione con l’utente, Sistemi operativi distribuiti , Naming, Condivisione di risorse, File system distribuito, analisi delle principali famiglie di sistemi operativi ( Windows elementi di base, Unix, Linux elementi di base, Le distribuzioni di Linux, Mac OS , Sistemi operativi per palmari e smartphones ) Il software libero, Il software applicativo (Elaborazione di testi, Gestione di basi di dati, Fogli elettronici, Elaborazione di immagini e suoni , Costruzione di pagine Web, Altri pacchetti applicativi )
6 - Algoritmi e linguaggi di programmazione
Software e programmazione, Linguaggi di programmazione ad alto livello, Le componenti della definizione di un linguaggio, Caratteristiche di un linguaggio di programmazione, Sintassi, Semantica, La definizione di un linguaggio di programmazione, Compilazione, Interpretazione, Confronto tra interpreti e compilatori, Algoritmi e programmi, I diagrammi di flusso, Dai diagrammi di flusso ai programmi, Progettazione del software, Concetti fondamentali di programmazione, I linguaggi di programmazione, Tipologie di linguaggi.
Libro di testo: Introduzione all’informatica, De Agostini Scuola 2010 UTET
Autori: Console, Ribaudo, Avalle, Carmagnola, Cena,
Materiale didattico: Diapositive del corso del prof. Fabi o Lo Castro
Approfondimenti
1) An introduction to neural networks - Kevin Gurney 1997 by UCL Press
2) Neural Networks and Deep Learning - Michael Nielsen - 2015 – free online book
http://neuralnetworksanddeeplearning.com/index.html
3) Neural Network Design 2nd Ed 2014 by Martin T. Hagan and Howard B. Demuth
– free online book - https://hagan.okstate.edu/nnd.html
|