Programming Expertise during Incremental Software Development: An Empirical Study

被引:0
|
作者
Xu, Shaochun [1 ]
Du, Wencai [2 ]
机构
[1] Algoma Univ, Dept Comp Sci, Sault Ste Marie, ON, Canada
[2] Hainan Univ, Coll Informat Sci & Technol, Haikou, Peoples R China
来源
关键词
NOVICE; KNOWLEDGE;
D O I
暂无
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
This paper studies the expertise differences between intermediate and expert programmers during incremental software development. We conducted experiments on the intermediates and experts by asking them to perform programming on the same problem. We recorded the process and analyzed the data. We identified the differences between intermediate and expert programmers in terms of design decision generation, test case generation, the hypotheses generation when debugging the program and actions at different Bloom's taxonomy levels. It seems that experts generate higher levels, more general and higher quality hypotheses and are more able to evaluate their hypotheses and design decisions. Intermediate programmers seem to pay more attention to the detailed decisions and lack ability a evaluating the hypotheses. Experts are also better able to get rid of discredited hypotheses while intermediates often try to keep hypotheses despite some contradictory evidence. Experts generate an overview in general before beginning to program. Intermediates generate more hypotheses when they are debugging programs while experts produce them quickly and accommodate them with the data without introducing more hypotheses. Experts are better in using the domain knowledge and have better abstract knowledge than intermediate programmers at conceptual levels as well. With regards to Bloom's taxonomy, it seems that experts spend more efforts at higher Bloom's cognitive levels and intermediates have more activities at lower Bloom's levels. This study might have implications for knowledge engineering and provide guidance for software development education.
引用
收藏
页码:59 / +
页数:4
相关论文
共 50 条
  • [1] An empirical study of programmer learning during incremental software development
    Xu, SC
    Rajlich, V
    Marcus, A
    [J]. ICCI 2005: FOURTH IEEE INTERNATIONAL CONFERENCE ON COGNITIVE INFORMATICS - PROCEEDINGS, 2005, : 340 - 349
  • [2] Expertise in software design: An empirical study with software professionals
    Sonnentag, S
    [J]. INTERNATIONAL JOURNAL OF PSYCHOLOGY, 1996, 31 (3-4) : 4172 - 4172
  • [3] An Empirical Study of Lead-Times in Incremental and Agile Software Development
    Petersen, Kai
    [J]. NEW MODELING CONCEPTS FOR TODAY'S SOFTWARE PROCESSES, 2010, 6195 : 345 - 356
  • [4] Pair programming in software development teams - An empirical study of its benefits
    Bipp, Tanja
    Lepper, Andreas
    Schmedding, Doris
    [J]. INFORMATION AND SOFTWARE TECHNOLOGY, 2008, 50 (03) : 231 - 240
  • [5] Cognitive process during incremental software development
    Xu, Shaochun
    Cui, Zendi
    Gui, Yufeng
    [J]. 6TH IEEE/ACIS INTERNATIONAL CONFERENCE ON COMPUTER AND INFORMATION SCIENCE, PROCEEDINGS, 2007, : 176 - +
  • [6] Understanding Programming Expertise: An Empirical Study of Phasic Brain Wave Changes
    Crk, Igor
    Kluthe, Timothy
    Stefik, Andreas
    [J]. ACM TRANSACTIONS ON COMPUTER-HUMAN INTERACTION, 2016, 23 (01)
  • [7] Pair Programming for Software Engineering Education: An Empirical Study
    Karthiekheyan, Kavitha
    Ahmed, Irfan
    Jayalakshmi, Jalaja
    [J]. INTERNATIONAL ARAB JOURNAL OF INFORMATION TECHNOLOGY, 2018, 15 (02) : 246 - 255
  • [8] Effective Social Productivity Measurements during Software Development: An Empirical Study
    Yilmaz, Murat
    O'Connor, Rory V.
    Clarke, Paul
    [J]. INTERNATIONAL JOURNAL OF SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING, 2016, 26 (03) : 457 - 490
  • [9] Using programming expertise for controlling software synthesis
    Hewett, R
    [J]. JOURNAL OF EXPERIMENTAL & THEORETICAL ARTIFICIAL INTELLIGENCE, 1996, 8 (3-4) : 293 - 318
  • [10] An Empirical Study on Microservice Software Development
    Ramirez, Francisco
    Mera-Gomez, Carlos
    Bahsoon, Rami
    Zhang, Yuqun
    [J]. 2021 IEEE/ACM JOINT 9TH INTERNATIONAL WORKSHOP ON SOFTWARE ENGINEERING FOR SYSTEMS-OF-SYSTEMS AND 15TH WORKSHOP ON DISTRIBUTED SOFTWARE DEVELOPMENT, SOFTWARE ECOSYSTEMS AND SYSTEMS-OF-SYSTEMS (SESOS/WDES 2021), 2021, : 16 - 23