Abstract:
Discrete mathematics is ever-growing in prominence due to its significance in computer science and the many real-world applications of its sub-branches. Central to discrete mathematics is the algorithmatizing approach, which entails finding a solution for a given problem, and more importantly creating (explicitly articulating) an algorithm that would (when implemented) find a solution for the given problem. The growing prominence of discrete mathematics coupled with the significance of algorithms in discrete mathematics, have led many to argue that enhancing students' competence in algorithmatizing will benefit students' mathematics learning as a whole. Towards developing students' competence in the algorithmatizing approach, the overarching aim of this thesis is to explore some mechanisms by which students create algorithms (algorithmatizing mechanisms), and explicate how these mechanisms might contribute to some problematic aspects of students' experiences with the algorithmatizing approach. The core of this thesis comprises three exploratory case studies each of which focuses on different (but interrelated) problematic aspects of students' engagement with the algorithmatizing approach. I conduct fine-grained analyses of secondary students' and post-secondary students' (either working in groups or individually) activity on discrete mathematics tasks which invite them to create their own algorithms. Findings from this research revolve around five different algorithmatizing mechanisms. In Study 1, I introduce and explicate the mechanisms of patching and localized considerations which help explain why a faulty feature of an initial algorithm persists through multiple testing-and-revising iterations. In Study 2, I explore the mechanism of accounting for features of the solution (to the given problem) which helps explain why some students can find the correct solution(s) to the given problem(s), but then create an algorithm that cannot (when implemented) actually re-find the correct solution(s) they found. In Study 3, I explore the mechanisms of narrowing the domain of validity (while fixing the set of instructions) and revising the set of instructions (while fixing the domain of validity) which help explain why mathematically equivalent counterexamples do not always facilitate a transition from an incorrect algorithm to a correct (generalized) algorithm. Suggestions for future research on students' algorithmatizing activity, and enhancing students' algorithmatizing competencies are discussed.