General principles for a Generalized Idea Garden. (April 2017) - Jernigan, William; Horvath, Amber; Lee, Michael; Burnett, Margaret; Cuilty, Taylor; Kuttal, Sandeep; Peters, Anicia; Kwan, Irwin; Bahmani, Faezeh; Ko, Andrew; Mendez, Christopher J.; Oleson, Alannah
Abstract: Many systems are designed to help novices who want to learn programming, but few support those who are not necessarily interested in learning programming. This paper targets the subset of end-user programmers (EUPs) in this category. We present a set of principles on how to help EUPs like this learn just a little when they need to overcome a barrier. We then instantiate the principles in a prototype and empirically investigate them in three studies: a formative think-aloud study, a pair of summer camps attended by 42 teens, and a third summer camp study featuring a different environment attended by 48 teens. Finally, we present a generalized architecture to facilitate the inclusion of Idea Gardens into other systems, illustrating with examples from Idea Garden prototypes. Results have been very encouraging. For example, under our principles, Study #2's camp participants required significantly less in-person help than in a previous camp to learn the same amount of material in the same amount of time. Highlights: The Idea Garden, based on 7 principles, supports several dimensions of diversity. The Idea Garden helps stuck EUPs by providing just-in-time problem-solving support. Three separate environments have hosted versions of the Idea Garden. Each version was empirically evaluated for effectiveness. The Idea Garden can be ported to other environments via a generalized architecture.