Computer Science Department implements pair programming

April 2, 2015, 12:10 a.m.
Introductory courses CS 106A and 106B have adopted a new pair programming policy (SIMON WARBY/The Stanford Daily).
Introductory courses CS 106A and 106B have adopted a new pair programming policy (SIMON WARBY/The Stanford Daily).

This quarter, Stanford’s Computer Science Department will implement “pair programming” in the introductory computer science (CS) courses CS 106A: Programming Methodology and CS 106B: Programming Abstractions. Instead of completing assignments individually, students will now be encouraged to work in pairs within their smaller discussion sections.

The purpose of this change is to reduce the increasingly demanding workload for section leaders due to high enrollment and also help students to develop important collaboration skills, according to CS lecturer Marty Stepp who spearheaded this change. Stepp is teaching both CS 106A and CS 106B this quarter.

“Having students submit in pairs will enable us to spend more time giving detailed and accurate grading feedback, and we hope students will learn more from their joint programming experience,” Stepp wrote in an email to The Daily.

In light of recent stories about increases in CS 106A honor code violations, many have speculated that this policy change is an attempt to curb students’ temptation to cheat. However, professor of computer science Eric Roberts explained that this was not the case.

“This has nothing to do with any recent stories,” Roberts said.

The work-load for section leaders has been a persistent problem in introductory CS courses, and pair programming is a potential solution that the department has been contemplating for a while.

“It was not a sudden decision,” Roberts said. “We’ve been thinking about this for a long time.”

Students will be encouraged to sit together and write the code at the same time or to do the assignments separately and then compare their code. They will be discouraged from splitting up parts of the assignment or taking turns doing entire assignments individually.

Roberts, who taught CS 106B in the winter and has also served as Associate Chair and Director of Undergraduate Studies for Computer Science, explained that pair programming will reduce the number of assignments that need to be graded and will help increase the retention rate of students in the section leading program.

Section leaders are students in the CS 198: Teaching Computer Science program who help with the introductory CS 106 classes by teaching weekly discussion sessions, grading assignments and exams and holding help hours in the LaIR.

Coordinator for CS 198 Reid Watson said that pair programming is gaining popularity among computer science educators. Many of Stanford’s CS lecturers were inspired to try the strategy on campus after hearing presentations about pair programming after attending the ACM Special Interest Group on Computer Science Education, a conference on computer science education.

According to Watson, these discussions took place long before recent honor code violations were brought to light.

“There had been no discussion about this being related to the honor code by anyone,” Watson said.

Watson explained that section sizes for the two classes will remain the same, but students will be given the option to work in pairs. He believes that students will be able to produce higher quality code by working with others.

“When you have to talk about your code with a partner, a lot of times you end up writing better code because there’s another person who needs to understand it,” Watson said.

“We believe this will actually improve the quality of assignments for a lot of students,” he added.

According to Stepp’s CS 106A syllabus for this quarter, students will still be required to complete exams and some assignments individually, but the majority of work will allow for collaboration with a partner. For these assignments, students are not required to work in pairs but are incentivized to do so. Only students working in pairs will be permitted to take “late days” on pair programming assignments.

“Working in pairs can improve student learning by giving you someone to talk to when they are stuck, or by letting you see a different way of approaching the same problem,” reads Stepp’s syllabus.

Section leader Rishi Bedi ’17 said he was really excited about and looking forward to the change.

“Pair programming presents a great opportunity for new CS students to not only strengthen understanding, but also to be better team members – a critical industry skill,” Bedi said.

Roberts said that the department hopes that students might be able to learn better by working with a friend.

“By letting people have the opportunity to work together, they might get a better experience through peer mentoring,” Roberts said.

Roberts also said that he has “no idea” whether or not this change will help reduce or cause an increase in the number of honor code violations, and both he and Watson emphasized that this quarter will serve as a trial period.

“The pair programming option is a trial for spring, and we will reevaluate its effectiveness later this quarter,” Roberts said.


Contact Erica Evans at elevans ‘at’

Login or create an account

Apply to The Daily’s High School Summer Program

deadline EXTENDED TO april 28!