2020
DOI: 10.1007/s10664-020-09810-1
|View full text |Cite
|
Sign up to set email alerts
|

Explicit programming strategies

Abstract: 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 eng… Show more

Help me understand this report
View preprint versions

Search citation statements

Order By: Relevance

Paper Sections

Select...
4
1

Citation Types

0
9
0

Year Published

2020
2020
2024
2024

Publication Types

Select...
4
1
1

Relationship

1
5

Authors

Journals

citations
Cited by 25 publications
(9 citation statements)
references
References 62 publications
0
9
0
Order By: Relevance
“…We considered unstructured natural language, natural language with hierarchical bulleted lists, and other formats. However, to help make strategies as explicit as possible, we choose a more structured representation used in prior work [22] called Roboto. Roboto is mostly natural language but includes some simple control flow constructs such as conditionals and loops to help strategy users be more systematic.…”
Section: Strategy Description Notationmentioning
confidence: 99%
See 4 more Smart Citations
“…We considered unstructured natural language, natural language with hierarchical bulleted lists, and other formats. However, to help make strategies as explicit as possible, we choose a more structured representation used in prior work [22] called Roboto. Roboto is mostly natural language but includes some simple control flow constructs such as conditionals and loops to help strategy users be more systematic.…”
Section: Strategy Description Notationmentioning
confidence: 99%
“…However, despite the abundance of knowledge sharing in modern software development, one type of knowledge, programming strategies, is rarely shared, and appears only to be gained through experience or through explicit instruction [34]. Prior work defines strategic knowledge in programming as any highlevel plan for accomplishing a programming task, describing a series of steps or actions to take to accomplish a goal [22]. Programming strategies reflect knowledge which is procedural in nature, describing not specific concepts, patterns, or styles, but instead reflecting how developers act moment-to-moment when faced with goals and challenges.…”
Section: Introductionmentioning
confidence: 99%
See 3 more Smart Citations