April 4, 2005
A new approach to teaching computer programming
can help close the gender gap in computer science, researchers
UCSC faculty have had great success with a new approach to
teaching computer programming in which students work together
In pair programming, students
work together at the same computer to tackle programming
assignments as a team.
Photo: C. McDowell
Studies at UCSC and elsewhere indicate that the technique
has benefits for all students and can help increase the participation
of female students in computer science programs.
In traditional introductory courses, students work individually
on programming assignments, and teaming up with another student
would be considered cheating. Pair programming, in contrast,
brings students together in pairs, both working at the same
computer to tackle problems as a team.
"We found that pair programming was great for everyone,
men and women, and the improvements in terms of the retention
of women in computer science were dramatic," said Linda
Werner, a lecturer in computer science who led a study of pair
programming involving more than 500 students at UCSC.
The study, funded by the National Science Foundation, brought
together UCSC researchers with expertise in computer science,
psychology, and statistics. Werner's collaborators include Charles
McDowell, professor of computer science; Brian Hanks, one of
McDowell's former graduate students who is now at Fort Lewis
College in Colorado; Heather Bullock, associate professor of
psychology; and Julian Fernald, assistant director of institutional
research at UCSC.
According to McDowell, the results show that pair programming
is an effective teaching tool, and there is no evidence of any
disadvantages from this approach. "There is nothing to
indicate any reason not to do pair programming," he said.
Werner first heard about pair programming from a researcher
at North Carolina State University in 2000, around the same
time that the American Association of University Women released
a report on factors that limit the participation of women in
computer science. Among the factors identified in the report
was the perception that computer science involves working alone
in a highly competitive environment.
"Pair programming just seemed like a good way to address
those issues, but I wanted to do a careful study that would
give us quantitative results on its effectiveness," Werner
The UCSC study found that students who programmed in pairs
produced better programs, completed the course at higher rates,
and performed about as well on the final exam as students who
Among female students, those who did pair programming were
much more likely to declare a computer science-related major
than those who worked individually. The retention rate (percentage
who stayed with computer science) increased for both men and
women, but the improvement was especially striking for women,
The researchers have also seen good results from pair programming
with students at San Jose State University and Cabrillo College.
Werner said she is now eager to spread the news about pair programming's
benefits more broadly to computer science programs throughout
the country. The researchers published an article about pair
programming and the retention of female students in the March
issue of Computing
"This is a publication that goes to all of the department
chairs in computer science and related programs, so it will
get to the people who are in a position to affect teaching policies,"
McDowell said some faculty still feel uncomfortable with pair
programming because of the possibility that one partner in the
pair will dominate and the other person will not learn as much
as they might on their own.
"My response is to consider what happens to the weaker
students in traditional programs. Either they struggle on their
own or they find someone who can help them, which is what pair
programming gives them. So I don't think we've introduced any
new problems," McDowell said.
"Some weak students will learn more, some will continue
to flail, but I don't think a weak student is harmed by pair
programming. They have someone they can talk to, they get to
see a working solution, and they can learn from that,"
Email this story
Return to Front Page