Logic for computer science: foundations of automatic theorem proving
Logic for computer science: foundations of automatic theorem proving
Introduction to mathematical logic (3rd ed.)
Introduction to mathematical logic (3rd ed.)
Experiments with proof plans for induction
Journal of Automated Reasoning
Mathematical logic for computer science
Mathematical logic for computer science
Conceptual models and cognitive learning styles in teaching recursion
SIGCSE '98 Proceedings of the twenty-ninth SIGCSE technical symposium on Computer science education
Logic in computer science: modelling and reasoning about systems
Logic in computer science: modelling and reasoning about systems
Prolog (3rd ed.): programming for artificial intelligence
Prolog (3rd ed.): programming for artificial intelligence
Types and programming languages
Types and programming languages
Data Structures and Problem Solving Using Java
Data Structures and Problem Solving Using Java
Introduction to the Theory of Computation
Introduction to the Theory of Computation
Distributed Algorithms
Introduction to Algorithms: A Creative Approach
Introduction to Algorithms: A Creative Approach
Striving for mathematical thinking
ACM SIGCSE Bulletin
Introduction to Algorithms
Incorporating mathematics into the first year CS program: a new approach to CS2
Journal of Computing Sciences in Colleges
Communications of the ACM - Why CS students need math
Software is discrete mathematics
ICFP '03 Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
Introduction to Automata Theory, Languages, and Computation (3rd Edition)
Introduction to Automata Theory, Languages, and Computation (3rd Edition)
ITiCSE '09 Proceedings of the 14th annual ACM SIGCSE conference on Innovation and technology in computer science education
Proceedings of the 11th Brazilian Symposium on Human Factors in Computing Systems
Using cargo-bot to provide contextualized learning of recursion
Proceedings of the ninth annual international ACM conference on International computing education research
Hi-index | 0.00 |
In this paper, we present an approach to teaching induction that we call the "conceptual route" of teaching induction. Proofs by induction are central to the study of computer science and students come across them in many courses of their curricula. It is documented in the literature that in general students have difficulties with proofs by induction. Even though through the years some solutions were proposed to improve the situation, recent studies show that students are still having difficulties. Currently, proofs by induction take up too little of the computer science curriculum, and they are taught as a step-by-step procedure to be followed, which is not sufficient for students to gain conceptual understanding. In contrast, our approach aims at students' conceptual understanding by shifting their focus from the syntactic form of proofs by induction to their substance. The theoretical underpinning of our approach is an operationalization of the Induction Principle.