Reflective thinking refers to rethinking and analysis methods of previous mental processes or actual behaviors. Reflection is an important tool in learning processes in general and in high-order cognitive processes, such as problem-solving processes, in particular. This assertion is based on the recognition that reflection provides learners with an opportunity to step back and think about their own thinking and by doing so to improve their problem- solving skills. Reflective thinking is a learned process that requires time and ongoing practice. See also Chaps. 2 and 13.
During problem-solving processes, reflection can take place at different times:
•
Before starting solving the problem: After reading the problem, while planning the solving approach, it is worth reflecting on similar previously solved problems in order to identify relevant algorithmic approaches, patterns, etc.•
While solving the problem: During the solution development, reflection refers to inspec- tion, control, and supervision. For example, when a difficulty arises or when a mistake is identified, it is worth reflecting on their sources. Schön (1983) calls this process reflection in-action.•
After solving the problem: When the solution is completed, reflection assesses and examines the process performance. Such reflection enables to draw conclusions from the problem-solving process, and to learn about the strategic decisions made during its implementation. Schön (1983) calls this process reflection on-action.In what follows we present a list of representative questions that can guide before-and- after reflective processes; some of them relate to cognitive aspects and other – to affective aspects. Even though the questions are organized according to the types of reflection, most of them can serve (with slight changes) in each of the three reflective stages.
Questions before starting the problem-solving process
How can I estimate the question difficulty? Is the question difficult/easy? Why do I
•
think so?Do I face any difficulty in understanding any part of the problem? What part is unclear?
•
Did I previously solve similar problems? What are these problems? What are the•
similarities?Questions after completing the problem-solving process Is the solution complete?
•
Why did I choose this direction to solve the problem? Did I make reasonable decisions?•
What should I change in future similar situations?Was solving this problem easy or difficult for me? Why?
•
Could I solve the problem differently? How?•
75 5.6 Reflection
The integration of reflective processes in teaching processes is a creative task. Activity 37 illustrates how reflective activities can become a learning process both from the learners’
and the teachers’ perspective. Specifically, teachers can reflect on the teaching process of critical concepts that were difficult for learners to grasp and on his or her usage of different teaching tools. In addition, an ongoing reflection may increase teachers’ awareness to pupils’ perspective.
Activity 37: Reflective Activity in Computer Science Education
The activity is based on the following case study that should be presented first to the students.
After a computer science high school class had written a test on relatively advanced computer science topics (like linked lists or pushdown automaton), its teacher realized that the pupils’ achievements in the test were low and that their solutions did not indi- cate the expected understanding of these concepts.
The following four stages are based on this case study. It is recommended to summarize each stage with a reflective discussion and to publish students’ products in the course Web site.
›
Stage A: Teacher’s reflection on test failureThe students are divided into small groups and are asked to
1. Write down a list of reasons that can explain the pupils’ relatively low achievements.
2. Classify the list of reasons into two groups: Teacher-oriented reasons and learner- oriented reasons. Reflect on the classification process. Was the classification pro- cess evident? In what cases did you hesitate? Why did you hesitate?
3. Suggest at least five questions that can guide a teacher’s reflective process on his or her class’ failure.
›
Stage B: Design of a reflective activity for a class after a test failureThe students are divided into small groups and are asked to suggest how they, as computer science teachers, can use reflective processes to support their pupils’ learn- ing with respect to two aspects: (1) pupils’ learning processes and (2) pupils’ under- standing of the learned concepts.
Specifically, the students’ task is to design a reflective activity for a high school class that aims at leading the pupils to reflect on their own strengthens and weak- nesses, while taking into the consideration the two above-mentioned aspects.
›
Stage C: Reflection on the reflective activity designed by a teacher after the test failure The continuation of the case study is presented to the students:The teacher of the said class decided to use a reflective process to scaffold pupils’ learning processes, to improve their understanding of the said computer
(continued)
5
Activity 37 (continued)science concepts, and to improve the test achievements. For this purpose, the teacher asked the pupils to answer the following questions: What problems did you solve while learning towards the test? How did you solve them? What were your difficulties while writing the test? Did you face these difficulties only dur- ing the test or did you face them also while learning toward the test? If you faced these difficulties while learning toward the test, what did prevent you to deepen your understanding? If you faced the difficulties only during the test, try to speculate why you did not face them before.
The students are asked to work in small groups and to
1. Classify the reflective questions into two groups: questions that relate to pupils’
learning processes and questions that relate to pupils’ understanding of the learned concepts.
2. Design at least two additional reflective questions for each class of reflective questions.
3. In your opinion, how can such reflective questions contribute to learners’ future learning processes in general and problem-solving processes in particular?
›
Stage D: Analysis of the entire reflective activity designed by the teacher after the test failureThis stage is based on the analysis of the next episode of the case study.
After the pupils had written their own reflection based on the previous reflective ques- tions (see Stage C), they were asked to further accomplish the next two phases:
1. To design by themselves a test on the same contents of the test they took with the same structure. The teacher rationale for this task was that the development of meaningful questions requires deep understanding of the subject matter. To accomplish this task, the pupils were asked also to solve the questions they composed.
2. To reflect on their current knowledge by considering the following leading ques- tions provided by the teacher: Did you overcome your previous difficulties? How did you overcome these difficulties? Do you feel ready to take a repeated test?
With respect to what concepts you still feel unconfident? What do you think about the computer science concepts you learned – interest vs. boring; important vs.
unnecessary; difficult vs. simple?
The students’ task is to analyze advantages and disadvantages of this kind of teach- ing–learning process.
For example, we mention the following advantages: pupils are active, take respon- sibility on their learning processes and understanding, think and focus on what (continued)
77 References
References
Astrachan O, Berry G, Cox L, Mitchener G (1998) Design patterns: An essential component of CS curricula. Proc. SIGCSE: 153–160
Batory D, Sarvela J N, Rauschmayer A (2004) Scaling stepwise refinement. IEEE Trans.
Softw. Eng. 30(6): 355–371
Ben-Ari M, Sajaniemi J (2003) Roles of variables from the perspective of computer science educators. Univ. Joensuu, Depart. Comput. Sci., Technic. Report, Series A-2003–6
Clancy M J, Linn M C (1999) Patterns and pedagogy. Proc. of SIGCSE’99: 37–42 Dijkstra E W (1976) A discipline of programming. Prentice-Hall
East J P, Thomas S R, Wallingford E, Beck W, Drake J (1996) Pattern-based programming instruc- tion. Proc. ASEE Ann. Conf. and Exposition, Washington DC
Ginat D (2004) Algorithmic patterns and the case of the sliding delta. SIGCSE Bull. 36(2):29–33 Ginat D (2009) Interleaved pattern composition and scaffolded learning. Proc. 14th Ann. ACM
SIGCSE Conf. on Innov. and Technolog. in Comput. Sci. Edu. - ITiCSE ‘09, Paris, France:
109–113
Laakso M J, Malmi L, Korhonen A, Rajala T, Kaila E, Salakoski T (2008) Using roles of variables to enhance novice’s debugging work. Iss. in Informing Sci. and Inf. Technol. 5: 281–295 Muller O (2005) Pattern oriented instruction and the enhancement of analogical reasoning.
Proc. First Int. Workshop on Comput. Educ. Res. ICER ‘05, Seattle, WA, USA: 57–67 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–155
Muller O, Haberman B, Averbuch H (2004) (An almost) pedagogical pattern for pattern-based problem solving instruction. Proc. 9th Ann. SIGCSE Conf. on Inn. Technolog. in Comput.
Sci. Edu.: 102–106
Polya G (1957) How to solve it. Garden City, NY: Doubleday and Co., Inc
Proulx V K (2000) Programming patterns and design patterns in the introductory computer science course. Proc. SIGCSE: 80–84
Reed D (1999) Incorporating problem-solving patterns in CS1. J. Comput. Sci. Edu.13(1): 6–13 Reynolds R G, Maletic J I, Porvin S E (1992) Stepwise refinement and problem solving. IEEE
Softw. 9(5): 79–88
Robins A, Rountree J, Rountree N (2003) Learning and teaching programming: Areview and dis- cussion. Comput. Sci. Edu. 13(2):137–172
Activity 37 (continued)
concepts they did not understand, take the teacher’s perspective, and reflect on dif- ferent affective issues, such as their interests, priorities, concerns, and confidence.
Nevertheless, it should be remembered that such an activity sets several pedagogical challenges, such as it demands pupils’ cooperation, requires time resources, and it requires creativity which may difficult for some learners.
Beyond the examination of this activity from the pupils’ perspective, it is impor- tant to discuss this activity also from the teacher’s perspective. In addition, it is important to highlight the fact that this kind of activity promotes nontraditional inter- actions between the teacher and the pupils and has the potential to promote the class- learning climate and future teaching–learning processes.
5
Sajaniemi J (2005) Roles of variables and learning to program. Proc. 3 rd Panhellenic Conf.Didactics of Informatics, Jimoyiannis A (ed) University of Peloponnese, Korinthos, Greece http://cs.joensuu.fi/~saja/var_roles/abstracts/didinf05.pdf Accessed 3 July 2010
Schön D A (1983) The reflective practitioner. BasicBooks
Schoenfeld A H (1983) Episodes and executive decisions in mathematical problem-solving. In Lesh and Landaue (eds) Acquisition of mathematics conceptsand processes. Academic Press Inc.
Soloway E (1986) Learning to program = learning to construct mechanisms and explanations.
CACM 29(1): 850–858
Vasconcelos J (2007) Basic strategy for algorithmic problem solving. http://www.cs.jhu.
edu/~jorgev/cs106/ProblemSolving.html Accessed: 2 June 2010
Wallingford E (1996) Toward a first course based on object-oriented patterns. Proc. SIGCSE:
27–31
Wirth N (1971) Program development by stepwise refinement. CACM 14(4): 221–227 http://sunnyd ay.mit.edu/16.355/wirth-refinement.html Accessed 13 November 2010
79 O.Hazzanetal.,Guide to Teaching Computer Science: An Activity-Based Approach,
DOI10.1007/978-0-85729-443-2_6,©Springer-VerlagLondonLimited2011
Abstract Thischapterfocusesonlearners’alternativeconceptions.Sinceprospective teachersingeneral,andprospectivecomputerscienceteachersinparticular,facediffi- cultiesingainingthenotionofalternativeconceptions,itisimportanttoaddressthisissue intheMTCScourseandtodeliverthemessagethatalearningopportunityexistsineach pupils’mistake(ormisunderstanding).Severalpedagogicaltoolsforexposinglearners’
alternativeconceptionsarepresentedaswellasthreeactivitiestobefacilitatedinthe MTCScourse.