Writing Between the Lines: How Novices Construct Java']Java Programs

被引:0
|
作者
Brown, Neil C. C. [1 ]
Mac, Victoria [1 ]
Weill-Tessier, Pierre [1 ]
Kolling, Michael [1 ]
机构
[1] Kings Coll London, London, England
关键词
Programming traces; Blackbox; Programming education; AGREEMENT;
D O I
10.1145/3626252.3630968
中图分类号
G40 [教育学];
学科分类号
040101 ; 120403 ;
摘要
Novices frequently learn to program using text-based programming, in languages such as Java. Programs can be constructed in a variety of different ways. Novices may write them sequentially, one line after another, or they may use top-down design to write outlines then fill them in. They may do a lot of trial and error: writing and deleting as they receive errors, or they may use a lot of copy-and-paste. This level of detail - higher than keystroke-level editing but below plan-composition analysis - has rarely been explored in programming education research, but it can provide insight into how novices tackle program construction, and offer hints as to how they wrestle with the challenges of constructing an error-free program. In this paper we used thematic analysis to create a reliable set of tags for Java program construction, and then used them to tag over 100 programming sessions lasting over 300 hours. We empirically find that novices rarely comment, rarely plan, and frequently program by copying code they already wrote in the project and pasting it then adjusting it - which we think indicates a way to transfer the knowledge of the code they just wrote to the next code they are constructing. We offer thoughts on the viability of this work and the difficulty of tagging higher-level behaviours such as responses to errors.
引用
收藏
页码:165 / 171
页数:7
相关论文
共 50 条
  • [1] Writing concurrent Java']Java programs based on CafeOBJ specifications
    Ha, Xuan-Linh
    Ogata, Kazuhiro
    [J]. 2017 24TH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE (APSEC 2017), 2017, : 618 - 623
  • [2] How Scale Affects Structure in Java']Java Programs
    Lopes, Cristina V.
    Ossher, Joel
    [J]. ACM SIGPLAN NOTICES, 2015, 50 (10) : 675 - 694
  • [3] How do Java']Java programs use inheritance? An empirical study of inheritance in Java']Java software
    Tempero, Ewan
    Noble, James
    Melton, Hayden
    [J]. ECOOP 2008 - OBJECT-ORIENTED PROGRAMMING, PROCEEDINGS, 2008, 5142 : 667 - +
  • [4] Student Perspectives on the Use of a Java']Java Library for Novices
    Barros, Joao Paulo
    Brito, Isabel Sofia
    [J]. PROCEEDINGS OF 2017 IEEE GLOBAL ENGINEERING EDUCATION CONFERENCE (EDUCON2017), 2017, : 1405 - 1410
  • [5] How Good is your Comment? A study of Comments in Java']Java Programs
    Haouari, Dorsaf
    Sahraoui, Houari
    Langlais, Philippe
    [J]. 2011 FIFTH INTERNATIONAL SYMPOSIUM ON EMPIRICAL SOFTWARE ENGINEERING AND MEASUREMENT (ESEM 2011), 2011, : 137 - 146
  • [6] How Java']Java programs interact with virtual machines at the microarchitectural level
    Eeckhout, L
    Georges, A
    De Bosschere, K
    [J]. ACM SIGPLAN NOTICES, 2003, 38 (11) : 169 - 186
  • [7] Reliable transformation between Java']Java RMI and CORBA programs
    Kimm, H
    [J]. COMPUTERS AND THEIR APPLICATIONS, 2004, : 216 - 219
  • [8] Not whether Java']Java but how Java']Java
    Wallace, C
    Martin, P
    [J]. ASIA PACIFIC SOFTWARE ENGINEERING CONFERENCE AND INTERNATIONAL COMPUTER SCIENCE CONFERENCE, PROCEEDINGS, 1997, : 517 - 518
  • [9] Changing Java']Java programs
    Eisenbach, S
    Sadler, C
    [J]. IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, PROCEEDINGS: SYSTEMS AND SOFTWARE EVOLUTION IN THE ERA OF THE INTERNET, 2001, : 479 - 487
  • [10] Collaboration and the Importance for Novices in Learning Java']Java Computer Programming
    Bagley, Carole A.
    Chou, C. Candace
    [J]. ITICSE 2007: 12TH ANNUAL CONFERENCE ON INNOVATION & TECHNOLOGY IN COMPUTER SCIENCE EDUCATION, 2007, : 211 - 215