Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Scenario-Based Programming, Usability-Oriented Perception

Published: 27 October 2014 Publication History

Abstract

In this article, we discuss the possible connection between the programming language and the paradigm behind it, and programmers’ tendency to adopt an external or internal perspective of the system they develop. Based on a qualitative analysis, we found that when working with the visual, interobject language of live sequence charts (LSC), programmers tend to adopt an external and usability-oriented view of the system, whereas when working with an intraobject language, they tend to adopt an internal and implementation-oriented viewpoint. This is explained by first discussing the possible effect of the programming paradigm on programmers’ perception and then offering a more comprehensive explanation. The latter is based on a cognitive model of programming with LSC, which is an interpretation and a projection of the model suggested by Adelson and Soloway [1985] onto LSC and scenario-based programming, the new paradigm on which LSC is based. Our model suggests that LSC fosters a kind of programming that enables iterative refinement of the artifact with fewer entries into the solution domain. Thus, the programmer can make less context switching between the solution domain and the problem domain, and consequently spend more time in the latter. We believe that these findings are interesting mainly in two ways. First, they characterize an aspect of problem-solving behavior that to the best of our knowledge has not been studied before—the programmer’s perspective. The perspective can potentially affect the outcome of the problem-solving process, such as by leading the programmer to focus on different parts of the problem. Second, relating the structure of the language to the change in perspective sheds light on one of the ways in which the programming language can affect the programmer’s behavior.

References

[1]
Beth Adelson and Elliot Soloway. 1985. The role of domain experience in software design. IEEE Transactions on Software Engineering 11, 11, 1351--1360.
[2]
Giora Alexandron, Michal Armoni, Michal Gordon, and David Harel. 2012. The effect of previous programming experience on the learning of scenario-based programming. In Proceedings of the 12th Koli Calling International Conference on Computing Education Research (Koli Calling’12). ACM, New York, NY, 151--159.
[3]
Giora Alexandron, Michal Armoni, Michal Gordon, and David Harel. 2013a. On teaching programming with nondeterminism. In Proceedings of the 8th Workshop in Primary and Secondary Computing Education (WiPSE’13). 71--74.
[4]
Giora Alexandron, Michal Armoni, Michal Gordon, and David Harel. 2013b. Scenario-based programming: Reducing the cognitive load, fostering abstract thinking. In Companion Proceedings of the 36th International Conference on Software Engineering (ICSE Companion’14). 311--320.
[5]
Michal Armoni. 2013. On teaching abstraction in CS to novices. Journal of Computers in Mathematics and Science Teaching 32, 3, 265--284. Available at http://www.editlib.org/p/41271.
[6]
Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, and Dave Thomas. 1999. Manifesto for Agile Software Development. Retrieved August 4, 2014, from http://www.agilemanifesto.org/.
[7]
Mordechai Ben-Ari and Tzippora Yeshno. 2006. Conceptual models of software artifacts. Interacting with Computers 18, 6, 1336--1350.
[8]
Michelene T. H. Chi. 1997. Quantifying qualitative analyses of verbal data: A practical guide. Journal of the Learning Sciences 6, 3, 271--315.
[9]
Maria Francesca Costabile. 2000. Usability in the Software Life Cycle. In Handbook of Software Engineering and Knowledge Engineering. World Scientific Publishing, Hackensack, NJ, 179--192. (2000).
[10]
Werner Damm and David Harel. 2001. LSCs: Breathing life into message sequence charts. Formal Methods in System Design 19, 1, 45--80.
[11]
Edsger W. Dijkstra. 1975. About Robustness and the Like. Retrieved August 4, 2014, at https://www.cs.utexas.edu/users/EWD/transcriptions/EWD04xx/EWD452.html.
[12]
Sarah Douglas, Marilyn Tremaine, Laura Leventhal, Craig E. Wills, and Bill Manaris. 2002. Incorporating human-computer interaction into the undergraduate computer science curriculum. ACM SIGCSE Bulletin 34, 1, 211--212.
[13]
Michael Eisenberg. 1995. Programmable applications: Interpreter meets interface. ACM SIGCHI Bulletin 27, 2, 68--93.
[14]
Xavier Ferre and Nelson Medinilla. 2007. How a human-centered approach impacts software development. In Proceedings of the 12th International Conference on Human-Computer Interaction: Interaction Design and Usability (HCI’07). Springer-Verlag, Berlin, Heidelberg, 68--77.
[15]
David Ginat. 1995. Loop invariants and mathematical games. ACM SIGCSE Bulletin 27, 1, 263--267.
[16]
Michal Gordon, Assaf Marron, and Orni Meerbaum-Salant. 2012. Spaghetti for the main course?: Observations on the naturalness of scenario-based programming. In Proceedings of the 17th ACM Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE’12). ACM, New York, NY, 198--203.
[17]
Bruria Haberman and Yifat Ben-David Kolikant. 2001. Activating “black boxes” instead of opening “zippers”—a method of teaching novices basic CS concepts. ACM SIGCSE Bulletin 33, 3, 41--44.
[18]
David Harel. 1987. Statecharts: A visual formalism for complex systems. Science of Computer Programming 8, 3, 231--274.
[19]
David Harel and Michal Gordon-Kiwkowitz. 2009. On teaching visual formalisms. IEEE Software 26, 3, 87--95.
[20]
David Harel and Rami Marelly. 2002. Specifying and executing behavioral requirements: The play-in/play-out approach. Software and System Modeling 2, 2, 82--107.
[21]
David Harel and Rami Marelly. 2003. Come, Let’s Play: Scenario-Based Programming Using LSCs and the Play-Engine. Springer-Verlag, Secaucus, NJ.
[22]
David Harel, Assaf Marron, and Gera Weiss. 2012. Behavioral programming. Communications of the ACM 55, 7, 90--100.
[23]
David Harel and Amir Pnueli. 1985. On the development of reactive systems. In Logics and Models of Concurrent Systems. Springer-Verlag, New York, NY, 477--498.
[24]
IEEE/ACM. 2001. Computing Curricula 2001: Computer Science—Final Report. Retrieved August 4, 2014, from http://www.acm.org/education/curric_vols/cc2001.pdf.
[25]
IEEE/ACM. 2013. Computer Science Curricula 2013 (Pre-release version). Retrieved August 4, 2014, from http://ai.stanford.edu/users/sahami/CS2013/final-draft/CS2013-Final-v0.9-prerelease.pdf.
[26]
Ivar Jacobson. 2004. Object-Oriented Software Engineering: A Use Case Driven Approach. Addison Wesley Longman, Redwood City, CA.
[27]
Bill Jerome and Rick Kazman. 2005. Surveying the solitudes: An investigation into the relationships between human computer interaction and software engineering in practice. In Human-Centered Software Engineering—Integrating Usability in the Software Development Lifecycle. Human-Computer Interaction Series, Vol. 8. Springer, Netherlands, 59--70.
[28]
Steve McConnell. 1996. Rapid Development: Taming Wild Software Schedules. Microsoft Press, Redmond, WA.
[29]
Bonnie A. Nardi. 1993. A Small Matter of Programming: Perspectives on End User Computing. MIT Press, Cambridge, MA.
[30]
Donald A. Norman. 1991. Cognitive artifacts. In Designing Interaction. Cambridge University Press, New York, NY, 17--38. Available at http://portal.acm.org/citation.cfm?id=120352.120354.
[31]
Donald A. Norman. 2002. The Design of Everyday Things. Basic Books.
[32]
Amir Pnueli. 1977. The temporal logic of programs. In Proceedings of the Annual IEEE Symposium on the Foundations of Computer Science. 46--57.
[33]
Zahava Scherz and Bruria Haberman. 1995. Logic programming based curriculum for high school students: The use of abstract data types. ACM SIGCSE Bulletin 27, 1, 331--335.
[34]
Alan H. Schoenfeld. 1985. Mathematical Problem Solving. Academic Press, Orlando, FL.
[35]
Antony Tang, Aldeida Aleti, Janet Burge, and Hans van Vliet. 2010. What makes software design effective? Design Studies 31, 6, 614--640.
[36]
Lev S. Vygotsky and Michael Cole. 1978. Mind in Society: The Development of Higher Psychological Processes. Harvard University Press.
[37]
J. Stanley Warford. 1999. BlackBox: A new object-oriented framework for CS1/CS2. ACM SIGCSE Bulletin 31, 1, 271--275.
[38]
James V. Wertsch. 1984. The zone of proximal development: Some conceptual issues. New Directions for Child and Adolescent Development 1984, 23, 7--18.

