Tab Article
Le lezioni contenute in questo volume assumono che l'allievo abbia già seguito un primo corso di Fondamenti di Informatica e dunque abbia già familiarizzato con i concetti fondamentali di algoritmo, calcolatore e risoluzione algoritmica di problemi secondo lo stile procedurale. I primi due capitoli del testo richiamano gli argomenti di base della programmazione procedurale in Java. Dal terzo capitolo in poi si approfondisce la programmazione orientata agli oggetti in Java e la messa a punto di classi "tagliate su misura" delle applicazioni, organizzate in biblioteche di moduli riutilizzabili, robuste rispetto al verificarsi di eccezioni, ed eventualmente dotate di interfaccia grafica di interazione (GUI). Lo studio della POO include i meccanismi di programmazione mediante tipi generici e approfondisce classi proprie della libreria di Java ed in particolare il collection framework considerato il suo ruolo strategico ai fini delle applicazioni. Poi si forniscono elementi di conoscenza riguardanti l'implementazione di collezioni custom lineari e non lineari, le tecniche di programmazione ricorsiva, si introducono i concetti di complessità degli algoritmi, si presentano algoritmi efficienti di ordinamento, si discutono alcune strutture di dati e le nozioni dello unit testing. Un capitolo a parte è dedicato ad un'introduzione alla programmazione multi-thread e al progetto di classi thread-safe, con diversi esempi di programmi concorrenti.