1. Balijepally, V. G., Mahapatra, R. K., Nerur, S., & Price, K. H. (2009). Are two heads better than one for software development? The productivity paradox of pair programming. MIS Quarterly, 33(1), 91–118. https://doi.org/10.2307/20650280
2. Beck, K., & Gamma, E. (2000). Extreme programming explained: embrace change. Addison-Wesley professional.
3. Bernard, M., & Bachu, E. (2015). Enhancing the metacognitive skill of novice programmers through collaborative learning. In Metacognition: Fundaments, Applications, and Trends (pp. 277-298). Springer, Cham. https://doi.org/10.1007/978-3-319-11062-2_11
4. Braught, G., Wahls, T., & Eby, L. M. (2011). The case for pair programming in the computer science classroom. ACM Transactions on Computing Education (TOCE), 11(1), 1-21. https://doi.org/10.1145/1921607.1921609
5. Bravo, C., Marcelino, M. J., Gomes, A. J., Esteves, M., & Mendes, A. J. (2005). Integrating Educational Tools for Collaborative Computer Programming Learning. The International Journal of Universal Computer Science, 11(9), 1505-1517. http://jucs.org/jucs_11_9/integrating_educational_tools_for/jucs_11_9_1505_1517_cbravo.pdf