Cited By

View all
  • (2023)What Petri Nets Oblige us to Say Comparing Approaches for Behavior CompositionIEEE Transactions on Software Engineering10.1109/TSE.2022.321668349:4(2303-2317)Online publication date: 1-Apr-2023
  • (2023)A framework for analyzing context-oriented programming languagesJournal of Systems and Software10.1016/j.jss.2023.111614198(111614)Online publication date: Apr-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
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Computing Education
ACM Transactions on Computing Education  Volume 14, Issue 3
November 2014
129 pages
EISSN:1946-6226
DOI:10.1145/2668970
Issue’s Table of Contents
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]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 27 October 2014
Accepted: 01 May 2014
Revised: 01 May 2014
Received: 01 May 2013
Published in TOCE Volume 14, Issue 3

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Live sequence charts
  2. psychology of programming

Qualifiers

  • Research-article
  • Research
  • Refereed

Funding Sources

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)14
  • Downloads (Last 6 weeks)0
Reflects downloads up to 08 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2023)What Petri Nets Oblige us to Say Comparing Approaches for Behavior CompositionIEEE Transactions on Software Engineering10.1109/TSE.2022.321668349:4(2303-2317)Online publication date: 1-Apr-2023
  • (2023)A framework for analyzing context-oriented programming languagesJournal of Systems and Software10.1016/j.jss.2023.111614198(111614)Online publication date: Apr-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
  • (2022)What We Talk About When We Talk About ProgramsProceedings of the 2022 Working Group Reports on Innovation and Technology in Computer Science Education10.1145/3571785.3574125(117-164)Online publication date: 27-Dec-2022
  • (2021)Towards a framework for analyzing context-oriented programming languagesProceedings of the 13th ACM International Workshop on Context-Oriented Programming and Advanced Modularity10.1145/3464970.3468414(16-23)Online publication date: 12-Jul-2021
  • (2017)COMPUTING IN SCHOOLSOn teaching problem-solving paradigms in K-12 educationACM Inroads10.1145/31485338:4(30-32)Online publication date: 27-Oct-2017
  • (undefined)A Framework for Analyzing Context-Oriented Programming LanguagesSSRN Electronic Journal10.2139/ssrn.4162440

View Options

Login options

Full Access

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