skip to main content
article
Free Access

Is abstraction the key to computing?

Published:01 April 2007Publication History
Skip Abstract Section

Abstract

Why is it that some software engineers and computer scientists are able to produce clear, elegant designs and programs, while others cannot? Is it possible to improve these skills through education and training? Critical to these questions is the notion of abstraction.

References

  1. The ACM/IEEE Computing Curricula: Software Engineering (2004); www.computer.org/education/cc2001.Google ScholarGoogle Scholar
  2. Devlin, K. Why universities require computer science students to take math, Comm of ACM 46, 9 (Sept. 2003), 37--39. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Frorer, P., Hazzan, O. and Manes, M. Revealing the faces of abstraction. International J. Computers for Mathematical Learning. Kluwer Academic Publishers, 1997, 217--228.Google ScholarGoogle Scholar
  4. Ghezzi, C., Jazayeri, M. and Mandrioli, D. Fundamentals of Software Engineering, 2nd Edition. Pearson International, NJ, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Hazzan, O. Reducing abstraction level when learning abstract algebra concepts. Educational Studies in Mathematics 40. Kluwer Academic Publishers, 1999, 71--90.Google ScholarGoogle Scholar
  6. Huitt, W. and Hummel, J. Piaget's theory of cognitive development. Educational Psychology Interactive. Valdosta State University, Valdosta, GA, 2003.Google ScholarGoogle Scholar
  7. Kuhn, D., Langer, J., Kohlberg, L., and Haan, N.S. (1977). The development of formal operations in logical and moral judgment. Genetic Psychology Monographs 95 (1977), 97--188.Google ScholarGoogle Scholar
  8. Magee, J. and Kramer, J. Concurrency---State Models and Java Programs, 2nd Edition. John Wiley & Sons, Chichester, UK, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Piaget, J. and Inhelder, B. The Psychology of the Child. Routledge & Kegan Paul, 1969.Google ScholarGoogle Scholar
  10. Webster's Third New International Dictionary, 1966.Google ScholarGoogle Scholar
  11. Wing, J.M. Computational thinking, Comm of ACM 49, 3 (Mar. 2006), 33--35. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Woolfolk and McCune-Nicolich. Educational Psychology for Teachers, 2nd Edition. Prentice-Hall, Englewood Cliffs, NJ, 1984.Google ScholarGoogle Scholar

Index Terms

  1. Is abstraction the key to computing?

        Recommendations

        Reviews

        Charles Alan Wolfe

        This is an interesting article; however, it stops just when things get really interesting. Kramer makes the case, as have others, that the ability to solve problems, do abstract thinking, and discern patterns is a key talent (or talent set) to be had by persons pursuing careers in computer science and allied fields. The ability to flourish in a world of complexity is necessary. I use the word "talent" because, after discussing the article with several colleagues, at least one of them strongly objected to the Project Zero concept of multiple intelligences [1]. After discussing the concept of abstraction and its importance, Kramer goes on to review some of the work of others in mathematics and computing-related fields. A review of the work by Piaget and others follows in a section titled "What determines our students' abilities__?__" The coverage of the background material is excellent, as is the overall discussion. Kramer has written a thought-provoking article. However, it concludes with a call for further research into constructing instruments with which to measure an entering student's abilities to do problem solving, abstract thinking, and so on. So, after making an argument that no one who has taught computer science, programming, or mathematics will dispute, he leaves us hanging with no way to ascertain the probability of a student's success before he or she is tossed into the fray. From his tone, I suspect he is equally frustrated and would have liked to include at least one such instrument in the article. I would like to see some discussion of the need to begin the teaching of problem-solving skills in the lower grades, not starting with college freshmen courses. I encounter far too many entering students who have little or no skill in problem solving, separate from a talent for doing so, let alone students with critical thinking skills. Online Computing Reviews Service

        Access critical reviews of Computing literature here

        Become a reviewer for Computing Reviews.

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • Published in

          cover image Communications of the ACM
          Communications of the ACM  Volume 50, Issue 4
          April 2007
          86 pages
          ISSN:0001-0782
          EISSN:1557-7317
          DOI:10.1145/1232743
          Issue’s Table of Contents

          Copyright © 2007 ACM

          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: 1 April 2007

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • article

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader

        HTML Format

        View this article in HTML Format .

        View HTML Format