Design Patterns for CS Education/Design Patterns/Pair programming

Pair programming edit

Pattern Name


Problem: Students need some structure when asked to work together on a programming task.

Level (Introduction, Intermediate, Advanced, Capstone)

Semester (Fall, Spring, Summer)

Activity type (programming, project, quiz, discussion, problem solving)

Solution: Students are assigned to work in pairs in a structured environment that involves defined roles that the students share.

Formation (any)

Size (pairs)

Composition (any)

Duration (any)

Contribution to grade (small, medium)

Activity progression ( individual to group, )

Roles (task specific)

Rationale: Students get stuck/frustrated and give up. With a partner they can share the burden. They learn more by collaborating with another. More eyes on the problem help you find obvious problems/typos. Encourages peer learning and peer teaching.
Potential Pitfalls: One student may take over. Both students get stuck.