Informatica
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