Investigating the Use of Productive Failure as a Design Paradigm for Learning Introductory Python Programming

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Suriyaarachchi, Hussel, Denny, Paul, Nanayakkara, Suranga
Format: Preprint
Published: 2024
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866929595068973056
author Suriyaarachchi, Hussel
Denny, Paul
Nanayakkara, Suranga
author_facet Suriyaarachchi, Hussel
Denny, Paul
Nanayakkara, Suranga
contents Productive Failure (PF) is a learning approach where students initially tackle novel problems targeting concepts they have not yet learned, followed by a consolidation phase where these concepts are taught. Recent application in STEM disciplines suggests that PF can help learners develop more robust conceptual knowledge. However, empirical validation of PF for programming education remains under-explored. In this paper, we investigate the use of PF to teach Python lists to undergraduate students with limited prior programming experience. We designed a novel PF-based learning activity that incorporated the unobtrusive collection of real-time heart-rate data from consumer-grade wearable sensors. This sensor data was used both to make the learning activity engaging and to infer cognitive load. We evaluated our approach with 20 participants, half of whom were taught Python concepts using Direct Instruction (DI), and the other half with PF. We found that although there was no difference in initial learning outcomes between the groups, students who followed the PF approach showed better knowledge retention and performance on delayed but similar tasks. In addition, physiological measurements indicated that these students also exhibited a larger decrease in cognitive load during their tasks after instruction. Our findings suggest that PF-based approaches may lead to more robust learning, and that future work should investigate similar activities at scale across a range of concepts.
format Preprint
id arxiv_https___arxiv_org_abs_2411_11227
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Investigating the Use of Productive Failure as a Design Paradigm for Learning Introductory Python Programming
Suriyaarachchi, Hussel
Denny, Paul
Nanayakkara, Suranga
Computers and Society
Human-Computer Interaction
Productive Failure (PF) is a learning approach where students initially tackle novel problems targeting concepts they have not yet learned, followed by a consolidation phase where these concepts are taught. Recent application in STEM disciplines suggests that PF can help learners develop more robust conceptual knowledge. However, empirical validation of PF for programming education remains under-explored. In this paper, we investigate the use of PF to teach Python lists to undergraduate students with limited prior programming experience. We designed a novel PF-based learning activity that incorporated the unobtrusive collection of real-time heart-rate data from consumer-grade wearable sensors. This sensor data was used both to make the learning activity engaging and to infer cognitive load. We evaluated our approach with 20 participants, half of whom were taught Python concepts using Direct Instruction (DI), and the other half with PF. We found that although there was no difference in initial learning outcomes between the groups, students who followed the PF approach showed better knowledge retention and performance on delayed but similar tasks. In addition, physiological measurements indicated that these students also exhibited a larger decrease in cognitive load during their tasks after instruction. Our findings suggest that PF-based approaches may lead to more robust learning, and that future work should investigate similar activities at scale across a range of concepts.
title Investigating the Use of Productive Failure as a Design Paradigm for Learning Introductory Python Programming
topic Computers and Society
Human-Computer Interaction
url https://arxiv.org/abs/2411.11227