Back to results

Temple University. Libraries

Learning to Program From Interactive Example Code (With and Without Intentional Bugs)

Abstract

dc:description.abstract

Computing education for learning to program has made great strides in the current century. Exciting educational technologies are now available and active learning pedagogies are increasingly used. Interest is strong, but the longstanding problem remains: learning to program as an analytical endeavor is quite frustrating for many. The purpose of this study is to discover ways to mitigate this frustration. It researches ways to help students comprehend code by guiding them to take it apart (through reading, tracing, completing, and debugging) as they learn to write code on their own. This study contributes to the understanding of learning from errors. It also builds upon and further develops the emergent pedagogy of de-constructionism. The de-constructionist approach involves taking things apart, practice, and learning from errors. This study applies a de-constructionist approach in an experiment with ~80 undergraduates learning Python in an introductory programming class. During weekly lab periods, students engaged with web-based interactive practice problems that emphasize reading, tracing, completing, and in some cases, debugging code. Students also wrote code for lab and homework assignments. Approximately half of the students were given some that involved learning from bugs that were intentionally placed in the provided code, while the others were not. Learning gains were assessed using pre/post tests and exams. Surveys were used to measure attitudes. Learning gains and attitudes were compared according to condition (Bugs, NoBugs), prior experience, gender, minority status, and class size. This study demonstrates that bugs can be intentionally incorporated into practice problems that students like to solve, without detrimental effects on learning or attitudes about computing. It also contributes to the literature on code comprehension.

Degree

thesis:*
Grantor dc:publisher
Temple University. Libraries
Year dc:date.issued
2018

Author and committee

dc:creator, dc:contributor.*
Author dc:creator
  • Griffin, Jean
Advisor dc:contributor.advisor
  • Newton, Kristie Jones, 1973-
Committee members dc:contributor.committeemember
  • Schifter, Catherine
  • Booth, Julie L.
  • Dougherty, John P.

Subjects

dc:subject × 9

Rights

dc:rights
Statement dc:rights
  • IN COPYRIGHT- This Rights Statement can be used for an Item that is in copyright. Using this statement implies that the organization making this Item available has determined that the Item is in copyright and either is the rights-holder, has obtained permission from the rights-holder(s) to make their Work(s) available, or makes the Item available under an exception or limitation to copyright (including Fair Use) that entitles it to make the Item available.
Language dc:language.iso
eng

Identifiers

dc:identifier.*
Handle dc:identifier.uri
http://hdl.handle.net/20.500.12613/2954
OAI identifier oai:identifier
oai:scholarshare.temple.edu:20.500.12613/2954

Chain of custody

source
Harvested from
Temple University
Base URL
scholarshare.temple.edu/server/oai/request
Last updated
2026-07-27
Source record
OAI-PMH GetRecord
citation

Griffin, Jean. Learning to Program From Interactive Example Code (With and Without Intentional Bugs). Temple University. Libraries, 2018. http://hdl.handle.net/20.500.12613/2954