Professional Documents
Culture Documents
Fertile Zones of Cultural Encounter in Computer Science Education
Fertile Zones of Cultural Encounter in Computer Science Education
net/publication/240519490
CITATIONS READS
27 68
2 authors:
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Yifat Ben-David Kolikant on 11 March 2015.
DOI: 10.1080/10508400701793166
Mordechai Ben-Ari
Department of Science Teaching
Weizmann Institute of Science, Rehovot, Israel
INTRODUCTION
Computer science (CS) education differs from other fields of science education not
only in its relative youth, but also in the extreme instability of the curricula and
teaching methods (Roberts, 2004). There are tensions between academia and in-
dustry professionals on the design of curricula, and there is mutual disappointment
between students and their instructors (Booth, 2001). Specifically, instructors
We are indebted to Sarah Pollack for her insightful comments on this article. We would like to thank
the editor and the reviewers for their extensive comments that contributed materially to improving the
article.
Correspondence should be addressed to Yifat Ben-David Kolikant, School of Education, Hebrew
University of Jerusalem, Mount Scopus, Jerusalem, Israel 91905. E-mail: yifatbdk@mscc.huji.ac.il
2 BEN-ARI AND KOLIKANT
Downloaded By: [Hebrew University of Jerusalem] At: 07:55 6 May 2008
complain that the naïve conceptions and work habits that students bring to class do
not disappear in advanced courses (Edwards, 2004; McCracken et al., 2001) and
that students do not adopt the thinking habits of successful professionals (Gries,
2002). Students, on their part, are concerned with the lack of immediate applicabil-
ity of their studies (Booth, 2001). In this article we suggest portraying CS educa-
tion as an encounter between two computer-oriented cultures: that of the teachers,
which is based on the academic CS world; and that of the students, who are veteran
users of computers (or in the words of Nardi & Miller, 1991, local developers). We
demonstrate the strength of this metaphor in understanding and resolving teaching
and learning difficulties.
The work presented here is based on a research project that accompanied the de-
velopment of an advanced CS course for high school students on concurrent and
distributed computation. Our objectives were to discover learning difficulties in
order to improve instruction. We found that the computer-oriented cultural back-
ground of the students influenced their understanding of situations and their subse-
quent behavior to the extent of sometimes delegitimizing learning opportunities
offered by the instructional settings. Furthermore, the awareness of the culture
clash and its reciprocal relationship with cognitive difficulties guided us to define
the concept of fertile zones of cultural encounter (FZCEs) as a pedagogical model
to resolve the culture clash and to facilitate the development by the students of a
professional perspective on computing so that they could appreciate the practices
and values that characterize this perspective.
We begin with a literature survey on the two major metaphors for learning
(the metaphor of construction and the metaphor of participation) as well as the
two major theoretical frameworks on learning within which these metaphors
exist (the cognitive framework and the sociocultural framework, respectively)
(Sfard, 1998). We then describe the process that led us to use the metaphor of
participation in addition to the construction metaphor, and we show how the
concept of culture clash enabled us to analyze the reciprocal relationship be-
tween the cultural and cognitive aspects of students’ learning difficulties in the
course on concurrency. Then we define and exemplify the concept of FZCEs
that we propose as a pedagogical approach for overcoming the culture clash at
the base of these learning difficulties.1
1To forestall a possible misunderstanding, let us note that there has been a lot of research into the
use of computers in teaching and learning. However, the research described here relates to the study of
computer science itself and not to the influence of the computer on the classroom culture in general or
on the learning of other specific subjects. For example, Schofield (1995) discussed the social and cul-
tural environment in a computer science classroom, but she was interested in the relations between stu-
dents and teachers (and students and students) that resulted from different levels of computer literacy,
not in any social effects or culture clash relating to the subject matter itself.
FERTILE ZONES OF CULTURAL ENCOUNTER 3
Downloaded By: [Hebrew University of Jerusalem] At: 07:55 6 May 2008
We use the notion of material, social, and conceptual resource to denote the instru-
ments, facts, phenomena, and theories scientists draw on in their work. Practice is the
label for the act of constructing (or deconstructing) physical and conceptual entities,
the resources of the field. (p. 76)
One’s understanding of culture is rooted in this concept of shared practices and re-
sources. This is consistent with the plea of Gutiérrez and Rogoff (2003):
We argue against the common approach of assuming that regularities are static, and
that general traits of individuals are attributable categorically to ethnic group mem-
bership. We suggest that a culturalhistorical approach can be used to help move
beyond this assumption by focusing researchers’ and practitioners’ attention on vari-
ations in individuals’ and groups’ histories of engagement in cultural practices be-
cause the variations reside not as traits of individuals or collections of individuals, but
as proclivities of people with certain histories of engagement with specific cultural
activities. (p. 19)
4 BEN-ARI AND KOLIKANT
Downloaded By: [Hebrew University of Jerusalem] At: 07:55 6 May 2008
The reciprocal relationship between conceptual knowledge and culture was em-
phasized by Brown, Collins, and Duguid (1989), who claimed that conceptual
knowledge should be viewed as tools that change one’s perspective on the world.
Therefore, the activity in which conceptual knowledge is developed and deployed
is not ancillary to learning, but rather it is an integral part of what is learned. Simi-
larly, Resnick (1989) asserted that becoming competent in any complex subject
domain is “as much a matter of acquiring the habits and dispositions of interpreta-
tion and sense making as of acquiring any particular set of skills, strategies, or
knowledge” (p. 58). Thus, becoming a CS professional requires more than merely
mastering programming languages and being familiar with theoretical issues such
as computational models; it also requires enculturation into the culture of the disci-
pline or, in Schoenfeld’s (1992) words, the development of a unique point of view,
that is, valuing the processes professionals carry out during their work and having
a predilection to apply them.
Culture Clash
The concept of culture clash is found in research done on the way cultural diversity
influences education, in particular, in multiethnic schools (Brown, 2004; Rose-
bery, Warren, & Conant, 1992; Warren, Ballenger, Ogonowski, Rosebery, &
Hudicourt-Barnes, 2001); however, this work is of little relevance to our research
because the three schools in which we carried out the research were quite homoge-
neous in terms of ethnicity, language, religion, and socioeconomic class. Our con-
cern is rather with a clash between the computer-related culture of the students and
that of the teachers and the curriculum.
Much more relevant is the work of Labaree (2003), who described culture clash
between experienced teachers who are doctoral candidates and educational re-
searchers. Teachers are veterans in the educational arena; however, their perspec-
tive on education is inherently different from that of researchers. Labaree claimed
that the shift from teaching to educational research requires that the teachers trans-
form their cultural orientation “from normative to analytical, from personal to in-
tellectual, from the particular to the universal, and from the experimental to the
theoretical” (p. 16). Tension can occur when students’ learning difficulties are en-
countered. The primary commitment of teachers is toward the students, and thus
they seek to intervene early, whereas researchers “seek to clarify and validate argu-
ments about the functions and dysfunctions, causes and consequences of educa-
tional practices” (p. 17) and thus may defer intervention. This can cause teachers to
suspect and resist (sometimes subconsciously) activities typical of educational re-
search.
Neumann, Pallas, and Peterson (1999) suggested that, to resolve these tensions,
the teachers’ perspective should be made explicit and should be respected; further-
more, the researchers’ perspective should be offered as an additional, but not nec-
FERTILE ZONES OF CULTURAL ENCOUNTER 5
Downloaded By: [Hebrew University of Jerusalem] At: 07:55 6 May 2008
Simlife, Tim’s favorite computer game, which sets its users the task of cre-
ating a functioning ecosystem. The message “Your orgot is being eaten up”
flashed on the screen, and the following conversation ensued:
I ask Tim, “What’s an orgot?” He doesn’t know. “I just ignore that,” he says.
“You don’t need to know that kind of stuff to play” … “I think it is sort of like an
organism. I never read that, but just from playing, I would say that’s what it is.”
(Turkle, 1995, pp. 69–70)
When the message popped up, Tim ignored it, showing no interest in un-
derstanding what caused it to happen. When asked, he explained that it is
unimportant because he could still achieve his original goal of interacting
with the computer. In the context of a computer game, such behavior is pro-
ductive.
2. The second dimension concerns the approach to problem solving when us-
ing computers; for example, what is the reaction to unexpected output on the
screen? An interaction dominated by the perspective of the professional cul-
ture involves a multilayered approach to problem solving, moving back and
forth between different layers of abstraction: the interface, the computer pro-
gram, underlying software such as the operating system, and the machine
that is executing the program (Aho & Ullman, 1992; Hartmanis, 1995).
Within the user culture, interaction is primarily at a single layer, that of
the interface (Turkle, 1995). The underlying layers remain opaque and are
not used in problem solving. The term user-friendliness is indicative of this
type of interaction, because it implies that users can interact with a com-
puter through a graphical user interface without having to understand the
underlying algorithms or software.
3. The cultures also differ in their appreciation of development processes and
computing knowledge. The work habits and learning preferences that char-
acterize the user culture emphasize hands-on activities:
A motivational paradox arises in the “production bias” people bring to the task
of learning and using computing equipment. Their paramount goal is through-
put. This is a desirable state of affairs in that it gives users a focus for their activ-
ity with a system, and it increases their likelihood of receiving concrete rein-
forcement from their work. But on the other hand, it reduces their motivation to
spend any time just learning about the system, so that when situations appear
that could be more effectively handled by new procedures, they are likely to
stick with the procedures they already know, regardless of their efficacy.
(Carroll & Rosson, 1987, pp. 80–81)
cused more on the question “How can I make it work?” and less on the
question “Why does it work the way it does?” (Turkle, 1995).
Within the professional culture, there is a greater appreciation of abstract
knowledge of data structures, algorithms, and computational models, as
well as of formal development activities, such as analysis, design, and doc-
umentation. The professional culture also values attributes such as effi-
ciency, robustness, and readability, all of which are based on the ability to
work on multiple layers (Booth, 2001; Hoare, 1989; Knuth, 1974, 1985).
4. An additional dimension of the variation between the cultures relates to
computer technology, in particular, to enthusiasm toward new technology.
From the professional perspective, one inevitably faces external con-
straints on the choice of computer technology, for example, compatibility
with legacy systems. In contrast, users (especially those who program for
their own purposes as opposed to those who use software packages in their
work) are free to seek out innovations.
roots “despite [teachers’] best efforts” (p. 26). From his point of view, students
miss learning opportunities because they try to avoid analyzing the problems that
are encountered and instead prefer to “switch around things”; note, however, that
the students’ goals and activities resemble the user perspective that prioritizes the
question how to make it work over the question why it didn’t work:
My code looks “correct” to me. If it produces the wrong answer, that does not make
sense, so there must be something hidden that I don’t understand about my code. I
will try switching around a few things to see if I can make the problem go away. (Ed-
wards, 2004, p. 26)
Research Background
From 1998 to 2003 we developed a course on concurrent and distributed computa-
tion for high school students. A main topic of this course is that of synchronization;
FERTILE ZONES OF CULTURAL ENCOUNTER 9
Downloaded By: [Hebrew University of Jerusalem] At: 07:55 6 May 2008
Research Methods
The methodology we used can be described as follows: (a) We used a diversified
set of tools (tests, videotapes of lab sessions, observations, and interviews) to ob-
tain various perspectives on the knowledge structures of the students; (b) the inves-
tigation proceeded at two levels: a macrolevel view of an entire class in order to ob-
tain a general perspective, and a microlevel view of individuals in order to achieve
an in-depth investigation of phenomena; (c) additional data collection points and
reanalysis of data was carried out as needed; (d) data were collected almost exclu-
sively from the integral in-class activities to avoid affecting the learning process.
The research was carried out during 4 consecutive years that the course was
given. We aimed to achieve an overview of the learning of this subject, of the na-
ture of the instructional process, and of the evolution of students’ knowledge. A
preliminary research program was conducted for 2 years, each year on one class of
12th-grade students. This phase of the research was also used to improve the
course, to shape the research methodology, and to fine-tune the methodological
tools. The methodology, the findings of this phase, and the implications for the
course are presented in Ben-Ari and Ben-David Kolikant (1999) and Ben-David
Kolikant, Ben-Ari, and Pollack (2000).
The final 2 years were devoted to the main phase of the research and empha-
sized an in-depth investigation of the evolution of students’ knowledge as they
studied the topic of synchronization using semaphores. The research was con-
ducted in six classes from three schools and involved about 150 students. The
schools that were chosen for the main phase of the research had a history of 10
years of successful participation in innovative teaching and development projects
with our group at the Weizmann Institute of Science. All of the teachers had expe-
rience teaching new courses and volunteered to teach this one; they all had gradu-
ate degrees and had taken a selective course for training leading teachers of CS. All
students had frequent access to computers.
10 BEN-ARI AND KOLIKANT
Downloaded By: [Hebrew University of Jerusalem] At: 07:55 6 May 2008
The research comprised two phases. First, the existing knowledge of the stu-
dents at the beginning of the course, in particular their preconceptions on synchro-
nization, was explored using the responses of all of the students to three synchroni-
zation problems posed in questionnaires (Ben-David Kolikant, 2001).
The next step was to explore the knowledge that the students gained during the
2 months they studied synchronization using a programming construct called
semaphores. To this end, the students were given two tests, Test A and Test B. Ad-
ditionally, a few students were interviewed in order to clarify the knowledge un-
derlying their performance during the tests. In order to investigate the process of
knowledge evolution, one class of 19 students was observed for the entire time
they studied this topic, and several students of this class were videotaped during a
lab problem-solving session and were also interviewed. In order to validate the
findings, observations and videotaped lab sessions were repeated during the fol-
lowing year in the same school with the same teacher (this time with 39 students).
During the vacation period between the 2 years and throughout the second year, the
teacher was intensively guided to anchor her teaching within the concept of cul-
tural encounter.
FIGURE 1 Required program scheme and synchronization. The arrows represent the re-
quirement that process Average should not calculate the average before processes First and Sec-
ond have calculated max. The dotted line represents the requirement that the input of processes
First and Second from the shared keyboard not interleave.
12 BEN-ARI AND KOLIKANT
Downloaded By: [Hebrew University of Jerusalem] At: 07:55 6 May 2008
We believe that the students’ difficulty resulted from their perspective: Rather
than experiencing the situation as programmers encountering a problem to be ana-
lyzed and solved, the students thought as users interacting with a nonfriendly com-
puter artifact. In fact, in the continuing conversation when the students were asked
to explain why the execution of the code had brought about the unexpected output,
they began utilizing the two underlying layers, the program code and the computa-
tional model, to answer the question, and this enabled them to identify the prob-
lem. Y gradually engaged in activities characteristic of the professional perspec-
tive, and this enabled her and M to produce a correct solution. M, however,
retained the user perspective, saying “I’ll run it and you’ll see it works.” A similar
phenomenon was observed in another pair of students as described in Ben-David
Kolikant (2004b).
The research described in the current article shows that the results of Ben-David
Kolikant (2004b) are not an isolated difficulty of two pairs of students trying to
solve a single exercise; instead, cultural influences on learning CS are deep and
pervasive.
FERTILE ZONES OF CULTURAL ENCOUNTER 13
Downloaded By: [Hebrew University of Jerusalem] At: 07:55 6 May 2008
A system consists of three entities E1, E2, and E3 that are to be executed concur-
rently. The sequence of operations of the entities includes the operations Op1, Op2
and Op3, respectively. Add a synchronization mechanism to the program in order to
ensure that operation Op1 will be executed before Op2 and Op3. No other constraints
are to be imposed on the sequences of operations executed by the entities; that is, a
solution is correct only if it allows all scenarios that satisfy the synchronization re-
quirement. Explain your decision.
This problem was the third question in Test A described above. The students
were given a set of five potential solutions and were asked to evaluate the correct-
ness of each one. Three of these are shown in Figure 2.
The correct solution is Solution A. Solutions B and C are incorrect because they
impose unnecessary constraints. Solution B ensures that Op1 executes before Op2
and Op3, but it also unnecessarily constrains the execution to those scenarios in
which Op2 executes before Op3. Solution C constrains the execution so that all of
the operations of entity E1 (not just the operation Op1) are executed before all of
the operations of the other two entities. This is analogous to a system that con-
strains one’s work so that an entire Web page has to be downloaded without allow-
ing the concurrent execution of the word processor.
14 BEN-ARI AND KOLIKANT
Downloaded By: [Hebrew University of Jerusalem] At: 07:55 6 May 2008
Solution B is correct because in all interleavings Op2 and Op3 are performed after
Op1.… In fact, the operations are performed in a sequence: after Op1 is done by en-
tity E1, entity E2 performs Op2, which enables Op3 to be performed.
Solution C is correct because all interleavings enable us to fulfill the goal of execut-
ing Op2 and Op3 after Op1. It doesn’t matter where you put [the synchronization
command] as long as it is before Op2 and Op3 in each process.
FERTILE ZONES OF CULTURAL ENCOUNTER 15
Downloaded By: [Hebrew University of Jerusalem] At: 07:55 6 May 2008
TABLE 1
Students’ Decisions and Reasoning on Correctness (n = 138)
Response
Solution B Solution C
Solution C is correct. Although there are some good scenarios that are not allowed
because Op3 is always [executed] after Op2, Op1 is always [executed] before Op2
and before Op3.
The teachers solved Test A in the classroom and discussed the incorrect an-
swers. As long as their mistakes were due to straightforward mistakes, students ac-
cepted the teachers’ explanations. However, the teachers’ explanations concerning
the false positives were greeted with a storm of protest. In response to the teacher’s
claim that Solution B is not correct because it does not satisfy all of the require-
ments, the following discussion took place:
Possible explanations. Clearly, one can attribute some of the incorrect an-
swers (the unjustified negatives, 9% and 15% of the students) to difficulties in un-
derstanding the semaphore or the computational model. However, the large num-
ber of students who accepted Solutions B and C cannot be attributed to this reason.
Their careful use of the concepts and terminology of interleaving in their explana-
tions shows that these were well understood: “In fact, the operations are performed
in a sequence …”; “It doesn’t matter where you put [the synchronization com-
mand] …”; “Although there are some good scenarios that are not allowed …”
Another possibility is that the students did not understand the synchronization
requirements properly; this could be inferred from S2, who said, “You wanted Op1
to always be [executed] first. That was what was important. Well? Here I have that
Op1 executed and only then Op2 and only then Op3.” But S2 did notice the (sec-
ond) requirement for avoiding unnecessary constraints, only he believed that it was
not important, as reflected in the phrase “that was what was important.” Similarly,
the rest of the conversation with S2 and S3 showed that they were aware of the re-
quirement: S2 said, “What difference does it make?” and S3 explained why the re-
quirement was not important or even reasonable. As shown in Table 1, 26% of the
students explicitly acknowledged that they were aware of the unnecessary con-
straints but nevertheless decided that Solution B was correct.
It is also possible that some students simply ignored the requirement to work
within the constraint, but that would not explain the passionate nature of the de-
bate. Much of school learning must seem “petty, capricious” to students, so why
should they care so much about one more burdensome and arbitrary requirement?
Culture clash. We were led to conclude that many students were fully aware
of the requirement to avoid unnecessary constraints and understood the require-
ment, but they rejected its legitimacy. They claimed that avoiding unnecessary
constraints was certainly not crucial or, worse, that the requirement came from pet-
tiness on the part of the teachers. We further concluded that the delegitimization
arose from these students’ background within the practices of the user culture with
its different standards of correctness; otherwise, why would they bother to engage
the teacher in defending their point of view? Furthermore, S3’s argument about
what constitutes correctness originated in the user perspective, as can be inferred
from his insistence on defining correctness at the interface level: “When someone
executes the program he does not know what happens inside [the computer]—all
the interleavings. To him it is OK.”
The teacher, in turn, did not legitimize the students’ definition of correctness. It
is possible that this was simply a rote insistence on following the definitions of the
FERTILE ZONES OF CULTURAL ENCOUNTER 17
Downloaded By: [Hebrew University of Jerusalem] At: 07:55 6 May 2008
textbook, but this teacher fully understood the background of the course. We prefer
to see her as an authentic representative of the professional culture defending their
practices, and this led to an inevitable culture clash with the students. S2’s charac-
terization of the teacher’s advocacy of the professional perspective (“… when a
programmer is asked to write a program …”) as pettiness emphasizes the differ-
ence between the perspectives.
Working Programs
The students’ definition of correctness was generally consistent with the use of
software in the user culture (cf. the quote from S3 above): As long as the interface
to the program reacts as expected, the program “works.” The conversation below
demonstrates this definition. It occurred right after Student F submitted a lab report
including a printout of the program he developed to solve an assignment (the
grades assignment shown in Figure 1). His solution did not fulfill one synchroniza-
tion requirement, and that caused the program to print the wrong result as well as
other strange messages (the same messages that Y and M dealt with as described
above).
Expectation. The difficulties of testing software are well known, and every
one of us has experienced “bugs” that cause our computers to fail to perform as ex-
pected. Once a test has shown the presence of a bug in the context of testing, pro-
fessional behavior requires that it be acknowledged and fixed, although external
constraints like version release dates or the cost of making the fix may lead to an
acceptance of bug’s presence. It would be totally inconsistent with professional be-
havior to ignore the existence of a bug.
12. Teacher: That is not professional; plan your input and then check if the
output meets your expectations.
13. F: [Calculates with pencil and paper, executes and enters input and
points to the screen] Ah! No, it’s not [the expected output].
14. Teacher: OK, correct it, please.
There are two problems with F’s actions: (a) F did not attribute any importance
to the appearance of the unexpected output, nor did he think it relevant to the cor-
rectness of his solution (Lines 7–9); (b) although he did check his program by exe-
cuting it, he did not verify the result with an expected result until asked to do so by
the teacher (Lines 10–13).
Possible explanations. Recall that these students had studied CS and pro-
gramming for more than 2 years, so the concepts of bugs and of testing a program
to find them were not alien to them. In fact, F acknowledged that he checked the
program (Lines 2–3), and he expressed no objections whatsoever to the teacher’s
questions. F recognized the unexpected behavior of the program (Line 7), but de-
spite the fact that the context was program testing, he classified this behavior as un-
important garbage. Why? It is hard to accept the possibility that F recognized that
the program’s behavior was problematical, tried and failed to fix the bug, and then
intentionally decided to “pass off” the program in the hope that the teacher would
not notice. After all, F, in the crucial Line 7, readily admitted that the program
printed garbage, and yet he was totally unmoved by its presence.
Another explanation is that F believed that it was sufficient to check a program
merely by observing its output without calculating the expected outcome; this fol-
lows from the fact that he used this technique in front of the teacher’s eyes in order
to prove to her that his program worked (Lines 9–11). The fact that the teacher’s
short intervention (Line 12)—an intervention that did not include guidance con-
cerning the content of the (synchronization) problem—led the student to use her
technique shows that F knew what the teacher was talking about. Rather, he did not
have the propensity to use this knowledge without the intervention. Why? Perhaps
F was biased by his certainty in the correctness of his solution that when he exe-
cuted the program he anticipated no problem, and therefore he was satisfied when
a reasonable output was displayed on the screen (Leventhal, Teaslley, & Schertler
Rohlman, 1994).
Culture clash. F announced that the program worked (Line 7) and at the
same time reported on unexpected behavior of the program, classifying it as unim-
portant. This concept of a working program that tolerates unexpected “garbage” is
consistent with a user perspective as to what counts as a problem. F felt none of the
discomfort that is characteristic of professional behavior in the presence of a bug in
the context of debugging; in fact, he was the one who used the word “garbage” of
FERTILE ZONES OF CULTURAL ENCOUNTER 19
Downloaded By: [Hebrew University of Jerusalem] At: 07:55 6 May 2008
his own accord. F’s behavior is consistent with Wenger’s claim that one’s sense of
cultural belonging determines what one classifies as important and as unimportant
in any situation (Wenger, 1998).
An insight into F’s cultural background is provided by the situation Turkle de-
scribed as she and Tim were playing Simlife (see above). F’s behavior is similar to
Tim’s in the sense that both were willing to accept the appearance of an unexpected
message because it was irrelevant to the achievement of their goals. Both F and
Tim exhibited behavior consistent with the user culture; however, what is innocu-
ous in the context of a child playing a game cannot be legitimate behavior in the
professional culture when testing a program.
Appropriateness of Assignments
Problems in academic CS are frequently couched within imaginative cover stories;
for example, one of the most famous such problems is the called the dining philos-
ophers problem (for details, see the Appendix). These problems have proved to be
effective in both academic theory and industrial practice. Familiarity with a rich
repertoire of such problems facilitates professional work on “real” problems, be-
cause the artificial problems abstract the crucial features of real problems. The din-
ing philosophers problem that talks about philosophers needing forks to eat spa-
ghetti is a cover story for real problems of resource allocation. In our course, it felt
natural to follow the practice of the professional culture and to use these artificial
problems.
Expectation. The dining philosophers problem was not the first artificial
problem that students encountered during the course. The textbook included prob-
lems on rabbits and on robots, and these were solved in the book and discussed by
the teachers. Therefore, we expected students to solve the dining philosophers
problem by adapting solutions to previous problems or by building directly on the
definition of semaphores. Either way would have been a legitimate process of
knowledge refinement.
Learning difficulties. Students did not like this activity and did not even in-
terpret the problem within the formal model, preferring instead to remain within
the domain of the cover story. Their solutions were built upon assumptions that
were unrealistic within the computational model.
Possible explanations. It is possible that the students had not mastered the
model of concurrency and synchronization that was taught in the course; if so, how
were they able approach other assignments, such as the grade assignment, as ex-
pected? Probably, some of them did not recognize the similarity between the din-
ing philosophers problem and the grade assignment; yet, they could have tried to
20 BEN-ARI AND KOLIKANT
Downloaded By: [Hebrew University of Jerusalem] At: 07:55 6 May 2008
work the problem out from the scratch, refining their knowledge with assistance
from the teacher, the textbook, and the computer.
Another explanation is that they found it difficult to make a connection between
the model and the cover story. This explanation has much to recommend it, as the
students did not attempt to approach the problem as a synchronization problem us-
ing the tools they had previously studied: identifying the shared resources (the
forks) and the processes that compete for the resources (the philosophers), and
then constructing a solution using semaphores. Possibly the intrinsic difficulty of
the dining philosopher problem led the students to dislike the activity.
Culture clash. We believe that the students delegitimized the problem itself
because it did not directly relate to computer systems. For example, one student
initiated a conversation with the first author “for the sake of future students,”
claiming the following:
I don’t see the point in teaching these things, such as the computational model, re-
quirements, proof and all these things, all these problematic philosophers. What is
the point? When do you write something? A program? In other courses you write
[programs], you do things.
The entire tenor of the quote is culture laden; the main complaint is about the
relevance of the abstract knowledge that was taught to the study of CS. The rejec-
tion of theoretical knowledge, such as the concept of computational model, is evi-
dent by the comparison that the student makes to other courses where students
“write [programs]” and “do things.” From this perspective, it is possible that stu-
dents’ refusal to work on the problem was caused by their delegitimization of the
problem.
Possible explanations. The CP software was easy to use and at no time did
we experience any difficulties in using the tool, nor did it lack features needed for
solving problems, so we do not find any objective reasons for the delegitimization
of the environment. It is possible that some students used it as a scapegoat for nor-
mal learning difficulties; for example, one student claimed that an up-to-date tech-
nology (in particular, a graphical interface) “would show us where the problem is.”
Culture clash. The dissatisfaction with CP was too widespread and too im-
mediate to attribute to any real deficiencies in the software, but it almost certainly
resulted from a lack of enthusiasm toward the old-fashioned interface. There was a
clash between the professional culture that readily accepts the necessity to work
with legacy systems and the user culture that emphasizes the interface.
Another approach … is to show that the gap is not as wide as it seems, that the differ-
ences are more a matter of emphasis in professional practice than of total opposition.
(p. 21)
22 BEN-ARI AND KOLIKANT
Downloaded By: [Hebrew University of Jerusalem] At: 07:55 6 May 2008
We believe that the gaps we found were more than a matter of emphasis within a
practice. The user and professional perspectives share a goal of solving problems
with computers, but there is a wide gap in the standards as to what counts as a prob-
lem and the legitimization of practices to achieve a solution. Therefore, research-
ers must find a way to design pedagogical interventions that will enable students
and teacher to bridge the gap.
In order to construct a bridge between the two cultures, instruction should generate
an FCZE. Activities should be designed that are legitimate within students’ per-
spectives, but at the same time these activities should encourage students to realize
that the professional perspective is productive to achieving their goals and facili-
tate their participation in professional practices. In this section we describe how we
applied insights based upon culture clash to each of the situations described in the
previous section.
A software engineer was given the task of implementing a scheduling algorithm that
gives higher priority to programs submitted by faculty members than it gives to pro-
grams submitted by graduate or undergraduate students. His implementation gave
high priority to programs from faculty members, medium priority to programs from
graduate students and low priority to programs from undergraduate students. After
the undergraduate students complained, the department asked the engineer to modify
the program so that graduate and undergraduate students received the same priority.
The engineer claimed that he had correctly fulfilled the software requirements. Who
is correct?
Once the problem had been presented within the real world of computers, the
students were able to identify with the claims of both sides. During classroom dis-
cussion they were guided to recognize that the software engineer was—like many
of the students who chose solutions with unnecessary constraints in the abstract
problem—approaching the problem from the perspective of the user culture by
FERTILE ZONES OF CULTURAL ENCOUNTER 23
Downloaded By: [Hebrew University of Jerusalem] At: 07:55 6 May 2008
supplying a minimal solution. The department head expected the engineer to ap-
proach the problem from the norm of the professional culture that required that the
solution not add arbitrary constraints. In this context, the professional norm to
avoid unnecessary constraints looked less like pettiness and more like a useful
strategy.
Given that the concept of avoiding unnecessary constraints was not intuitive
and was unnatural within the students’ concept of “working” programs (because
such constraints are not visible to the person who executes the program), we in-
ferred that using informal language when discussing synchronization problems
was problematic. It caused ambiguity, allowing students to interpret synchroniza-
tion requirements in accordance with their idea of working programs. Therefore,
we decided to introduce a formal graphic notation for unambiguously specifying
synchronization requirements. The notation used the rectangles to represent pro-
cesses, and arrows (and dashed lines) to represent precedence (see Figures 1 and
2).2 This formal notation quickly became popular as a tool for the negotiation of re-
quirements specifications, because it proved to be clear and unambiguous. It was
used not only for the specification and design of new programs, but also for the
analysis of incorrect programs. In several cases we observed that students found it
difficult to analyze patently incorrect output until the teacher suggested that they
use the graphical notation.
In the following year, the example of the software engineer was presented be-
fore the problem of the three operations shown in Figure 2. On this problem, only
15% and 16% of 68 students chose the incorrect solutions A and B, respectively
(see Table 2). We also found an improvement in the students’ understanding of the
semaphore operations, from 53% correct answers to 64%. This we attributed to a
better definition of the operations (Ben-David Kolikant, 2004a), in addition to the
FZCE approach presented here.
This example shows how an FZCE works: The exercise was posed in language
that was culturally familiar, thus achieving legitimacy from the students, but the
negotiation it engendered facilitated their crossing the bridge toward understand-
ing the justification of the definitions used in the professional culture. The FZCE
resulted from the combination of the negotiation about the productivity of the pro-
fessional perspective together with the use of a cognitive tool (the notations) that
facilitated the students’ engagement in the professional practices.
The following conversation demonstrates the change in the nature of the dis-
course in the second year. It occurred as the class checked a homework assignment
2Each arrow in the figures represents the requirement that the operation at the base of the arrow pre-
cede the operation at the head of the arrow. Figure 2(b) shows the representation for the solution with
the unnecessary constraint that Op2 be executed before Op3, and similarly Figure 2(c) shows the repre-
sentation for the solution with the unnecessary constraint that the entire process E1 be executed before
both E2 and E3.
24 BEN-ARI AND KOLIKANT
Downloaded By: [Hebrew University of Jerusalem] At: 07:55 6 May 2008
TABLE 2
Students’ Decisions and Reasoning on Correctness, Round 2 (n = 68)
Response
Solution B Solution C
concerning critical section problems. The teacher asked them how they knew that
their solutions were correct:
S1: When the program is incorrect then it is easy; you bring one example
that shows that the program doesn’t work.
Teacher: Yes. That is simple, but how will you show that it does work?
S2: If it is impossible to show a bad scenario.
Teacher: So, you go over all the scenarios to prove there is no bad one.
S3: This is not possible.
Teacher: It is not practical.
S4: We need to do it logically. [The student suggests going through all the
scenarios of a reduced problem.]
S5: The synchronization defect can only occur between these two operations
[of the critical section]. We should think of the scenarios there and show
nothing bad can happen.
The students carried out the discussion using the term scenarios that is characteris-
tic of the professional perspective because it is defined in the underlying computa-
tional model. In this situation, correctness was not discussed from the user per-
spective (in terms of the interface). In other situations the user perspective was
FERTILE ZONES OF CULTURAL ENCOUNTER 25
Downloaded By: [Hebrew University of Jerusalem] At: 07:55 6 May 2008
evident; however, this did not bring about delegitimization of the professional per-
spective. For example, after a laboratory session in which the teacher recognized
that some students were using F’s testing technique (running the program and not
checking the output), she brought the issue before the class, pointing out the “there
is no point in executing a program if you do not know what output to expect.” The
class laughed in agreement and then turned to analyze the assignment from a pro-
fessional perspective.
S2: What is the problem, then? We need to implement the actions [withdraw
and balance checking]. [There is a] synchronization problem here?
Maybe?
Teacher: Let’s say that T [one of the students] approaches one ATM.
S3: [interrupting] It [the ATM] asks “What do you want to do?” Oh, wait,
there is a synchronization problem here.
Teacher: OK, then maybe before starting the implementation we should think
about the requirements.
26 BEN-ARI AND KOLIKANT
Downloaded By: [Hebrew University of Jerusalem] At: 07:55 6 May 2008
S4: [The requirement is] when someone uses one ATM the second ATM
should be completely locked out.
Teacher: You mean the operations of reading and writing the balance, or [locked]
for everything.
S4: For everything.
S5: Why? It doesn’t hurt if two persons read the balance simultaneously.
no pedagogical added value from its use. Therefore, jBACI, a functionally identi-
cal concurrency simulator with a modern graphical user interface, was developed.3
From the point of view of the students, the modern interface gave jBACI a legiti-
macy that the old simulator CP lacked. From our point of view and that of the
teachers, jBACI presented the same detailed data on the internal state of the pro-
gram and allowed the same fine level of control over the program execution, so that
jBACI could be used in the formal analysis of programs as required by the profes-
sional culture. The jBACI software functions as an FZCE: By providing an envi-
ronment with a graphical user interface, we legitimized the students’ strong prefer-
ence to work with such an environment, while the same functionality enabled them
to engage in the practices of the professional culture.
CONCLUSION
The sociocultural framework shifted our emphasis from the content of students’
existing and newly constructed knowledge to the processes by which students ap-
3jBACI was built from the BACI (Ben-Ari Concurrent Interpreter) system (Bynum & Camp, 1996).
BACI is a total reimplementation and extension of the concurrency simulator described in Ben-Ari
(1982). Strite and Null (2002) wrote a portable interpreter with a graphical user interface in Java, which
we expanded into a full development environment. The source and executable code of jBACI, together
with documentation and sample programs, can be freely downloaded from http://stwww.weizmann.
ac.il/g-cs/benari/jbaci/index.html.
28 BEN-ARI AND KOLIKANT
Downloaded By: [Hebrew University of Jerusalem] At: 07:55 6 May 2008
The dining philosophers problem, invented by the late Edsger W. Dijkstra, is an ex-
ample of an important problem in concurrency that concerns the exclusive alloca-
tion of resources in a multi-entity system. The statement of the problem is as fol-
lows:
Five philosophers spend their lives alternately thinking and eating. They are seated in
a room around a circular table, with a single fork placed between each pair of neigh-
boring philosophers. In the middle of the table is an (inexhaustible) bowl of spa-
ghetti. When a philosopher wishes to eat, she must be in possession of both forks.
Good manners require that a philosopher pick up only one fork at a time. Develop an
algorithm for the philosophers that satisfies the following requirements: (a) mutual
exclusion (at most one philosopher is in possession of any fork at any time), (b) no
deadlock (if several philosophers wish to eat, eventually, one of them does so), (c) no
starvation (any philosopher wishing to eat eventually does so).
There is no fully satisfactory solution to this problem. Solutions to this problem in-
clude (a) an asymmetric solution (in which one philosopher picks up her forks in a
different order than do her colleagues), (b) a solution with extra overhead (a door-
man who ensures that at most four philosophers try to eat simultaneously), and (c)
an algorithm that uses randomness. The research and pedagogical attractiveness of
this problem stems from the depth of the conceptual and technical issues that can
be discussed within its entertaining framework.
REFERENCES
Aho, A. V., & Ullman, J. D. (1992). Foundations of computer science. New York: Freeman/Computer
Science Press.
Ben-Ari, M. (1982). Principles of concurrent and distributed programming. London: Prentice Hall In-
ternational.
Ben-Ari, M. (2001). Constructivism in computer science education. Journal of Computers in Mathe-
matics and Science Teaching, 20(1), 45–73.
30 BEN-ARI AND KOLIKANT
Downloaded By: [Hebrew University of Jerusalem] At: 07:55 6 May 2008
Ben-Ari, M. (2004). Situated learning in computer science education. Computer Science Education,
14, 85–100.
Ben-Ari, M., & Ben-David Kolikant, Y. (1999). Thinking parallel: The process of learning con-
currency. SIGCSE Bulletin, 31(3), 13–16.
Ben-David Kolikant, Y. (2001). Gardeners and cinema tickets: High school students’ preconceptions of
concurrency. Computer Science Education, 11, 221–245.
Ben-David Kolikant, Y. (2004a). Learning concurrency: Evolution of students’ understanding of syn-
chronization. International Journal of Human Computers Studies, 60(2), 243–268.
Ben-David Kolikant, Y. (2004b). Learning concurrency as an entry point to the community of CS prac-
titioners. Journal of Computers in Mathematics and Science Teaching, 23(1), 21–46.
Ben-David Kolikant, Y., Ben-Ari, M., & Pollack, S. (2000). The anthropology of semaphores. SIGCSE
Bulletin, 32(3), 21–24.
Booth, S. (2001, August). Learning to program as entering the datalogical culture: A phenomeno-
graphic exploration. Paper presented at the Ninth European Association for Research on Learning
and Instruction Conference, Fribourg, Switzerland. Retrieved December 13, 2006, from http://
www.pedagog.lu.se/personal/sb/Entering%20the%20datalogical%20culture.pdf
Brown, B. A. (2004). Discursive identity: Assimilation into the culture of science and its implications
for minority students. Journal of Research in Science Teaching, 41, 810–834.
Brown, J. S., Collins, A., & Duguid, P. (1989). Situated learning and the culture of learning. Education
Researcher, 18(1), 32–42.
Bynum, B., & Camp, T. (1996). After you, Alfonse: A mutual exclusion toolkit. SIGCSE Bulletin,
28(1), 170–174.
Carroll, J. M., & Rosson, M. B. (1987). The paradox of the active user. In J. M. Carroll (Ed.), Inter-
facing thought: Cognitive aspects of human-computer interaction (pp. 80–111). Cambridge, MA:
MIT Press/Bradford Books.
Clark, M. A. C., & Boyle, R. D. (1999). A personal theory of teaching computing through final year
projects. Computer Science Education, 9, 200–214.
College Board AP. (2006). Computer science: Course description. Retrieved December 13, 2006, from
http://apcentral.collegeboard.com/repository/05834apcoursdesccomps_4315.pdf
Davies, S. P. (1993). Models and theories of programming strategy. International Journal of Man-Ma-
chine Studies, 39, 237–267.
Edwards, S. H. (2004). Using software testing to move students from trial-and-error to reflection-in-ac-
tion. SIGCSE Bulletin, 36(1), 26–30.
Gal-Ezer, J., Beeri, C., Harel, D., & Yehudai, A. (1995). A high-school program in computer science.
IEEE Computer, 28(10), 73–80.
Goodell, H., Maulsby, D., Kuhn, S., & Traynor, C. (1999). End-user programming/informal program-
ming. A workshop conducted at the ACM CHI 1999. SIGCHI Bulletin, 31(4), 17–21. Retrieved De-
cember 8, 2006, from
Gries, D. (2002). Where is programming methodology these days? Inroads SIGCSE Bulletin, 34(4),
5–7.
Gutiérrez, K., & Rogoff, B. (2003). Cultural ways of learning: Individual traits or repertoires of prac-
tice. Educational Researcher, 32(5), 19–25.
Hartmanis, J. (1995). Turing award lecture: On computational complexity and the nature of computer
science. Computing Surveys, 27(1), 7–16.
Hoare, C. A. R. (1989). Computer science. In C. A. R. Hoare & C. B Jones (Eds.), Essays in computing
science (pp. 89–101). Englewood Cliffs, NJ: Prentice Hall.
Holmboe, C. (2004). A Wittgenstein approach to the learning of OO-modeling. Computer Science Edu-
cation, 14, 277–296.
Holmboe, C. (2005).Conceptualization and labelling as cognitive challenges for students of data mod-
eling. Computer Science Education, 15, 143–161.
FERTILE ZONES OF CULTURAL ENCOUNTER 31
Downloaded By: [Hebrew University of Jerusalem] At: 07:55 6 May 2008
Holmboe, C., McIver, G. C., & George, C. (2001). Research agenda for computer science education. In
G. Kadoda (Ed.), Proceeding of the 13rd Annual Meeting of the Psychology of Programming Interest
Group (pp. 207–223). Bournemouth, UK: Bournemouth University.
Hundhausen, C. (2002). Ethnographic studies of a social constructivist approach to integrating algo-
rithm visualization technology into an undergraduate algorithms course. Computers & Education,
39(3), 237–260.
Knuth, D. (1974). Computer science and its relation to mathematics. American Mathematical Monthly,
81, 323–343.
Knuth, D. (1985). Algorithmic thinking and mathematical thinking. American Mathematical Monthly,
92, 170–181.
Labaree, D. F. (2003). The peculiar problems of preparing and becoming educational researchers. Edu-
cational Researcher, 32(4), 13–22.
Lave, J., & Wenger, E. (1991). Situated learning: Legitimate peripheral participation. Cambridge,
England: Cambridge University Press.
Leventhal, L. M., Teaslley, B. E., & Schertler Rohlman, D. (1994). Analyses of factors related to
positive test bias in software testing. International Journal of Human Computer Studies, 41,
717–749.
McCracken, M., et al. (2001). A multi-national, multi-institutional study of assessment of program-
ming skills of first-year CS students. SIGCSE Bulletin, 33(4), 125–140.
Nardi, B., & Miller, J. (1991). Twinkling lights and nested loops: Distributed problem solving and
spreadsheet development. International Journal of Man-Machine Studies, 34, 161–184.
Nardi, B. A. (1993). . Cambridge, MA: .
Neumann, A., Pallas, A., & Peterson, P. (1999). Preparing education practitioners to practice education
research. In E. C. Lagemann & L. S. Shulman (Eds.), Issues in education research: Problems and
possibilities (pp. 247–288). San Francisco: Jossey-Bass.
Resnick, L. B. (1989). Knowing, learning, and instruction: Essays in honor of Robert Glaser. Hillsdale,
NJ: Erlbaum.
Rist, R. S. (1995). Program structure and design. Cognitive Science, 19, 507–562.
Roberts, E. (2004). The dream of a common language: The search for simplicity and stability in com-
puter science education. SIGCSE Bulletin, 36(1), 115–119.
Robins, A., Rountree, J., & Rountree, N. (2003). Learning and teaching programming: A review and
discussion. Computer Science Education, 13, 137–172.
Rosebery, A., Warren, B., & Conant, F. (1992). Appropriating scientific discourse: Findings from lan-
guage minority classrooms. Journal of the Learning Sciences, 2, 61–94.
Roth, W.-M., & Bowen, G. M. (1995). Knowing and interacting: A study of culture, practices, and re-
sources in a grade 8 open-inquiry science classroom guided by a cognitive apprenticeship metaphor.
Cognition and Instruction, 13, 73–128.
Schoenfeld, A. H. (1992). Learning to think mathematically: Problem solving, metacognition, and
sense-making in mathematics. In D. Grouws (Ed.), Handbook for research on mathematics teaching
and learning (pp. 334–370). New York: Macmillan.
Schofield, J. W. (1995). Computers and classroom culture. New York: Cambridge University Press.
Sfard, A. (1998). On two metaphors for learning and on the dangers of choosing just one. Educational
Researcher, 27(2), 4–13.
Simon, B. Lister, R., & Fincher, S. (2006). Multi-institutional computer science educational research:
A review of recent studies of novice understanding. Proceedings of the 36th Annual Frontiers in Edu-
cation Conference, SE412–17.
Smith, J. P., III, diSessa, A. A., & Roschelle, J. (1993/1994). Misconceptions reconceived: A con-
structivist analysis of knowledge in transition. Journal of the Learning Sciences, 3, 115–164.
Soloway, E., & Spohrer, J. C. (Eds.) (1989). Studying the novice programmer. Hillsdale, NJ: Lawrence
Erlbaum.
32 BEN-ARI AND KOLIKANT
Downloaded By: [Hebrew University of Jerusalem] At: 07:55 6 May 2008
Strite, D., & Null, L. (2002). BACI debugger: A GUI debugger for the BACI system. Journal of Com-
puting Sciences in Colleges, 17(4), 112–122.
Sweedyk, E., deLaet, M., Slattery, M. C., & Kuffner, J. (2005). Computer games and CS education:
Why and how. SIGCSE Bulletin, 37(1), 256–257.
Turkle, S. (1995). Life on the screen: Identity in the age of the Internet. New York: Simon & Schuster.
Warren, B., Ballenger, C., Ogonowski, M., Rosebery, A. S., & Hudicourt-Barnes, J. (2001). Rethinking
diversity in learning science: The logic of everyday sense-making. Journal of Research in Science
Teaching, 38, 529–552.
Wenger, E. (1998). Communities of practice—Learning, meaning and identity. Cambridge, England:
Cambridge University Press.
Wiedenbeck, S., Ramalingam, V., Sarasamma, S., & Corritore, C. L. (1999). A comparison of the com-
prehension of object-oriented and procedural programs by novice programmers. Interacting with
Computers, 11, 255–282.