Skip to main content

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

Abstract

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, access via your institution.

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

Notes

  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. IPRO is available free of charge on the iTunes store.

References

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

    Article  Google Scholar 

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

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

    Article  Google Scholar 

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

    Chapter  Google Scholar 

  • 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 

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

    Article  Google Scholar 

  • 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 

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

    Google Scholar 

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

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

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

    Article  Google Scholar 

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

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

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

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

    Article  Google Scholar 

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

    Article  Google Scholar 

  • 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 

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

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

  • Carter, D. P. (2014). AP Computer Science: Teacher’s guide. Lancaster: CollegeBoard. Retrieved from http://apcentral.collegeboard.com/apc/members/repository/ap07_compsci_teachersguide.pdf

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

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

    Google Scholar 

  • 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 

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

    Chapter  Google Scholar 

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

    Chapter  Google Scholar 

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

    Article  Google Scholar 

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

    Google Scholar 

  • Dunning, T. (2008). Surprise and Coincidence - musings from the long tail. Retrieved October 5, 2013, from http://archive.is/KH84

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

    Article  Google Scholar 

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

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

    Google Scholar 

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

    Google Scholar 

  • 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 

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

    Article  Google Scholar 

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

    Article  Google Scholar 

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

    Article  Google Scholar 

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

    Article  Google Scholar 

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

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

    Article  Google Scholar 

  • 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 

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

    Chapter  Google Scholar 

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

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

    Article  Google Scholar 

  • 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 

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

    Article  Google Scholar 

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

    Article  Google Scholar 

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

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

    Chapter  Google Scholar 

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

    Article  Google Scholar 

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

    Google Scholar 

  • 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 

  • 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 

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

    Chapter  Google Scholar 

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

    Article  Google Scholar 

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

    Article  Google Scholar 

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

    Google Scholar 

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

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

    Chapter  Google Scholar 

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

    Article  Google Scholar 

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

  • 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 

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

    Article  Google Scholar 

  • 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 

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

    Chapter  Google Scholar 

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

    Article  Google Scholar 

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

    Article  Google Scholar 

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

    Article  Google Scholar 

  • 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 

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

    Article  Google Scholar 

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

    Google Scholar 

  • 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 

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

    Article  Google Scholar 

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

    Article  Google Scholar 

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

    Google Scholar 

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

    Article  Google Scholar 

  • 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 

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

    Google Scholar 

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

    Article  Google Scholar 

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

    Chapter  Google Scholar 

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

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

  • 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 http://eprints.qut.edu.au/29995/

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

    Article  Google Scholar 

  • 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 

  • 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 

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

    Article  Google Scholar 

  • Wilensky, U. (1999). NetLogo, Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL. Retrieved from http://ccl.northwestern.edu/netlogo/

Download references

Acknowledgments

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

Authors and Affiliations

Authors

Corresponding author

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). https://doi.org/10.1007/s11412-015-9217-z

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11412-015-9217-z

Keywords

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