Skip to main content

Introduction

  • Chapter
  • First Online:
Explaining Algorithms Using Metaphors

Part of the book series: SpringerBriefs in Computer Science ((BRIEFSCOMPUTER))

  • 1572 Accesses

Abstract

At the beginning of this chapter, we define the concepts “metaphor” and “analogy” and we discuss their use as a teaching tool—both in general education and in computer science, in particular. We give an overview of prior research publications that discuss various aspects of using metaphors in education. Afterwards, we dedicate a section to the major caveats we should keep in mind when using metaphors. Finally, we focus on the use of metaphors related to computers, and in particular their use in computer science. In this section, we show examples of both good and flawed metaphors. At the very end of this introductory chapter, we include a brief set of guidelines on how to read the next chapters of this book.

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 54.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 69.99
Price excludes VAT (USA)
  • Compact, lightweight 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

Notes

  1. 1.

    For this particular metaphor things are taking a turn for the better—some of the modern tools already “auto-save” your documents and actually store the entire edit history, so that each state of the document is actually saved, in the original sense of the word.

References

  1. Bell, T., Fellows, M.R., Witten, I.: Computer Science Unplugged... Off-Line Activities and Games for All Ages. http://csunplugged.com/ (1998). Cited 8 Dec 2012

  2. Chee, Y.S.: Applying Gentner’s theory of analogy to the teaching of computer programming. Int. J. Man Mach. Stud. 38(3), 347–368 (1993)

    Article  Google Scholar 

  3. Chiu, M.M.: Metaphorical Reasoning: origins, uses, development and interactions in mathematics. Educ. J. 28(1), 13–46 (2000)

    Google Scholar 

  4. Cohoon, J.P., Davidson, J.W.: C++ Program Design: An Intro to Programming and Object-Oriented Design, 3rd edn. McGraw-Hill, Boston (2002)

    Google Scholar 

  5. Colburn, T.R., Shute, G.M.: Metaphor in computer science. J. Appl. Logic. 6(4), 526–533 (2008)

    Article  Google Scholar 

  6. Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C.: Introduction to Algorithms, 3rd edn. MIT Press, Cambridge (2009)

    Google Scholar 

  7. Danzig, N.: Introduction to computer science—C++. http://www.danzig.us/cpp/ (2009). Cited 8 Dec 2012

  8. Dictionary.com: Collins English Dictionary—Complete & Unabridged, 10th edn. Harper Collins Publishers, New York (2012). Cited 8 Dec 2012

    Google Scholar 

  9. Duncker, E.: Cross-Cultural usability of the library metaphor. In: Proceedings of the 2nd ACM/IEEE Joint Conference on Digital Libraries (JCDL 2002), pp. 223–230. ACM (2002)

    Google Scholar 

  10. Gentner, D., Stevens, A.L. (ed.): Mental Models. Lawrence Erlbaum Association, Hillsdale (1983)

    Google Scholar 

  11. Hromkovič, J.: Algorithmic Adventures. Springer, Berlin (2009)

    Google Scholar 

  12. Hübscher-Younger, T.: Understanding algorithms through shared metaphors. In: Proceedings of the CHI 2000 Conference on Human Factors in Computing Systems (CHI 2000), pp. 83–84. ACM (2000)

    Google Scholar 

  13. Keogh, J.E., Davidson, K.: Data Structures Demystified. McGraw-Hill, New York (2004)

    Google Scholar 

  14. Keränen, J.: Using metaphors in computer science education—cross cultural aspects. Tech. Rep., CS Department, Univ. of Joensuu (2005)

    Google Scholar 

  15. Lakoff, G., Johnson, M.: Metaphors We Live By. University of Chicago press, Chicago (2003)

    Book  Google Scholar 

  16. Landau, H.G.: On dominance relations and the structure of animal societies III. The condition for a score structure. Bull. Math. Biophys. 15(2), 143–148 (1953)

    Article  MathSciNet  Google Scholar 

  17. Quisquater, J.J. et al.: How to explain zero-knowledge protocols to your children. In: Proceedings of the 9th Annual International Cryptology Conference (CRYPTO 1989), pp. 628–631. Springer (1989)

    Google Scholar 

  18. Spolsky, J.: The Law of Leaky Abstractions. Joel on Software. http://www.joelonsoftware.com/articles/LeakyAbstractions.html (2002). Cited 8 Dec 2012

  19. Stephenson, N.: In the Beginning was the Command Line. Harper Perennial, New York (1999)

    Google Scholar 

  20. Waguespack, L.J., Jr.: Visual metaphors for teaching programming concepts. In: Proceedings of the 20th Technical Symposium on Computer Science Education (SIGCSE 1989), pp. 141–145. ACM (1989)

    Google Scholar 

  21. Woollard, W.J.: The rôle of metaphor in the teaching of computing; towards a taxonomy of pedagogic content knowledge. Ph.D. Thesis, London (2004)

    Google Scholar 

  22. Yim, K., Garcia, D.D., Ahn, S.: Computer science illustrated: engaging visual aids for computer science education. In: Proceedings of the 41th Technical Symposium on Computer Science Education (SIGCSE 2010), pp. 465–469. ACM (2010)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Michal Forišek .

Rights and permissions

Reprints and permissions

Copyright information

© 2013 The Author(s)

About this chapter

Cite this chapter

Forišek, M., Steinová, M. (2013). Introduction. In: Explaining Algorithms Using Metaphors. SpringerBriefs in Computer Science. Springer, London. https://doi.org/10.1007/978-1-4471-5019-0_1

Download citation

  • DOI: https://doi.org/10.1007/978-1-4471-5019-0_1

  • Published:

  • Publisher Name: Springer, London

  • Print ISBN: 978-1-4471-5018-3

  • Online ISBN: 978-1-4471-5019-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics