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 in Java 8. (3h)

Elementi di base per la costruzione di interfacce grafiche: concetto di evento e programmazione event-driven, la piattaforma JavaFX. (10h+10h lab)

Tags:
    

Course

Fondamenti di Informatica T-2

— a.y.

2018/2019

— credits

12

— cycle

1st Cycle

— language

wit.gif

Teachers

— professor

Enrico Denti

— other professors

Roberta Calegari, Ambra Molesini

Context

— university

Alma Mater Studiorum-Università di Bologna

— campus

Bologna

— department / faculty / school

DISI

— 1st-cycle course

 9254 Ingegneria informatica 

URLs & IDs

AMS page
course on Virtuale

— course ID

28006

Partita IVA: 01131710376 - Copyright © 2008-2021 APICe@DISI Research Group - PRIVACY