  This study examines the adaptation of the problem-solving studio to computer
science education by combining it with pair programming. Pair programming is a
software engineering practice in industry, but has seen mixed results in the
classroom. Recent research suggests that pair programming has promise and
potential to be an effective pedagogical tool, however what constitutes good
instructional design and implementation for pair programming in the classroom
is not clear. We developed a framework for instructional design for pair
programming by adapting the problem-solving studio (PSS), a pedagogy originally
from biomedical engineering. PSS involves teams of students solving open-ended
problems with real-time feedback given by the instructor. Notably, PSS uses
problems of adjustable difficulty to keep students of all levels engaged and
functioning within the zone of proximal development. The course structure has
three stages, first starting with demonstration, followed by a PSS session,
then finishing with a debrief. We studied the combination of PSS and pair
programming in a CS1 class over three years. Surveys of the students report a
high level of engagement, learning, and motivation.
