Reducing abstraction when learning Graph Theory.
Hadar, Irit
This article presents research on students' understanding of
basic concepts in Graph Theory. Students' understanding is analyzed through the lens of the theoretical framework of reducing abstraction (Hazzan, 1999). As it turns out, in spite of the relative simplicity of
the concepts that are introduced in the introductory part of a
traditional Graph Theory course, some students exhibit ways of thinking
that indicate a reduction of the level of abstraction. The importance of
this study is derived from the importance of graph algorithms in any
computer science curriculum and the centrality of the concept of
abstraction in computer science education.
INTRODUCTION
Graph Theory is one of the basic courses in any computer science
curriculum. It "has long become recognized as one of the more
useful mathematical subjects for the computer science student to
master" (Even, 1979, p. V). In this article, the focus is placed on
the introductory part of Graph Theory that addresses the following
topics: basic definitions, different kinds of graphs and their
properties, graph traversing, shortest paths, trees (binary trees,
directed trees, spanning trees, ordered and positional trees) and flow
in networks.
The concepts mentioned above are usually learned in an introductory
Graph Theory course by mathematics and computer science undergraduate
students. Depending on the student population, different aspects of the
subject are emphasized. For example, in mathematics programs the
theoretical aspects of Graph Theory may be emphasized whereas in
computer science undergraduate programs it may be the algorithmic nature
of Graph Theory that is emphasized. Naturally, a mixed approach can be
adopted as well. This mixed approach is applied in the course that is
addressed in this article (cf. Section 2--The Course).
This article analyzes undergraduate students' understanding of
the above basic concepts of Graph Theory. The analysis is performed
through the lens of reducing abstraction. The theme of reducing
abstraction is a theoretical framework that has been used up to now for
explaining student conception of different undergraduate mathematics and
computer science topics, such as abstract algebra, computability and
data structures topics (Hazzan, 1999, 2003A, 2003B). This framework
suggests several mental processes, which can be interpreted as a
reduction of the level of abstraction, that students employ
unconsciously while trying to cope with problem solving situations. In
this article, we illustrate the application of this framework with
respect to students' conception of Graph Theory concepts by looking
at two ways by which abstraction is reduced: process perception and
specification. This theoretical framework of reducing abstraction is
further elaborated in Section 3 in which the data is analyzed.
Section 1 describes the educational research that has been done so
far on the learning and teaching of Graph Theory. Section 2 describes
the background of our research. Section 3 examines the conception of
Graph Theory through the theoretical framework of reducing abstraction.
First, within the framework of the process-object duality, we illustrate
student comprehension of concepts in Graph Theory as processes (as
opposed to objects). Second, we illustrate student tendency to specify
the concept with which they think either by considering a particular
case when the situation they are faced with requires the consideration
of a set of objects, or by relying on the visual aspect of graphs.
Section 4 concludes with some pedagogical remarks and suggestions for
future research.
SECTION 1 RESEARCH ABOUT THE TEACHING AND LEARNING OF GRAPH THEORY
According to our literature review, the community of computer
science education research gives little attention to the analysis of
students' understanding of concepts in Graph Theory. As our
literature review reveals, most of the literature concerning the
learning and teaching of Graph Theory deals with the development of
visualization tools that aim at supporting the learning process (cf. for
example Khuri & Holzapfel, 2001; Hansen, Tuinstra, Pisani, &
McCann, 2003; Hamilton-Taylor & Kraemer, 2002; Baker, Biolen,
Goodrich, Tamassia, & Stibel, 1999).
One research work that does analyze students' understanding of
Graph Theory concepts is described in Dagdilelis and Satratzemi (1998).
In this article, the authors divided students' difficulties in
Graph Theory algorithms into three categories. The first category
addresses difficulties related to the recognition of the details of a
given algorithm. More specifically, even in cases in which students
exhibit an understanding of how an algorithm works in general and are
able to follow a schematic representation of its application on a graph,
they may face difficulties in understanding the details of the algorithm
(1). The second category addresses students' difficulties in
understanding the meaning of the intermediate stages and the results of
an algorithm. The third category looks into the difficulties caused by
the complexity of the programming languages used for the implementation
of graph algorithms. The authors note that common programming languages
are not suitably designed for the implementation of graph algorithms,
and are not suited to the simplicity and shortness that characterize
some of the graph algorithms. In other words, while the execution of
some Graph Theory algorithms is trivial when done by hand, their
execution becomes complex when expressed in terms of a programming
language.
We find it interesting to explore student conception of Graph
Theory for several reasons. First, the basic definitions in Graph Theory
are quite simple. One reason for this is that, unlike groups (introduced
to students in abstract algebra courses) or recursive languages (learned
in computability courses), for example, graphs can be easily visualized.
However, as it turns out and illustrated in Section 3, it may be the
relative simplicity of the introductory part of Graph Theory that
enables us to identify subtle observations in student conception of the
relevant concepts. Second, algorithms play a central role in this
course. In a similar way to the concept of function, algorithms have a
dual nature. On the one hand, algorithms can be executed and can be
treated as processes; on the other hand, algorithms can be viewed as
objects with properties, such as complexity. As illustrated in Section
3, this dual perspective yields some interesting results. Finally, as is
mentioned above, up until now, the computer science education community
has done almost no research on the topic. In this respect, we hope that
this article will be of value to the computer science educators who
teach Graph Theory courses.
SECTION 2 RESEARCH BACKGROUND
This section presents the course in which we gathered data for our
research and the research tools we used.
The Course
The data presented in this article were collected in a
"Selected Algorithms in Graph Theory" course taken by 17
undergraduate students who studied for their high school teaching
certificate in mathematics or computer science. The course was taught by
the two authors on the basis of weekly meetings (each meeting for the
duration of three hours). The main topics learned in the course are
listed in the Introduction.
In order to help students in their mental construction of the
relevant concepts, a significant portion of the course is based on
active learning (McConnell, 1996; Jackowitz, Plishka & Sidbury,
1990; Flaningam & Warriner, 1987; Cote, 1987; Clements &
Battista, 1990). Accordingly, the course is based on activities,
discussions, and intuitive explanations before formal proofs are
introduced. During active learning sessions, students are requested to
explore algorithms using the computer (with well-selected Java applets)
and/or pen and paper. Sometimes, based on their exploration of such
applet, they are asked to formulate the algorithm; on other occasions,
they are asked to use an applet in order to explore subtle details of an
algorithm after the algorithm has been presented to them. Yet, in other
cases, algorithms and proofs are explored prior to the presentation. For
example, before the proof of Cayley's theorem (2) is introduced,
students are asked to suggest possible correspondences between words and
trees. When such an exploration is conducted prior to the presentation
of the correspondence on which the proof is based (even though it does
not lead to the formulation of the required correspondence), it does
give students a meaningful mental basis on which they can proceed to
construct their knowledge.
This approach is generally based on the constructivist perspective.
Constructivism is a cognitive theory that examines the nature of
learning processes. According to this approach, learners construct new
knowledge by rearranging and refining their existing knowledge (cf.
Davis, Maher & Nodding, 1990; Smith, diSessa & Roschelle, 1993).
More specifically, the constructivism approach suggests that new
knowledge is constructed gradually, based on the learner's existing
mental structures and on feedback that the learner receives from the
learning environments. In this process, mental structures are developed
in steps, each step elaborating on the preceding ones. Of course, there
may also be regressions and blind alleys. This process is closely
related to the Piagetian mechanisms of assimilation and accommodation
(Piaget, 1977).
One way to support such gradual mental constructions is to provide
learners with a suitable learning environment in which they can be
active. The above ways by which we applied active learning may provide
learners with such an environment.
In order to guide students not to rely on the visualized or on the
algorithmic aspect of graphs, we emphasize the analysis of graphs as
objects (Dubinsky, 1991; Sfard, 1991) through their properties. Thus,
for example, tasks that students are asked to solve treat algorithms
both as processes and as objects; they also address the interrelation
between these two perspectives. Among different kinds of activities that
can highlight this dual perspective, one kind of tasks asks to give
examples of graphs that meet specific properties (see Figure 1 for an
example of a "Give an example" task).
Prior to the course design, we conducted a cognitive analysis of
the course content. The aim of this analysis was to select the
appropriate teaching methods, to set the research tools and to determine
(at least tentatively) the theoretical framework within which
students' understanding is analyzed. That analysis yielded that the
framework of reducing abstraction (Hazzan, 1999) may be an appropriate
framework for the analysis of student conception of Graph Theory
concepts. The theme of reducing abstraction refers to problem solving
situations in which students are unable to cope with mental
manipulations of the concepts appearing in a given problem. In order to
cope with such situations, students unconsciously reduce the level of
abstraction of the concepts involved. Further details of this
theoretical framework are described in Section 3.
Similar reasons to those which explain our interest in exploring
students' understanding of concepts in Graph Theory (see Section 1)
enlighten the choice in this theoretical framework as well. First, one
aspect of the theme of reducing abstraction deals with the
process-object duality (Dubinsky, 1991; Sfard, 1991). As mentioned in
Section 1, this duality also exists in Graph Theory. Second, another
aspect of the theme of reducing abstraction deals with abstraction as it
is reflected in the complexity of the thought concept. Since Graph
Theory deals with objects (graphs) that can be decomposed (into vertices and nodes) on the one hand, and may be grouped into sets of objects (for
example, the set of binary trees) on the other hand, we found it
interesting to observe how students move between the levels of
abstraction that this perspective inspires. The research findings are
based on these two aspects.
Research Tools
The research tools were mainly qualitative, though some
quantitative data was gathered and analyzed as well. However, the
quantitative analysis was limited since only 17 students participated in
the course.
In order to gain a wide and varied picture on which to base our
observations, the data were collected by using a variety of tools. Some
of these sources were planned (observations in our class, analysis of
students' homework assignments, and tests); others were incidental (such as occasional talks with students during office hours). Although
not all of these sources are explicitly presented in the present report,
they did help determine the directions and shape the ideas in the
different stages of the study. We briefly explain each of the research
tools below.
Homework assignments: Keeping in mind that we may analyze our data
through the lens of reducing abstraction, among the other questions, we
presented the students with two specific kinds of questions:
* Processes -- Object Duality: In these exercises, students are
requested to carry out some or all the following activities: to execute
an algorithm on different graphs (cf. Figure 2, Example 1), to analyze
properties of algorithms, to compare algorithms, or to compose algorithms (cf. Figure 2, Example 2). In other exercises, students are
asked to give an example of graphs that meet specific properties (cf.
Figure 2, Example 3).
* Specification -- Generalization Duality: These exercises are
formulated in general terms (cf. Figure 2, Example 4). They help us
observe whether students remain in the general level, or whether,
alternatively, they answer in terms of specific instances that belong to
the family of objects presented in the question.
Tests: Two exams were given. The first test was based on standard
questions and dealt with the following topics: basic definitions, Euler
path, Hamilton path, order of functions, Breadth First Search (BFS),
Dijksta algorithm, binary trees, and binary search trees. The second
exam was based on true/false questions (for which students were
requested to explain their choices) and focused on the following topics:
spanning trees, Cayley's theorem, directed trees (Konig theorem,
Wang tiling problem), Depth First Search (DFS), ordered and positional
trees, and flow in networks.
Class observations: While the first author taught the course, the
second author participated in all the lessons and documented
discussions, students' questions, difficulties, interesting
statements, and interactions that took place during the lessons.
SECTION 3 REDUCING ABSTRACTION IN LEARNING GRAPH THEORY
Hazzan (1999) identifies several mental processes by which students
reduce the level of abstraction. In this article, we analyze
students' perception of Graph Theory concepts by looking at the
following two ways by which abstraction is reduced: process perception
and specification. In the following two sub-sections, these ways by
which abstraction level is reduced are explained and an illustration is
given of how the level of abstraction is reduced in the context of Graph
Theory.
Process-object duality
In this sub-section, the idea of reducing abstraction is reviewed
based on the process-object duality suggested by some theories of
concept development in mathematics education (Beth & Piaget, 1966;
Dubinsky, 1991; Sfard, 1991, 1992). Theories that discuss this duality
distinguish mainly between process conception and object conception of
mathematical notions. Dubinsky (1991) captures the passage from the
first conception to the second one as a "conversion of a (dynamic)
process into a (static) object." Process conception implies that
one regards a mathematical concept "as a potential rather than an
actual entity, which comes into existence upon request in a sequence of
actions" (Sfard, 1991, p. 4). When one conceives of a mathematical
notion as an object, this notion is captured as one "solid"
entity. Thus, it is possible to examine it from various points of view,
to analyze its relationships to other mathematical notions, and to apply
operations on it.
According to these theories, when a mathematical concept is
learned, its conception as a process precedes--and is less abstract
than--its conception as an object (Sfard, 1991, p. 10). Thus, process
conception of a mathematical concept can be interpreted as being on a
lower level of abstraction than its conception as an object; that is,
abstraction level is reduced.
This way of reducing abstraction is reflected in the study
presented in this article with respect to Graph Theory by student
tendency to demonstrate process conception in their answers rather than
object conception. Figure 3 presents examples that illustrate this
tendency.
The next two observations elaborate how process conception is
reflected in students' tendency to present an overly complicated
entity in order to illustrate their claims.
Observation 1 -- Presenting an overly complicated object: According
to this observation, when students can answer a question by presenting
an object, the object that they sometimes choose to present is too
complicated for the relevant purpose. Figure 4 presents examples in
which students present overly complicated objects. This phenomenon is
explained by students' process-conception of the concepts involved.
More specifically, students' process-perception of the concepts
involved leads them to base their answer on a process rather than on the
properties of the object under discussion. Naturally, a process is
demonstrated in a better way when it is executed on a complicated
object. We suggest that students' process-conception leads them to
present a complicated object, on which the execution of an algorithm is
not trivial and includes more than one iteration (usually at least three
to four iterations). It is suggested that an object-conception of the
concepts involved would have led the students to present a simpler
object that possesses the relevant properties.
Observation 2 -- Presenting an overly complicated algorithm
execution: All the algorithms learned in the course are iterative. Our
data shows that when students demonstrate how an algorithm works, they
tend to illustrate this by more than one iteration. Figure 5 presents an
example for such an overly complicated execution of an algorithm. One
way to interpret this phenomenon is by claiming that the students only
desire to prove that they know how the algorithm works. However, this
interpretation actually strengthens our suggestion that by this behavior
students, in fact, exhibit a process conception of the relevant
algorithm. We suggest that had the students conceived of the said
algorithm as an object (through its properties) they would have
understood that its demonstration by one iteration is sufficient in
order to illustrate its nature.
We conclude this section by suggesting that the complexity of the
object the students work with is determined by their conception of the
object at hand. That is, a student who conceives of a concept as an
object may present a simple graph or a simple execution of an algorithm
as far as the example possesses the relevant properties. A student who
holds a process conception may tend to present a complicated object
and/or a complicated execution of the algorithm so that a more
convincing process (that is, a process that contains more than one
iteration) is illustrated.
Specification
This section explored two ways by which students reduce the level
of abstraction. The common attribute to these two ways is students'
reduction of the complexity of the concept of thought by focusing on
particular cases. In the first case, students consider a specific object
instead of dealing with the whole set of objects described to them. In
the second case, students overemphasize the visual aspect of an object
and address a particular planar representation of an object with which
they are requested to work.
Observation 1 -- Considering a specific case: This observation
illustrates how students reduce abstraction level by replacing a set of
objects with one of its elements. In other words, abstraction is viewed
here through the lens of the complexity attributed to concepts. The
working assumption is that the more compound an entity is, the more
abstract it is. It does not imply automatically, of course, that it
should be more difficult to think in terms of compound objects. In this
respect, this section focuses on students working with a less compound
object than those with which they were asked to work. Figure 6 presents
an example that illustrates this phenomenon.
Considering a specific case may be a positive and helpful
heuristic, as recommended by Polya (1973): "Specialization is
passing from the consideration of a given set of objects to that of a
smaller set, or of just one object, contained in the given set.
Specialization is often useful in the solution of problems." (p.
190). The role of such specialization is to lead towards a general
solution. However, there are cases in which students do use this
heuristic, presenting an answer based on an analysis of a specific case,
and do not return to the general case. Sometimes they do not go back to
the general case simply because they are unable to do so--the mental
structures needed to deal with the general case have not yet been
constructed. This observation is coherent with what Young has pointed
out: "Students whose only knowledge of mathematical objects is
through their concrete representations will be limited in their ability
to assimilate new relationships which transcend the properties of those
particular models" (Cited in Hart, 1994, p. 130).
Observation 2 -- Considering a particular planar graph representation: This observation illustrates how students over emphasize
the visual aspect of Graph Theory, and base their answers on a specific
planar representation of a graph's vertices and arcs. Indeed,
visualization can be interpreted as a way by which abstraction is
reduced. For example, Zazkis, Dubinsky and Dautermann (1996) contrast
visualization with several concepts. Among other contrasts, they mention
"visualization as spatial versus abstraction". Indeed,
sometimes visualization is used to construct that abstraction gradually
bottom up (Harel, 1989).
However, it seems that in the case of Graph Theory reduction of the
level of abstraction by means of visualization demands special
attention. This is because Graph Theory deals with concepts that can be
easily visualized, unlike group theory, for example, in which most of
the concepts do not have a visual aspect. Figure 7 presents two examples
in which the reduction of the level of abstraction by visualization
yields either a wrong answer (Example 1) or the addition of redundant
details (Example 2).
SECTION 4 CONCLUSION
Understanding of concepts in high level of abstraction is very
important for problem-solving. In this article, we present an
examination of students' understanding of concepts in Graph Theory
through the lens of abstraction. Specifically, we address two mental
processes by which students reduce the level of abstraction. Within
each, we identify two particular ways by which these mental processes
are expressed. With respect to the first way--process conception--we
illustrate how students present an overly complicated object and an
overly complicated algorithm execution; with respect to the second
way--specification--we illustrate how students work with a specific case
and how they consider a particular planar graph representation.
We find this research important from a pedagogical point of view as
well as from a theoretical point of view. From the pedagogical
perspective, the importance of this study is expressed by the fact that
it may increase instructors' awareness of students' ways of
thinking when learning Graph Theory in general, and to students'
ways of reducing abstraction in this context in particular. Such
awareness may clarify some of the difficulties that students are faced
with when learning first concepts in Graph Theory. Indeed, this is a
great challenge, which can possibly be achieved, for example, by
consistently increasing students' awareness to the level of
abstraction on which a specific discussion takes place, training them to
think in terms of different levels of abstraction, and training them to
move between levels of abstraction, all according to the problem they
face.
Theoretically, we illustrate the application of the theme of
reducing abstraction for the analysis of students' understanding of
concepts in Graph Theory. By doing so, we expand the applicability scope
of this theoretical framework. It is interesting to note that a third
way by which students reduce the level of abstraction--relationships
between the thinker and the object of thought--that is expressed in the
analysis of students' understanding of other fields, is not
expressed in our research. This interpretation suggests that whether
something is abstract or concrete (or on the continuum between these two
poles) is not an inherent property of the thing, "but rather a
property of a person's relationship to an object" (Wilensky,
1991. p. 198). In other words, for each concept and for each person we
may observe a different level of abstraction that reflects previous
experiential connection between the two. The closer a person is to an
object and the more connections he or she has formed to it, the more
concrete (and the less abstract) he or she feels about it. Based on this
perspective, some students' mental processes can be attributed to
their tendency to make an unfamiliar idea more familiar or, in other
words, to make the abstract more concrete. The fact that this way by
which students reduce the level of abstraction is not expressed in our
research may be explained by the fact that the introductory part of
Graph Theory deals with relatively simple objects. Accordingly, it does
not make much sense to rely on other objects in one's attempt to
comprehend Graph Theory concepts.
In the future, we intend to expand our work and to analyze student
conception of concepts in Graph Theory with larger groups and with more
in depth interviews. We believe that the findings presented in this
article form a basis from which this continuation research can be
developed.
Task:
Construct three graphs, as is described in what follows, one for each
section.
Construct a directed graph with at least 7 vertices and positive arc
weights. Mark 2 vertices--s and t--so that Dijkstra's algorithm, when
is executed on this graph in order to find the shortest path from s
to t.
a. upon termination yields [lambda](v) = [infinity] for exactly two
vertices.
b. performs exactly two iterations.
c. changes [lambda](t) three times.
Figure 1. Example of a "Give an example" task
Example 1:
Execute DFS algorithm on a given graph, and find the resulting DFS tree.
Example 2:
Given an undirected graph G(V, E) with a weight function on the edges:
W: E [right arrow] [R.sup.+]. For each path in the graph we define:
l(p) -- the path length, that is, the number of edges of p.
w(p) -- the path weight, that is, the sum of weight of the edges of the
path.
For a pair of vertices s, t [member of] V a shortest lightest path from
s to t is a path p that satisfies the following: for all path q from s
to t: l(p)<l(q) or (l(p)=l(q) and w(p)<w(q)).
a. Define an algorithm that finds a shortest lightest path from a given
vertex s to any vertex v in the graph.
b. Construct a graph with at least 6 vertices and execute the algorithm
you defined in (a). Outline all the algorithm stages.
Example 3:
Construct a graph with Euler's path that does not have a Hamilton Path.
Example 4:
For even n, write a frequency formula so that Huffman coding of n
letters with these frequencies creates deterministically a tree of the
following structure:
Figure 2. Examples of homework assignments
Example 1 (class observation):
In one of the first lessons the following lemma was introduced: In a
directed graph, the sum on [d.sub.in] is equal to the sum of
[d.sub.out]. One of the students explained it in the following way:
"This is because each arc that leaves a node has to enter a different
node." This answer reflects a process conception of the argument that
is: The arc leaves a node and while moving along a path should find
another node to enter. This explanation was repeated by the instructor
from an object perspective, emphasizing the properties of the concept
arc: "Each arc has two edges. One is in, one is out."
Example 2 (second exam):
True or false:
Each graph has a unique DFS tree.
Only 3 students found it sufficient to present only a counter example
that violates this statement. The other 13 students felt a need to
execute the DFS algorithm on a specific tree, in addition to the
presentation of the counter example itself, in order to illustrate that
two different trees may be obtained. Of these 13 students, 10 executed
it correctly, 2 students executed it incorrectly, 1 student suggested
that the vertex from which we start the DFS is the only factor that
determines whether we get different trees.
Example 3 (second exam):
True or false:
Based on the proof of the theorem that deals with the
number of binary positional trees, the following sequence
of parenthesis (()()) (()(())) corresponds to the
following binary positional tree:
Out of the 16 students who took the exam, not a single student based his
or her argument merely on the number of parenthesis, an argument that
immediately yields that the statement is false. Such an explanation
would reveal an object conception since it would have emphasized
properties of concepts. As it turns out, solutions which reflect process
conception were more predominant. Twelve students worked correctly and
built the corresponding tree, illustrating that it is not the presented
tree. Of these 12 students, 3 additionally mentioned that the number of
parenthesis actually strengthens their argument. However, they did not
view this explanation as a sufficient argument and felt the need to
specifically construct the corresponding tree. The other 4 students gave
a wrong answer.
Figure 3. Examples of answers reflecting process conception
Example 1 (first exam):
Draw a graph that contains a Hamilton path, but does not
contain an Euler path.
Although 10 students presented simple examples (few vertices and simple
graph structures), 7 students out of the 17 who took the exam felt the
need to present an overly large or complex example. Figure (i) and (ii)
show two examples of such graphs, presented by two students:
Clearly, simpler graphs could be presented to illustrate this
claim. In Figure (i) the student explains: "In this graph, a Hamilton
path exists and it passes through arcs: [e.sub.12], [e.sub.23],
[e.sub.34], [e.sub.45], [e.sub.56], [e.sub.67]. But, there is no Euler
path because there are more than 2 vertices each having an odd degree;
actually there are four vertices with an odd degree."
Example 2 (second exam):
True or false:
There exists a graph and specific executions of Prim
algorithm and DFS algorithm, so that the execution of
Prim and DFS algorithms on that graph create the same
tree.
Out of the 16 students who took the second exam only 2 students gave a
simple example that consisted of a graph with two nodes with an arc
connecting them.
Example 3 (second exam):
True or false:
If the appearance probability of two letters in a given
text is equal, then their Hufmann coding consists of the
same number of letters.
Though it is sufficient to illustrate the fact that the statement is
incorrect with three letters that are coded by [SIGMA] = {0, 1}, only 5
students out of the 16 students gave an example with three letters. Half
of the students present a four or five letter-based example, and 3
students presented an example with more than five letters. Of these 3
students, 2 presented an example with six letters, and 1 presented an
example with thirteen letters.
Figure 4. Examples of "overly complicated objects"
Example (first exam):
Execute Euler algorithm on the following graph. List all stages.
Although it was possible and quite simple to execute the algorithm in a
single iteration, only 1 student out of 17 students presented this
solution, and even he added a lengthy explanation to "excuse" his
demonstration. All the other students executed more than one iteration
(mostly two to three interactions).
Figure 5. Example of "overly complicated algorithm execution"
Example:
True or false:
Every tree can represent Hufmann coding.
Five of the students who answered false correctly presented a wrong
explanation because they considered only a binary code. In other words,
their consideration of {0, 1} as the only possible alphabet led them to
think in terms of a specific set of trees instead of all possible
trees.
Here are two examples of reasons presented by students, that
indicate their reliance on a binary code:
* "The Hufman coding algorithm is built in such a way that
only a full binary tree can represent it."
* "The Hufman tree has external nodes which represent letters,
and internal nodes which are probabilities. These nodes have
to be the sum of two probabilities."
Figure 6. Example of treating a specific case
Example 1 (second exam):
True or false:
Each tree has a single DFS tree
Different planar arrangements of the vertices that resulted from two DFS
traverses led students to assume that these arrangements are different
DFS trees. Five students presented the wrong answer, basing their
argument on the different planar arrangement of the graph's vertices and
edges. For example, these two (non-directional) trees were suggested by
a student as essentially different trees:
Example 2 (first exam):
For each of the following attributes, state at least one
object to which the attribute may relate:
(a) Degree
(b) Even sum of the degrees
(c) The number of vertices which have an odd degree is even
(d) Weight
(e) Complexity
During the test, the students kept asking the following questions with
respect to the above task: "Should we give an example?"; "Is it possible
that the same object appears twice as an answer?"; "Should we define?";
"Should we draw?". It seems that students could not accept a one-or-two-
words answer--only the name of a concept--as a legitimate answer.
Consequently, since the name of a concept is not conceived to be a
sufficient answer, another explanation is needed. In line with
Observation 2 mentioned above, in 10 (out of 17) cases an additional
visualized or literal explanation was presented. For example, while
referring to the first concept "degree", a student drew a small graph in
which one node was connected to three other nodes, and wrote: "The
degree of node A is 3".
Figure 7. Examples of reducing the level of abstraction by visualization
Notes
(1) For example, students may face difficulties in understanding
why Dijkstras algorithm works only for graphs with positive weights.
(2) Cayley's theorem: There are [n.sup.n-2] labeled trees with
n vertices.
References
Baker, R. S., Biolen, M., Goodrich, M. T., Tamassia, R., &
Stibel, B. A (1999). Testers and visualizers for teaching data
structures. ACM SIGCSE Bulletin, 31(1), 261-265.
Beth, E. W., & Piaget, J. (1966). Mathematical epistemology and
psychology. Dordrecht, The Netherlands: D. Reidel Publishing Company.
Clements, D. H., & Battista, M. T. (1990). Constructivist
learning and teaching, Arithmetic Teacher, 38(1), 34-35.
Cote, V. (1987). Teaching oral communication in computer science.
SIGCSE Bulletin, 19(2), 58-60.
Dagdilelis, V., & Satratzemi, M. (1998). DIDAGRAPH: Software
for teaching graph theory algorithms, Proceedings of ITiCSE'98, ACM
press, Dublin, 64-67.
Davis, R. B., Maher, C. A., & Noddings, N. (1990, eds.).
Constructivist views on the teaching and learning of mathematics,
Journal for Research in Mathematics Education, Monograph Number 4, The
National Council of Teachers of Mathematics, Inc.
Dubinsky, E. (1991). Reflective abstraction in advanced
mathematical thinking. In Tall, D. (ed.). Advanced mathematical
thinking. Dordrecht, The Netherlands: Kluwer Academic Press.
Even, S. (1979). Graph algorithms. Rockville, MD: Computer Science
Press.
Flaningam, D. L., & Warriner, S. (1987). Another way to teach
computer science through writing, SIGCSE Bulletin 19(3), 15-16.
Hamilton-Taylor, A. G., and Kraemer, E. (2002). Ska: Supporting
algorithm and data structure discussion. ACM SIGCSE Bulletin, 34(1),
58-62.
Hansen, S., Tuinstra, K., Pisani, J., & McCann, L. I. (2003).
Graph magic: A visual graph package for students, Computer Science
Education, 13(1), 53-66.
Harel, G. (1989). Learning and teaching linear algebra:
Difficulties and an alternative approach to visualizing concepts and
processes, Focus on Learning Problems in Mathematics, 11(2), 139-148.
Hart, E. W. (1994). A conceptual analysis of the proof-writing
performance of expert and novice students in elementary group theory. In
J. Kaput, J. & E. Dubinsky, (Eds.), MMA Notes 33, Research issues in
undergraduate mathematics learning; Preliminary analyses and results
(pp. 49-63). Washington, DC: The Mathematical Association of America.
Hazzan, O. (1999). Reducing abstraction level when learning
abstract algebra concepts, Educational Studies in Mathematics 40(1),
71-90.
Hazzan, O. (2003A). Reducing abstraction when learning
computability theory, Journal of Computers in Mathematics and Science
Teaching (JCMST), 22(2), 95-117.
Hazzan, O. (2003B). How students attempt to reduce abstraction in
the learning of mathematics and in the learning of computer science,
Computer Science Education, 13(2), 95-122.
Jackowitz, P. M., Plishka, R. M., & Sidbury, J. (1990,
February). Teaching writing and research skills in the computer science
curriculum, SIGCSE Bulletin, 22(1), 212-215.
Khuri, S., and Holzapfel, K. (2001). EVEGA: An educational
visualization environment for graph algorithms, Proceedings of
ITiCSE'2001. ACM Press, 101-104.
McConnel, J. J. (1996). Active learning and its use in Computer
Science, Proceedings of the SIGCSE/SIGCUE Conference on Integrating
Technology into Computer Science Education; SIGCSE Bulletin, 28, 52-54.
Piaget, J. (1977). Problems of equilibration. In M. H. Appel &
L. S. Goldberg (Eds.), Topics in cognitive development, Vol. 1:
Equilibration: Theory, research and application (pp. 3-13). New York:
Plenum Press.
Polya, G. (1973). How to Solve it? (Second edition). Princeton, NJ:
Princeton University Press.
Sfard, A. (1991). On the dual nature of mathematical conceptions:
Reflections on processes and objects as different sides of the same
coin. Educational Studies in mathematics, 22, 1-36.
Sfard, A. (1992). Operational origins of mathematical objects and
the quandary of reification--The case of function. In E. Dubinsky &
G. Harel (Eds.), MMA Notes 25, The concept of function--aspects of
epistemology and pedagogy, (pp. 59-84). Washington, DC: The Mathematical
Association of America.
Smith, J. P., diSessa, A. A., & Roschelle, J. (1993).
Misconceptions reconceived: A constructivist analysis of knowledge in
transition, The Journal of the Learning Sciences, 3, 115-163.
Wilensky, U. (1991). Abstract meditations on the concrete and
concrete implications for mathematical education. In I. Harel, and S.
Papert (Eds.), Constructionism (pp. 193-203). Norwood, NJ: Ablex
Publishing Corporation.
Zazkis, R., Dubinsky, E., & Dautermann, J. (1996). Coordinating
visual and analytic strategies: A study of students' understanding
of the group [D.sub.4] Journal for Research in Mathematics Education,
27(4), 435-457.
ORIT HAZZAN
Technion-Israel Institute of Technology
Israel
[email protected]
IRIT HADAR
The University of Haifa
Israel
[email protected]