Table of Links
Abstract and 1. Introduction
2 Literature Review
3 Approach
3.1 Problem Structure & Dynamic Scaffolding
3.2 Informal Assessment & Feedback
3.3 Pair Programming Dyad
3.4 Course Structure
4 Discussion
5 Conclusion
6 Acknowledgements and References
5 Conclusion
Pair programming has long been a promising pedagogical tool but its application to the classroom has seen mixed results. In particular, instruction design for pair programming has seen little research. PSS however is a natural fit for both CS education and for pair programming in particular.
PSS is an active learning pedagogy that involves student pairs solving problems in class. It uses dynamic scaffolding to adjust the problem difficulty to match student ability in order to keep them in their ZPD. PSS is an apprenticeship model of learning that has been successful in engineering education.
The adaptation of PSS for CS presented and studied here appears to be a good solution to the problem of applying pair programming to the classroom Both the “problem ladder” and dynamic scaffolding provide enough guidance and direction for students of a variety of backgrounds and abilities. The active and adaptive nature of the learning environment resulted in a large number of students reporting to be engaged and challenged.
Further, students reported appreciating the weekly structure of the class as well. By rotating through, demonstration, PSS, and debriefing, students were able to see and apply new concepts each week. This provides the freedom and engagement of active learning while avoiding the pitfall of too little guidance for inexperienced or weak students.
PSS for CS combines a free and active learning environment with a deliberate structure to keep students on track. This a fruitful middle ground we believe students find refreshing while being highly educational. The highly positive results from students, with the overwhelming majority finding PSS for CS useful, engaging, and challenging, should encourage other educators to adapt it to their classroom.
6 Acknowledgements
We thank Joe Le Doux for teaching us PSS at a KEEN workshop and for his insights, comments, and edits when preparing this manuscript. We would also like to thank the reviewers at ASEE for their thorough and helpful feedback.
References
K. Beck, Extreme programming explained: embrace change. addison-wesley professional, 2000.
J. E. Hannay, T. Dybå, E. Arisholm, and D. I. Sjøberg, “The effectiveness of pair programming: A meta-analysis,” Information and software technology, vol. 51, no. 7, pp. 1110–1122, 2009.
A. Hawlitschek, S. Berndt, and S. Schulz, “Empirical research on pair programming in higher education: a literature review,” Computer Science Education, pp. 1–29, 2022.
L. Williams, R. R. Kessler, W. Cunningham, and R. Jeffries, “Strengthening the case for pair programming,” IEEE software, vol. 17, no. 4, pp. 19–25, 2000.
G. Salomon, Distributed cognitions: Psychological and educational considerations. Cambridge University Press, 1997.
L. Williams and R. L. Upchurch, “In support of student pair-programming,” ACM SIGCSE Bulletin, vol. 33, no. 1, pp. 327–331, 2001.
M. T. Chi and R. Wylie, “The icap framework: Linking cognitive engagement to active learning outcomes,” Educational psychologist, vol. 49, no. 4, pp. 219–243, 2014.
J. M. Le Doux and A. A. Waller, “The problem solving studio: An apprenticeship environment for aspiring engineers.” Advances in Engineering Education, vol. 5, no. 3, p. n3, 2016.
A. Collins et al., “Cognitive apprenticeship: Teaching the craft of reading, writing, and mathematics. technical report no. 403.” 1987.
C. McDowell, B. Hanks, and L. Werner, “Experimenting with pair programming in the classroom,” in Proceedings of the 8th annual conference on Innovation and technology in computer science education, 2003, pp. 60–64.
N. A. Bowman, L. Jarratt, K. Culver, and A. M. Segre, “Pair programming in perspective: Effects on persistence, achievement, and equity in computer science,” Journal of Research on Educational Effectiveness, vol. 13, no. 4, pp. 731–758, 2020.
L. L. Werner, B. Hanks, and C. McDowell, “Pair-programming helps female computer science students,” Journal on Educational Resources in Computing (JERIC), vol. 4, no. 1, pp. 4–es, 2004.
L. S. Vygotsky and M. Cole, Mind in society: Development of higher psychological processes. Harvard university press, 1978.
D. H. Jonassen and W. Hung, “All problems are not equal: Implications for problem-based learning,” Essential readings in problem-based learning, pp. 17–42, 2015.
S. M. Dinham, “An ongoing qualitative study of architecture studio teaching: Analyzing teacherstudent exchanges. ashe annual meeting paper.” 1987.
L. E. Raths, Teaching for thinking: Theory, strategies, and activities for the classroom. Teachers College Press, 1967.
D. Perkins, “Constructivism and troublesome knowledge,” in Overcoming barriers to student understanding. Routledge, 2006, pp. 57–71.
E. Hutchins, “The distributed cognition perspective on human interaction,” in Roots of human sociality. Routledge, 2020, pp. 375–398.
D. Rosenberg and M. Stephens, Extreme programming refactored: the case against XP. Apress, 2008.
M. A. Ruiz-Primo, “Informal formative assessment: The role of instructional dialogues in assessing students’ learning,” Studies in Educational Evaluation, vol. 37, no. 1, pp. 15–24, 2011.
C. McDowell, L. Werner, H. Bullock, and J. Fernald, “The effects of pair-programming on performance in an introductory programming course,” in Proceedings of the 33rd SIGCSE technical symposium on Computer science education, 2002, pp. 38–42.
Author:
(1) J. Walker Orr, Electrical Engineering and Computer Science, George Fox University, Newberg, OR, 97132, USA ([email protected]).