Skip to main content

The Foundations of Collaborative Programming by Elementary-Aged Children

  • Chapter
  • First Online:
Perspectives on Digitally-Mediated Team Learning

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 129.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 169.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

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.

    Google Scholar 

  • 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

    Article  Google Scholar 

  • Beck, K. (1999). Embracing change with extreme programming. Computer, 32(10), 70–77. https://doi.org/10.1109/2.796139

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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.

    Google Scholar 

  • 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

    Article  Google Scholar 

  • 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).

    Google Scholar 

  • Cockburn, A. (2004). Crystal clear: A human-powered methodology for small teams. Pearson Education.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • Deng, X. (2017). Group collaboration with app inventor. (Doctoral dissertation, Massachusetts Institute of Technology).

    Google Scholar 

  • 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

    Article  Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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.

    Google Scholar 

  • 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

    Article  Google Scholar 

  • Mercer, N. (2000). Words and minds: How we use language to think together. Routledge.

    Google Scholar 

  • 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

    Chapter  Google Scholar 

  • 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

    Chapter  Google Scholar 

  • 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.

    Google Scholar 

  • 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

    Chapter  Google Scholar 

  • 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

    Chapter  Google Scholar 

  • 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).

    Google Scholar 

  • Van Langenhove, L., & Harré, R. (1999). Introducing positioning theory. In Positioning theory: Moral contexts of intentional action (pp. 14–31). Blackwell.

    Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jessica Vandenberg .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2021 Association for Educational Communications and Technology

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics