Book chapter
Toward Scenario-Based Algorithmics
Adventures Between Lower Bounds and Higher Altitudes, pp.549-567
09/Aug/2018
Abstract
We propose an alternative approach to the classical way of specifying algorithms, inspired by the scenario-based paradigm for reactive systems. Rather than being presented as a carefully ordered sequence of instructions, an algorithm is formalized as an unordered collection of rules or scenarios, specifying actions that must or must not be taken when certain conditions hold or after certain sequences of events. A successful implementation of such a methodology, which can be aligned with a natural language specification, can have many advantages, including naturalness, comprehensibility and incrementality. We believe that our approach can also accelerate the acquisition of problem-solving and analytical skills by children and students. This is because by writing (and reading) computer programs written in this way, people would have access to a broad base of instructions on how to solve problems, stated and organized in a way that can be readily understood and used in practice also by humans. We describe the principles of the approach, scenario-based algorithmics (SBA), provide some examples, and compare it to other techniques for algorithm specification and to human algorithmic or computational thinking.
Details
- Title
- Toward Scenario-Based Algorithmics
- Creators
- David Harel - 972WIS_INST___83Assaf Marron (Corresponding Author) - 972WIS_INST___83
- Resource Type
- Book chapter
- Publication Details
- Adventures Between Lower Bounds and Higher Altitudes, pp.549-567; 09/Aug/2018
- Number of pages
- 19
- Series
- Lecture Notes in Computer Science
- Publisher
- Springer International Publishing; Cham
- Language
- English
- DOI
- https://doi.org/10.1007/978-3-319-98355-4_32
- Grant note
- We thank Nimrod Talmon for initial conversations that partly triggered this pursuit. Thanks to Ori Koren for the prototype of the scenario-based implementation of bubble-sort using behavioral programming in C++. We are also grateful to the anonymous reviewers and editors for their valuable comments. This work was supported in part by grants from the German Israeli Foundation (GIF), the Israeli Science Foundation (ISF), and the Minerva Foundation.
- Record Identifier
- 993359072803596
Metrics
5 Record Views