טכניון מכון טכנולוגי לישראל
הטכניון מכון טכנולוגי לישראל - בית הספר ללימודי מוסמכים  
Ph.D Thesis
Ph.D StudentPaz Tamar
SubjectNatural Thinking vs. Formal Thinking: The Case of Functional
Programming
DepartmentDepartment of Education in Science and Technology
Supervisor Professor Emeritus Uri Leron


Abstract

This dissertation describes a research into the performance of high school students while learning the paradigm of functional programming. The students studied the "functional programming" unit as their third learning module, after completing the first and in parallel to completing the second module, both of which were based on the paradigm of procedural programming. The research investigated the strategies used by the students and the conceptions that they developed during their expos to the paradigm. Aiming to enrich the emerging discipline of computer-science education, the main goal was to characterize high school students practice in a functional programming environment, while these students were first exposed to the functional paradigm.

To conduct the research, an ethnographic approach was adopted. This method was chosen for its flexible research methods, its gradual refinement of the research focus and the parallel processes of data collection and analysis. As a consequence of that gradual process, the findings have been organized using three categories: the main category includes five central conceptions referring to the process that a function performs; another category includes four conceptions referring to the function as an entity; and the final category describes the learning practices that seem to be influenced by prior programming experience of the research population.

After analyzing the data and organizing the findings, a theoretical framework was developed for interpreting these findings. This framework explains the findings as resulting from a clash between the demands of the formal system of the functional programming environment (as it was presented to the students) on the one hand, and certain characteristics that here is called “natural thinking” on the other hand. The term “natural thinking” originates from recent research in the disciplines of neuroscience, cognitive science, anthropology, developmental psychology and others (Pinker 2002). The term is used in this work to describe the cognitive attributes that are part of the spontaneous behavior of the students.

These attributes appear at two levels. The universal level consist of traits that are acquired without any allowances for culture and education, like the human ability to acquire a mother tongue, or the ability to conceptualize the world around us in terms of objects, the relationships between them and the actions they enable. The second level is a local-dynamic one, which includes attributes determined by the student’s cultural and educational background, like the student’s prior knowledge of the concept "function" and her or his experiences with procedural programming language.

The thesis is concluded with some recommendations for teaching the paradigm of functional programming in the high school.