Defining, Measuring, and Investigating Creative Elaboration in Programming Pubblico

Mittal, Vidhi (Spring 2025)

Permanent URL: https://etd.library.emory.edu/concern/etds/bk128c48q?locale=it
Published

Abstract

While programming assignments often yield functionally equivalent solutions, they differ dramatically in creative expression. Creativity in programming has traditionally been theorized along four dimensions: fluency (quantity of ideas), flexibility (diversity of ideas), originality (novelty of ideas), and elaboration (depth and refinement of ideas). While prior work has explored the first three, elaboration remains underexamined in code. 

This thesis investigates creative elaboration in source code: the use of modular decomposition, naming clarity, documentation, and whitespace as forms of creative structure. We formally define a computational metric of elaboration based on five syntactic features and use it to examine how elaborative expression relates to code comprehension, correctness, and perceived quality.

In Phase 1, we conduct a controlled user study (n = 15) comparing programmer performance across elaborated and minimal versions of the same Java codebase. Participants interacting with elaborated code achieved significantly higher comprehension accuracy and reported greater perceived clarity. Debugging performance and efficiency were also higher in the elaborated group, though not always statistically significant. Feature addition outcomes trended favorably but showed greater variability.

In Phase 2, we apply the elaboration metric to 6,132 real-world student-written programs from the PROGpedia dataset. Elaboration scores were significantly higher in accepted submissions than in incorrect ones, predictive of correctness in supervised models, and stable across Java and Python. We further observed systematic variation in elaboration by problem domain, with algorithmic concepts such as MST and Graph Traversal eliciting higher elaboration than string processing or backtracking tasks.

Together, these findings demonstrate that elaborative design features might influence both human and automated interpretations of code.

Table of Contents

1 Introduction.................................................................................................................................. 1

2 Background................................................................................................................................... 3

2.0.1 Creativity in Programming Education........................................................................ 3

2.0.2 Theoretical Models of Creativity................................................................................ 3

2.0.3 Defining Elaboration in Programming........................................................................ 4

2.0.4 Methods for Assessing Elaboration............................................................................ 4

2.0.5 Process-Based Insights and Behavioral Data............................................................. 5

2.0.6 Gaps in the Literature................................................................................................. 6

3 Approach...................................................................................................................................... 7

3.1 Phase 1: Controlled User Study..................................................................................... 7

3.1.1 Study Protocol and Participants................................................................................. 7

3.1.2 Stimulus Materials...................................................................................................... 8

3.1.3 Task Design................................................................................................................. 9

3.1.4 Hypotheses............................................................................................................... 11

3.2 Phase 2: Formalizing and Scaling the Elaboration Metric........................................... 12

3.2.1 Metric Definition...................................................................................................... 12

3.2.2 Feature Extraction via Static Analysis....................................................................... 13

3.2.3 Application to the PROGpedia Dataset.................................................................... 15

4 Experiments & Analysis.............................................................................................................. 16

4.1 Phase 1 Results............................................................................................................ 16

4.1.1 Overview................................................................................................................... 16

4.1.2 Descriptive Statistics................................................................................................ 16

4.1.3 Comprehension Task Performance.......................................................................... 17

4.1.4 Debugging Task Performance................................................................................... 18

4.1.5 Feature Addition Performance................................................................................. 18

4.1.6 Efficiency Metrics..................................................................................................... 20

4.1.7 Subjective Perceptions............................................................................................. 20

4.1.8 Summary of Findings................................................................................................ 21

4.2 Phase 2 Results............................................................................................................ 22

4.2.1 Overview................................................................................................................... 22

4.2.2 Elaboration and Submission Correctness................................................................. 23

4.2.3 Language-Agnostic Robustness................................................................................ 24

4.2.4 Predictive Modeling of Correctness......................................................................... 24

4.2.5 Feature-Level Discriminability.................................................................................. 25

4.2.6 Per-Problem and Per-Concept Analysis................................................................... 25

4.2.7 Summary of Findings................................................................................................ 26

5 Conclusion.................................................................................................................................. 27

5.0.1 Limitations................................................................................................................ 28

5.0.2 Future Work............................................................................................................. 28

A Source Code............................................................................................................................... 30

B Full Survey Instrument............................................................................................................... 31

B.1 Anonymous Participant ID.......................................................................................... 31

B.2 Background Information............................................................................................. 31

B.3 Java Experience & Background................................................................................... 32

B.4 Java Knowledge Check................................................................................................ 32

B.5 Self-Assessment.......................................................................................................... 34

B.6 Code Comprehension.................................................................................................. 34

B.7 Debugging Task........................................................................................................... 35

B.8 Feature Addition Task................................................................................................. 35

B.9 Post-Study Perception Survey..................................................................................... 35

C Code Stimuli................................................................................................................................ 37

C.1 Minimal Version (MinimalLibrary.java)....................................................................... 37

C.2 Elaborated Version (ElaboratedLibrary.java).............................................................. 39

C.3 Minimal Bugged Version (MinimalLibraryBugged.java).............................................. 46

C.4 Elaborated Bugged Version (ElaboratedLibraryBugged.java)..................................... 48

Bibliography................................................................................................................................... 57

About this Honors Thesis

Rights statement
  • Permission granted by the author to include this thesis or dissertation in this repository. All rights reserved by the author. Please contact the author for information regarding the reproduction and use of this thesis or dissertation.
School
Department
Degree
Submission
Language
  • English
Parola chiave
Committee Chair / Thesis Advisor
Committee Members
Ultima modifica

Primary PDF

Supplemental Files