Skip to main content

Novice Difficulties with Interleaved Pattern Composition

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 7780))

Abstract

Design patterns are essential building blocks of computer programs. In the design of programs, patterns are selected and composed together. Pattern compositions may be of various kinds, among them: concatenation, inclusion (of one pattern in another), and interleaving (of two or more patterns). Pattern interleaving is the subtler composition. Yet, it is already required in early programming (e.g., the number of appearances of the max in a list, which requires the interleaving of counting and max computation). In this paper, we illuminate novices’ struggle with interleaved compositions. We present an empirical study of high-school CS students, which reveals several kinds of novice difficulties, including: "bypassing" of interleaved composition by concatenation, improper application of patterns, and design of malformed interleaved structures. We offer some didactic suggestions to teachers for coping with these difficulties.

This study was supported by ISF grant # 937/08.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   49.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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Astrachan, O., Berry, G., Cox, L., Mitchener, G.: Design patterns: an essential component of CS Curricula. In: Proceedings of SIGCSE 1998, pp. 153–160 (1998)

    Google Scholar 

  2. Ben-David Kolikant, Y., Pollack, S.: Establishing computer science professional norms among high-school students. Computer Science Education 14(1), 21–35 (2004)

    Article  Google Scholar 

  3. Clancy, M.J., Linn, M.C.: Patterns and pedagogy. In: Proceedings of SIGCSE 1999, pp. 37–42 (1999)

    Google Scholar 

  4. Du Boulay, B.: Some difficulties of learning to program. Journal of Educational Computing Research 2(1), 57–73 (1986)

    Article  Google Scholar 

  5. Gal-Ezer, J., Beeri, C., Harel, D., Yehudai, A.: A high-school program in computer science. IEEE Computer 28(10), 73–80 (2005)

    Article  Google Scholar 

  6. Ginat, D., Haberman, B., Cohen, D., Katz, D., Muller, O., Menashe, E.: Design Patterns for Fundamentals of Computer Science (a Hebrew textbook), Tel-Aviv University (2001)

    Google Scholar 

  7. Ginat, D.: The greedy trap and learning from mistakes. In: Proceedings of SIGCSE 2003, pp. 11–15 (2003)

    Google Scholar 

  8. Ginat, D.: The novice programmers’ syndrome of design-by-keyword. In: Proceedings of ITiCSE 2004, pp. 154–157 (2003)

    Google Scholar 

  9. Ginat, D.: Algorithmic patterns and the case of the sliding delta. ACM SIGCSE Bulletin 36(2), 29–33 (2004)

    Article  Google Scholar 

  10. Ginat, D., Shifroni, E., Menashe, E.: Transfer, Cognitive Load, and Program Design Difficulties. In: Kalaš, I., Mittermeir, R.T. (eds.) ISSEP 2011. LNCS, vol. 7013, pp. 165–176. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  11. Linn, M.C.: The cognitive consequences of programming instruction in classrooms. Educational Researcher, 14–19 (1985)

    Google Scholar 

  12. Linn, M.C., Clancy, M.J.: The case for case studies of programming problems. Communications of the ACM 35(3), 121–132 (1992)

    Article  Google Scholar 

  13. Muller, O., Haberman, B., Ginat, D.: Pattern-oriented instruction and its influence on problem decomposition and solution construction. In: Proceedings of ITiCSE 2007, pp. 151–155 (2007)

    Google Scholar 

  14. Putnam, R.T., Sleeman, D., Baxter, J.A., Kupsa, L.K.: A summary of misconceptions of high-school BASIC programmers. In: Soloway, E., Spohrer, J.C. (eds.) Studying the Novice Programmer, pp. 301–314. Lawrence Erlbaum (1989)

    Google Scholar 

  15. Rath, A., Brown, D.E.: Conceptions of human-computer interaction: a model of understanding student errors. Journal of Educational Computing Research 12(4), 395–409 (1995)

    Article  Google Scholar 

  16. Schoenfeld, A.: Learning to Think Mathematically: Problem Solving, Metacognition, and Sense Making in Mathematics. In: Grouws, D.A. (ed.) Handbook of Research on Mathematics Teaching and Learning, pp. 334–370. Macmillan (1992)

    Google Scholar 

  17. Soloway, E.: Learning to program = learning to construct mechanisms and explanations. Communications of the ACM 29(9), 850–858 (1986)

    Article  Google Scholar 

  18. Spohrer, J.C., Soloway, E., Pope, E.: A Goal/plan analysis of buggy Pascal programs. Human-Computer Interaction 1(2), 163–207 (1985)

    Article  Google Scholar 

  19. Vinner, S.: Concept definition, concept image and the notion of function. International Journal of Mathematics Education in Science and Technology 14, 293–305 (1983)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Ginat, D., Menashe, E., Taya, A. (2013). Novice Difficulties with Interleaved Pattern Composition. In: Diethelm, I., Mittermeir, R.T. (eds) Informatics in Schools. Sustainable Informatics Education for Pupils of all Ages. ISSEP 2013. Lecture Notes in Computer Science, vol 7780. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-36617-8_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-36617-8_5

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-36616-1

  • Online ISBN: 978-3-642-36617-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics