Materiale Didattico
Programmi Didattici, esercizi, links, schemi, riassunti e altro materiale per lo studio dell’Informatica negli Istituti Tecnici ad indirizzo informatico.
Sistemi e Reti [01]
ARCHITETTURA DEI CALCOLATORI
Storia dei Calcolatori Elettronici
Modello di Von Neumann
Il ruolo della CPU
Le Memorie
Il BUS
Gestione dell’I/O
ELEMENTI DI ELETTRONICA DIGITALE
Sistemi di Numerazione
Porte Logiche
Circuiti Logici
ISA x86 ED IL LINGUAGGIO ASSEMBLY
Sistemi di Numerazione
Porte Logiche
Il processore 8086
Il modello x86
Linguaggio Assembly
Programmazione in Assembler
FONDAMENTI DI NETWORKING
Introduzione al Networking
Trasferimento dell’Informazione
Modelli ISO/OSI e TCP/IP
LIVELLO FISICO/DATA-LINK/RETE
Principali caratteristiche delle Reti Ethernet
Dispositivi a livello Collegamento
Il Protocollo TCP/IP
Principali Algoritmi di Routing
Indirizzi IP e Subnetting
CABLAGGIO DELLE RETI
Principali caratteristiche dei mezzi trasmissivi
Cablaggio strutturato degli edifici
Crimpaggio dei cavi
LABORATORIO
CAD per Circuiti Logici
Ambiente di sviluppo Turbo Assembler
Emulatori dispositivi di rete
Web Design
Sistemi e Reti [02]
FONDAMENTI DI RETI DI CALCOLATORI
Il Modello ISO/OSI
Il Livello Fisico
Il Livello Data Link
LIVELLO RETE
Il Router e gli apparati di Rete
Fondamenti di Routing
Routing Statico e Dinamico
LIVELLO TRASPORTO
Servizi e funzioni dello Strato Trasporto
Il Protocollo UDP
Il servizio di trasferimento affidabile
Il Protocollo TCP
TCP: Problematica di Connessione e Congestione
LIVELLO APPLICAZIONE
Generalità
Telnet
HTTP e WEB
Trasferimento File: FTP
Posta Elettronica e Protocolli
Domain Name System (DNS)
Generalità
Indirizzi IP
Messaggi DNS
LINUX
La filosofia Open-Source
Avvio del S.O.
Il Boot Loader GRUB
Il file system
LABORATORIO
Wireshark UDP e TCP
Progetto Reti con Packet Tracer
Telnet: protocolli POP ed SMTP
Sicurezza Informatica
Programmazione orientata al web (PHP o Phyton)
Sistemi e Reti [03]
VIRTUAL LAN
Generalità e Realizzazione
Il Protocollo VTP e Routing
CRITTOGRAFIA
Generalità
Sicurezza nelle Reti
Crittografia Simmetrica e Asimmetrica
Certificati e Firma Digitale
SICUREZZA DELLE RETI
Generalità
Sicurezza per Messaggi di Posta Elettronica
Sicurezza delle Connessioni con SSL e TLS
Firewall
Normative
Introduzione all’Ethical Hacking
WIRELESS E RETI MOBILI
Generalità e Protocolli
Crittografia e Autenticazione
Trasmissione dei dati
Architettura e Normative
SERVIZI DI RETE
Applicazioni e Sistemi Distribuiti
Architetture dei Sistemi Web
Amministrazione di una Rete
Active Directory e Troubleshooting
Sicurezza della Rete
LABORATORIO
Packet Tracer
Algoritmi e Tecniche per la gestione di una VLAN
Scelta di Password e Tecniche di Sniffing
Sicurezza Informatica
Telnet e Accesso Remoto
Easy PhP e XAMPP
Wordpress
Fogli di stile CSS
GENERALITÀ
Dati e informazioni
La codifica delle informazioni
L’informatica e i suoi ambiti
ALGORITMI
Dal problema all’algoritmo
Algoritmi ed esecutori
La rappresentazione degli algoritmi
Un esempio di algoritmo
La macchina di Turing
Complessità
LINGUAGGI DI PROGRAMMAZIONE
Evoluzione dei linguaggi
Paradigmi di programmazione
Fasi di sviluppo
Traduzione del codice sorgente in eseguibile
IL C++
Struttura fondamentale di un programma
Variabili e costanti
Espressioni e condizioni
Operazioni standard di input e output
Controllo del flusso di esecuzione
Esempi di implementazione di algoritmi in linguaggio C++
Funzioni di libreria matematica
LE FUNZIONI C++
Definizione e invocazione
Passaggio per parametri, per valore e per riferimento
Prototipazione e Overloading
ARRAY E STRUTTURE
Array mono e bidimensionali
Stringhe di dati
Le strutture come tipi di dato
Algoritmi di Ordinamento e Ricerca
LA RICORSIONE
Generalità
Funzioni ricorsive
La ricorsione e gli array
I FILE E LA PROGRAMMAZIONE A OGGETTI
Tipi di dato astratto
Code e Pile
Informatica-02
INTRO ALLA PROGRAMMAZIONE AD OGGETTI
Tipi di dato astratto e principio di information hiding
Classi e oggetti, attributi e metodi nei diagrammi UML
Interazione tra oggetti e diagrammi UML di sequenza
Ereditarietà e polimorfismo
Associazioni tra classi
IL LINGUAGGIO JAVA
Caratteristiche, storia e applicazioni del linguaggio Java
Compilazione ed esecuzione di programmi Java; memoria heap e garbage-collector
Struttura di un programma Java e fondamenti del linguaggio
La struttura di base di una classe e il metodo main
Convenzioni di codifica del linguaggio Java
Tipi di dato primitivi e classi wrapper
Stringhe e codifica Unicode
La documentazione automatica dei programmi con Javadoc
PROGRAMMAZIONE AD OGGETTI JAVA
Gli array in Java
Oggetti e riferimenti: implementazione e uso del costruttore di copia
Array come parametri e valori di ritorno dei metodi di una classe
Eccezioni predefinite non controllate
Definizione e generazione delle eccezioni
Gestione dell’input/output predefinito
Gestione dell’input/output da file di testo
Serializzazione e persistenza degli oggetti su file
STRUTTURE DATI
Implementazione di una lista in linguaggio Java
Il pattern di progettazione Iterator
La pila e la coda
Alberi
Tabelle e indirizzamento hash
EREDITARIETÀ E POLIMORFISMO
Classi derivate; overriding e overloading dei metodi
Gerarchie di classi: up-casting e down-casting di oggetti
La classe Object e l’overriding del metodo clone
Classi astratte e interfacce
Polimorfismo e binding dinamico
Run-Time Type Identification e operatore instanceof
Gerarchie di eccezioni e loro gestione
TIPI GENERICI E COLLEZIONI IN JAVA
Tipi parametrici e classi generiche in linguaggio Java
I contenitori del linguaggio Java: le «collezioni»
INTRODUZIONE ALLE GUI IN JAVA
La libreria AWT: componenti fondamentali e gestione degli eventi
Il pattern architetturale Model-View-Control e la separazione tra logica di business e GUI
Il pattern comportamentale Observer e la programmazione event-driven
NETBEANS APPLICAZIONI JAVA CON GUI SWING
Debug di programmi in ambiente NetBeans
Sviluppo di applicazioni Java con GUI Swing in ambiente NetBeans
GESTIONE DELLA CONCORRENZA IN JAVA
Thread in Java
Condivisione di risorse tra thread
Sincronizzazione dei thread
PAGINE WEB CON JAVASCRIPT
Da applicazioni locali ad applicazioni web
Programmare il client: oltre l’HTML
Un excursus storico e i fondamenti del linguaggio
Dentro il linguaggio JavaScript
Vettori, iterazioni e cicli
Oggetti
Oggetti predefiniti
JS E IL DOM, JQUERY E GOOGLE MAPS
Il browser come ambiente di esecuzione
DOM e gli oggetti esposti dal browser
Il ruolo delle librerie
AJAX e le Google Maps
STRUMENTI PER LO SVILUPPO
IDE NetBeans per il linguaggio JavaScript
Strumenti per il debug di codice JavaS
Informatica-03
LE BASI DI DATI
Generalità sulle basi di dati
Modelli di Database
Il DBMS
PROGETTAZIONE CONCETTUALE: MODELLO ER
Progettazione Concettuale
Attributi, Entità, Associazioni
Vincoli di Integrità
PROGETTAZIONE LOGICA: MODELLO RELAZIONALE
Relazioni, Chiavi, Schemi, Occorrenze
Associazioni e Gerarchie
Integrità Referenziale
Operazioni relazionali
Join e Normalizzazione
Forme Normali
LO STANDARD SQL
Introduzione
Identificatori e tipi di dati
Le Istruzioni di SQL
Query e Subquery
Le Viste
UML
DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER
Introduzione
Programmazione lato client e lato server
Il linguaggio PHP
PROGRAMMARE IN PHP
Istruzioni, Variabili, Espressioni, Operatori in PHP
Strutture di Controllo
Array Monodimensionali e Multidimensionali
Funzioni predefinite sugli Array e definite dall’Utente
Il modello a oggetti del PHP
Gestione delle Eccezioni
PHP e HTML
Interazioni PHP e HTML
Metodo POST
Gestione delle Sessioni
I Cookie
Upload di File ed invio di Email
PHP e DATABASE
Database in Rete
Interazione tra Web Server e Server SQL
MySQL e PHP
Le Query
Creazione, Gestione di Database
LABORATORIO 1-2-3
Ambienti di Sviluppo (DevC++)
HTML
CSS
Google Suite
Web Design
Appunti di Elettronica [01]
*Bibliografia principale Microelettronica (Richard C. Jaeger McGraw-Hill Education)
TECNOLOGIA DEI DISPOSITIVI ELETTRONICI
Dispositivi a semiconduttore
Floating Zone Process
Lavorazione della Fetta
Proprietà del Silicio
Epitassia da Fase Vapore
Tecnologia planare e fotolitografia
Deposizione del Dielettrico
Diffusione e Impiantazione Ionica
Attacco chimico per via umida
Dispositivi Integrati
AMPLIFICATORI OPERAZIONALI
Gli Amplificatori Operazionali
ELETTRONICA DIGITALE
Introduzione
Circuiti Logici in tecnologia MOS
Porte Logiche NMOS
Progetto Circuiti MOS-Complementari
Circuiti Logici Bipolari
Memorie