ABSTRACT
Many studies have shown that students often face difficulty in applying programming concepts to design a program that solves a given task. To impart better problem solving skills a number of pedagogical approaches have been presented in the literature. However, most of these approaches provide a general strategy of problem solving. But in reality problem solving is a skill that is developed with experience over a period of time. In this paper, we present a pedagogical approach to teach problem solving using think-alouds. In a think-aloud problem solving approach students learn the skill of problem solving by closely observing an 'experienced programmer. We used this approach in a CS2 class and our evaluation results show that think-aloud problem solving is an extremely effective pedagogical technique, particularly for female students.
- Caspersen, M. E. Educating Novices in The Skills of Programming. PhD thesis, Department of Computer Science, University of Aarhus, 2007.Google Scholar
- David J. Barnes, Sally Fincher, and Simon Thompson. Introductory Problem Solving in Computer Science. In 5th Annual Conference on the Teaching of Computing (Centre for Teaching Computing, Dublin City University, Dublin 9, Ireland, August 1997), G. Daughton and P. Magee, Eds., pp. 36--39.Google Scholar
- Ericsson, K. A., and Simon, H. A. Protocol analysis: Verbal reports as data, 1984.Google Scholar
- Fincher, S. What are we doing when we teach programming? Frontiers in Education Conference, 1999. FIE '99. 29th Annual 1 (1999), 12A4/1-12A4/5 vol.1.Google ScholarCross Ref
- Gries, D. A principled approach to teaching oo first. In SIGCSE '08: Proceedings of the 39th SIGCSE technical symposium on Computer science education (New York, NY, USA, 2008), ACM, pp. 31--35. Google ScholarDigital Library
- Guzdial, M., and Ericson, B. Introduction to Computing and Programming with Java: A Multimedia Approach. Prentice-Hall, Inc., Upper Saddle River, NJ, USA, 2006. Google ScholarDigital Library
- Howard, R. A., Carver, C. A., and Lane, W. D. Felder's learning styles, bloom's taxonomy, and the kolb learning cycle: tying it all together in the cs2 course. In SIGCSE '96: Proceedings of the twenty-seventh SIGCSE technical symposium on Computer science education (New York, NY, USA, 1996), ACM, pp. 227--231. Google ScholarDigital Library
- Lahtinen, E., Ala-Mutka, K., and Jarvinen, H.-M. A study of the difficulties of novice programmers. In ITiCSE '05 (New York, NY, USA, 2005), ACM Press, pp. 14--18. Google ScholarDigital Library
- Robbins, K. A., Key, C. S., Dickinson, K., and Montgomery, J. Solving the cs1/cs2 lab dilemma: students as presenters in cs1/cs2 laboratories. In SIGCSE '01: Proceedings of the thirty-second SIGCSE technical symposium on Computer Science Education (New York, NY, USA, 2001), ACM, pp. 164--168. Google ScholarDigital Library
- Robins, A., Rountree, J., and Rountree, N. Learning and Teaching Programming: A Review and Discussion. Computer Science Education 13 (June 2003), 137--172.Google ScholarCross Ref
- Singer, J., Sim, S., and Lethbridge, C. Software Engineering Data Collection for Field Studies. Springer-Science, 2008, ch. 1, pp. 9--34.Google ScholarCross Ref
- Walsh, L. N., Howard, R. G., and Bowe, B. Phenomenographic study of students' problem solving approaches in physics. Phys. Rev. ST Phys. Educ. Res. 3, 2 (Dec 2007), 020108.Google ScholarCross Ref
- Winslow, L. E. Programming pedagogy - a psychological overview. SIGCSE Bull. 28, 3 (September 1996), 17--22. Google ScholarDigital Library
Index Terms
- Teaching programming and problem solving to CS2 students using think-alouds
Recommendations
Programming, Problem Solving, and Self-Awareness: Effects of Explicit Guidance
CHI '16: Proceedings of the 2016 CHI Conference on Human Factors in Computing SystemsMore people are learning to code than ever, but most learning opportunities do not explicitly teach the problem solving skills necessary to succeed at open-ended programming problems. In this paper, we present a new approach to impart these skills, ...
The Role of Self-Regulation in Programming Problem Solving Process and Success
ICER '16: Proceedings of the 2016 ACM Conference on International Computing Education ResearchWhile prior work has investigated many aspects of programming problem solving, the role of self-regulation in problem solving success has received little attention. In this paper we contribute a framework for reasoning about self-regulation in ...
Teaching programming and problem solving to CS2 students using think-alouds
SIGCSE '09Many studies have shown that students often face difficulty in applying programming concepts to design a program that solves a given task. To impart better problem solving skills a number of pedagogical approaches have been presented in the literature. ...
Comments