Skip to main content

Principles of Computational Thinking Tools

  • Chapter
  • First Online:
Emerging Research, Practice, and Policy on Computational Thinking

Abstract

Computational Thinking is a fundamental skill for the twenty-first century workforce. This broad target audience, including teachers and students with no programming experience, necessitates a shift in perspective toward Computational Thinking Tools that not only provide highly accessible programming environments but explicitly support the Computational Thinking Process. This evolution is crucial if Computational Thinking Tools are to be relevant to a wide range of school disciplines including STEM, art, music, and language learning. Computational Thinking Tools must help users through three fundamental stages of Computational Thinking: problem formulation, solution expression, and execution/evaluation. This chapter outlines three principles, and employs AgentCubes online as an example, on how a Computational Thinking Tool provides support for these stages by unifying human abilities with computer affordances.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 99.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 129.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 179.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  • Arnheim, R. (1969). Visual thinking. Berkley, CA: University of California Press.

    Google Scholar 

  • A. Basawapatna, K. H. Koh, A. Repenning, D. C. Webb, & K. S. Marshall. (2011). Recognizing computational thinking patterns. Paper presented at the the 42nd ACM technical symposium on computer science education (SIGCSE), Dallas, TX, USA.

    Google Scholar 

  • Basawapatna, A. R., Repenning, A., & Lewis, C. H. (2013). The simulation creation toolkit: An initial exploration into making programming accessible while preserving computational thinking. Paper presented at the 44th ACM technical symposium on computer science education (SIGCSE 2013), Denver, CO, USA.

    Google Scholar 

  • Burckhardt, S., Fahndrich, M., Halleux, P. D., McDirmid, S., Moskal, M., Tillmann, N., & Kato, J. (2013). It's alive! continuous feedback in UI programming. Paper presented at the proceedings of the 34th ACM SIGPLAN conference on programming language design and implementation, Seattle, WA, USA.

    Google Scholar 

  • Conway, M., Audia, S., Burnette, T., Cosgrove, D., Christiansen, K., Deline, R., & Pausch, R. (2000). Alice: Lessons learned from building a 3D system for novices. Paper presented at the CHI 2000 conference on human factors in computing systems, The Hague, Netherlands.

    Google Scholar 

  • Dijkstra, E. W. (2001). The end of computing science? Communications of the ACM, 44(3), 92. doi:10.1145/365181.365217.

    Article  Google Scholar 

  • diSessa, A. A. (1991). An overview of boxer. Journal of Mathematical Behavior, 10, 3–15.

    Google Scholar 

  • diSessa, A. (2000). Changing minds: Computers, learning, and literacy. Cambridge, MA: MIT.

    Google Scholar 

  • Fischer, G. (1994). Domain-oriented design environments. In Automated software engineering (Vol. 1, pp. 177–203). Boston, MA: Kluwer Academic.

    Google Scholar 

  • Grover, S., & Pea, R. (2013). Computational thinking in K–12: A review of the state of the field. Educational Researcher, 42(1), 38–43. doi:10.3102/0013189X12463051.

    Article  Google Scholar 

  • Guzdial, M. (2008). Education: Paving the way for computational thinking. Communications of the ACM, 51, 25–27.

    Article  Google Scholar 

  • Guzdial, M. (2015). Learner-centered design of computing education: Research on computing for everyone. Synthesis Lectures on Human-Centered Informatics, 8, 1.

    Article  Google Scholar 

  • Ioannidou, A., Repenning, A., & Webb, D. (2009). AgentCubes: Incremental 3D end-user development. Journal of Visual Language and Computing, 20(4), 236–251.

    Article  Google Scholar 

  • Kahn, K. (1996). Seeing systolic computations in a video game world. Paper presented at the proceedings of the 1996 IEEE symposium of visual languages, Boulder, CO, USA.

    Google Scholar 

  • Koh, K. H., Basawapatna, A., Bennett, V., & Repenning, A. (2010). Towards the automatic recognition of computational thinking for adaptive visual language learning. Paper presented at the conference on visual languages and human centric computing (VL/HCC 2010), Madrid, Spain.

    Google Scholar 

  • Lieberman, H., Paternò, F., & Wulf, V. (Eds.). (2006). End user development (Vol. 9). Dordrecht: Springer.

    Google Scholar 

  • McDirmid, S. (2007). Living it up with a live programming language. Paper presented at the proceedings of the 22nd annual ACM SIGPLAN conference on object-oriented programming systems and applications (OOPSLA '07).

    Google Scholar 

  • McDirmid, S. (2013). Usable live programming. Paper presented at the SPLASH onward!, Indianapolis, IN, USA.

    Google Scholar 

  • Michotte, A. (1963). The perception of causality. (T. R. Miles, Trans.). London: Methuen

    Google Scholar 

  • Myers, B. A., Pane, J. F., & Ko, A. (2004). Natural programming languages and environments. Communications of the ACM, 47(9), 47–52. doi:10.1145/1015864.1015888.

    Article  Google Scholar 

  • Nardi, B. (1993). A small matter of programming. Cambridge, MA: MIT.

    Google Scholar 

  • Nardi, B. A., & Miller, J. R. (1990). The spreadsheet interface: A basis for end user programming. Paper presented at the INTERACT 90–3rd IFIP international conference on human-computer interaction, Cambridge, http://www.miramontes.com/writing/spreadsheet-eup/

  • National Research Council, Committee for the Workshops on Computational Thinking, Computer Science and Telecommunications Board, Division on Engineering and Physical Sciences. (2010). Report of a workshop on the scope and nature of computational thinking. Washington, DC: National Academies.

    Google Scholar 

  • Papert, S. (1993). The children’s machine. New York, NY: Basic Books.

    Google Scholar 

  • Papert, S. (1996). An exploration in the space of mathematics educations. International Journal of Computers for Mathematical Learning, 1(1), 95–123.

    Google Scholar 

  • Pea, R. (1983). LOGO programming and problem solving. Paper presented at symposium of the annual meeting of the American Educational Research Association (AERA), “Chameleon in the Classroom: Developing Roles for Computers” Montreal, Canada, April 1983.

    Google Scholar 

  • Repenning, A. (1994). Bending icons: Syntactic and semantic transformation of icons. Paper presented at the proceedings of the 1994 IEEE symposium on visual languages, St. Louis, MO.

    Google Scholar 

  • Repenning, A. (1995). Bending the rules: Steps toward semantically enriched graphical rewrite rules. Paper presented at the proceedings of visual languages, Darmstadt, Germany.

    Google Scholar 

  • Repenning, A. (2001). End-user programmable simulations in education. Paper presented at the HCI international 2001, New Orleans.

    Google Scholar 

  • Repenning, A. (2006). Collaborative diffusion: Programming antiobjects. Paper presented at the OOPSLA 2006, ACM SIGPLAN international conference on object-oriented programming systems, languages, and applications, Portland, Oregon.

    Google Scholar 

  • Repenning, A. (2013a). Conversational programming: Exploring interactive program analysis. Paper presented at the 2013 ACM international symposium on new ideas, new paradigms, and reflections on programming and software (SPLASH/Onward! 13), Indianapolis, Indiana, USA.

    Google Scholar 

  • Repenning, A. (2013b). Making programming accessible and exciting. IEEE Computer, 18(13), 78–81.

    Article  Google Scholar 

  • Repenning, A., & Ambach, J. (1996). Tactile programming: A unified manipulation paradigm supporting program comprehension, composition and sharing. Paper presented at the 1996 IEEE symposium of visual languages, Boulder, CO.

    Google Scholar 

  • Repenning, A., & Ioannidou, A. (2006). AgentCubes: Raising the ceiling of end-user development in education through incremental 3D. Paper presented at the IEEE symposium on visual languages and human-centric computing 2006, Brighton, UK.

    Google Scholar 

  • Repenning, A., & Perrone, C. (2000). Programming by analogous examples. Communications of the ACM, 43(3), 90–97.

    Article  Google Scholar 

  • Repenning, A., & Perrone-Smith, C. (2001). Programming by analogous examples. In H. Lieberman (Ed.), Your wish is my command: Programming by example (Vol. 43, pp. 90–97). San Francisco, CA: Morgan Kaufmann Publishers.

    Google Scholar 

  • Repenning, A., Basawapatna, A., Assaf, D., Maiello, C., & Escherle, N. (2016). Retention of flow: Evaluating a computer science education week activity. Paper presented at the special interest group of computer science education (SIGCSE 2016), Memphis, Tennessee.

    Google Scholar 

  • Repenning, A., Webb, D. C., Brand, C., Gluck, F., Grover, R., Miller, S., et al. (2014). Beyond minecraft: Facilitating computational thinking through modeling and programming in 3D. IEEE Computer Graphics and Applications, 34(3), 68–71. doi:10.1109/MCG.2014.46.

    Article  Google Scholar 

  • Repenning, A., Webb, D. C., Koh, K. H., Nickerson, H., Miller, S. B., Brand, C., et al. (2015). Scalable game design: A strategy to bring systemic computer science education to schools through game design and simulation creation. Transactions on Computing Education (TOCE), 15(2), 1–31. doi:10.1145/2700517.

    Article  Google Scholar 

  • Resnick, M., Maloney, J., Monroy-Hernández, A., Rusk, N., Eastmond, E., Brennan, K., & Kafai, Y. (2009a). Scratch: Programming for all. Communincation of the ACM, 52(11), 60–67.

    Article  Google Scholar 

  • Resnick, M., Maloney, J., Monroy-Hernández, A., Rusk, N., Eastmond, E., Brennan, K., Millner, A., Rosenbaum, E., Silver, J., Silverman, B., & Kafai, Y. (2009b). Scratch: Programming for all. Communications of the ACM, 52, 60.

    Article  Google Scholar 

  • Rittel, H., & Webber, M. M. (1984). Planning problems are wicked problems. In N. Cross (Ed.), Developments in design methodology (pp. 135–144). New York, NY: Wiley.

    Google Scholar 

  • Schneider, K., & Repenning, A. (1995). Deceived by ease of use: Using paradigmatic applications to build visual design. Paper presented at the proceedings of the 1995 symposium on designing interactive systems, Ann Arbor, MI.

    Google Scholar 

  • Sweigart, A. (2010). Invent your own computer games with Python, A beginner’s guide to computer programming in Python.

    Google Scholar 

  • Turkle, S. (2007). Evocative objects: Things we think with. Cambridge, MA: MIT.

    Google Scholar 

  • Willis, C. L., & Miertschin, S. L. (2005). Mind tools for enhancing thinking and learning skills. Paper presented at the proceedings of the 6th conference on information technology education, Newark, NJ, USA.

    Google Scholar 

  • Wing, J. M. (2006). Computational thinking. Communications of the ACM, 49(3), 33–35.

    Article  Google Scholar 

  • Wing, J. M. (2008). Computational thinking and thinking about computing. Philosophical Transactions of the Royal Society, 2008(366), 3717–3725.

    Article  Google Scholar 

  • Wing, J. M. (2014). Computational thinking benefits society. http://socialissues.cs.toronto.edu/index.html%3Fp=279.html

  • Yager, R. (Ed.). (1995). Constructivism and learning science. Mahway, NJ: Lawrence Erlbaum Associates.

    Google Scholar 

Download references

Acknowledgments

This work is supported by the Hasler Foundation and the National Science Foundation under Grant Numbers 0833612, 1345523, and 0848962. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of these foundations.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Alexander Repenning .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this chapter

Cite this chapter

Repenning, A., Basawapatna, A.R., Escherle, N.A. (2017). Principles of Computational Thinking Tools. In: Rich, P., Hodges, C. (eds) Emerging Research, Practice, and Policy on Computational Thinking. Educational Communications and Technology: Issues and Innovations. Springer, Cham. https://doi.org/10.1007/978-3-319-52691-1_18

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-52691-1_18

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-52690-4

  • Online ISBN: 978-3-319-52691-1

  • eBook Packages: EducationEducation (R0)

Publish with us

Policies and ethics