Ricerca di contatti, progetti,
corsi e pubblicazioni

Advanced Java Programming

Persone

Binder W.

Docente titolare del corso

Rosà A.

Docente titolare del corso

Descrizione

This course covers advanced concepts in object-oriented, functional, and concurrent programming for designing extensible, scalable, and resource-aware software systems. It introduces the Java Virtual Machine (JVM), bytecode, and bytecode instrumentation as foundations for dynamic program analysis. Students learn how profiling and related analysis techniques can be used to understand program behavior, identify performance bottlenecks, and guide optimization. The course combines language-level concepts, runtime-system principles, and hands-on practice in the Java ecosystem.

Obiettivi

  • Understand advanced Java programming concepts, including generics, functional programming, and concurrent programming.
  • Explain the execution model of the Java Virtual Machine (JVM) and the role of bytecode.
  • Design and implement dynamic program analyses, such as profiling, using bytecode instrumentation.

Obiettivi di sviluppo sostenibile

  • Industria, innovazione e infrastrutture

Modalità di insegnamento

In presenza

Impostazione pedagogico-didattica

Lectures, tutorials, guided exercises, and practical programming assignments.

Modalità d’esame

Assessment consists of a project and a final exam.

Bibliografia

Programma