Validating, Refining, and Identifying Programming Plans Using Learning Curve Analysis on Code Writing Data

被引:0
|
作者
Demirtas, Mehmet Arif [1 ]
Fowler, Max [1 ]
Hu, Nicole [1 ]
Cunningham, Kathryn [1 ]
机构
[1] Univ Illinois, Urbana, IL 61801 USA
关键词
learning curve analysis; CS1; programming plans; programming patterns; knowledge components; VARIABLES; ROLES;
D O I
10.1145/3632620.3671120
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Background and Context: A major difference between expert and novice programmers is the ability to recognize and apply common and meaningful patterns in code. Previous works have attempted to identify these patterns as programming plans, such as counting or filtering the items of a collection. However, these efforts primarily relied on expert opinions and yielded many varied sets of plans. No methods have been applied to evaluate these various programming plans as far as their alignment with novices' cognitive development. Objectives: In this work, we investigate which programming plans are learned as discrete skills. To this end, we evaluate how well students transfer their knowledge between problems that test a particular plan. Further, we explore how plan definitions can be improved to better represent student cognition using historical data on student performance collected from a programming course. Method: We apply learning curve analysis, a method for modeling student improvement on problems that test a particular skill, using programming plans as a skill model. More specifically, we study student submissions on code-writing exercises in Python from a CS1 class for non-majors that includes many small programming problems as well as implicit and explicit instruction on patterns. We compare the learning curves for ten programming plans across seven semesters of the same course. Findings: Students develop the skill of using some programming plans in their solutions, indicated by consistent declines in error rates on practice opportunities for a subset of plans in multiple semesters with various conditions. Most consistently learned plans have clear and concrete goals that can be explained in natural language, as opposed to having abstract definitions or being explained in terms of language structures. Implications: We show that learning curve analysis can be used to empirically assess the cognitive validity of proposed programming plans, as well as compare various plan models. However, our work also indicates that instructors should be cautious when assuming that introductory programming students can apply more abstract programming plans to successfully solve new problems, as plans with increased specificity tend to better explain the learning process in our observations.
引用
收藏
页码:263 / 279
页数:17
相关论文
共 50 条
  • [1] Data and programming code from the studies on the learning curve for radical prostatectomy
    Vickers A.J.
    Cronin A.M.
    [J]. BMC Research Notes, 3 (1)
  • [2] Answer Code Validation Program with Test Data Generation for Code Writing Problem in Java']Java Programming Learning Assistant System
    Wai, Khaing Hsu
    Funabiki, Nobuo
    Aung, Soe Thandar
    Lu, Xiqin
    Jing, Yanhui
    Kyaw, Htoo Htoo Sandi
    Kao, Wen-Chung
    [J]. ENGINEERING LETTERS, 2024, 32 (05) : 981 - 994
  • [3] Automated Analysis of Reflection in Writing: Validating Machine Learning Approaches
    Ullmann, Thomas Daniel
    [J]. INTERNATIONAL JOURNAL OF ARTIFICIAL INTELLIGENCE IN EDUCATION, 2019, 29 (02) : 217 - 257
  • [4] Automated Analysis of Reflection in Writing: Validating Machine Learning Approaches
    Thomas Daniel Ullmann
    [J]. International Journal of Artificial Intelligence in Education, 2019, 29 : 217 - 257
  • [5] Identifying writing profiles in game-based language learning using data mining
    Palomo-Duarte, Manuel
    Berns, Anke
    Yanez Escolano, Andres
    Manuel Dodero, Juan
    [J]. THIRD INTERNATIONAL CONFERENCE ON TECHNOLOGICAL ECOSYSTEMS FOR ENHANCING MULTICULTURALITY, PROCEEDINGS TEEM'15, 2015, : 263 - 270
  • [6] Two Studies of Opportunistic Programming: Interleaving Web Foraging, Learning, and Writing Code
    Brandt, Joel
    Guo, Philip J.
    Lewenstein, Joel
    Dontcheva, Mira
    Klemmer, Scott R.
    [J]. CHI2009: PROCEEDINGS OF THE 27TH ANNUAL CHI CONFERENCE ON HUMAN FACTORS IN COMPUTING SYSTEMS, VOLS 1-4, 2009, : 1589 - 1598
  • [7] Identifying Curve Reaction Point using NDS Data
    Hallmark, Shauna
    Oneyear, Nicole
    Tyner, Samantha
    Wang, Bo
    Carney, Cher
    McGehee, Dan
    [J]. 2015 IEEE 18TH INTERNATIONAL CONFERENCE ON INTELLIGENT TRANSPORTATION SYSTEMS, 2015, : 2237 - 2242
  • [8] Identifying and Validating Distinct Clinical Phenotypes in Bipolar Disorders Using Neurocognitive Data, Neuroimaging Scans and Machine Learning
    Irungu, Benson
    Mwangi, Benson
    Wu, Mon-Ju
    Bauer, Isabelle
    Sanches, Marsal
    Zunta-Soares, Giovana
    Soares, Jair
    [J]. NEUROPSYCHOPHARMACOLOGY, 2014, 39 : S261 - S262
  • [9] Identifying and Validating Distinct Clinical Phenotypes in Bipolar Disorders Using Neurocognitive Data, Neuroimaging Scans and Machine Learning
    Wu, Mon-Ju
    Mwangi, Benson
    Bauer, Isabelle E.
    Sanches, Marsal
    Kapczinski, Flavio
    Zunta-Soares, Giovana B.
    Meyer, Thomas D.
    Soares, Jair C.
    [J]. BIOLOGICAL PSYCHIATRY, 2015, 77 (09)
  • [10] An Improved Informative Test Code Approach for Code Writing Problem in Java']Java Programming Learning Assistant System
    Funabiki, Nobuo
    Zaw, Khin Khin
    Mon, Ei Ei
    Kao, Wen-Chung
    [J]. ADVANCES IN INTERNET, DATA & WEB TECHNOLOGIES, 2018, 17 : 687 - 698