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.)
Introduction to algorithms
Experiments with proof plans for induction
Journal of Automated Reasoning
Strategic directions in computer science education
ACM Computing Surveys (CSUR) - Special ACM 50th-anniversary issue: strategic directions in computing research
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
Mathematical logic for computer science
Mathematical logic for computer science
Types and programming languages
Types and programming languages
Data Structures and Problem Solving Using Java
Data Structures and Problem Solving Using Java
An Introduction to Formal Languages and Automata
An Introduction to Formal Languages and Automata
Introduction to the Theory of Computation: Preliminary Edition
Introduction to the Theory of Computation: Preliminary Edition
Distributed Algorithms
Introduction To Automata Theory, Languages, And Computation
Introduction To Automata Theory, Languages, And Computation
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
Java Software Solutions: Foundations of Program Design
Java Software Solutions: Foundations of Program Design
Hi-index | 0.00 |
Induction is central to many areas of computer science (CS) such as data structures, theory of computation, programming languages, program correctness/verification, and program efficiency. In this paper, I discuss the role of induction in the current CS curriculum and its applications in some of the above areas. I also shed some light on "hidden" applications of structural induction, and I demonstrate how induction can be used as a tool for conceptual coherence in CS. Proofs by induction are currently taught independently of their CS applications and as a "recipe" to be followed, without explaining the role of each ingredient. Moreover, there is no unified framework for induction throughout the CS curriculum, which I argue that is necessary for students to gain conceptual understanding.