skip to main content
10.1145/2325296.2325346acmconferencesArticle/Chapter ViewAbstractPublication PagesiticseConference Proceedingsconference-collections
research-article

Spaghetti for the main course?: observations on the naturalness of scenario-based programming

Published: 03 July 2012 Publication History

Abstract

Scenario-based programming is an approach to software development which calls for developing independent software modules to describe different behaviors that a system should or should not follow, and then coordinating the interwoven execution of these modules at run time. We show that patterns previously shown to exist in programs written in the Scratch environment, which is not specifically scenario oriented, by children who did not have other training, and were not guided to write in a scenario-based manner, are also characteristic to scenario-based programming. These patterns include extremely fine-grain decomposition and bottom-up development. This result suggests that scenario-based programming concepts are "natural" in some ways. Thus, with an appropriate environment and a matching set of tools, scenario-based programming concepts could have an important role in early-stage computer-programming curricula.

References

[1]
R. C. Arkin. Behavior-Based Robotics. MIT Press, 1998.
[2]
M. Armoni and M. Ben-Ari. Computer Science Concepts in Scratch. Weizmann Institute of Science, 2010. (In Hebrew).
[3]
M. Branicky. Behavioral Programming. In Working notes AAAI spring symp. on hybrid systems and AI, 1999.
[4]
R. Brooks. A Robust Layered Control System for a Mobile Robot. IEEE J. of Robotics and Automation, 2(1), 1986.
[5]
W. Damm and D. Harel. LSCs: Breathing Life into Message Sequence Charts. J. on Formal Methods in System Design, 19(1), 2001.
[6]
N. Eitan, M. Gordon, D. Harel, A. Marron, and G. Weiss. On Visualization and Comprehension of Scenario-Based Programs. Int. Conf. on Program Comprehension (ICPC), 2011.
[7]
I. Hadar and U. Leron. How Intuitive is Object-Oriented Design? Commun. ACM, 51:41--46, 2008.
[8]
D. Harel. Can Programming Be Liberated, Period? IEEE Computer, 41(1), 2008.
[9]
D. Harel, R. Lampert, A. Marron, and G. Weiss. Model-Checking Behavioral Programs. In Int. Conf. on Embedded Software (EMSOFT), 2011.
[10]
D. Harel and R. Marelly. Come, Let's Play: Scenario-Based Programming Using LSCs and the Play-Engine. Springer, 2003.
[11]
D. Harel, A. Marron, and G. Weiss. Programming Coordinated Scenarios in Java. In 24th European Conference on Object-Oriented Programming (ECOOP), 2010.
[12]
D. Harel and I. Segall. Visualizing Inter-Dependencies Between Scenarios. In Proc. ACM Symp. on Software Visualization (SOFTVIS), pages 145--153. ACM, 2008.
[13]
I. Harel and S. Papert. Constructionism. Ablex Publishing, 1991.
[14]
INFORM Gmbh. fuzzyTECH Software Package www.inform-ac.com/fuzzytech.htm.
[15]
G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J. Loingtier, and J. Irwin. Aspect-Oriented Programming. European Conference on Object-Oriented Programming (ECOOP), 1997.
[16]
LEJOS. Java for LEGO Mindstorms. http://lejos.sourceforge.net/.
[17]
J. Lochhead. Some pieces of the puzzle. Constructivism in the computer age. Lawrence Erlbaum Associates, Hillsdale, NJ, pages 71--82, 1988.
[18]
J. Maloney, L. Burd, Y. Kafai, N. Rusk, B. Silverman, and M. Resnick. Scratch: A Sneak Preview {Education}. In Creating, Connecting and Collaborating through Computing, 2004. Proc. Second Int. Conf. on, pages 104--109. IEEE, 2004.
[19]
S. Maoz and D. Harel. On Tracing Reactive Systems. Software and Systems Modeling, pages 1--22, 2010.
[20]
O. Meerbaum-Salant, M. Armoni, and M. Ben-Ari. Learning Computer Science Concepts with Scratch. In Proc. of the Sixth Int. Workshop on Computing Education Research, pages 69--76. ACM, 2010.
[21]
O. Meerbaum-Salant, M. Armoni, and M. Ben-Ari. Habits of Programming in Scratch. In Proc. of the 16th Annual Joint Conf. on Innovation and Technology in Computer Science Education (ITICSE), pages 168--172. ACM, 2011.
[22]
M. Resnick, J. Maloney, A. Monroy-Hernández, N. Rusk, E. Eastmond, K. Brennan, A. Millner, E. Rosenbaum, J. Silver, B. Silverman, et al. Scratch: Programming for All. Comm. of the ACM, 52(11):60--67, 2009.

