Graph explorer

Explicit Programming Strategies

Software developers solve a diverse and wide range of problems. While software engineering research often focuses on tools to support this problem solving, the strategies that developers use to solve problems are at least as important. In this paper, we offer a novel approach for enabling developers to follow explicit programming strategies that describe how an expert tackles a common programming problem. We define explicit programming strategies, grounding our definition in prior work both within software engineering and in other professions which have adopted more explicit procedures for problem solving. We then present a novel notation called Roboto and a novel StrategyTracker tool that explicitly represents programming strategies and frame executing strategies as a collaborative effort between human abilities to make decisions and computer abilities to structure process and persist information. Ina formative evaluation, 28 software developers of varying expertise completed a design task and a debugging task. We found that, compared to developers who are free to choose their strategies, developers gave explicit strategies experienced their work as more organized, systematic, and

7 nodes7 linksoverview previewExplicit Programming Strategies
7 nodes7 links
Explicit Programming Strategies7 visible / 7 total nodes / 13 links
Related contextCo-authorshipCo-authorshipCo-authorshipCo-authorshipCo-authorshipCo-authorshipAuthorshipAuthorshipAuthorshipAuthorshipTopic signalTopic signalWExplicit Programming Strategiespreprint / 2019AThomas D. LaTozaResearcherAMaryam ArabResearcherADastyni LoksaResearcherAAmy J. KoResearcherTHuman-Computer Interaction3971 worksTSoftware Engineering3620 works
PaperSignal 106 links

Explicit Programming Strategies

preprint / 2019

Open