Expressions in Java
essential, prevalent, neglected?
Additional information
Authors
Chiodini L.,
Moreno Santos I.,
Hauswirth M.
Type
Article in conference proceedings
Year
2022
Language
English
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.
Keywords
Expressions, Java, Textbooks, Blackbox, Trees, Education, Abstract Syntax Tree, Grammar
Conference proceedings
ACM SIGPLAN International Symposium on SPLASH-E
Meeting name
SPLASH-E '22: 2022 ACM SIGPLAN International Symposium on SPLASH-E
Meeting place
Auckland New Zealand
Meeting date
December 1, 2022
Pages (or article number)
41-51
Diffusion
License
Rights reserved
Visibility
Public
Status open access
Green