Skip to main content

Microworlds, Objects First, Computational Thinking and Programming

  • Chapter
  • First Online:
Computational Thinking in the STEM Disciplines

Abstract

Teaching of programming has long been dominated by language-oriented approaches augmented by industrial design techniques, with little attendant pedagogy. However, an influential alternative has been Papert’s constructivism, through playful exploration of constrained microworlds. The archetypal microworld is based on turtle graphics, as exemplified in Papert’s Logo language. Here, students compose and repeat sequences of operations to steer and move a turtle that leaves a trail behind it. Contemporary graphical environments like Alice and Scratch augment the turtle world with colourful interacting animated avatars.

Computational thinking (CT), as popularised by Wing, offers an approach to problem-solving in which programming is the final stage. CT has been widely heralded as a new pedagogy of programming. However, interpretations of CT vary widely from a loose assemblage of techniques to a systematic discipline. In this chapter, I will argue that microworlds and objects first build superficial programming skills at the expense of deeper competences in problem-solving. I will further argue that systematic CT offers a way to refocus on problem-solving for programming.

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 129.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 169.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

  • Barnes, D., & Kölling, M. (2003). Objects First with Java: A practical introduction using BlueJ. Upper Saddle River: Prentice-Hall.

    Google Scholar 

  • Berger, M. (2005). Vygotsky’s theory of concept formation and mathematics education. In H. L. Chick & J. L. Vincent (Eds.), Proceedings of the 29th conference of the International Group for the Psychology of Mathematics Education (Vol. 2, pp. 153–160). Melbourne: PME.

    Google Scholar 

  • BBC Bitesize. (2017). Introduction to computational thinking. http://www.bbc.co.uk/education/guides/zp92mp3/revision (inspected 16/5/17).

  • Berkley, E. C., & Bobrow, D. G. (Eds.). (1964). The programming language LISP: Its operation and applications. Cambridge, MA: MIT Press.

    Google Scholar 

  • Booch, G., Rumbaugh, J., & Jacobson, I. (2005). The Unified Modeling Language user guide (2nd ed.). Upper Saddle River: Addison-Wesley.

    Google Scholar 

  • Brusilovsky, P., Calabrese, E., Hvorecky, J., Kouchnirenko, A., & Miller, P. (1997). Mini-Languages: A way to learn programming principles. Education and Information Technologies, 2(1), 65–83.

    Google Scholar 

  • Cass. S. (2017). The 2017 top programming languages, IEEE Spectrum, 18th July, 2017.

    Google Scholar 

  • Dahl, O. J. (2004). The birth of object orientation: the Simula languages. In From object-orientation to formal methods. Berlin: Springer.

    Google Scholar 

  • Denning, P. J. (2017). Remaining trouble spots with computational thinking. CACM, 60(6), 33–39.

    Google Scholar 

  • Denning, P. J., Tedre, M., & Yongpradit, P. (2017). Misconceptions about computer science. CACM, 60(3), 31–33.

    Google Scholar 

  • Ehlert, A., & Schulte, C. (2009). Empirical comparison of objects-first and objects-later. In Proceedings of the Fifth International Workshop on Computing Education Research (ICER’09), ACM (pp. 15–26).

    Google Scholar 

  • Gamma, E., Helm, R., Johnson, R., & Vlissides, J. (1995). Design patterns: Elements of reuseable object-oriented software. Boston: Addison- Wesley.

    Google Scholar 

  • Google. (2017). What is computational thinking? In computational thinking for educators. https://computationalthinkingcourse.withgoogle.com/unit?lesson=8&unit=1 (inspected 16/5/17).

  • Gosling, J., Joy, B., & Steele, G. L., Jr. (1996). The Java language specification. Boston: Addison Wesley.

    Google Scholar 

  • Guizdal, M. (2017). Balancing teaching CS efficiently with motivating students. CACM, 60(6), 10–11.

    Article  Google Scholar 

  • Hu, C. (2004). Rethinking of teaching objects first. Education and Information Technologies, 9(3), 209–218.

    Article  Google Scholar 

  • Kao, E. (2011). Exploring computational thinking at Google. CSTA Voice, 7(2), 6.

    Google Scholar 

  • Kay, A. C. (1993). The early history of Smalltalk. ACM SIGPLAN Notices, 28(3), 69–95.

    Article  Google Scholar 

  • Kieren, T. E. (1984). LOGO in education: What, how, where, why and consequences. Planning Services, Alberta Education.

    Google Scholar 

  • Kölling, M. (2016). Lessons from the design of three educational programming environments: Blue, BlueJ and Greenfoot. International Journal of People-Oriented Programming, 4(1), 25–32.

    Google Scholar 

  • Kölling, M., & Rosenberg, J. (1996a). Blue – A language for teaching object oriented programming. In Proceedings of 27th SIGCSE technical symposium on computer science education, Philadelphia, Pennsylvania, USA (pp. 190–194). SIGCSE Bulletin, 28(1).

    Google Scholar 

  • Kölling, M., & Rosenberg, J. (1996b). An object oriented development environment for the first programming course. In Proceedings of 27th SIGCSE technical symposium on computer science education, Philadelphia, Pennsylvania, USA (pp. 83–87). SIGCSE Bulletin, 28(1).

    Google Scholar 

  • Kölling, M., & Rosenberg, J. (2001). Guidelines for teaching object orientation with Java. In Proceedings of the 6th Conference on Information Technology in Computer Science Education (ITiCSE 2001), Canterbury (pp. 33–36).

    Google Scholar 

  • Kölling, M., Koch, B., & Rosenberg, J. (1995). Requirements for a first year object-oriented teaching language. ACM SIGCSE Bulletin, 27(1), 173–177.

    Article  Google Scholar 

  • Lister, R., Berglund, A., Clear, C., et al. (2006). Research perspectives on the objects-early debate. In Working group reports on Innovation and Technology in Computer Science Education (ITiCSE-WGR ‘06), ACM (pp. 146–165).

    Google Scholar 

  • McArthur, C. D. (1973). LOGO user’s guide and reference manual, Bionics Research Reports: No. 14, Bionics Research Laboratory, School of Artificial Intelligence, University of Edinburgh.

    Google Scholar 

  • Michaelson, G. (1992). Elementary Standard ML. UCL Press.

    Google Scholar 

  • Michaelson, G. (2015). Teaching programming with computational and informational thinking. Journal of Pedagogic Development, 5(1), 51–65.

    Google Scholar 

  • Minsky, M., & Papert, S. (1971). Artificial Intelligence Research Report, Memo AIM-252, AI Laboratory, MIT.

    Google Scholar 

  • Moors, L., & Sheenan, R. (2017). Aiding the transition from novice to traditional programming environments. In Proceedings of IDC 2017: ACM interaction design and children conference (pp. 509–514). Stanford University.

    Google Scholar 

  • Murphy, E., Crick, T., Davenport, J.H. (2017). An analysis of introductory programming courses at UK Universities, The Art, Science, and Engineering of Programming, Vol. 1, No. 2, 2017, Article 18; 23 pages.

    Google Scholar 

  • Papert, S. (1993). Mindstorms. (2nd edn). Basic Books.

    Google Scholar 

  • Reek, M. (1995). A top-down approach to teaching programming. SIGSCE Bulletin, 27(1), 6–9.

    Google Scholar 

  • Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F., & Lorensen, W. (1990). Object-oriented modeling and design. New Jersey: Prentice Hall.

    Google Scholar 

  • Scottish Qualifications Authority. (2015). Reference language for advanced higher computing science question papers. http://www.sqa.org.uk/files_ccc/ComputingScienceReflanguageSpecificationsSQPAH.pdf. (consulted 17/5/17).

  • Stroustrup, B. (1987). The C++ programming language. Addison-Wesley.

    Google Scholar 

  • Sweller, J. (1988). Cognitive load during problem solving: Effects on learning. Cognitive Science, 12, 257–285.

    Article  Google Scholar 

  • Tedre, M., & Denning, P. (2016). The long quest for computational thinking. In Proceedings of the 16th Koli calling conference on computing education research, November 24–27, 2016 (pp. 120–129). Koli.

    Google Scholar 

  • Turing, A. (1936). On computable numbers, with an application to the Entscheidungs problem. Proceedings of the London Mathematical Society, 42(1), 230–265.

    Article  Google Scholar 

  • Vygotsky, L. S. (1962). Thought and language. Cambridge, MA: MIT Press.

    Book  Google Scholar 

  • Vygotsky, L. S. (1978). Mind in society. Cambridge: MIT Press.

    Google Scholar 

  • Wallace, C., & Martin, P. (1997). Not whether Java but how Java. In Proceedings of Java in the computing curriculum conference (JICC 1), South Bank University.

    Google Scholar 

  • Weir, S. (1987). Cultivating minds: A Logo casebook. New York: Harper and Row.

    Google Scholar 

  • Wing, J.M. (2006). Computational thinking. CACM viewpoint, March, pp. 33–35.

    Google Scholar 

  • Wood, D., Bruner, J. S., & Ross, G. (1976). The role of tutoring in problem solving. Journal of Child Psychology and Psychiatry, 17, 89–100.

    Article  Google Scholar 

  • Yadav, A., Stephenson, C., & Hong, H. (2017). Computational thinking for teacher education. CACM, 60(4), 55–62.

    Article  Google Scholar 

Download references

Acknowledgements

I would like to thank Nancy Falchikov for valuable discussions about constructivism, development and cognition.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Greg Michaelson .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer International Publishing AG, part of Springer Nature

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Michaelson, G. (2018). Microworlds, Objects First, Computational Thinking and Programming. In: Khine, M. (eds) Computational Thinking in the STEM Disciplines. Springer, Cham. https://doi.org/10.1007/978-3-319-93566-9_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-93566-9_3

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-93565-2

  • Online ISBN: 978-3-319-93566-9

  • eBook Packages: EducationEducation (R0)

Publish with us

Policies and ethics