Is abstraction the key to computing?

@article{Kramer2007IsAT,
  title={Is abstraction the key to computing?},
  author={Jeff Kramer},
  journal={Commun. ACM},
  year={2007},
  volume={50},
  pages={36-42}
}
  • J. Kramer
  • Published 1 April 2007
  • Computer Science
  • Commun. ACM
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. 

Figures from this paper

Teaching Abstraction
Many technical disciplines require abstraction skills, such as the ability to deduce general rules and principles from sets of examples. These skills are the basis for creating solutions that address
The role of abstraction in software engineering
TLDR
The role of abstraction in dealing with complexity in the software engineering process is explored, to discuss how the use of different levels of abstraction may facilitate performance of different activities, and to examine whether abstraction skills can be taught.
Orit Hazzan ' s Column Abstraction in Computer Science & Software Engineering : A Pedagogical Perspective This column is coauthored with
TLDR
A pedagogical perspective on the development of knowledge representation in computer science and software engineering shows clear trends in what is called “grammar-based” learning.
Teaching abstraction in introductory courses
TLDR
This paper focuses on the problems that novices experience when they first encounter abstraction, and analysis of three assignments from introductory courses leads to a number of guidelines that can be used by instructors to supportNovices learning abstraction.
The role of abstraction in software engineering
TLDR
The role of abstraction in dealing with complexity in the software engineering process is explored, to discuss how the use of different levels of abstraction may facilitate performance of different activities, and to examine whether or not abstraction skills can be taught.
Teaching formal specifications What about abstraction ?
One of the issues in teaching formal specifications is abstraction. When confronted with the same exercise or case study specification, some students will address the abstract problem, while others
With an Open Mind: How to Write Good Models
TLDR
The experience with incomplete models, the types of changes that were made later, and the defects that were found with the improved models are described.
Object oriented quality in introductory programming education
TLDR
Teaching and learning introductory object oriented problem so that students can learn to solve prob-lem solving and programming problems is an acknowledged difficulty.
Measuring Levels of Abstraction in Software Development
TLDR
The concept of abstraction as applied to software engineering is explored, a conceptual metric called levels-ofabstraction, LOA, is defined, and some attributes of LOA are shown.
Prolog as the first programming language
The adoption of logic programming in an introductory course on computer programming offers several rewards. The higher conceptual level of this programming paradigm guides students to an early
...
...

References

SHOWING 1-10 OF 20 REFERENCES
Reducing Abstraction Level When Learning Abstract Algebra Concepts
TLDR
The theme of reducing abstraction is examined, based on three interpretations for levels of abstraction discussed in mathematics education research literature, ways in which students reduce abstraction level are analyzed and exemplified.
Computational thinking
It represents a universally applicable attitude and skill set everyone, not just computer scientists, would be eager to learn and use.
Concurrency State Models and Java Programs
TLDR
This book is an introductory text to the ideas, concepts, and topics of concurrency and provides a systematic treatment of concepts, as means to rigorously specify and model concurrent systems, with Java examples to animate and illustrate the concepts discussed.
Educational psychology for teachers
This course examines education through a psychological lens, including information on how teachers can apply principles from educational psychology to their teaching. We will utilize theories on
[Psychology of the child].
TLDR
The psychology of the child will lead you to always think more and more, and in this case, this book will be always right for you.
Fundamentals of software engineering (2. ed.)
...
...