Abstract
Until recently, collaborative programming in elementary contexts largely involved traditional one-computer pair programming, more commonly used in industry and university settings. This chapter outlines the historical background of traditional pair programming and if and how its use with elementary-aged children holds as much promise. We then explore alternative paradigms, which generally include the addition of a second computer; we call this configuration two-computer pair programming. Harnessing the advances in programming applications that permit synchronized collaboration, we then report on our work with both one- and two-computer pair programming in block-based programming environments. We conclude by providing a summary of student experiences and opinions on the one- and two-computer studies, and a set of actionable guidelines for practitioners who would like to implement these different collaborative paradigms in their elementary computer science lessons and digitally mediated team learning (DMTL) researchers who will develop support features in these types of environments.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Bakeman, R. (2000). Behavioral observation and coding. In H. T. Reis & C. M. Judd (Eds.), Handbook of research methods in social and personality psychology (pp. 138–159). Cambridge University Press.
Baytak, A., & Land, S. M. (2011). An investigation of the artifacts and process of constructing computers games about environmental science in a fifth-grade classroom. Educational Technology Research and Development, 59(6), 765–782. https://doi.org/10.1007/s11423-010-9184-z
Beck, K. (1999). Embracing change with extreme programming. Computer, 32(10), 70–77. https://doi.org/10.1109/2.796139
Bradbury, A., Wiebe, E., Vandenberg, J., Tsan, J., Lynch, C., & Boyer, K. (2019). The interface design of a collaborative computer science learning environment for elementary aged students. Proceedings of the Human Factors and Ergonomics Society Annual Meeting, 63(1), 493–497. https://doi.org/10.1177/1071181319631155
Braught, G., MacCormick, J., & Wahls, T. (2010, March). The benefits of pairing by ability. In Proceedings of the 41st ACM Technical Symposium on Computer Science Education (pp. 249–253). https://doi.org/10.1145/1734263.1734348
Broll, B., Völgyesi, P., Sallai, J., & Lédeczi, A. (2016). NetsBlox: A visual language and web-based environment for teaching distributed programming. [White paper]. Vanderbilt University. https://netsblox.org/NetsBloxWhitePaper.pdf
Campe, S., Green, E., & Denner, J. (2019). K-12 pair programming toolkit. ETR.
Canfora, G., Cimitile, A., Garcia, F., Piattini, M., & Visaggio, C. A. (2007). Evaluating performances of pair designing in industry. Journal of Systems and Software, 80(8), 1317–1327. https://doi.org/10.1016/j.jss.2006.11.004
Celepkolu, M., & Boyer, K. E. (2018, February). Thematic analysis of students’ reflections on pair programming in CS1. In Proceedings of the 49th ACM Technical Symposium on Computer Science Education (pp. 771–776).
Cockburn, A. (2004). Crystal clear: A human-powered methodology for small teams. Pearson Education.
Davidson, N., & Major, C. H. (2014). Boundary crossings: Cooperative learning, collaborative learning, and problem-based learning. Journal on Excellence in College Teaching, 25(3/4), 7–55.
Deitrick, E., Shapiro, R. B., & Gravel, B. (2016). How do we assess equity in programming pairs? In C. K. Looi, J. L. Polman, U. Cress, & P. Reimann (Eds.), Transforming Learning, Empowering Learners: The International Conference of the Learning Sciences (ICLS) 2016, Volume 1. International Society of the Learning Sciences.
Deng, X. (2017). Group collaboration with app inventor. (Doctoral dissertation, Massachusetts Institute of Technology).
Denner, J., Werner, L., Campe, S., & Ortiz, E. (2014). Pair programming: Under what conditions is it advantageous for middle school students? Journal of Research on Technology in Education, 46(3), 277–296. https://doi.org/10.1080/15391523.2014.888272
Dewan, P., Agarwal, P., Shroff, G., & Hegde, R. (2009, May). Distributed side-by-side programming. In 2009 ICSE Workshop on Cooperative and Human Aspects on Software Engineering (pp. 48–55). IEEE. https://doi.org/10.1109/CHASE.2009.5071410
Dillenbourg, P. (1999). Introduction: What do you mean by “collaborative learning”? In P. Dillenbourg (Ed.), Collaborative learning: Cognitive and computational approaches (pp. 1–19). Elsevier Science.
Dillenbourg, P. (2002). Over-scripting CSCL: The risks of blending collaborative learning with instructional design. In P. A. Kirschner (Ed.), Three worlds of CSCL. Can we support CSCL (pp. 61–91). Open Universiteit Nederland.
Fessakis, G., Gouli, E., & Mavroudi, E. (2013). Problem solving by 5–6 years old kindergarten children in a computer programming environment: A case study. Computers & Education, 63, 87–97. https://doi.org/10.1016/j.compedu.2012.11.016
Hathorn, L. G., & Ingram, A. L. (2002). Cooperation and collaboration using computer-mediated communication. Journal of Educational Computing Research, 26(3), 325–347. https://doi.org/10.2190/7MKH-QVVN-G4CQ-XRDU
Israel, M., Wherfel, Q. M., Shehab, S., Melvin, O., & Lash, T. (2017, August). Describing elementary students’ interactions in K-5 puzzle-based computer science environments using the collaborative computing observation instrument (C-COI). In Proceedings of the 2017 ACM Conference on International Computing Education Research (pp. 110–117). https://doi.org/10.1145/3105726.3106167
Janssen, J., Erkens, G., Kirschner, P. A., & Kanselaar, G. (2012). Task-related and social regulation during online collaborative learning. Metacognition and Learning, 7(1), 25–43. https://doi.org/10.1007/s11409-010-9061-5
Järvelä, S., & Hadwin, A. F. (2013). New frontiers: Regulating learning in CSCL. Educational Psychologist, 48(1), 25–39. https://doi.org/10.1080/00461520.2012.748006
Kafai, Y. B., & Ching, C. C. (2001). Affordances of collaborative software design planningfor elementary students’ science talk. The Journal of the Learning Sciences, 10(3), 323–363. https://doi.org/10.1207/S15327809JLS1003_4
Kumpulainen, K., & Mutanen, M. (1999). The situated dynamics of peer group interaction: An introduction to an analytic framework. Learning and Instruction, 9(5), 449–473. https://doi.org/10.1016/S0959-4752(98)00038-3
Lewis, C. M. (2011). Is pair programming more effective than other forms of collaboration for young students? Computer Science Education, 21(2), 105–134. https://doi.org/10.1080/08993408.2011.579805
Lewis, C. M., & Shah, N. (2015, August). How equity and inequity can emerge in pair programming. In Proceedings of the Eleventh Annual International Conference on International Computing Education Research (pp. 41–50). https://doi.org/10.1145/2787622.2787716
Lytle, N., Milliken, A., Cateté, V., & Barnes, T. (2020, February). Investigating different assignment designs to promote collaboration in block-based environments. In Proceedings of the 51st ACM Technical Symposium on Computer Science Education (pp. 832–838). https://doi.org/10.1145/3328778.3366943
Maguire, P., Maguire, R., Hyland, P., & Marshall, P. (2014). Enhancing collaborative learning using paired-programming: Who benefits? AISHE-J: The All Ireland Journal of Teaching and Learning in Higher Education, 6(2), 1411–1425.
Meier, A., Spada, H., & Rummel, N. (2007). A rating scheme for assessing the quality of computer-supported collaboration processes. International Journal of Computer-Supported Collaborative Learning, 2(1), 63–86. https://doi.org/10.1007/s11412-006-9005-x
Mercer, N. (2000). Words and minds: How we use language to think together. Routledge.
Missiroli, M., Russo, D., & Ciancarini, P. (2016, May). Learning agile software development in high school: An investigation. In Proceedings of the 38th International Conference on Software Engineering Companion (pp. 293–302). https://doi.org/10.1145/2889160.2889180
Miyake, N. (1997). Making internal processes external for constructive collaboration. In Proceedings Second International Conference on Cognitive Technology Humanizing the Information Age (pp. 119–123). IEEE Computer Society. https://doi.org/10.1109/CT.1997.617690
Nawrocki, J. R., Jasiński, M., Olek, Ł., & Lange, B. (2005, November). Pair programming vs. side-by-side programming. In European Conference on Software Process Improvement (pp. 28–38). Springer. https://doi.org/10.1007/11586012_4
Prechelt, L., Stärk, U., & Salinger, S. (2008). 7 types of cooperation episodes in side-by-side programming (Technical Report B-08-17). Freie Universität Berlin, Institut für Informatik.
Rodríguez, F. J., Price, K. M., & Boyer, K. E. (2017, March). Exploring the pair programming process: Characteristics of effective collaboration. In Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education (pp. 507–512). https://doi.org/10.1145/3017680.3017748
Roschelle, J., & Teasley, S. D. (1995). The construction of shared knowledge in collaborative problem solving. In Computer Supported Collaborative Learning (pp. 69–97). Springer. https://doi.org/10.1007/978-3-642-85098-1_5
Ruvalcaba, O., Werner, L., & Denner, J. (2016, February). Observations of pair programming: Variations in collaboration across demographic groups. In Proceedings of the 47th ACM Technical Symposium on Computing Science Education (pp. 90–95). https://doi.org/10.1145/2839509.2844558
Shah, N., Lewis, C., & Caires, R. (2014). Analyzing equity in collaborative learning situations: A comparative case study in elementary computer science. In Proceedings of the International Conference of the Learning Sciences, Colorado (pp. 495–502). International Society of the Learning Sciences. https://doi.org/10.22318/icls2014.495
Shawky, D., Badawi, A., Said, T., & Hozayin, R. (2014, December). Affordances of computer-supported collaborative learning platforms: A systematic review. In 2014 International Conference on Interactive Collaborative Learning (ICL) (pp. 633–651). https://doi.org/10.1109/ICL.2014.7017846
Toma, L., & Vahrenhold, J. (2018, August). Self-efficacy, cognitive load, and emotional reactions in collaborative algorithms labs: A case study. In Proceedings of the 2018 ACM Conference on International Computing Education Research (pp. 1–10). https://doi.org/10.1145/3230977.3230980
Tsan, J., Rodríguez, F. J., Boyer, K. E., & Lynch, C. (2018, February). “I think we should...”: Analyzing elementary students’ collaborative processes for giving and taking suggestions. In Proceedings of the 49th ACM Technical Symposium on Computer Science Education (pp. 622–627). https://doi.org/10.1145/3159450.3159507
Tsan, J., Vandenberg, J., Fu, X., Wilkinson, J., Boulden, D., Boyer, K. E., Lynch, C. & Wiebe, E. (2019, February). An investigation of conflicts between upper-elementary pair programmers. In Proceedings of the 50th ACM Technical Symposium on Computer Science Education (pp. 1264). https://doi.org/10.1145/3287324.3293799
Tsan, J., Vandenberg, J., Zakaria, Z., Wiggins, J. B., Webber, A. R., Bradbury, A., Lynch, C., Wiebe, E. & Boyer, K. E. (2020, February). A comparison of two pair programming configurations for upper elementary students. In Proceedings of the 51st ACM Technical Symposium on Computer Science Education (pp. 346–352). https://doi.org/10.1145/3328778.3366941
T’sas, J. (2018). Learning outcomes of exploratory talk in collaborative activities. (Doctoral dissertation, University of Antwerp).
Van Langenhove, L., & Harré, R. (1999). Introducing positioning theory. In Positioning theory: Moral contexts of intentional action (pp. 14–31). Blackwell.
Werner, L., Denner, J., Campe, S., Ortiz, E., DeLay, D., Hartl, A. C., & Laursen, B. (2013, March). Pair programming for middle school students: Does friendship influence academic outcomes? In Proceeding of the 44th ACM Technical Symposium on Computer Science Education (pp. 421–426). https://doi.org/10.1145/2445196.2445322
Werner, L. L., Hanks, B., & McDowell, C. (2004). Pair-programming helps female computer science students. Journal on Educational Resources in Computing (JERIC), 4(1), 4-es. https://doi.org/10.1145/1060071.1060075
Williams, L., Kessler, R. R., Cunningham, W., & Jeffries, R. (2000). Strengthening the case for pair programming. IEEE Software, 17(4), 19–25. https://doi.org/10.1109/52.854064
Williams, L., & Upchurch, R. L. (2001). In support of student pair-programming. ACM SIGCSE Bulletin, 33(1), 327–331. https://doi.org/10.1145/366413.364614
Williams, L., Wiebe, E., Yang, K., Ferzli, M., & Miller, C. (2002). In support of pair programming in the introductory computer science course. Computer Science Education, 12(3), 197–212. https://doi.org/10.1076/csed.12.3.197.8618
Zakaria, Z., Boulden, D., Vandenberg, J., Tsan, J., Lynch, C., Wiebe, E., & Boyer, K. (2019, June). Collaborative talk across two pair-programming configurations. In International Conference on Computer-Supported Collaborative Learning (CSCL) (pp. 224–231).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 Association for Educational Communications and Technology
About this chapter
Cite this chapter
Vandenberg, J., Tsan, J., Zakaria, Z., Lynch, C., Boyer, K.E., Wiebe, E. (2021). The Foundations of Collaborative Programming by Elementary-Aged Children. In: Campbell, L.O., Hartshorne, R., DeMara, R.F. (eds) Perspectives on Digitally-Mediated Team Learning. Educational Communications and Technology: Issues and Innovations. Springer, Cham. https://doi.org/10.1007/978-3-030-77614-5_4
Download citation
DOI: https://doi.org/10.1007/978-3-030-77614-5_4
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-77613-8
Online ISBN: 978-3-030-77614-5
eBook Packages: EducationEducation (R0)