to construct two representations—a
less and a more abstract one than a given one, rather than to categorize, compare, or explain some aspect of a given
object while referring to abstraction.
Here are several instructors’ answers to
the question: “What specific abstraction skills does Pattern 5 measure?”
which reflect this explanation [italics
were added by the authors]:
˲ Ability to invent new abstractions
at different levels of abstraction.
˲Ability to “do” abstraction—to
throw away detail, while keeping the
essential structure. Also, ability to “do”
refinement—to add detail.
˲ Ability to CREATE (rather than just
assess), from an external knowledge
source, different levels of abstraction.
˲ The ability to maneuver between
abstraction levels, as needed, by add-ing/removing details. Also, to identify
the entities that comprise an abstraction level, and, constructively, detailing
or abstracting them in order to achieve
the desired level of abstraction.
˲ … the ability to devise abstractions
at various levels.
The question: “Are abstraction skills
assessable?” is part of the discussion
on teaching soft CS concepts. The ex-
perts’ responses, which reflect a con-
structionism perspective, indicate that
they value students’ active engagement
and creativity in the learning process.
One of the instructors suggested that
Pattern 5 “… seems too open ended to
me for a test question—although great
for a studio-style discussion.”
Based on the experts’ answer, this
Viewpoint has focused on distinguish-
ing between the creative construction
of abstractions as against the passive as-
sessment of abstraction level. Another
particularly crucial aspect in abstraction
is that of purpose and the consideration
of fit-for-purpose in activities such as
modeling and problem solving. This in-
cludes both the creation of new abstract
formalisms and languages to express
abstractions—as is created by research-
ers and language designers, and the use
of these to create specific abstractions
for specific applications. We believe that
abstraction purpose needs to be more
directly and explicitly considered and
discussed by instructors, students, and
practitioners when reflecting on their
use of abstraction. In this spirit, one of
the experts who responded to the sur-
vey suggested to highlight “[…] what the
system needs to achieve and what are
the criteria for better solution. It will im-
prove the quality of the answers and will
provide wider range of good answers.”
Another one added: “I would recom-
mend to couple it with a specific pur-
pose to guide what kind of aspects that
can be left out or needs to be included.”
We see this Viewpoint as a starting
point of the discussion of this topic
and invite the ACM community to join
and contribute to the discussion. Such
a discussion is especially relevant to-
day when a variety of teaching methods
and frameworks are available for stu-
dents who seek the highest return for
their effort investment.
1. Bennedsen, J.B. and Caspersen, M.E. Abstraction
ability as an indicator of success for learning object-oriented programming? SIGCSE Bulletin inroads 38, 2
2. Davis, R., Maher, C., and Noddings, N. Introduction:
Constructivist views on the teaching and learning of
mathematics. In R. Davis, C. Maher, and N. Noddings,
Eds. Constructivist Views on the Teaching and Learning
of Mathematics. National Council of Teachers of
Mathematics, Reston, VA, 1990, 7–18.
3. Denning, P.J., et al. Computing as a discipline.
Commun. ACM 32, 1 (Jan. 1989), 9–23.
4. Kramer, J. Is abstraction the key to computing?
Commun. ACM 50, 4 (Apr. 2007), 37–42.
5. Papert, S. and Harel, I. Constructionism. Ablex
Publishing Corporation, 1991.
Orit Hazzan ( firstname.lastname@example.org) is a Professor of
the Faculty of Education in Science and Technology at
Technion–Israel Institute of Technology.
Jeff Kramer ( email@example.com) is Professor of
Distributed Computing in the Department of Computing
at Imperial College London.
We would like to thank the experts who answered our survey,
invested the time, and shared their thoughts with us.
Copyright held by authors.
of scores and disagreement exhibited
with respect to almost all patterns concerning their suitability to assess abstraction skills. For example, patterns
1–3 received all scores. These three
patterns provided the students with a
set of object representations and asked
the students to categorize them according to the student’s choice of abstraction. In other words, in these patterns,
students were not asked to create/con-struct an object while considering abstraction.
Agreement: As mentioned, Pattern
5 has the highest average score with
the lowest distribution. In this pattern
and in another one (Pattern 4, which
also was assessed high), the students
were asked to create some system representations by referring to abstraction. We may conclude that instructors tend to agree that constructing
abstraction is a suitable way to assess
abstraction skills. One of our experts
explains: “This is a nice concrete type
of pattern question. Looks at abstraction generation skill but in a much
more constrained setting.”
Theoretically, we explain the experts’
ranking by the theory of construction-
ism, inspired by the constructivist
theory. According to constructivism,
learners construct mental models in
order to understand the world around
them. Constructivism advocates stu-
dent-centered, discovery learning.
One outcome of the constructivism
framework is that one has to be active-
ly involved with the material he or she
2 Accordingly, “The simplest
definition of constructionism evokes
the idea of learning by making … .
The scores presented in Table 2 in-
dicate that the experts, who answered
our questionnaire, saw the potential
contribution of Pattern 5 to students’
understanding. From a construction-
ism perspective, this can be explained
by the fact that Pattern 5 asks students
Table 2. CS and SE instructors’ assessment of the survey patterns.
Pattern 1 Pattern 2 Pattern 3 Pattern 4 Pattern 5 Pattern 6 Pattern 7 Pattern 8 Pattern 9 Pattern 10
6.26316 6 6.464286 7.285714 7.535714 6.518519 6.785714 6.666667 4.789474 6.1923077
2.90291 3.05505 2.545616 2.565543 2.008909 2.517177 2.424522 2.557042 2.323287 3.2163223
# of scores