skip to main content
10.1145/1593105.1593221acmotherconferencesArticle/Chapter ViewAbstractPublication Pagesacm-seConference Proceedingsconference-collections
research-article

Induction as a tool for conceptual coherence in computer science

Published: 28 March 2008 Publication History

Abstract

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.

References

[1]
Barwise, J., & Etchemendy, J. (1998). Computers, visualization, and the nature of reasoning. In B. Ward, T. Ward, & H. J. Moor (Eds), The Digital Phoenix: How Computers are Changing Philosophy (pp. 93--116). Oxford, UK and Malden, MA: Blackwell Publishing, Inc.
[2]
Ben-Ari, M. (2001). Mathematical Logic for Computer Science (2nd ed.). London, U.K.: Springer-Verlag.
[3]
Bratko, I. (2001). PROLOG: Programming for Artificial Intelligence (3rd ed.). Essex, England: Pearson Education Limited.
[4]
Bruce, B. K., Drysdale, L. S. R., Kelemen, C. (September, 2003). Why Math? Communications of the ACM, 46, (9), 40--44.
[5]
Bundy, A., Harmelen, F., Hesketh, J., & Smaill, A. (1991). Experiments with proof plans for induction. Journal of Automated reasoning, 7, 303--324.
[6]
Burris, S. (1998). Logic for Mathematics and Computer Science. Upper Saddle River, NJ: Prentice Hall.
[7]
Cormen, T., Leiserson, C., Rivest, R., & Stein, C. Introduction to algorithms (2nd ed.). Cambridge, Massachusetts, London, England: The MIT press.
[8]
Enderton, H. (2001). A Mathematical Introduction to Logic. Burlington, MA: Harcourt Academic press.
[9]
Gallier, H. J. (2003). Logic For Computer Science. Foundations of Automatic Theorem <u>Proving</u>. John Wiley & Sons Inc.
[10]
Holland-Minkley, A. (2002). Planning Proof Content for Communicating Induction. Proceedings of Second International Natural Language Generation Conference, 167--172.
[11]
Hopcroft, J., Motwani, R., & Ullman, J. (2001). Introduction to automata theory (3rd ed.). Boston, MA: Addison-Wesley.
[12]
Huth, M. & Ryan, M. (2000). Logic In Computer Science: modeling and reasoning about systems. Cambridge, UK: University Press.
[13]
Kaplan, M. K., Burge, L., Garuba, M., & Kaplan, J. J. (2004). Mathematical Induction: The Basis Step of Verification and Validation in a Modeling and Simulation Course. Proceedings of the 2004 American Society for Engineering Education Annual Conference & Exposition, session number: 1465.
[14]
Krone, J. (1993). Trees as Inductive Structures. Computer Science Education, 4 (2), 215--234.
[15]
Lewis, J. & Loftus, W. (2005). Java: Software Solutions, foundations of program design (4th ed.). USA: Pearson Education, Inc.
[16]
Linz, P. (2001). An Introduction to Formal Languages and Automata (3rd ed.). Sudbury, Massachusetts: Jones and Bartlett Publishers, Inc.
[17]
Lynch, N. (1996). Distributed Algorithms. San Francisco, CA: Morgan Kaufmann Publishers, Inc.
[18]
Mendelson, E. (1997). Introduction to Mathematical Logic. Great Britain: Chapman & Hall.
[19]
Page, L. R. (2003). Software is Discrete Mathematics. Proceedings of the eighth ACM SIGPLAN international conference on Functional programming, 79--86.
[20]
Pierce, C. B. (2002). Types and Programming Languages. Cambridge, Massachusetts, London, England: The MIT press.
[21]
Polycarpou, I., Pasztor, A., & Alacaci, C. (July, 2006). Sources of Students' Difficulties with Proofs by Induction: A study. Proceedings of the Third International Conference in Teaching Mathematics, paper 446.
[22]
Reeves, S. & Clarke, M. (reprinted in 2003). Logic For Computer Science. England: Wokingham; Reading, MA: Addison-Wesley.
[23]
Schöning, U. (1989). Logic for Computer Science. Boston, MA: Birkhäuser.
[24]
Sipser, M. (1997). Introduction on the Theory of Computation. Boston, MA: PWS Publishing Company.
[25]
Thompson, D. (1996). Learning and Teaching Indirect Proof. The Mathematics Teacher, 89, 474--481.
[26]
Tucker, B. A., et al. (1996). Strategic Directions in Computer Science Education. ACM Computing Surveys, 28 (4), 836--845.
[27]
Weiss, M. (2006). Data Structures & Problem Solving Using Java. Boston, MA: Pearson Education, Inc.
[28]
Yurcik, W. & Doss, D. (2001). Different Approaches in the Teaching of Information Systems Security. Proceedings of the Information Systems Education Conference (ISECON), paper 04a.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
ACMSE '08: Proceedings of the 46th annual ACM Southeast Conference
March 2008
548 pages
ISBN:9781605581057
DOI:10.1145/1593105
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 28 March 2008

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. computer science education
  2. proofs by induction
  3. structural induction
  4. undergraduate computer science curricula

Qualifiers

  • Research-article

Funding Sources

Conference

ACM SE08
ACM SE08: ACM Southeast Regional Conference
March 28 - 29, 2008
Alabama, Auburn

Acceptance Rates

Overall Acceptance Rate 454 of 929 submissions, 49%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 106
    Total Downloads
  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 01 Jan 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media