Skip to main content
Top

2014 | OriginalPaper | Chapter

5. Problem-Solving Strategies

Authors : Orit Hazzan, Tami Lapidot, Noa Ragonis

Published in: Guide to Teaching Computer Science

Publisher: Springer London

Activate our intelligent search to find suitable subject content or patents.

search-config
loading …

Abstract

Problem solving is one of the central activities performed by computer scientists as well as computer science learners. However, computer science learners often face difficulties in problem analysis and solution construction. Therefore, it is important that computer science educators are aware of these difficulties and acquire appropriate pedagogical tools to help their learners gain experience in these skills. This chapter is dedicated to such pedagogical tools. It presents several problem-solving strategies to address in the MTCS course together with appropriate activities to mediate them to the prospective computer science teachers.

Dont have a licence yet? Then find out more about our products and how to get one now:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Footnotes
1
An algorithmic problem is defined by what is given—the initial conditions of the problem, and its goals—the desired state, what should be accomplished. An algorithm problem can be solved with a series of actions formulated formally either by pseudo code or a programming language.
 
2
In advanced computer science classes, it is relevant to mention that in computer science, in addition to the development of problem-solving strategies, special emphasis is placed also on nonsolvable problems (see Chap. 9).
 
3
The roles of variables home page (http://​www.​cs.​joensuu.​fi/​~saja/​var_​roles/​ very rich and contains different kinds of educational resources).
 
Literature
go back to reference Ahrendt W, Bubel R, Hahnle R (2009) Integrated and tool-supported teaching of testing, debugging, and verification. In: Nuno Oliveira (eds) Proceedings of the 2nd International Conference on Teaching Formal Methods (TFM '09), Jeremy Gibbons and Jos\&\#233. Springer-Verlag, Berlin, pp 125–143 Ahrendt W, Bubel R, Hahnle R (2009) Integrated and tool-supported teaching of testing, debugging, and verification. In: Nuno Oliveira (eds) Proceedings of the 2nd International Conference on Teaching Formal Methods (TFM '09), Jeremy Gibbons and Jos\&\#233. Springer-Verlag, Berlin, pp 125–143
go back to reference Arshad N (2009) Teaching programming and problem solving to CS2 students using think-alouds. SIGCSE Bulletin 41, 1(March 2009), pp 372–376 Arshad N (2009) Teaching programming and problem solving to CS2 students using think-alouds. SIGCSE Bulletin 41, 1(March 2009), pp 372–376
go back to reference Astrachan O, Berry G, Cox L, Mitchener G (1998) Design patterns: an essential component of CS curricula. Proceedings of SIGCSE, pp 153–160 Astrachan O, Berry G, Cox L, Mitchener G (1998) Design patterns: an essential component of CS curricula. Proceedings of SIGCSE, pp 153–160
go back to reference Batory D, Sarvela JN, Rauschmayer A (2004) Scaling stepwise refinement. IEEE Trans Softw Eng 30(6):355–371CrossRef Batory D, Sarvela JN, Rauschmayer A (2004) Scaling stepwise refinement. IEEE Trans Softw Eng 30(6):355–371CrossRef
go back to reference Ben-Ari M, Sajaniemi J (2003) Roles of variables from the perspective of computer science educators. University of Joensuu, Department of Computer Science., Technical. Report, Series A-2003-6 Ben-Ari M, Sajaniemi J (2003) Roles of variables from the perspective of computer science educators. University of Joensuu, Department of Computer Science., Technical. Report, Series A-2003-6
go back to reference Carver S, McCoy (1988) Learning and transfer of debugging skills: applying task analysis to curriculum design and assessment. In: Mayer RE (ed) Teaching and learning computer programming, multiple research perspectives. Lawrence Erlbaum Associates, Inc., Chapter 11 Carver S, McCoy (1988) Learning and transfer of debugging skills: applying task analysis to curriculum design and assessment. In: Mayer RE (ed) Teaching and learning computer programming, multiple research perspectives. Lawrence Erlbaum Associates, Inc., Chapter 11
go back to reference Clancy MJ, Linn MC (1999) Patterns and pedagogy. Proc SIGCSE’ 99:37–42 Clancy MJ, Linn MC (1999) Patterns and pedagogy. Proc SIGCSE’ 99:37–42
go back to reference Dijkstra EW (1976) A discipline of programming. Prentice-Hall, New JerseyMATH Dijkstra EW (1976) A discipline of programming. Prentice-Hall, New JerseyMATH
go back to reference East JP, Thomas SR, Wallingford E, Beck W, Drake J (1996) Pattern-based programming instruction. Proceedings of ASEE Annual Conference and Exposition, Washington, DC East JP, Thomas SR, Wallingford E, Beck W, Drake J (1996) Pattern-based programming instruction. Proceedings of ASEE Annual Conference and Exposition, Washington, DC
go back to reference Ginat D (2003) The greedy trap and learning from mistakes. SIGCSE Bull 35(1):11–15CrossRef Ginat D (2003) The greedy trap and learning from mistakes. SIGCSE Bull 35(1):11–15CrossRef
go back to reference Ginat D (2004) Algorithmic patterns and the case of the sliding delta. SIGCSE Bull 36(2):29–33CrossRef Ginat D (2004) Algorithmic patterns and the case of the sliding delta. SIGCSE Bull 36(2):29–33CrossRef
go back to reference Ginat D (2008) Learning from wrong and creative algorithm design. SIGCSE Bull 40(1):26–30CrossRef Ginat D (2008) Learning from wrong and creative algorithm design. SIGCSE Bull 40(1):26–30CrossRef
go back to reference Ginat D (2009) Interleaved pattern composition and scaffolded learning. Proceedins of the 14th annual ACM SIGCSE conference on Innovation and Technology. in Computer Science Education—ITiCSE '09, Paris, France, pp 109–113 Ginat D (2009) Interleaved pattern composition and scaffolded learning. Proceedins of the 14th annual ACM SIGCSE conference on Innovation and Technology. in Computer Science Education—ITiCSE '09, Paris, France, pp 109–113
go back to reference Ginat D, Shmalo R (2013) Constructive use of errors in teaching CS1. In Proceedings of the 44th ACM technical symposium on Computer science education (SIGCSE '13). ACM, New York, NY, USA, pp 353–358 Ginat D, Shmalo R (2013) Constructive use of errors in teaching CS1. In Proceedings of the 44th ACM technical symposium on Computer science education (SIGCSE '13). ACM, New York, NY, USA, pp 353–358
go back to reference Hasni TF, Lodhi F (2011) Teaching problem solving effectively. ACM Inroads 2, 3(August 2011), pp 58–62 Hasni TF, Lodhi F (2011) Teaching problem solving effectively. ACM Inroads 2, 3(August 2011), pp 58–62
go back to reference Hazzan O, Leron U (2006) Why do we resist testing? Syst Des Front—Exclus Front Cover Syst Des 3(7):20–23 Hazzan O, Leron U (2006) Why do we resist testing? Syst Des Front—Exclus Front Cover Syst Des 3(7):20–23
go back to reference Kiesmüller U (2009) Diagnosing learners’ problem-solving strategies using learning environments with algorithmic problems in secondary education. Trans. Comput. Educ. 9, 3, Article 17 (September 2009), 26 pages Kiesmüller U (2009) Diagnosing learners’ problem-solving strategies using learning environments with algorithmic problems in secondary education. Trans. Comput. Educ. 9, 3, Article 17 (September 2009), 26 pages
go back to reference Laakso MJ, Malmi L, Korhonen A, Rajala T, Kaila E, Salakoski T (2008) Using roles of variables to enhance novice’s debugging work. Iss Inf Sci Inf Technol 5:281–295 Laakso MJ, Malmi L, Korhonen A, Rajala T, Kaila E, Salakoski T (2008) Using roles of variables to enhance novice’s debugging work. Iss Inf Sci Inf Technol 5:281–295
go back to reference Lieberman H (1997) The debugging scandal and what to do about it (special section). Comm ACM 40(4):27–29CrossRef Lieberman H (1997) The debugging scandal and what to do about it (special section). Comm ACM 40(4):27–29CrossRef
go back to reference Muller O (2005) Pattern oriented instruction and the enhancement of analogical reasoning. Proceedings of the First International Workshop on Computing Education Research ICER '05, Seattle, WA, USA, pp 57–67 Muller O (2005) Pattern oriented instruction and the enhancement of analogical reasoning. Proceedings of the First International Workshop on Computing Education Research ICER '05, Seattle, WA, USA, pp 57–67
go back to reference Muller O, Haberman B, Averbuch H (2004) (An almost) pedagogical pattern for pattern-based problem solving instruction. Proceedings of the 9th Annual SIGCSE Conference on Innovation Technology in Computer Science Education, pp 102–106 Muller O, Haberman B, Averbuch H (2004) (An almost) pedagogical pattern for pattern-based problem solving instruction. Proceedings of the 9th Annual SIGCSE Conference on Innovation Technology in Computer Science Education, pp 102–106
go back to reference Muller O, Ginat D, Haberman B (2007) Pattern-oriented instruction and its influence on problem decomposition and solution construction. ACM SIGCSE Bull 39(3):151–155CrossRef Muller O, Ginat D, Haberman B (2007) Pattern-oriented instruction and its influence on problem decomposition and solution construction. ACM SIGCSE Bull 39(3):151–155CrossRef
go back to reference Nagvajara P, Taskin B (2007) Design-for-debug: a Vital Aspect in Education. In Proceedings of the 2007 IEEE International Conference on Microelectronic Systems Education(MSE '07). IEEE Computer Society, Washington, DC, USA, pp 65–66 Nagvajara P, Taskin B (2007) Design-for-debug: a Vital Aspect in Education. In Proceedings of the 2007 IEEE International Conference on Microelectronic Systems Education(MSE '07). IEEE Computer Society, Washington, DC, USA, pp 65–66
go back to reference Papert S (1980) Mindstorms: children, computers and powerful ideas. Basic Books Inc., New York Papert S (1980) Mindstorms: children, computers and powerful ideas. Basic Books Inc., New York
go back to reference Polya G (1957) How to solve it. Doubleday and Co., Inc., Garden City Polya G (1957) How to solve it. Doubleday and Co., Inc., Garden City
go back to reference Proulx VK (2000) Programming patterns and design patterns in the introductory computer science course. Proceedings of SIGCSE, pp 80–84 Proulx VK (2000) Programming patterns and design patterns in the introductory computer science course. Proceedings of SIGCSE, pp 80–84
go back to reference Ragonis N (2012) Integrating the teaching of algorithmic patterns into computer science teacher preparation programs. In Proceedings of the 17th ACM annual conference on Innovation and technology in computer science education (ITiCSE '12). ACM, New York, NY, USA, pp 339–344 Ragonis N (2012) Integrating the teaching of algorithmic patterns into computer science teacher preparation programs. In Proceedings of the 17th ACM annual conference on Innovation and technology in computer science education (ITiCSE '12). ACM, New York, NY, USA, pp 339–344
go back to reference Raman K, Svore KM, Gilad-Bachrach R, Burges CJC (2012) Learning from mistakes: towards a correctable learning algorithm. In Proceedings of the 21st ACM int. conf. on Information and knowledge management (CIKM '12). ACM, New York, NY, USA, pp 1930–1934 Raman K, Svore KM, Gilad-Bachrach R, Burges CJC (2012) Learning from mistakes: towards a correctable learning algorithm. In Proceedings of the 21st ACM int. conf. on Information and knowledge management (CIKM '12). ACM, New York, NY, USA, pp 1930–1934
go back to reference Reed D (1999) Incorporating problem-solving patterns in CS1. J Comput Sci Edu 13(1):6–13 Reed D (1999) Incorporating problem-solving patterns in CS1. J Comput Sci Edu 13(1):6–13
go back to reference Reynolds RG, Maletic JI, Porvin SE (1992) Stepwise refinement and problem solving. IEEE Softw 9(5):79–88CrossRef Reynolds RG, Maletic JI, Porvin SE (1992) Stepwise refinement and problem solving. IEEE Softw 9(5):79–88CrossRef
go back to reference Robins A, Rountree J, Rountree N (2003) Learning and teaching programming: areview and discussion. Comput Sci Edu 13(2):137–172CrossRef Robins A, Rountree J, Rountree N (2003) Learning and teaching programming: areview and discussion. Comput Sci Edu 13(2):137–172CrossRef
go back to reference Schoenfeld AH (1983) Episodes and executive decisions in mathematical problem-solving. In: Lesh R, Landaue M (eds) Acquisition of mathematics conceptsand processes. Academic Press Inc., New York Schoenfeld AH (1983) Episodes and executive decisions in mathematical problem-solving. In: Lesh R, Landaue M (eds) Acquisition of mathematics conceptsand processes. Academic Press Inc., New York
go back to reference Schön DA (1983) The reflective practitioner. Basic Books, New York Schön DA (1983) The reflective practitioner. Basic Books, New York
go back to reference Seta K, Kajino T, Umano M, Ikeda M (2006) An ontology based reflection support system to encourage learning from mistakes. In: Deved V (ed) Proceedings of the 24th IASTED international conference on Artificial intelligence and applications (AIA'06). ACTA Press, Anaheim, pp 142–149 Seta K, Kajino T, Umano M, Ikeda M (2006) An ontology based reflection support system to encourage learning from mistakes. In: Deved V (ed) Proceedings of the 24th IASTED international conference on Artificial intelligence and applications (AIA'06). ACTA Press, Anaheim, pp 142–149
go back to reference Soloway E (1986) Learning to program = learning to construct mechanisms and explanations. CACM 29(1):850–858CrossRef Soloway E (1986) Learning to program = learning to construct mechanisms and explanations. CACM 29(1):850–858CrossRef
go back to reference Spohrer JG, Soloway E (1986) Analyzing the high frequency bugs in novice programs. In: Soloway E, Iyengar S (eds) Empirical studies of programmers. Ablex, Norwood, pp 230–251 Spohrer JG, Soloway E (1986) Analyzing the high frequency bugs in novice programs. In: Soloway E, Iyengar S (eds) Empirical studies of programmers. Ablex, Norwood, pp 230–251
go back to reference Vírseda RdV Orna EP Berbis E Guerrero SdL (2011) A logic teaching tool based on tableaux for verification and debugging of algorithms. In: Blackburn P, van Ditmarsch H, Soler-Toscano F, Manzano M (eds) Proceedings of the third international congress conference on tools for teaching logic (TICTTL'11). Springer-Verlag, Berlin, pp 239–248 Vírseda RdV Orna EP Berbis E Guerrero SdL (2011) A logic teaching tool based on tableaux for verification and debugging of algorithms. In: Blackburn P, van Ditmarsch H, Soler-Toscano F, Manzano M (eds) Proceedings of the third international congress conference on tools for teaching logic (TICTTL'11). Springer-Verlag, Berlin, pp 239–248
go back to reference Wallingford E (1996) Toward a first course based on object-oriented patterns. Proceedings SIGCSE, pp 27–31 Wallingford E (1996) Toward a first course based on object-oriented patterns. Proceedings SIGCSE, pp 27–31
Metadata
Title
Problem-Solving Strategies
Authors
Orit Hazzan
Tami Lapidot
Noa Ragonis
Copyright Year
2014
Publisher
Springer London
DOI
https://doi.org/10.1007/978-1-4471-6630-6_5

Premium Partner