AMOEBA: Designing for collaboration in computer science classrooms through live learning analytics


AMOEBA is a unique tool to support teachers’ orchestration of collaboration among novice programmers in a non-traditional programming environment. The AMOEBA tool was designed and utilized to facilitate collaboration in a classroom setting in real time among novice middle school and high school programmers utilizing the IPRO programming environment. AMOEBA’s key affordance is supporting teachers’ pairing decisions with real time analyses of students’ programming progressions. Teachers can track which students are working in similar ways; this is supported by real-time graphical log analyses of student activities within the programming environment. Pairing students with support from AMOEBA led to improvements in students’ program complexity and depth. Analyses of the data suggest that the data mining techniques utilized in and the metrics provided by AMOEBA can support instructors in orchestrating cooperation. The primary contributions of this paper are a set of design principles around and a working tool for fostering collaboration in computer science classes.

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

Access options

Buy single article

Instant unlimited access to the full article PDF.

US$ 39.95

Price includes VAT for USA

Subscribe to journal

Immediate online access to all issues from 2019. Subscription will auto renew annually.

US$ 99

This is the net price. Taxes to be calculated in checkout.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6


  1. 1.

    Within the literature of pair programming understanding, competence, aptitude, and skill are frequently used near synonymously. Here the term “skill” will be used for this amalgam and the term “proficiency” will be used for a superset of skill and contextual comprehension.

  2. 2.

    IPRO is available free of charge on the iTunes store.


  1. Abrahamson, D. (2009). Embodied design: Constructing means for constructing meaning. Educational Studies in Mathematics, 70(1), 27–47.

  2. Anaya, A. R., & Boticario, J. G. (2009). A data mining approach to reveal representative collaboration indicators in open collaboration frameworks. In Proceedings of the 2nd International Conference on Educational Data Mining (EDM09) (pp. 210–219).

  3. Anaya, A. R., & Boticario, J. G. (2011). Content-free collaborative learning modeling using data mining. User Modeling and User-Adapted Interaction, 21(1–2), 181–216.

  4. Bachour, K., Kaplan, F., & Dillenbourg, P. (2008). Reflect: An interactive table for regulating face-to-face collaborative learning. In P. Dillenbourg & M. Specht (Eds.), Times of convergence. Technologies across learning contexts (pp. 39–48). Berlin: Springer.

  5. Baker, R., & Yacef, K. (2009). The state of educational data mining in 2009: A review and future visions. Journal of Educational Data Mining, 1(1), 3–17.

  6. Barab, S., & Squire, K. (2004). Design-based research: Putting a stake in the ground. Journal of the Learning Sciences, 13(1), 1–14.

  7. Barros, B., & Verdejo, M. F. (2000). Analysing student interaction processes in order to improve collaboration. The DEGREE approach. International Journal of Artificial Intelligence in Education, 11(3), 221–241.

  8. Ben-Ari, M. (2001). Constructivism in computer science education. Journal of Computers in Mathematics and Science Teaching, 20(1), 45–73.

  9. Berland, M., Martin, T., & Benton, T. (2010). Programming standing up: Embodied computing with constructionist robotics. In Proceedings of Constructionism 2010. Paris.

  10. Berland, M., Martin, T., Benton, T., & Petrick, C. (2011). Programming on the move: Design lessons from IPRO. In Proceedings of the ACM SIGCHI 2011 (pp. 2149–2154). Vancouver.

  11. Berland, M., Martin, T., Benton, T., Smith, C. P., & Davis, D. (2013a). Using learning analytics to understand the learning pathways of novice programmers. Journal of the Learning Sciences, 22(4), 564–599.

  12. Berland, M., Smith, C. P., & Davis, D. (2013). Visualizing live collaboration in the classroom with AMOEBA. In Proceedings of the International Conference on Computer-Supported Collaborative Learning.

  13. Blikstein, P. (2011). Using learning analytics to assess students’ behavior in open-ended programming tasks. Proceedings of the Learning Analytics and Knowledge Conference (LAK11).

  14. Blikstein, P., Abrahamson, D., & Wilensky, U. (2005). Netlogo: Where we are, where we’re going. In Proceedings of Annual Meeting of Interaction Design & Children.

  15. Braught, G., Eby, L. M., & Wahls, T. (2008). The effects of pair-programming on individual programming skill. SIGCSE Bulletin, 40(1), 200–204.

  16. Braught, G., Wahls, T., & Eby, L. M. (2011). The case for pair programming in the computer science classroom. Transaction in Computing Education, 11(1), 1–21.

  17. Byckling, P., & Sajaniemi, J. (2006). A role-based analysis model for the evaluation of novices’ programming knowledge development. In Proceedings of the second international workshop on Computing education research (pp. 85–96). Canterbury: ACM.

  18. Cao, L., & Xu, P. (2005). Activity patterns of pair programming. Proceedings of the 38th Annual Hawaii International Conference on System Sciences, 2005 (HICSS’05), 1–10.

  19. Carbone, A., & Kaasbøll, J. J. (1998). A survey of methods used to evaluate computer science teaching. In ACM SIGCSE Bulletin (Vol. 30, pp. 41–45). ACM.

  20. Carter, D. P. (2014). AP Computer Science: Teacher’s guide. Lancaster: CollegeBoard. Retrieved from

  21. Chaparro, E. A., Yuksel, A., Romero, P., & Bryant, S. (2005). Factors affecting the perceived effectiveness of pair programming in higher education. In Proc. PPIG (pp. 5–18).

  22. Darling-Hammond, L. (1997). The quality of teaching matters most. Journal of Staff Development, 18(1), 38–41.

  23. Dillenbourg, P., Baker, M. J., Blaye, A., & O’Malley, C. (1995). The evolution of research on collaborative learning. In E. Spada & P. Reiman (Eds.), Learning in humans and machine: Towards an interdisciplinary learning science (pp. 189–211). Oxford: Elsevier.

  24. Dillenbourg, P., Järvelä, S., & Fischer, F. (2009). The evolution of research on computer supported collaborative learning. In N. Balacheff, S. Ludvigsen, T. Jong, A. Lazonder, & S. Barnes (Eds.), Technology-enhanced learning (pp. 3–19). Netherlands: Springer.

  25. Dimitriadis, Y. A. (2012). Supporting teachers in orchestrating CSCL classrooms. In A. Jimoyiannis (Ed.), Research on e-Learning and ICT in Education (pp. 71–82). New York: Springer.

  26. diSessa, A. A., & Cobb, P. (2004). Ontological innovation and the role of theory in design experiments. Journal of the Learning Sciences, 13(1), 77–103.

  27. Dunning, T. (1993). Accurate methods for the statistics of surprise and coincidence. Computational Linguistics, 19(1), 61–74.

  28. Dunning, T. (2008). Surprise and Coincidence - musings from the long tail. Retrieved October 5, 2013, from

  29. Edelson, D. C. (2002). Design research: What we learn when we engage in design. Journal of the Learning Sciences, 11(1), 105–121.

  30. Ericson, B., Guzdial, M., & Biggers, M. (2007). Improving secondary CS education: Progress and problems. In ACM SIGCSE Bulletin (Vol. 39, pp. 298–301). New York: ACM.

  31. Flieger, J., & Palmer, J. D. (2010). Supporting pair programming with JavaGrinder. Journal of Computing Sciences in Colleges, 26(2), 63–70.

  32. Fosnot, C. T. (Ed.). (2005). Constructivism: Theory, perspectives, and practice. New York: Teachers College Press.

  33. Fosnot, C. T., & Perry, R. S. (2005). Constructivism: A psychological theory of learning. In C. T. Fosnot (Ed.), Constructivism: Theory, perspectives, and practice (pp. 8–38). New York: Teachers College Press.

  34. Gaudioso, E., Montero, M., Talavera, L., & Hernandez-del-Olmo, F. (2009). Supporting teachers in collaborative student modeling: A framework and an implementation. Expert Systems with Applications, 36(2), 2260–2265.

  35. Gigerenzer, G. (2004). Mindless statistics. The Journal of Socio-Economics, 33(5), 587–606.

  36. Gillie, T., & Broadbent, D. (1989). What makes interruptions disruptive? A study of length, similarity, and complexity. Psychological Research, 50(4), 243–250.

  37. Goos, M., Galbraith, P., & Renshaw, P. (2002). Socially mediated metacognition: Creating collaborative zones of proximal development in small group problem solving. Educational Studies in Mathematics, 49(2), 193–223.

  38. Guzdial, M. (2007). Contextualized computing education increasing retention by making computing relevant. White Paper, Georgia Institute of Technology.

  39. Guzdial, M., & Forte, A. (2005). Design process for a non-majors computing course. ACM SIGCSE Bulletin, 37(1), 361–365.

  40. Guzdial, M., Hübscher, R., Nagel, K., Newstetter, W., Puntambekar, S., Shabo, A., et al. (1997). Integrating and guiding collaboration: Lessons learned in computer-supported collaborative learning research at Georgia Tech. In R. Hall, N. Miyake, & N. Enyedy (Eds.), Proceedings of the 2nd International Conference on Computer Support for Collaborative Learning (pp. 91–100). Mahwah: Lawrence Erlbaum Associates, Inc.

  41. Jermann, P., Mühlenbrock, M., & Soller, A. (2002). Designing computational models of collaborative learning interaction. In Proceedings of the conference on computer support for collaborative learning: Foundations for a CSCL community (pp. 730–732). Boulder: International Society of the Learning Sciences.

  42. Kangas, M. (2004). The impact of individual differences on pair programming. T-76.650 Seminar in Software Engineering.

  43. Katira, N., Williams, L., Wiebe, E., Miller, C., Balik, S., & Gehringer, E. (2004). On understanding compatibility of student pair programmers. SIGCSE Bulletin, 36(1), 7–11.

  44. Katira, N., Williams, L., & Osborne, J. (2005). Towards increasing the compatibility of student pair programmers. In Proceedings of the 27th International Conference on Software Engineering (pp. 625–626). St. Louis: ACM.

  45. Kelleher, C., & Pausch, R. (2007). Using storytelling to motivate programming. Communications of the ACM, 50(7), 58–64.

  46. Koehler, M. J., & Mishra, P. (2005). What happens when teachers design educational technology? The development of technological pedagogical content knowledge. Journal of Educational Computing Research, 32(2), 131–152.

  47. Li, Z., Plaue, C., & Kraemer, E. (2013). A spirit of camaraderie: The impact of pair programming on retention. In Software Engineering Education and Training (CSEE&T), 2013 I.E. 26th Conference on (pp. 209–218). IEEE.

  48. Lyons, L., Tissenbaum, M., Berland, M., Eydt, R., Wielgus, L., & Mechtley, A. (2015). Designing visible engineering: supporting tinkering performances in museums. In Proceedings of the 14th International Conference on Interaction Design and Children (pp. 49–58). New York: ACM.

  49. Margolis, J., & Fisher, A. (2003a). Geek mythology. Bulletin of Science Technology & Society, 23(1), 17–20. doi:10.1177/0270467602239766.

  50. Margolis, J., & Fisher, A. (2003b). Unlocking the clubhouse: Women in computing. Cambridge: The MIT Press.

  51. Margolis, J., Goode, J., Holme, J. J., & Nao, K. (2008). Stuck in the shallow end: Education, race, and computing. Cambridge: The MIT Press.

  52. Martin, T., Berland, M., Benton, T., & Smith, C. P. (2013). Learning programming with IPRO: The effects of a mobile, social programming environment. Journal of Interactive Learning Research, 24(3), 301–328.

  53. McKinney, D., & Denton, L. F. (2006). Developing collaborative skills early in the CS curriculum in a laboratory environment. In Proceedings of the 37th SIGCSE Technical Symposium on Computer Science Education (pp. 138–142). New York: ACM.

  54. Mishra, P., & Koehler, M. (2006). Technological pedagogical content knowledge: A framework for teacher knowledge. The Teachers College Record, 108(6), 1017–1054.

  55. Nagappan, N., Williams, L., Ferzli, M., Wiebe, E., Yang, K., Miller, C., & Balik, S. (2003). Improving the CS1 experience with pair programming. SIGCSE Bulletin, 35(1), 359–362.

  56. Papert, S. (1980). Mindstorms: Children, computers, and powerful ideas. New York: Basic Books.

  57. Papert, S., & Harel, I. (1991). Situating constructionism. Constructionism (1–11).

  58. Pardos, Z. A., Baker, R. S., San Pedro, M. O., Gowda, S. M., & Gowda, S. M. (2013). Affective states and state tests: Investigating how affect throughout the school year predicts end of year learning outcomes. In Proceedings of the Third International Conference on Learning Analytics and Knowledge (pp. 117–124). New York: ACM.

  59. Perlow, L. A. (1999). The time famine: Toward a sociology of work time. Administrative Science Quarterly, 44(1), 57–81.

  60. Petrick, C., Berland, M., & Martin, T. (2011). Allocentrism and computational thinking. In G. Stahl, H. Spada, & N. Miyake (Eds.), Proceedings of the Ninth International Conference on Computer-Supported Collaborative Learning. Hong Kong.

  61. Preston, D. (2005). Pair programming as a model of collaborative learning: A review of the research. Journal of Computing Sciences in Colleges, 20(4), 39–45.

  62. Purtilo, J. J., & Callahan, J. R. (1989). Parse tree annotations. Communications of the ACM, 32(12), 1467–1477.

  63. Radermacher, A., Walia, G., & Rummelt, R. (2012). Assigning student programming pairs based on their mental model consistency: an initial investigation. In Proceedings of the 43rd ACM technical symposium on Computer Science Education (pp. 325–330). Raleigh: ACM.

  64. Repenning, A., Ahmadi, N., Repenning, N., Ioannidou, A., Webb, D., & Marshall, K. (2011). Collective programming: Making end-user programming (more) social. In End-user development (pp. 325–330). Berlin: Springer.

  65. Resnick, M., Maloney, J., Monroy-Hernández, A., Rusk, N., Eastmond, E., Brennan, K., & Millner, A. (2009). Scratch: Programming for all. Communications of the ACM, 52(11), 60–67.

  66. Romero, C., & Ventura, S. (2010). Educational data mining: A review of the state of the art. IEEE Transactions on Systems Man and Cybernetics Part C: Applications and Reviews, 40(6), 601–618.

  67. Roth, W.-M., Woszczyna, C., & Smith, G. (1996). Affordances and constraints of computers in science education. Journal of Research in Science Teaching, 33(9), 995–1017.

  68. Salleh, N., Mendes, E., Grundy, J., & Burch, G. S. J. (2010). An empirical study of the effects of conscientiousness in pair programming using the five-factor personality model. In Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1 (pp. 577–586). Cape Town: ACM.

  69. Salomon, G., & Globerson, T. (1989). When teams do not function the way they ought to. International Journal of Educational Research, 13(1), 89–99. doi:10.1016/0883-0355(89)90018-9.

  70. Salton, G. (1989). Automatic text processing. Boston: Addison Wesley.

  71. Sanders, D. (2002). Student perceptions of the suitability of extreme and pair programming. In M. Marschesi, G. Succi, D. Wells, & L. Williams (Eds.), Extreme programming examined (pp. 261–271). Boston: Addison-Wesley.

  72. Sao Pedro, M. A., de Baker, R. S., Gobert, J. D., Montalvo, O., & Nakama, A. (2013). Leveraging machine-learned detectors of systematic inquiry behavior to estimate and predict transfer of inquiry skill. User Modeling and User-Adapted Interaction, 23(1), 1–39.

  73. Schwartz, D., & Martin, T. (2004). Inventing to prepare for future learning: The hidden efficiency of encouraging original student production in statistics instruction. Cognition and Instruction, 22(2), 129–184.

  74. Shaffer, D. W., & Resnick, M. (1999). “Thick” authenticity: New media and authentic learning. Journal of Interactive Learning Research, 10(2), 195–215.

  75. Singer, M., Radinsky, J., & Goldman, S. R. (2008). The role of gesture in meaning construction. Discourse Processes, 45(4–5), 365–386.

  76. Soller, A., Martínez, A., Jermann, P., & Muehlenbrock, M. (2005). From mirroring to guiding: A review of state of the art technology for supporting collaborative learning. International Journal of Artificial Intelligence in Education, 15(4), 261–290.

  77. Soloway, E., & Spohrer, J. C. (Eds.). (1989). Studying the novice programmer. Hillsdale: Lawrence Erlbaum Associates.

  78. Speier, C., Vessey, I., & Valacich, J. S. (2003). The effects of interruptions, task complexity, and information presentation on computer-supported decision-making performance. Decision Sciences, 34(4), 771–797. doi:10.1111/j.1540-5414.2003.02292.x.

  79. Srikanth, H., Williams, L., Wiebe, E., Miller, C., & Balik, S. (2004). On pair rotation in the computer science course. In Proceedings of the 17th Conference on Software Engineering Education and Training (pp. 144–149).

  80. Talavera, L., & Gaudioso, E. (2004). Mining student data to characterize similar behavior groups in unstructured collaboration spaces. In Proceedings of the Artificial Intelligence in Computer Supported Collaborative Learning Workshop at the ECAI 2004.

  81. Teague, D. M. (2009). A people-first approach to programming. In Proceedings of the Eleventh Australasian Conference on Computing Education - Volume 95 (Vol. Wellington, New Zealand, pp. 171–180). Darlinghurst: Australian Computer Society, Inc.

  82. Teague, D. M., & Roe, P. (2009). Learning to program : From pear-shaped to pairs. In International Conference on Computer Supported Education (CSEDU2 2009) (pp. 151–158). Lisboa; INSTICC Press: The Institute for Systems and Technologies of Information, Control and Communication. Retrieved from

  83. Tudge, J. R. H. (1992). Processes and consequences of peer collaboration: A Vygotskian analysis. Child Development, 63(6), 1364–1379.

  84. Van Toll, T., Lee, R., & Ahlswede, T. (2007). Evaluating the usefulness of pair programming in a classroom setting. In 6th IEEE/ACIS International Conference on Computer and Information Science (ICIS 2007) (pp. 302–308).

  85. Watkins, K. Z. B., & Watkins, M. J. (2009). Towards minimizing pair incompatibilities to help retain under-represented groups in beginning programming courses using pair programming. Journal of Computing Sciences in Colleges, 25(2), 221–227.

  86. Werner, L. L., Hanks, B., & McDowell, C. (2004). Pair-programming helps female computer science students. Journal on Educational Resources in Computing, 4(1), 4.

  87. Wilensky, U. (1999). NetLogo, Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL. Retrieved from

Download references


Thanks to the Complex Play Lab for helping refine this work. This work was supported by National Science Foundation Grant No. 1331655. The opinions expressed in this paper are those of the authors and do not necessarily represent those of the NSF.

Author information

Correspondence to Matthew Berland.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Berland, M., Davis, D. & Smith, C.P. AMOEBA: Designing for collaboration in computer science classrooms through live learning analytics. Intern. J. Comput.-Support. Collab. Learn 10, 425–447 (2015) doi:10.1007/s11412-015-9217-z

Download citation


  • Computer science education
  • Learning analytics
  • Classroom orchestration
  • Constructionism