Search Currents Currents Archives Contact Currents UC Santa Cruz Home Page
Currents Online

Classifieds

April 4, 2005

A new approach to teaching computer programming can help close the gender gap in computer science, researchers say

By Tim Stephens

UCSC faculty have had great success with a new approach to teaching computer programming in which students work together in pairs.

Photo: Students working 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 said.

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 programmed independently.

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, Werner said.

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 Research News.

"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," Werner said.

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," McDowell said.

Email this story
Printer-friendly version
Return to Front Page