Lesson n. 1: Cos’è Java
Introduzione
Java rispetto agli altri linguaggi
Che cos'è la macchina virtuale Java
La piattaforma Java
La documentazione Java
|
|
|
Lesson n. 2: Lo scenario di riferimento del linguaggio Java
Introduzione
La macchina virtuale Java
Il bytecode
Il formato dei file.class
|
|
|
Lesson n. 3: Installare Java, compilare ed eseguire un programma
Introduzione
Approfondimenti: classi e oggetti
Approfondimenti: messaggio
Approfondimenti: istanziazione
Esempio 1: istanziazione
Esempio 2: modifica e variabili di istanze
Esempio 3: Interazione tra oggetti
Costruttori
Ereditarietà
Qualificatore di scope
Binding dinamico
Polimorfismo
|
|
|
Lesson n. 4: Introduzione alla programmazione ad oggetti
Introduzione
Principi metodologici oop
Complessità dei sistemi software
|
|
|
Lesson n. 5: Oggetti, classi e messaggi
Introduzione
Recuperare, installare ed utilizzare JDK di Sun
Introduzione a una semplice IDE per Java
Scrivere, compilare ed eseguire il primo programma in Java
|
|
|
Lesson n. 6: Approfondimenti
Introduzione
oop come evoluzione
Analisi più approfondita dei principali meccanismi
|
|
|
Lesson n. 7: Unified Modeling Language (parte 1)
Introduzione
Cos'è UML
Ciclo di vita del software
Alcuni costrutti grafici/concettuali
|
|
|
Lesson n. 8: Unified Modeling Language (parte 2)
Introduzione
Aspetti dinamici
Aspetti della collaborazione tra oggetti
Aspetti fisici
Un esempio di sviluppo: il calcolatore di aree e di perimetri
|
|
|
Lesson n. 9: Il linguaggio Java
Introduzione
La sintassi di Java
Le espressioni
L'assegnamento
L'invocazione di un metodo
|
|
|
Lesson n. 10: Tipi di dati
Introduzione
Tipi di dati primitivi
Conversione e controllo dei tipi
I vettori (array) in Java
|
|
|
Lesson n. 11: Costrutti di programmazione
Introduzione
Costrutti di controllo
Dichiarazione di classi, metodi e attributi
Regole di visibilità
|
|
|
Lesson n. 12: Errori, eccezioni e loro gestione
Introduzione
Il concetto di eccezione
Le eccezioni in Java
|
|
|
Lesson n. 13: Classi, interfacce ed ereditarietà in Java
Introduzione
Classi ed interfacce
Ereditarietà
Incapsulamento
Polimorfismo
|
|
|
Lesson n. 14: Package
Introduzione
La modularità e il concetto di package
I package in Java
|
|
|
Lesson n. 15: Gestione della memoria in Java
Introduzione
Java e la memoria
Allocazione e deallocazione
Garbage collection
Metodo finalize ()
Liberare la memoria
Non riallocare
OutOfMemoryError
|
|
|
Lesson n. 16: Introduzione alle classi Java fondamentali
Introduzione
L'architettura dell'API di Java
Il pacchetto java.lang
|
|
|
Lesson n. 17: Input/Output (java.io)
Introduzione
Il pacchetto java.io
Flussi di dati (stream)
Serializzazione
Accesso al file system
|
|
|
Lesson n. 18: Vettori, mappe, tabelle hash (java.util)
Introduzione
Il package java.util
Il "Collections Framework"
Gestione delle date e del tempo
Internazionalizzazione
Programmazione guidata dagli eventi
|
|
|
Lesson n. 19: Gestione del testo (java.text)
Introduzione
I "tokenizer"
Il package java.text
Scrivere applicazione "localizzabili"
|
|
|
Lesson n. 20: Introduzione alle Interfacce Grafiche
Introduzione
Interfacce grafiche
Creare una finestra
Il loop dei messaggi
Chiudere una finestra
Aggiungere elementi
AWT e Swing
|
|
|
Lesson n. 21: Contenitori e contenuto
Introduzione
Componenti grafici
La gerarchia di classi AWT
Visualizzazione e primitive grafiche
Contenitori
Componenti Swing
|
|
|
Lesson n. 22: Rispondere agli eventi
Introduzione
Programmazione reattiva
Il pattern "event delegation"
Eventi ed ascoltatori
Adattatori e classi annidate
|
|
|
Lesson n. 23: Gestire la disposizione
Introduzione
Contenitori e disposizione
LayoutManager
I meccanismi principali
Bordi e spaziature
Disposizione manuale
|
|
|
Lesson n. 24: Applet
Introduzione
Applet
Ambienti di esecuzione
Ciclo di vita di un'applet
Applet e HTML
Interazione con il contesto
Sicurezza nelle applet
Java Plug-in converter
|
|
|
Lesson n. 25: Introduzione alla programmazione concorrente
Introduzione
Programmazione concorrente
Processi e Thread
Quando si usano i thread
Meccanismi di sincronizzazione
Problemi della programmazione concorrente
|
|
|
Lesson n. 26: Creazione di thread
Introduzione
Creazione di thread
Ciclo di vita di un thread
Metodi della classe Thread
La gestione dei thread all'interno di una JVM
|
|
|
Lesson n. 27: Sincronizzazione
Introduzione
Creare una zona di mutua esclusione
Deadlock
Sincronizzazione e metodi statici
Segnalazione tra thread
|
|
|
Lesson n. 28: Pattern
Introduzione
Gestire l'accesso alle risorse condivise
Il problema del produttore e del consumatore
Readers and writers
|
|
|
Lesson n. 29: Introduzione alle basi dati
Introduzione
Basi di dati
File vs Database
Caratteristiche dei DBMS
Le figure professionali coinvolte
Classificazione dei DBMS
Database relazionali
SQL
|
|
|
Lesson n. 30: Java e i DataBase (JDBC)
Introduzione
Introduzione a JDBC
Driver JDBC
Scenari di utilizzo
Il package java.sql
|
|
|
Lesson n. 31: Accesso alle tabelle
Introduzione
Gestione delle connessioni
Interrogazioni
Accesso ai risultati
Aggiornamento
Gestione degli errori
|
|
|
Lesson n. 32: JDBC e transazioni
Introduzione
Transazioni
Proprietà delle transazioni
JDBC e transazioni
Transazioni concorrenti
Livelli di isolamento
Locking
|
|
|
Lesson n. 33: Applicazioni JDBC
Introduzione
Progetto e sviluppo di applicazioni JDBC
Un caso di studio: rubrica telefonica
Un caso di studio: gestione delle prenotazioni di una sala cinematografica
|
|
|
Lesson n. 34: Introduzione alle Architetture Web
Introduzione
Ipertesto
Protocollo
Indirizzi IP
Protocollo HTTP
Caching
|
|
|
Lesson n. 35: HyperText Markup Language (parte 1)
HTML
Tag
Attributi
Elenchi
|
|
|
Lesson n. 36: HyperText Markup Language (parte 2)
Introduzione
Varie
Tabelle
Stili
Due tag
Esercizi
|
|
|
Lesson n. 37: Web server e programmazione CGI
Introduzione
Common Gateway Interface
Apache
Form html
CGI Programming
|
|
|
Lesson n. 38: Programmazione lato server (Parte 1)
Pratical Extraction and Report Languge
Tipi di dati
Simboli speciali
Strutture
File I/O
|
|
|
Lesson n. 39: Programmazione lato server (Parte 2) e lato client
Espressioni regolari
Subroutine
Visibilità e passaggio di parametri
Javascript
|
|
|
Lesson n. 40: Introduzione alle caratteristiche avanzate di Java
Introduzione
Evoluzione di Java
Esigenza dell' industria
Programmazione per componenti
Overview delle specifiche/API
|
|
|
Lesson n. 41: Introduzione alla comunicazione tra processi con Java
Introduzione
Necessità di meccanismi di comunicazione
Overview delle varie opzioni in Java: basso livello
Overview delle varie opzioni in Java: alto livello
Un confronto tra le varie opzioni
Un esempio com RMI
|
|
|
Lesson n. 42: Introduzione a XML
Introduzione
Informazione strutturata
Limitazioni e vantaggi di HTML
XML:le basi
|
|
|
Lesson n. 43: Introduzione alla programmazione in XML
Introduzione
Sintassi XML
Le API JAXP
SAX:le basi
|
|
|
Lesson n. 44: Sicurezza
Introduzione
Sicurezza di un software
Hacking
Firewall
La sicurezza in Java
|
|
|
Lesson n. 45: Applicazioni Java lato server
Introduzione
Importanza del server e Side Computing
Pattern MVC
Architetture distribuite
Java ed applicazioni n-tier
|
|
|
Lesson n. 46: Introduzione ai Web Container
Introduzione
Web Container e Web Application
I tool disponibili
Installazione di Tomcat
Hello, world!
|
|
|
Lesson n. 47: Programming by Servlet (part 1)
Introduzione
Interfacce principali
Tipi di servlet
Ciclo di vita
Passaggio di parametri
Deployment Descriptor
|
|
|
Lesson n. 48: Programmazione con Servlet (parte.2)
Introduzione
Servlet http
Gestire Request e Response http
Esempio: Request Information
Esempio: Request Header
Esempio: Request Parameters
Risposta http
Servlet e Thread
Cenni sulla collaborazione fra servlet
|
|
|
Lesson n. 49: Sessioni di lavoro
Introduzione
Limitazione di http
Approcci al session Tracking
Session Tracking in Java
|
|
|
Lesson n. 50: Programmazione con Java Server Pages (JSP)
Introduzione
Capire il modello JSP
Fondamenti di JSP
Struttura di una JSP
Dettagli su JSP tags
Un esempio :Date
Utilizzo di JSP e Servlet
|
|
|