SPLASH-E '22

Talk: Expressions in Java: Essential, Prevalent, Neglected?

Auckland, New Zealand
Mon, Dec 12, 2022Fri, Dec 16, 2022


Luca Chiodini presenting our study on Expressions in Java: Essential, Prevalent, Neglected? at SPLASH-E 2022.

Abstract

Expressions are the building blocks of formal languages such as lambda calculus as well as of programming languages that are closely modeled after it. Although expressions are also an important part of programs in languages like Java, that are not primarily functional, teaching practices typically don’t focus as much on expressions.

We conduct both a theoretical analysis of the Java language, as well as an empirical analysis of the use of expressions in Java programs by novices, to understand the role expressions play in writing programs. We then proceed by systematically analyzing teaching materials for Java to characterize how they present expressions.

Our findings show that expressions are an essential construct in Java, that they are prevalent in student code, but that current textbooks do not introduce expressions as the central, general, and compositional concept they are.

External Link

SPLASH-E 2022