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

  • Matthew Berland
  • Don Davis
  • Carmen Petrick Smith


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.


Computer science education Learning analytics Classroom orchestration Constructionism 



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.


  1. Abrahamson, D. (2009). Embodied design: Constructing means for constructing meaning. Educational Studies in Mathematics, 70(1), 27–47.CrossRefGoogle Scholar
  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).Google Scholar
  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.CrossRefGoogle Scholar
  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.CrossRefGoogle Scholar
  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.Google Scholar
  6. Barab, S., & Squire, K. (2004). Design-based research: Putting a stake in the ground. Journal of the Learning Sciences, 13(1), 1–14.CrossRefGoogle Scholar
  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.Google Scholar
  8. Ben-Ari, M. (2001). Constructivism in computer science education. Journal of Computers in Mathematics and Science Teaching, 20(1), 45–73.Google Scholar
  9. Berland, M., Martin, T., & Benton, T. (2010). Programming standing up: Embodied computing with constructionist robotics. In Proceedings of Constructionism 2010. Paris.Google Scholar
  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.Google Scholar
  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.CrossRefGoogle Scholar
  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. Google Scholar
  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).Google Scholar
  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.Google Scholar
  15. Braught, G., Eby, L. M., & Wahls, T. (2008). The effects of pair-programming on individual programming skill. SIGCSE Bulletin, 40(1), 200–204.CrossRefGoogle Scholar
  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.CrossRefGoogle Scholar
  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.Google Scholar
  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.Google Scholar
  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.Google Scholar
  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).Google Scholar
  22. Darling-Hammond, L. (1997). The quality of teaching matters most. Journal of Staff Development, 18(1), 38–41.Google Scholar
  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.Google Scholar
  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.CrossRefGoogle Scholar
  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.CrossRefGoogle Scholar
  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.CrossRefGoogle Scholar
  27. Dunning, T. (1993). Accurate methods for the statistics of surprise and coincidence. Computational Linguistics, 19(1), 61–74.Google Scholar
  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.CrossRefGoogle Scholar
  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.Google Scholar
  31. Flieger, J., & Palmer, J. D. (2010). Supporting pair programming with JavaGrinder. Journal of Computing Sciences in Colleges, 26(2), 63–70.Google Scholar
  32. Fosnot, C. T. (Ed.). (2005). Constructivism: Theory, perspectives, and practice. New York: Teachers College Press.Google Scholar
  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.Google Scholar
  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.CrossRefGoogle Scholar
  35. Gigerenzer, G. (2004). Mindless statistics. The Journal of Socio-Economics, 33(5), 587–606.CrossRefGoogle Scholar
  36. Gillie, T., & Broadbent, D. (1989). What makes interruptions disruptive? A study of length, similarity, and complexity. Psychological Research, 50(4), 243–250.CrossRefGoogle Scholar
  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.CrossRefGoogle Scholar
  38. Guzdial, M. (2007). Contextualized computing education increasing retention by making computing relevant. White Paper, Georgia Institute of Technology.Google Scholar
  39. Guzdial, M., & Forte, A. (2005). Design process for a non-majors computing course. ACM SIGCSE Bulletin, 37(1), 361–365.CrossRefGoogle Scholar
  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.Google Scholar
  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.CrossRefGoogle Scholar
  42. Kangas, M. (2004). The impact of individual differences on pair programming. T-76.650 Seminar in Software Engineering.Google Scholar
  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.CrossRefGoogle Scholar
  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.Google Scholar
  45. Kelleher, C., & Pausch, R. (2007). Using storytelling to motivate programming. Communications of the ACM, 50(7), 58–64.CrossRefGoogle Scholar
  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.CrossRefGoogle Scholar
  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.Google Scholar
  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.CrossRefGoogle Scholar
  49. Margolis, J., & Fisher, A. (2003a). Geek mythology. Bulletin of Science Technology & Society, 23(1), 17–20. doi: 10.1177/0270467602239766.CrossRefGoogle Scholar
  50. Margolis, J., & Fisher, A. (2003b). Unlocking the clubhouse: Women in computing. Cambridge: The MIT Press.Google Scholar
  51. Margolis, J., Goode, J., Holme, J. J., & Nao, K. (2008). Stuck in the shallow end: Education, race, and computing. Cambridge: The MIT Press.Google Scholar
  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.Google Scholar
  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.CrossRefGoogle Scholar
  54. Mishra, P., & Koehler, M. (2006). Technological pedagogical content knowledge: A framework for teacher knowledge. The Teachers College Record, 108(6), 1017–1054.CrossRefGoogle Scholar
  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.CrossRefGoogle Scholar
  56. Papert, S. (1980). Mindstorms: Children, computers, and powerful ideas. New York: Basic Books.Google Scholar
  57. Papert, S., & Harel, I. (1991). Situating constructionism. Constructionism (1–11).Google Scholar
  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.CrossRefGoogle Scholar
  59. Perlow, L. A. (1999). The time famine: Toward a sociology of work time. Administrative Science Quarterly, 44(1), 57–81.CrossRefGoogle Scholar
  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.Google Scholar
  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.Google Scholar
  62. Purtilo, J. J., & Callahan, J. R. (1989). Parse tree annotations. Communications of the ACM, 32(12), 1467–1477.CrossRefGoogle Scholar
  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.Google Scholar
  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.CrossRefGoogle Scholar
  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.CrossRefGoogle Scholar
  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.CrossRefGoogle Scholar
  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.CrossRefGoogle Scholar
  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.Google Scholar
  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.CrossRefGoogle Scholar
  70. Salton, G. (1989). Automatic text processing. Boston: Addison Wesley.Google Scholar
  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.Google Scholar
  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.CrossRefGoogle Scholar
  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.CrossRefGoogle Scholar
  74. Shaffer, D. W., & Resnick, M. (1999). “Thick” authenticity: New media and authentic learning. Journal of Interactive Learning Research, 10(2), 195–215.Google Scholar
  75. Singer, M., Radinsky, J., & Goldman, S. R. (2008). The role of gesture in meaning construction. Discourse Processes, 45(4–5), 365–386.CrossRefGoogle Scholar
  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.Google Scholar
  77. Soloway, E., & Spohrer, J. C. (Eds.). (1989). Studying the novice programmer. Hillsdale: Lawrence Erlbaum Associates.Google Scholar
  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.CrossRefGoogle Scholar
  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).CrossRefGoogle Scholar
  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.Google Scholar
  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.Google Scholar
  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.CrossRefGoogle Scholar
  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).Google Scholar
  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.Google Scholar
  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.CrossRefGoogle Scholar
  87. Wilensky, U. (1999). NetLogo, Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL. Retrieved from

Copyright information

© International Society of the Learning Sciences, Inc. 2015

Authors and Affiliations

  • Matthew Berland
    • 1
  • Don Davis
    • 2
  • Carmen Petrick Smith
    • 3
  1. 1.Department of Curriculum and InstructionUniversity of Wisconsin–MadisonMadisonUSA
  2. 2.Department of Interdisciplinary Learning & TeachingUniversity of Texas at San AntonioSan AntonioUSA
  3. 3.Department of EducationUniversity of VermontBurlingtonUSA

Personalised recommendations