TY - CHAP
T1 - Usage of the Java Language by Novices over Time: Implications for Tool and Language Design
AU - Weill-Tessier, Pierre
AU - Costache, Alexandra Lucia
AU - Brown, Neil
PY - 2021/3/3
Y1 - 2021/3/3
N2 - Java is a popular programming language for teaching at university level. BlueJ is a popular tool for teaching Java to beginners. We provide several analyses of Java use in BlueJ to answer three questions: what use is made of different parts of Java by beginners when learning to program; how has this pattern of use changed between 2013 and 2019 in a longstanding language such as Java; and to what extent do beginners follow the specific style that BlueJ is designed to guide them into? These analyses allow us to see what features are important in object-oriented introductory programming languages, which could inform language and tool designers -- and see to what extent the design of these programming tools can have an effect on the way the language is used. We find that many beginners disobey the guidelines that BlueJ promotes, and that patterns of Java use are generally stable over time -- but we do see decreased exception use and a change in target application domains away from GUI programming towards text processing. We conclude that programming languages for novices could have fewer built-in types but should retain rich libraries.
AB - Java is a popular programming language for teaching at university level. BlueJ is a popular tool for teaching Java to beginners. We provide several analyses of Java use in BlueJ to answer three questions: what use is made of different parts of Java by beginners when learning to program; how has this pattern of use changed between 2013 and 2019 in a longstanding language such as Java; and to what extent do beginners follow the specific style that BlueJ is designed to guide them into? These analyses allow us to see what features are important in object-oriented introductory programming languages, which could inform language and tool designers -- and see to what extent the design of these programming tools can have an effect on the way the language is used. We find that many beginners disobey the guidelines that BlueJ promotes, and that patterns of Java use are generally stable over time -- but we do see decreased exception use and a change in target application domains away from GUI programming towards text processing. We conclude that programming languages for novices could have fewer built-in types but should retain rich libraries.
UR - http://www.scopus.com/inward/record.url?scp=85103314189&partnerID=8YFLogxK
U2 - 10.1145/3408877.3432408
DO - 10.1145/3408877.3432408
M3 - Conference paper
SN - 9781450380621
T3 - SIGCSE 2021 - Proceedings of the 52nd ACM Technical Symposium on Computer Science Education
SP - 328
EP - 334
BT - SIGCSE 2021 - Proceedings of the 52nd ACM Technical Symposium on Computer Science Education
PB - Association for Computing Machinery
ER -