How Learning Logic Programming Affects Recursion Comprehension - Haberman, Bruria (Computer science education, 2004)
Recursion is a central concept in computer science, yet it is difficult for beginners to comprehend. Israeli high-school students learn recursion in the framework of a special modular program in computer science (Gal-Ezer & Harel, 1999). Some of them are introduced to the concept of recursion in two different paradigms: the procedural programming paradigm and the logic programming (LP) paradigm. Here we discuss the implication of first learning recursion in LP on the students' understanding of the concept. The declarative approach for teaching recursion in logic programming seems to enhance students' recursion comprehension. We found that students who learned recursion in LP before learning it in a procedural paradigm differed, in terms of their mental models of recursion, from those who were acquainted with recursion in procedural programming only. More of the LP students possessed an adequate model of recursion as a process than did the non-LP students. Moreover, the LP students also attained a unique conception of recursion as a tool for knowledge representation.