struttura del corso
corso genitore
informazioni generali sul corso
Concetti fondamentali dei linguaggi di programmazione. Famiglie di linguaggi imperativi, funzionali, logici e a oggetti. Introduzione alla progettazione del software: componenti software, tipi di dato astratto (5h).
Concetti, metodologie e linguaggi. Introduzione alla programmazione ad oggetti e al linguaggio Java: componenti software in Java, classi e istanze, meccanismi di costruzione-distruzione di istanze. Oggetti composti, ereditarietà, polimorfismo e genericità. Classi astratte, interfacce: il ruolo delle interfacce nel progetto e loro relazione con le classi. (30h frontale + 12h lab)
Ereditarietà semplice e multipla fra interfacce. Lambda expression e interfacce funzionali. (12h + 6h lab)
Il concetto di eccezione. Stream di I/O. Principali strutture dati: liste, hashmap, alberi. Algoritmi su tali strutture dati e loro implementazione sia in forma procedurale sia in forma orientata agli oggetti in Java. (20h + 12h lab)
Introduzione agli Stream di operazioni (3h)
Elementi di base per la costruzione di interfacce grafiche: concetto di evento e programmazione event-driven, la piattaforma JavaFX. (10h+10h lab)
funge da
corso componente