|
Descrizione Introduttiva:
Il linguaggio Java ha raggiunto una diffusione enorme. La tecnologia Java è ormai ampiamente diffusa su piattaforme di ogni tipo: dai telefoni cellulari ai server di livello enterprise. Il grande successo di Java è certamente dovuto anche al fatto che i suoi progettisti si sono prefissi l’obbiettivo di creare un ambiente di programmazione in grado di ridurre “time and difficulty of producing robust code”. Molti ritengono che l’utilizzo di Java permette “amazing reductions in development time; half or less of the time that it takes to create an equivalent C++ program”.
Java può contribuire a migliorare la produttività dei programmatori anche grazie alle sue caratteristiche di modularità ed estendibilità. Le numerose librerie disponibili, infatti, semplificano in maniera notevole la soluzione di molti problemi pratici: programmazione concorrente, networking, programmazione multipiattaforma, aggiornamento dinamico del codice, sicurezza e così via.
La conoscenza di Java è pertanto molto importante per chiunque abbia la necessità di sviluppare software robusto in maniera professionale.
Obiettivi e contenuti:
L’obbiettivo del corso è quello di fornire ai partecipanti una conoscenza dell’ambiente Java adeguata ad affrontare progetti software di media complessità.
Saranno descritti ed approfonditi i meccanismi avanzati per la programmazione ad oggetti in Java: interfacce, ereditarietà, polimorfismo, package. Sarà posta particolare enfasi sull’utilizzo di questi meccanismi dal punto di vista della modularità e del riutilizzo del codice.
Saranno presentate le API predefinite per la gestione di collezioni dinamiche di oggetti (liste, insiemi, tabelle con chiave), i meccanismi per la sincronizzazione tra thread, i meccanismi per la descrizione di oggetti e classi a run-time (reflection). Il livello di dettaglio e di approfondimento sarà commisurato alla durata del corso.
Saranno svolti numerosi esempi pratici. Questi si baseranno su di un esempio base relativo alla programmazione client/ server tramite socket. L’esempio sarà progressivamente arricchito di funzionalità in base agli argomenti svolti.
Destinatari:
Laureati e Diplomati in discipline tecnico scientifiche. Tecnici con esperienza di programmazione.
Prerequisiti:
Pratica di programmazione. Conoscenza di base del linguaggio Java.
Materiale didattico:
- Slides in formato pdf.
- Software Development Kit Java, Documentazione API Java, Ambiente di programmazione JCreator (tutti disponibili gratuitamente su web).
- Testo “Thinking in Java”, Bruce Eckel (disponibile gratuitamente su web).
|