L'obiettivo del testo Programmazione di base e avanzata con Java è di introdurre gli studenti alla programmazione e al problem solving utilizzando Java come strumento programmativo. Il testo propone un percorso formativo che include sia i contenuti di un corso di programmazione di base sia un insieme di approfondimenti che supportano lo svolgimento di progetti software complessi, quali per esempio la gestione delle eccezioni, la lettura e la scrittura su file, le strutture dati dinamiche, le collezioni e la realizzazione di interfacce utente . La trattazione è corredata da una vasta gamma di esempi completi e chiaramente documentati, evitando l'errore di sfruttare frammenti di codice decontestualizzati. La nuova edizione mantiene l'impegno originale di avvicinare alla programmazione i neofiti attraverso Java, arricchendo l'esperienza con nuovi contenuti. Oltre a coprire recenti costrutti programmativi come i record e le sealed class, il testo presenta un capitolo inedito sulla programmazione funzionale e sulle Lambda expressions, offrendo una prospettiva aggiornata sulle moderne pratiche di sviluppo software.