0 PRIMO MODULO DURATA: 80 ore CONTENUTI 1. Introduzione alla programmazione a. Cosa è la programmazione strutturata b. Strutture dati c. Come si affronta una problematica da risolvere d. Quali sono i passi fondamentali in uno sviluppo di software 2. Gli oggetti a. La programmazione ad oggetti b. Le classi concetti e definizioni c. Diagramma delle classi d. Confronto classi / Database / Programmazione 3. Database a. Cosa è un database b. Quali tipologie di Database esistono c. DB Relazionali & DB ad Oggetti d. Oracle e. Mysql f. MIicrosoft Sql g. Tabelle e relazioni h. Comandi base SQL i. Comandi avanzati sql j. PL-SQL k. Stored Procedure l. Normalizzazione dei dati 4. La programmazione ad oggetti a. Cosa significa programmare ad oggetti b. Le cassi in un progetto di sviluppo c. Cosa è lo sviluppo WEB e lo sviluppo Application d. Concetto di Variabili e costanti e. Concetto di Funzioni e Routine f. Concetto di programmazione strutturata 1 Primi concetti di Programmazione Object Oriented • • • • • Caratteristiche della programmazione ad oggetti Incapsulamento Occultamento delle informazioni e dell’implementazione Conservazione dello stato Identità di un oggetto Fondamenti del linguaggio Java • • • • • • Nomi di classi e convenzioni Tipi elementari di dato Variabili e costanti Operatori Istruzioni condizionali Tipi Enumerativi Classi, oggetti, metodi • • • • • • • • • Classi, metodi ed organizzazione del codice Ricorsione Ereditarietà e incapsulamento Metodi di accesso e modifica Passaggio dei parametri in Java Istanziazione Ciclo di vita degli oggetti Garbage collection Variabili di classe e di istanza I Packages • • • • • Nomenclatura Import Packages e file system Modificatori di accesso Modificatori di accesso ed ereditarietà Uso dell'ereditarietà e del polimorfismo • • • • • This e super Gerarchia nell'ereditarietà Polimorfismo e Late Binding Casting Classi Astratte 2 Programmazione Generica • • • La superclasse Object Uguaglianza ed equivalenza Programmazione generica mediante i "Generics" Gestione degli errori • • • • • • • Il modello di gestione degli errori in Java Eccezioni e gerarchia try /catch Catch multiplo Finally Rilancio di eccezioni Eccezioni ed overriding Annotations • • • • Cosa sono le Annotations Utilità delle Annotations Usare Annotations Definire interfacce annotative Introduzione alla progettazione con UML • • • Modelli e processi Il diagramma delle classi Il diagramma di sequenza JDBC e Database • • • • • • • • • Le API di JDBC Il concetto di driver e connessione Tipi di driver Data Sources Creare una istruzione SQL semplice Connessioni, Statement e Result Sets Prepared e Callable Statements Resultset aggiornabili Esercitazione 3 Le API per le strutture dati: il Collection Framework • • • • • • • • • Il collection Framework Lavorare per interfacce Interfacce del collection FW: Collection, List, Set Map L’interfaccia “Collection” Operazioni sulle Collections Algebra degli insiemi Ordinare oggetti: Comparable e Comparator Algoritmi Esercitazioni 4 SECONDO MODULO DURATA: 120 ore CONTENUTI Java I/O, Thread, Generics, Assertion, JDBC, Cuncurrency. Introduzione alle Web Application • • • Protocollo http Elaborazione dinamica della risposta Panoramica sui linguaggi per l’elaborazione di applicazioni Web a contenuto dinamico. Struttura di una web application Java • • • Il file WAR Il deployment descriptor web.xml Assemblaggio dell’applicazione e contesto Servlet e Java Server Pages • • • • • • • • • • Servlet e HttpServlet Metodi di richiesta Request e Response Request Dispatching Uso della HttpSession ServletFilters Listeners Java Server Pages Elementi sintattici di una JSP: espressioni, scriptlet, dichiarazioni Direttive e variabili predefinite Tag Custom: uso e realizzazione • • • • Effetti positivi dell’uso delle librerie di tag Utilizzare librerie di tag Expression Language JSP 2.0 e sua sintassi Cenni sulla scrittura di tag custom 5 Javaserverpages Standard Tag Library • • • • • • Introduzione all’uso di JSTL Configurazione I tag core I tag format Le funzioni Gli altri tag Design Pattern per le Web Application • • • • • • • • • • • • Il concetto di design pattern I principali pattern utilizzati in J2EE Design Pattern per le applicazioni Web Front Controller Command Factory Adapter Value Object Business Delegate DAO Il Pattern Model View Controller e le sue implicazioni Implementare MVC col request dispatching Introduzione ai principali Framework Java • • • Struts Hibernate Spring 6