A case-based approach for supporting the informal computing education of end-user programmers
Dorn, Brian James
MetadataShow full item record
Software development is no longer a task limited to professionally trained computer programmers. Increasing support for software customization through scripting, the opening of application programmer interfaces on the Web, and a growing need for domain specific application support have all contributed to an increase in end-user programming. Unfortunately, learning to program remains a challenging task, and the majority of end-user programmers lack any formal education in software development. Instead, these users must piece together their understanding of programming through trial and error, examples found online, and help from peers and colleagues. While current approaches to address the difficulties facing end-user programmers seek to change the nature of the programming task, I argue that these challenges often mirror those faced by all novice programmers. Thus, pedagogical solutions must also be explored. This dissertation work investigates the challenges that end-user programmers face from a computer science education perspective. I have engaged in a cycle of learner-centered design to answer the high-level questions: What do users know; what might they need to know; how are they learning; and how might we help users discover and learn what they need or want to know? In so doing, I uniquely frame end-user programming challenges as issues related to knowledge and understanding about computer science. Rather than building new languages or programming tools, I address these difficulties through new types of instructional materials and opportunities for felicitous engagement with them. This work is contextualized within a specific domain of non-traditional programmers: graphic and web designers who write scripts as part of their careers. Through an in-depth, learner-centered investigation of this user population, this dissertation makes five specific contributions: (1) A detailed characterization of graphic and web design end-user programmers and their knowledge of fundamental computing concepts. (2) An analysis of the existing information space that graphic and web designers rely on for help. (3) The implementation of a novel case-based learning aid named ScriptABLE that is explicitly designed to leverage existing user practices while conveying conceptual knowledge about programming. (4) Initial confirmatory evidence supporting case-based learning aids for the informal computing education of web and graphic design end-user programmers. (5) An argument in support of the value of normative computing knowledge among informally trained programmers.