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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
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)
Ben-David Kolikant, Y., Pollack, S.: Establishing computer science professional norms among high-school students. Computer Science Education 14(1), 21–35 (2004)
Clancy, M.J., Linn, M.C.: Patterns and pedagogy. In: Proceedings of SIGCSE 1999, pp. 37–42 (1999)
Du Boulay, B.: Some difficulties of learning to program. Journal of Educational Computing Research 2(1), 57–73 (1986)
Gal-Ezer, J., Beeri, C., Harel, D., Yehudai, A.: A high-school program in computer science. IEEE Computer 28(10), 73–80 (2005)
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)
Ginat, D.: The greedy trap and learning from mistakes. In: Proceedings of SIGCSE 2003, pp. 11–15 (2003)
Ginat, D.: The novice programmers’ syndrome of design-by-keyword. In: Proceedings of ITiCSE 2004, pp. 154–157 (2003)
Ginat, D.: Algorithmic patterns and the case of the sliding delta. ACM SIGCSE Bulletin 36(2), 29–33 (2004)
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)
Linn, M.C.: The cognitive consequences of programming instruction in classrooms. Educational Researcher, 14–19 (1985)
Linn, M.C., Clancy, M.J.: The case for case studies of programming problems. Communications of the ACM 35(3), 121–132 (1992)
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)
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)
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)
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)
Soloway, E.: Learning to program = learning to construct mechanisms and explanations. Communications of the ACM 29(9), 850–858 (1986)
Spohrer, J.C., Soloway, E., Pope, E.: A Goal/plan analysis of buggy Pascal programs. Human-Computer Interaction 1(2), 163–207 (1985)
Vinner, S.: Concept definition, concept image and the notion of function. International Journal of Mathematics Education in Science and Technology 14, 293–305 (1983)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)