Signifying software engineering to computational thinking learners with AgentSheets and PoliFacets

Nonprofessional end user programs have increased remarkably in volume and diversity. However, for such programs to be usable and reliable, their creators should be familiar with software engineering practices that are typically not part of their range of competence and source of enjoyment. While the expansion of computational thinking acquisition (CTA) initiatives at schools and the availability of improved programming environments have contributed to facilitate the learners’ coding tasks, much less has been done to facilitate the acquisition of software quality notions. This paper reports on a Brazilian CTA program guided by semiotic principles and describes a study of how the technology used in it prefigures elements of software engineering in the participants’ programs created with AgentSheets. Our research contributions touch on the semiotic potential of CTA infrastructures and on associated pedagogical considerations for expanding CTA programs with software engineering basics. We also propose items for an interdisciplinary research agenda.

[1]  Clarisse Sieckenius de Souza,et al.  My Program, My World: Insights from 1st-Person Reflective Programming in EUD Education , 2015, IS-EUD.

[2]  Barbara Boucher Owens,et al.  CSTA K--12 Computer Science Standards: Revised 2011 , 2011 .

[3]  Daniela Fogli,et al.  PIERO MUSSIO , ANTONIO PICCINNO END-USER DEVELOPMENT : THE SOFTWARE SHAPING WORKSHOP APPROACH , 2004 .

[4]  Martin Kuefer Advances In Humancomputer Interaction Advances In Human Computer Interaction , 2016 .

[5]  Peter G. Fairweather How older and younger adults differ in their approach to problem solving on a complex website , 2008, Assets '08.

[6]  Naveed Arshad,et al.  Teaching programming and problem solving to CS2 students using think-alouds , 2009, SIGCSE '09.

[7]  Alexander Repenning,et al.  Using scalable game design to teach computer science from middle school to graduate school , 2010, ITiCSE '10.

[8]  Simone Diniz Junqueira Barbosa,et al.  End-User Development , 1998, Lecture Notes in Computer Science.

[9]  Clarisse Sieckenius de Souza,et al.  The Semiotic Engineering of Human-Computer Interaction , 2005 .

[10]  Sridhar Chimalakonda,et al.  What makes it hard to teach software engineering to end users? some directions from adaptive and personalized learning , 2013, 2013 26th International Conference on Software Engineering Education and Training (CSEE&T).

[11]  Yan Zhang,et al.  How well do online forums facilitate discussion and collaboration among novice animation programmers? , 2012, SIGCSE '12.

[12]  José A. Macías,et al.  Providing end-user facilities to simplify ontology-driven web application authoring , 2007, Interact. Comput..

[13]  Simone Diniz Junqueira Barbosa,et al.  A Semiotic Framing for End-User Development , 2006, End User Development.

[14]  Simone Stumpf,et al.  End-User Experiences of Visual and Textual Programming Environments for Arduino , 2013, IS-EUD.

[15]  Mic Bowman,et al.  Enabling behavior reuse in development of virtual environment applications , 2012, Proceedings Title: Proceedings of the 2012 Winter Simulation Conference (WSC).

[16]  Volker Wulf,et al.  End-User Development of Enterprise Widgets , 2009, IS-EUD.

[17]  Allan Jeong,et al.  Facilitating Collaborative Problem-Solving with Computer-Supported Causal Mapping , 2016, CSCW Companion.

[18]  Margaret M. Burnett,et al.  Future of end-user software engineering: beyond the silos , 2014, FOSE.

[19]  Mario Cannataro,et al.  Protein-to-protein interactions: Technologies, databases, and algorithms , 2010, CSUR.

[20]  Marcel Danesi,et al.  Analyzing Cultures: An Introduction and Handbook , 1999 .

[21]  Daniel Schwabe,et al.  Hypertextual Programming for Domain-Specific End-User Development , 2009, IS-EUD.

[22]  Kevin McGee,et al.  Visual programming with analogical representations: Inspirations from a semiotic analysis of comics , 2007, J. Vis. Lang. Comput..

[23]  Clarisse Sieckenius de Souza,et al.  Semiotic Traces of Computational Thinking Acquisition , 2011, IS-EUD.

[24]  David C. Webb,et al.  Scalable game design and the development of a checklist for getting computational thinking into public schools , 2010, SIGCSE.

[25]  John Maloney,et al.  The Scratch Programming Language and Environment , 2010, TOCE.

[26]  Henry Lieberman,et al.  Watch what I do: programming by demonstration , 1993 .

[27]  Margaret M. Burnett,et al.  Pair Collaboration in End-User Debugging , 2006, Visual Languages and Human-Centric Computing (VL/HCC'06).

[28]  George H. L. Fletcher,et al.  Thinking about computational thinking , 2009, SIGCSE '09.

[29]  Alexander Repenning,et al.  What Makes End-User Development Tick? 13 Design Guidelines , 2006, End User Development.

[30]  Barbara Rita Barricelli,et al.  Participatory knowledge-management design: A semiotic approach , 2012, J. Vis. Lang. Comput..

[31]  Caitlin Kelleher,et al.  A code reuse interface for non-programmer middle school students , 2010, IUI '10.

[32]  M. Feilzer,et al.  Doing Mixed Methods Research Pragmatically: Implications for the Rediscovery of Pragmatism as a Research Paradigm: , 2010 .

[33]  Panos Markopoulos,et al.  A Review of Research Methods in End User Development , 2015, IS-EUD.

[34]  Hongfang Liu,et al.  Teaching software engineering to end-users , 2008, WEUSE '08.

[35]  U. Eco A Theory of Semiotics , 1977 .

[36]  Gerhard Fischer,et al.  Meta-design: A Framework for the Future of End-User Development , 2006, End User Development.

[37]  Alan F. Blackwell,et al.  How do we program the home? Gender, attention investment, and the psychology of programming at home , 2009, Int. J. Hum. Comput. Stud..

[38]  Michele Van Dyne,et al.  Effectiveness of a computational thinking (CS0) course on student analytical skills , 2014, SIGCSE '14.

[39]  Margaret Burnett,et al.  Six challenges in supporting end-user debugging , 2005, WEUSE@ICSE.

[40]  Clarisse Sieckenius de Souza,et al.  A Journey Through Cultures , 2012, Human–Computer Interaction Series.

[41]  Richard S. Prawat,et al.  Dewey, Peirce, and the Learning Paradox , 1999 .

[42]  Mary Beth Rosson,et al.  Teachers as simulation programmers: minimalist learning and reuse , 2001, CHI.

[43]  Simone Diniz Junqueira Barbosa,et al.  Semiotic engineering principles for evaluating end-user programming environments , 2001, Interact. Comput..

[44]  K. Rudnick The Essential Peirce: Selected Philosophical Writings , 1993 .

[45]  A. Onwuegbuzie,et al.  Mixed Methods Research: A Research Paradigm Whose Time Has Come , 2004 .

[46]  Daniela Fogli,et al.  Co-evolution of End-User Developers and Systems in Multi-tiered Proxy Design Problems , 2013, IS-EUD.

[47]  Brad A. Myers,et al.  More Natural Programming Languages and Environments , 2006, End User Development.

[48]  Mary Shaw,et al.  The state of the art in end-user software engineering , 2011, ACM Comput. Surv..

[49]  Gregg Rothermel,et al.  End-user software engineering , 2004, Commun. ACM.

[50]  Gregg Rothermel,et al.  On the benefits of providing versioning support for end users: An empirical study , 2014, TCHI.

[51]  Mattias Jacobsson,et al.  Comics, robots, fashion and programming: outlining the concept of actDresses , 2009, TEI.

[52]  Kecheng Liu,et al.  Semiotics in Information Systems Engineering , 2000 .

[53]  Gary W. Johnson,et al.  LabVIEW Graphical Programming , 1994 .

[54]  Clarisse Sieckenius de Souza,et al.  Cultural appropriation of computational thinking acquisition research: seeding fields of diversity , 2014, ITiCSE '14.

[55]  Alexander Repenning,et al.  CS education re-kindles creativity in public schools , 2011, ITiCSE '11.

[56]  Eben M. Haber,et al.  CoScripter: automating & sharing how-to knowledge in the enterprise , 2008, CHI.

[57]  Brad A. Myers,et al.  Natural programming languages and environments , 2004, Commun. ACM.

[58]  Gregg Rothermel,et al.  Testing Homogeneous Spreadsheet Grids with the "What You See Is What You Test" Methodology , 2002, IEEE Trans. Software Eng..

[59]  Luis Radford,et al.  The Semiotics of the Schema , 2005 .

[60]  Ilenia Fronza,et al.  Blending Mobile Programming and Liberal Education in a Social-Economic High School , 2016, 2016 IEEE/ACM International Conference on Mobile Software Engineering and Systems (MOBILESoft).

[61]  MorrealePatricia,et al.  Evaluating visual programming environments to teach computing to minority high school students , 2013 .

[62]  Alan F. Blackwell,et al.  First steps in programming: a rationale for attention investment models , 2002, Proceedings IEEE 2002 Symposia on Human Centric Computing Languages and Environments.

[63]  Viswanath Venkatesh,et al.  Bridging the Qualitative-Quantitative Divide: Guidelines for Conducting Mixed Methods Research in Information Systems , 2013, MIS Q..

[64]  John W. Creswell,et al.  Research Design: Qualitative and Quantitative Approaches , 1997 .

[65]  Philip J. Guo,et al.  Opportunistic programming: how rapid ideation and prototyping occur in practice , 2008, WEUSE@ICSE.

[66]  Clarisse Sieckenius de Souza,et al.  Documentation comes to life in computational thinking acquisition with agentsheets , 2012, IHC.

[67]  Neil Smith,et al.  Code club: bringing programming to UK primary schools through scratch , 2014, SIGCSE '14.

[68]  Alexander Repenning Conversational programming: exploring interactive program analysis , 2013, Onward!.

[69]  W. Nöth Handbook of Semiotics , 2001 .

[70]  Nikolay Mehandjiev,et al.  Alternative Representations for End User Composition of Service-Based Systems , 2011, IS-EUD.

[71]  Michael Otte Limits of Constructivism: Kant, Piaget and Peirce , 1998 .

[72]  Alexander Repenning,et al.  Broadening participation through scalable game design , 2008, SIGCSE '08.

[73]  Gregg Rothermel,et al.  Debugging support for end user mashup programming , 2013, CHI.

[74]  Clarisse Sieckenius de Souza,et al.  On signifying the complexity of inter-agent relations in agentsheets games and simulations , 2013, SIGDOC '13.

[75]  D. Roberts,et al.  The Essential Peirce , 2001 .

[76]  Clarisse Sieckenius de Souza,et al.  Software Developers as Users , 2016, Springer International Publishing.

[77]  Alexander Repenning,et al.  Computational thinking tools , 2016, 2016 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC).

[78]  Rob Miller,et al.  Translating keyword commands into executable code , 2006, UIST.

[79]  Branka Krivokapic-Skoko,et al.  Doing Mixed Methods Research , 2010 .

[80]  Eric Rosenbaum,et al.  Scratch: programming for all , 2009, Commun. ACM.

[81]  Ilenia Fronza,et al.  Students Want to Create Apps: Leveraging Computational Thinking to Teach Mobile Software Development , 2015, SIGITE.

[82]  Alexander Repenning,et al.  Graphical rewrite rule analogies: avoiding the inherit or copy and paste reuse dilemma , 1998, Proceedings. 1998 IEEE Symposium on Visual Languages (Cat. No.98TB100254).

[83]  Ronald K. Stamper,et al.  A Theory of Computer Semiotics , 1992 .

[84]  P. Trifonas International handbook of semiotics , 2015 .

[85]  Alexander Repenning Programming goes back to school , 2012, CACM.

[86]  Henry Lieberman,et al.  End-User Development , 2015, Lecture Notes in Computer Science.