Gli argomenti sono suddivisi in due sezioni: 1) "Java Base" ha lo scopo di far acquisire praticamente usando il linguaggio Java tutte le nozioni base necessarie alla programmazione object oriented; 2) "Paradigma object oriented" ha lo scopo di far acquisire i concetti di Obiect Oriented, le rappresentazioni grafiche ed approfondire il linguaggio Java.
Programma
1. Il linguaggio Java: una prima visione procedurale per acquisire le istruzioni e i tipi di dati di base:
- variabili, operatori, espressioni e blocco di istruzioni;
- i tipi di dati primitivi e gli array;
- controllo del flusso del programma:
istruzione if “then” else;
istruzioni break, continue e return;
istruzione switch;
istruzioni while e do while;
istruzione for, foreach.
2. Il Paradigma Object Oriented (incapsulamento e visibilità, ereditarietà, polimorfismo, astrazione), comprendere cos’è una Classe, cos’è un Oggetto e cos’è un programma ad oggetti;
- Passare dal “problema” al modello statico delle classi usando schemi UML (Unified Modeling Language);
- Le classi in Java: i package, l’incapsulamento e la visibilità, l’ereditarietà, il polimorfismo, l'astrazione, le interfacce;
- I principali package offerti da Java: java.lang, java.io, java.util (collezioni: ArrayList, Map, HashMap), java.text, java.time;
- Esempi d’uso con creazione di file (stream), scrittura e lettura, formattazione dei dati, input ed output da consolle;
- Serializzazione e deserializzazione degli oggetti;
- Le eccezioni: i blocchi try catch finally – come e quando usarli;
- Creazione di una classe di eccezione personalizzata (java.lang.Throwable);
- Introduzione alla programmazione concorrente: costruire e gestire thread;
- Introduzione all'Interfaccia utente con AWT-SWING: tipi di layout, i controlli più utilizzati, gli eventi e la loro gestione;
- la costruzione e debug di un’applicazione completa con gestione degli errori, interfaccia grafica ed accesso ai file.