110 likes | 207 Views
Learning to program and learning to teach programming: A closer look. Yu-Chu Chen 11/25/09.
E N D
Learning to program and learning to teach programming: A closer look Yu-Chu Chen 11/25/09 Govender, I. & Grayson, D. (2006). Learning to program and learning to teach programming: A closer look. Paper presented at the 2006 World Conference on Educational Multimedia, Hypermedia & Telecommunications (ED-MEDIA2006), Orlando, Florida.
Introduction • Learning to program and learning to teach programming has been problematic for introductory students and pre-service teachers for a long time. • Problem solving is a key aspect of programming. • Research objectives: • to examine the experiences of learners learning programming; • to determine the issues related to teacher education in computer programming; • to evaluate instructional methodology.
Background and related Research • Thomas and Upah (1996): • A strong relationship between the processes of problem solving and computer programming; • Problem solving in programming which requires a series of sequential steps that are similar to Polya’s method for solving problems in mathematics (Polya, 1957). • It is a possible reason why most universities admit students to computer science provided they have a mathematical background. • Schoenfeld (1985) suggests that “the ability to solve problems” was taken as an operational definition of understanding.
Background and related Research • However, not much evidence has surfaced to prove mathematics as a requirement for programming. • Subsequent studies show that typical instruction and testing provide little opportunity for students to demonstrate the breadth and depth of their misconceptions. • In most testing situations, students are asked to work problems similar to those they have been trained to solve. • The key issue that seemed to impact on programming ability is the problem solving skill.
The Study • Research hypotheses/questions: • To what extent is math essential to successful computer programming? • Students’ problem solving ability using a programming language was weak. • Is sufficient guidance given to students to solve problems in programming? • Participants: • 40 students in the 10th grade starting to learn to program. • 35 students in the 12th grade. • 20 pre-service teachers learning to program over 2 semesters.
The Study • Data sources from researchers’ personal notes and results of a pilot study. • Three questionnaires were used: • The background knowledge of pre-service teachers. • Problem solving steps of per-services teachers and 12th students. • The experiences of learning and teaching. • The pre-service teachers were interviewed. • The teaching in the classroom of 10th and 12th were video taped.
Results and DiscussionMathematical ability and successful programming • Approximately 50% students with higher scores than others in mathematics performed poorly. • High achievement scores in Mathematics is not necessarily an indication of good programmers. • Schoenfeld’s(1985): typical instruction and testing (test familiar problems) do not reflect one’s problem solving ability. • However, it appears that good problem solvers in mathematics would invariably be good programmers.
Results and DiscussionStudents’ problem solving processes • Popular processes: • reading and studying worked examples, • discussing how to solve a problem with a peer, • watching the teacher go over the work, • discussing how to solve a computer • Unpopular processes: • learning off by heart how to solve particular problems, • matching previously done problems.
Results and DiscussionStudents’ problem solving processes • The hypotheses that students problem solving ability is low was confirmed. • Students struggled understanding the requirements correctly and devising a plan. • Students began coding almost immediately without planning the solution. • Problem-solving activities that require more than routine calculations and open-ended activities. • to teach the technique of problem solving within the context of computer programming.
Results and DiscussionFacilitating problem solving • Studies involving programming instruction indicate that the attainment of objectives such as transfer and increased problem-solving abilities are dependent on instructional methodology (Reed & Palumbo, 1991). • Teachers places not much emphasison planning the solution to a problem. • Therefore, students ’ problem solving ability is low. • Developing a thinking process is core to programming (Thompson, 2003).
Conclusion • According to the hurdles faced, introducing the technique of problem solving at an early stage is essential. • Programming topics should be problem-driven. • new programming constructs should be introduced to meet the need of the problem task. • Teachers should remember that technical tools and visualizations are just learning aids and materials. • The keyis the development of problem solving skill. • Astrachan(2004) that teaching programming by demonstration.