Cited By

View all
  • (2023)Enhancing Deep Reinforcement Learning with Scenario-Based ModelingSN Computer Science10.1007/s42979-022-01575-24:2Online publication date: 11-Jan-2023
  • (2023)Computer Science Education Research in IsraelPast, Present and Future of Computing Education Research10.1007/978-3-031-25336-2_18(395-420)Online publication date: 18-Apr-2023
  • (2021)The common coder’s scratch programming idioms and their impact on project remixingProceedings of the 2021 ACM SIGPLAN International Symposium on SPLASH-E10.1145/3484272.3484959(1-12)Online publication date: 20-Oct-2021
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ITiCSE '12: Proceedings of the 17th ACM annual conference on Innovation and technology in computer science education
July 2012
424 pages
ISBN:9781450312462
DOI:10.1145/2325296
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 03 July 2012

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. aspect-oriented programming
  2. behavioral programming
  3. bpj
  4. habits
  5. live sequence charts
  6. lsc
  7. natural programming
  8. rule based systems
  9. scenario-based programming
  10. scratch

Qualifiers

  • Research-article

Conference

ITiCSE '12
Sponsor:

Acceptance Rates

Overall Acceptance Rate 552 of 1,613 submissions, 34%

Upcoming Conference

ITiCSE '25
Innovation and Technology in Computer Science Education
June 27 - July 2, 2025
Nijmegen , Netherlands

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)13
  • Downloads (Last 6 weeks)3
Reflects downloads up to 07 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2023)Enhancing Deep Reinforcement Learning with Scenario-Based ModelingSN Computer Science10.1007/s42979-022-01575-24:2Online publication date: 11-Jan-2023
  • (2023)Computer Science Education Research in IsraelPast, Present and Future of Computing Education Research10.1007/978-3-031-25336-2_18(395-420)Online publication date: 18-Apr-2023
  • (2021)The common coder’s scratch programming idioms and their impact on project remixingProceedings of the 2021 ACM SIGPLAN International Symposium on SPLASH-E10.1145/3484272.3484959(1-12)Online publication date: 20-Oct-2021
  • (2021)Verification of Liveness and Safety Properties of Behavioral Programs Using BPjsLeveraging Applications of Formal Methods, Verification and Validation: Tools and Trends10.1007/978-3-030-83723-5_14(199-215)Online publication date: 5-Aug-2021
  • (2020)Patterns in Elementary-Age Student Responses to Personalized & Generic Code Comprehension QuestionsProceedings of the 51st ACM Technical Symposium on Computer Science Education10.1145/3328778.3366833(514-520)Online publication date: 26-Feb-2020
  • (2020)Verified from scratchProceedings of the 35th IEEE/ACM International Conference on Automated Software Engineering10.1145/3324884.3416554(150-162)Online publication date: 21-Dec-2020
  • (2020)Executing Scenario-Based Specification with Dynamic Generation of Rich EventsModel-Driven Engineering and Software Development10.1007/978-3-030-37873-8_11(246-274)Online publication date: 3-Jan-2020
  • (2019)Personalized Assessment Worksheets for Scratch (PAWS)Proceedings of the 2019 ACM Conference on International Computing Education Research10.1145/3291279.3339428(351-352)Online publication date: 30-Jul-2019
  • (2019)Schools (K–12)The Cambridge Handbook of Computing Education Research10.1017/9781108654555.019(547-583)Online publication date: 15-Feb-2019
  • (2019)The Cambridge Handbook of Computing Education Research10.1017/9781108654555Online publication date: 15-Feb-2019
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media