902 research outputs found
Recommended from our members
Understanding and supporting end-user debugging strategies
End users' programs are fraught with errors, costing companies millions of dollars. One reason may be that researchers and tool designers have not yet focused on end-user debugging strategies. To investigate this possibility, this dissertation presents eight empirical studies and a new strategy-based end-user debugging tool for Excel, called StratCel.
These studies revealed insights about males' and females' end-user debugging strategies at four levels of abstraction (moves, tactics, stratagems, and strategies), leading to specific implications for the design of tools. Particular results include a set of ten debugging stratagems, which generalized across three environments: the research spreadsheet environment Forms/3, commercial Windows PowerShell, and commercial Microsoft Excel. There was also evidence of the stratagems' generalization to a fourth set of environments: interactive application design environments, such as Dreamweaver, Flash, and Blend. Males and females statistically preferred and were effective with different stratagems, and females' stratagems were less well-supported by environments than males' were. In addition to what stratagems our participants used, we also investigated how these stratagems were used to find bugs, fix bugs, and evaluate fixes. Furthermore, a Sensemaking approach revealed end-user debugging strategies and the advantages and disadvantages of each.
We then built StratCel, which demonstrates a strategy-centric approach to tool design by explicitly supporting several of the implications from our studies. StratCel's evaluation revealed significant benefits of a strategy-centric approach to tool design: participants using the tool found twice as many bugs as participants using standard Excel and fixed four times as many bugs (including two bugs which had not been purposefully inserted by researchers and had gone unnoticed in previous studies). Further, StratCel participants did so much faster than participants using standard Excel. For example, participants using StratCel found the first bug 90% faster and fixed it 80% faster than participants without the tool. Finally, this strategy-based approach helped the participants who needed it the most: boosting novices' debugging performance near experienced participants' improved levels. The fact that this approach helped everyone -- males and females, novices and experts —- demonstrates the significant advantage of strategy-centric approaches over feature-centric approaches to designing tools that aim to support end-user debugging
Recommended from our members
Novel approaches to promoting end-user programming
End-user programming has become widespread. The increasing size of this population and the prevalence of barriers that they face has sparked the development of approaches that promote end-user programing by helping them overcome barriers and teaching them programming. Despite the fact that these approaches have done well in achieving those goals, there are still limitations. Specifically, these approaches place high expectations on the amount of prior knowledge that they should have and neglect to nurture their problem-solving skills. To fill in these gaps, our collaborators designed the approaches of Idea Garden and debugging-first. The Idea Garden approach attempts to provide problem-solving support by delivering problem-solving strategies and programming knowledge that help end-user programmers help themselves. In the debugging-first approach, which also makes use of the Idea Garden, users debug existing programs before creating their own. In this thesis we study both approaches, finding that they fulfilled their goals in circumventing those limitations. Additionally, our results inform the design of the Idea Garden in a Debugging-first environment, shed lights on enhancing both approaches, and approaches with similar goals
Power of Near-Peers: Conceptualizing and Testing a Near-Peer Mentoring Model in Raising Youths\u27 Self-Efficacy in Computer Programming
Self-efficacy is seen as a barrier for youth, females in particular, to enter computer science (CS). In this study, I presented a near-peer mentoring model that focused on changing the mentee’s self-efficacy in CS. The present study had three objectives: (a) to design a near-peer mentoring model (i.e., a conceptual model) around the sources of information that influence self-efficacy, (b) to develop a mentor training model based on the conceptual model, and (c) to test the effectiveness of the training model in increasing mentees’ self-efficacy in the context of a summer App programming camp. The present study adopted a mixed-methods approach following a concurrent, embedded design to answer research questions. Data were collected from pre-post surveys and camper interviews. Comparison of quantitative and qualitative findings indicated that the near-peer mentoring model has a potential in increasing youth’s self-efficacy regardless of their gender. It was also found that encouragement was important for fostering self-efficacy and while they did not directly influence self-efficacy, modeling and instructive feedback enhanced campers’ learning experience, which, in turn, would boost self-efficacy. The present study also provided examples of how to train mentors to do modeling and provide instructive and encouraging feedback, which may be helpful for programs that use mentors to recruit youth to CS
Students’ Computational Thinking Skills In Physics Learning: A Case study of Kinematic Concepts
Physics learning provides a context for future careers in fostering ability in high-end logic with the 21st learning goals. Applying computational thinking in schools is challenging and requires systemic transformation and teacher attention. This study aims to investigate the computational thinking of students in physics learning. This study used exploratory qualitative research. Data were gathered through observation, interviews, and portfolio documents. The data are analyzed through six stages: preparing and organizing, exploring, building descriptions, representing the findings, interpreting the results, and validating the accuracy. The result indicated four primary computational thinking skills: decomposition, abstraction, simulation, and evaluation. The computational thinking skills in physics learning can develop students’ understanding and implementation of physics concepts based on data, not just mathematical formulas. Computational thinking in physics learning gives students the opportunity and space to explore and develop their ideas and logical reasoning more deeply in problem-defining, solutions, and evaluation. Students use their logical reasoning to solve the problem precisely. This study is expected to be used as a basis and support for physics teachers to integrate computational thinking into their learning classroom
Recommended from our members
Gender differences in end-user debugging strategies
There has been little prior research reporting strategy usage in end-user problem solving, and even less using gender as a factor. Without this type of information, enduser programming systems cannot know the “target” at which to aim, if they are to support male and female end-user programmers’ debugging. As a background to the thesis, an experiment was conducted by our group members, where the participants were given a post session questionnaire that had an open-ended question about what debugging strategies they adopted in finding and fixing errors. It was found that among the mentioned strategies, testing and code inspection had significant statistical differences among male and/or female success groups. This thesis’s goal is the investigation of the behavioral evidence of the two primary strategies, testing and code-inspection using gender as a factor. Using quantitative and qualitative methods, we analyzed the two strategies reported, and looked for relationships among participants’ strategy choices, gender, and debugging success. Our results indicate that males and females debug in quite different ways, and the debugging strategies that worked well for the males were not the same ones that worked well for the females. Our results also reveal that tools currently available to end-user debuggers may be especially deficient in supporting debugging strategies used by females
Recommended from our members
Helping end-user programmers help themselves : the idea garden approach
End-user programmers face many barriers in programming. Research has seen many programming environments that attempted to lower or remove the barriers but despite these efforts, empirical studies continue to report barriers users face. To investigate this issue, we took a theory-informed approach. Using theories from design, creativity, and problem solving as a lens, we examined end-user programmers' programming obstacles to derive design implications. Synthesizing the implications, we proposed an Idea Garden approach for creating problem-solving support in existing end-user programming environments aimed at helping users help themselves. This approach focuses on delivering problem-solving strategies and programming knowledge in the context of users' work to help them overcome barriers. We developed a proof-of-concept prototype of an Idea Garden for the CoScripter environment. Results from empirical studies of the prototype were encouraging: not only was the Idea Garden able to help users overcome barriers, learn relevant programming and strategies, but such learning persisted with users so that they were able to apply it toward problem-solving new tasks without further help from the Idea Garden. We conclude by providing recommendations to researchers who are interested in developing an Idea Garden for their end-user programming environments
A Robust Architecture For Human Language Technology Systems
Early human language technology systems were designed in a monolithic fashion. As these systems became more complex, this design became untenable. In its place, the concept of distributed processing evolved wherein the monolithic structure was decomposed into a number of functional components that could interact through a common protocol. This distributed framework was readily accepted by the research community and has been the cornerstone for the advancement in cutting edge human language technology prototype systems.The Defense Advanced Research Program Agency (DARPA) Communicator program has been highly successful in implementing this approach. The program has fueled the design and development of impressive human language technology applications. Its distributed framework has offered numerous benefits to the research community, including reduced prototype development time, sharing of components across sites, and provision of a standard evaluation platform. It has also enabled development of client-server applications with complex inter-process communication between modules. However, this latter feature, though beneficial, introduces complexities which reduce overall system robustness to failure. In addition, the ability to handle multiple users and multiple applications from a common interface is not innately supported. This thesis describes the enhancements to the original Communicator architecture that address robustness issues and provide a multiple multi-user application environment by enabling automated server startup, error detection and correction. Extensive experimentation and analysis were performed to measure improvements in robustness due to the enhancements to the DARPA architecture. A 7.2% improvement in robustness was achieved on the address querying task, which is the most complex task in the human language technology system
- …