Key research themes
1. How is Java adopting functional programming paradigms through lambda expressions and what are the challenges in API and developer ecosystem adaptation?
This research theme investigates the adoption and integration of functional programming features, primarily lambda expressions introduced in Java 8, within Java’s core and third-party APIs. It addresses how these new paradigms affect API design, developer practices, and ecosystem readiness. Understanding this transition elucidates the functional programming uptake within Java’s largely object-oriented ecosystem, the rationale behind adaptation decisions, and the practical implications for developers.
2. What are the effective educational approaches and tools for teaching Java programming, particularly object-oriented programming (OOP) and computational thinking at various learner levels?
This theme explores pedagogical strategies and tooling for Java programming education, with a focus on novices, primary school children, and students learning complex concepts such as OOP and computational thinking (CT). It includes the evaluation of programming environments, instructional sequencing, and visualization tools that impact learning performance, attitude, and conceptual understanding.
3. How are Java Virtual Machine (JVM) implementations, tools, and infrastructure evolving to optimize performance, interoperability, and heterogeneous computing?
This research area focuses on the technical evolution of JVM internals, build processes, and runtime frameworks to enhance bytecode execution performance, enable interoperability across multiple languages, and integrate heterogeneous hardware acceleration. It addresses optimization challenges in compilation toolchains, explores cross-language code portability, and evaluates the applicability of Java in high-performance and embedded contexts like space missions.