PAIR PROGRAMMING EXPERIENCES OF PROSPECTIVE INFORMATION TECHNOLOGIES TEACHERS
Year 2022,
Volume: 11 Issue: 2, 351 - 363, 20.06.2022
Ebru Albayrak
,
Elif Polat
Abstract
This study aims to reveal the opinions and experiences of undergraduate students regarding a pair programming method used in their programming course. Qualitative and quantitative methods were used to collect data for the study. The pair programming method required students to work in pairs throughout the semester. The participants of the study consist of 29 sophomores from computer education and instructional technologies department enrolled on the programming languages course. Collaboration Experiences, Team Member Evaluation, and Self-Assessment forms and a semi-structured interview form were used to collect data. The findings indicate that all the students were positive about the lessons. According to the students, collaboration within pairs was carried out successfully. At the end of the course, students stated that the lessons were sufficient for coding, and they achieved a good performance. In addition, the students were satisfied with the collaboration of their partner and the opportunities they had to improve their communication skills thorough pair programming. In addition, students emphasized that pair programming reduced the instructor’s workload. However, a few students also stated that the process had some limitations. The findings of the study will be useful particularly for instructors while designing programming instruction.
References
- 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
- Beck, K., & Gamma, E. (2000). Extreme programming explained: embrace change. Addison-Wesley professional.
- 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
- 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
- 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
- Bruhn, R. E., & Burton, P. J. (2003). An approach to teaching Java using computers. ACM SIGCSE Bulletin, 35(4), 94-99. https://doi.org/10.1145/960492.960537
- Campe, S., Denner, J., Green, E., & Torres, D. (2020). Pair programming in middle school: Variations in interactions and behaviors. Computer Science Education, 30(1), 22-46. https://doi.org/10.1080/08993408.2019.1648119
- Cao, L., & Xu, P. (2005). Activity patterns of pair programming. In Proceedings of the 38th Annual Hawaii International Conference on System Sciences 3-5 January (pp. 88a-88a). IEEE. https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1385415
- Chigona, W., & Pollock, M. (2008). Pair programming for information systems students new to programming: Students’ experiences and teachers’ challenges. In PICMET'08-2008 Portland International Conference on Management of Engineering & Technology 27-31 July (pp. 1587-1594). IEEE. https://doi.org/10.1109/PICMET.2008.4599777
- Cliburn, D. C. (2003). Experiences with pair programming at a small college. Journal of Computing Sciences in Colleges, 19(1), 20–29. https://dl.acm.org/doi/abs/10.5555/948737.948741
- Demir, Ö., & Seferoglu, S. S. (2021). A Comparison of solo and pair programming in terms of flow experience, coding quality, and coding achievement. Journal of Educational Computing Research, 58(8), 1448-1466. https://doi.org/10.1177/0735633120949788
- Denner, J., Green, E., & Campe, S. (2021). Learning to program in middle school: How pair programming helps and hinders intrepid exploration. Journal of the Learning Sciences, 1-35. https://doi.org/10.1080/10508406.2021.1939028
- Dongo, T., Reed, A. H., & O’Hara, M. (2016). Exploring pair programming benefits for MIS majors. Journal of Information Technology Education: Innovations in Practice, 15, 223-239. http://www.informingscience.org/Publications/3625
- Faja, S. (2011). Pair programming as a team based learning activity: A review of research. Issues in Information Systems, XII, (2), 207–216.
- Falloon, G. (2016). An analysis of young students' thinking when completing basic coding tasks using Scratch Jnr. On the iPad. Journal of Computer Assisted Learning, 32(6), 576-593. https://doi.org/10.1111/jcal.12155
- Hanks, B., Fitzgerald, S., McCauley, R., Murphy, L., & Zander, C. (2011). Pair programming in education: A literature review. Computer Science Education, 21(2), 135-173. https://doi.org/10.1080/08993408.2011.579808
- Hanks, B., McDowell, C., Draper, D., & Krnjajic, M. (2004). Program quality with pair programming in CS. In Proceedings of the 9th annual SIGCSE conference on innovation and technology computer science education June 28-30 (pp. 176–180).
- Hannay, J. E., Dybå, T., Arisholm, E., & Sjøberg, D. I. K. (2009). The effectiveness of pair programming: A meta-analysis. Information and Software Technology, 51(7), 1110–1122. https://doi.org/10.1016/j.infsof.2009.02.001
- Howard, E. V. (2006). Attitudes on using pair-programming. Journal of Educational Technology Systems, 35(1), 89–103. https://doi.org/10.2190/5K87-58W8-G07M-2811
- Hwang, W. Y., Shadiev, R., Wang, C. Y., & Huang, Z. H. (2012). A pilot study of collaborative programming learning behavior and its relationship with students’ learning performance. Computers & Education, 58(4), 1267–1281. https://doi.org/10.1016/j.compedu.2011.12.009
- Iqbal Malik, S. (2016). Role of ADRI model in teaching and assessing novice programmers. Doctorate dissertation, Deakin University. https://dro.deakin.edu.au/view/DU:30088862
- Korhonen, A., & Malmi, L. (2000, July). Algorithm simulation with automatic assessment. In Proceedings of the 5th annual SIGCSE/SIGCUE ITiCSE conference on Innovation and technology in computer science education (pp. 160-163). https://dl.acm.org/doi/abs/10.1145/343048.343157
- Koulouri, T., Lauria, S., & Macredie, R. D. (2014). Teaching introductory programming: A quantitative evaluation of different approaches. ACM Transactions on Computing Education (TOCE), 14(4), 1-28. https://doi.org/10.1145/2662412
- Kuhn, D. (2015). Thinking together and alone. Educational Researcher, 44(1), 46-53. https://doi.org/10.3102/0013189X15569530
- Liebenberg, J., Mentz, E., & Breed, B. (2012). Pair programming and secondary school girls’ enjoyment of programming and the subject Information Technology (IT). Computer Science Education, 22(3), 219-236. https://doi.org/10.1080/08993408.2012.713180
- McDowell, C., Werner, L., Bullock, H. E., & Fernald, J. (2006). Pair programming improves student retention, confidence, and program quality. Communications of the ACM, 49(8), 90–95. https://doi.org/10.1145/1145287.1145293
- McManus, J. W., & Costello, P. J. (2019). Project based learning in computer science: A student and research advisor's perspective. Journal of Computing Sciences in Colleges, 34(3), 38-46. http://www.ccsc.org/publications/journals/JCSC_34_3_complete.pdf#page=39
- Mentz, E., Van der Walt, J. L., & Goosen, L. (2008). The effect of incorporating collaborative learning principles in pair programming for student teachers. Computer Science Education, 18(4), 247-260. https://doi.org/10.1080/08993400802461396
- Merriam, S. B. (2015). Qualitative research: Designing, implementing, and publishing a study. In Victor X. Wang (Ed.), Handbook of Research on Scholarly Publishing and Research Methods (pp. 125-140). Hershey, PA: IGI Global.
- Othman, M., Rosmani, A. F., Fauzi, S. S. M., & Mazlan, U. H. (2019). The impact of pair programming on students’ logical thinking:_A case study on higher academic institution. Social and Management Research Journal, 16(1), 85-98. https://doi.org/10.24191/smrj.v16i1.6085
- 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.
- Raigoza, J. (2017). A study of students' progress through introductory computer science programming courses. In 2017 IEEE Frontiers in Education Conference (FIE) 18-21 October (pp. 1-7).
- Satratzemi, M., Xinogalos, S., Tsompanoudi, D., & Karamitopoulos, L. (2021). A two-year evaluation of distributed pair programming assignments by undergraduate students. Research on E-Learning and ICT in Education: Technological, Pedagogical and Instructional Perspectives, 35-57. Switzerland: Springer Nature.
- Sherriff, (2017). Pair Programming in the Classroom. http://www.cs.virginia.edu/tapestry/years/2017/resources/day-2/2017-tapestry-day-2-pair-programming.pdf
- Tsan, J., Vandenberg, J., Zakaria, Z., Wiggins, J. B., Webber, A. R., Bradbury, A., Lynch, C., Wiebe, E., & Boyer, K. E. (2020). A comparison of two pair programming configurations for upper elementary students. In Proceedings of the 51st ACM Technical Symposium on Computer Science Education March 11 – 14 (pp. 346-352).
- Vasconcelos, L., & Kim, C. (2020). Preparing preservice teachers to use block-based coding in scientific modeling lessons. Instructional Science, 48(6), 765-797. https://doi.org/10.1007/s11251-020-09527-0
- Vihavainen, A., Paksula, M., & Luukkainen, M. (2011). Extreme apprenticeship method in teaching programming for beginners. In Proceedings of the 42nd ACM technical symposium on Computer science education March 9 – 12 (pp. 93-98). https://doi.org/10.1145/1953163.1953196
- Wei, X., Lin, L., Meng, N., Tan, W., & Kong, S. C. (2021). The effectiveness of partial pair programming on elementary school students’ computational thinking skills and self-efficacy. Computers & Education, 160, 104023. https://doi.org/10.1016/j.compedu.2020.104023
- 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
- Williams, L., McDowell, C., Nagappan, N., Fernald, J., & Werner, L. (2003). Building pair programming knowledge through a family of experiments. In 2003 International Symposium on Empirical Software Engineering, 30 September-1 October (pp. 143-152). IEEE. https://ieeexplore.ieee.org/
- Witherspoon, E. B., Schunn, C. D., Higashi, R. M., & Baehr, E. C. (2016). Gender, interest, and prior experience shape opportunities to learn programming in robotics competitions. International Journal of STEM Education, 3(1), 1-12. https://doi.org/10.1186/s40594-016-0052-1
- Yildiz Durak, H. (2018). Digital story design activities used for teaching programming effect on learning of programming concepts, programming self‐efficacy, and participation and analysis of student experiences. Journal of Computer Assisted Learning, 34(6), 740-752. https://doi.org/10.1111/jcal.12281
- Zacharis, N. Z. (2011). Measuring the effects of virtual pair programming in an introductory programming java course. IEEE Transactions on Education, 54(1), 168–170. https://doi.org/10.1109/TE.2010.2048328
- Zhong, B., Wang, Q., & Chen, J. (2016). The impact of social factors on pair programming in a primary school. Computers in Human Behavior, 64, 423-431. https://doi.org/10.1016/j.chb.2016.07.017
BİLİŞİM TEKNOLOJİLERİ ÖĞRETMEN ADAYLARININ EŞLİ PROGRAMLAMA DENEYİMLERİ
Year 2022,
Volume: 11 Issue: 2, 351 - 363, 20.06.2022
Ebru Albayrak
,
Elif Polat
Abstract
Bu çalışma, üniversite öğrencilerinin, programlama dersinde kullanılan eşli programlama yöntemine ilişkin görüş ve deneyimlerini ortaya çıkarmayı amaçlamıştır. Çalışmada veri toplamak için nitel ve nicel yöntemler kullanılmıştır. Eşli programlama yöntemi ile öğrenciler dönem boyunca ikili olarak çalışmışlardır. Araştırmanın örneklemini programlama dilleri dersine kayıtlı 29 bilgisayar ve öğretim teknolojileri eğitimi (BÖTE) öğrencisi oluşturmaktadır. Verileri toplamak için “İşbirliği Deneyimleri”, “Takım Üyesi Değerlendirme” ve “Öz Değerlendirme” formları ile yarı yapılandırılmış görüşme formu kullanılmıştır. Bulgular, tüm öğrencilerin ders hakkında olumlu görüşe sahip olduklarını göstermektedir. Öğrencilere göre işbirliği bu yöntemle başarıyla gerçekleştirilmiştir. Ders sonunda kodlama konusunda yeterli olduklarını ve iyi bir performans elde ettiklerini belirtmişlerdir. Bunun yanında öğrenciler, takım arkadaşlarının işbirliğinden memnun kalmışlar ve eşli programlama ile iletişim becerilerini geliştirme imkanı da bulmuşlardır. Ayrıca bu yöntemle eğitmenin iş yükü de azalmıştır. Ancak az sayıda öğrenci sürecin bazı sınırlılıklarının olduğunu da belirmiştir. Çalışmanın bulguları özellikle programlama öğretiminin tasarlanmasında öğretim elemanları için faydalı olacaktır.
References
- 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
- Beck, K., & Gamma, E. (2000). Extreme programming explained: embrace change. Addison-Wesley professional.
- 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
- 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
- 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
- Bruhn, R. E., & Burton, P. J. (2003). An approach to teaching Java using computers. ACM SIGCSE Bulletin, 35(4), 94-99. https://doi.org/10.1145/960492.960537
- Campe, S., Denner, J., Green, E., & Torres, D. (2020). Pair programming in middle school: Variations in interactions and behaviors. Computer Science Education, 30(1), 22-46. https://doi.org/10.1080/08993408.2019.1648119
- Cao, L., & Xu, P. (2005). Activity patterns of pair programming. In Proceedings of the 38th Annual Hawaii International Conference on System Sciences 3-5 January (pp. 88a-88a). IEEE. https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1385415
- Chigona, W., & Pollock, M. (2008). Pair programming for information systems students new to programming: Students’ experiences and teachers’ challenges. In PICMET'08-2008 Portland International Conference on Management of Engineering & Technology 27-31 July (pp. 1587-1594). IEEE. https://doi.org/10.1109/PICMET.2008.4599777
- Cliburn, D. C. (2003). Experiences with pair programming at a small college. Journal of Computing Sciences in Colleges, 19(1), 20–29. https://dl.acm.org/doi/abs/10.5555/948737.948741
- Demir, Ö., & Seferoglu, S. S. (2021). A Comparison of solo and pair programming in terms of flow experience, coding quality, and coding achievement. Journal of Educational Computing Research, 58(8), 1448-1466. https://doi.org/10.1177/0735633120949788
- Denner, J., Green, E., & Campe, S. (2021). Learning to program in middle school: How pair programming helps and hinders intrepid exploration. Journal of the Learning Sciences, 1-35. https://doi.org/10.1080/10508406.2021.1939028
- Dongo, T., Reed, A. H., & O’Hara, M. (2016). Exploring pair programming benefits for MIS majors. Journal of Information Technology Education: Innovations in Practice, 15, 223-239. http://www.informingscience.org/Publications/3625
- Faja, S. (2011). Pair programming as a team based learning activity: A review of research. Issues in Information Systems, XII, (2), 207–216.
- Falloon, G. (2016). An analysis of young students' thinking when completing basic coding tasks using Scratch Jnr. On the iPad. Journal of Computer Assisted Learning, 32(6), 576-593. https://doi.org/10.1111/jcal.12155
- Hanks, B., Fitzgerald, S., McCauley, R., Murphy, L., & Zander, C. (2011). Pair programming in education: A literature review. Computer Science Education, 21(2), 135-173. https://doi.org/10.1080/08993408.2011.579808
- Hanks, B., McDowell, C., Draper, D., & Krnjajic, M. (2004). Program quality with pair programming in CS. In Proceedings of the 9th annual SIGCSE conference on innovation and technology computer science education June 28-30 (pp. 176–180).
- Hannay, J. E., Dybå, T., Arisholm, E., & Sjøberg, D. I. K. (2009). The effectiveness of pair programming: A meta-analysis. Information and Software Technology, 51(7), 1110–1122. https://doi.org/10.1016/j.infsof.2009.02.001
- Howard, E. V. (2006). Attitudes on using pair-programming. Journal of Educational Technology Systems, 35(1), 89–103. https://doi.org/10.2190/5K87-58W8-G07M-2811
- Hwang, W. Y., Shadiev, R., Wang, C. Y., & Huang, Z. H. (2012). A pilot study of collaborative programming learning behavior and its relationship with students’ learning performance. Computers & Education, 58(4), 1267–1281. https://doi.org/10.1016/j.compedu.2011.12.009
- Iqbal Malik, S. (2016). Role of ADRI model in teaching and assessing novice programmers. Doctorate dissertation, Deakin University. https://dro.deakin.edu.au/view/DU:30088862
- Korhonen, A., & Malmi, L. (2000, July). Algorithm simulation with automatic assessment. In Proceedings of the 5th annual SIGCSE/SIGCUE ITiCSE conference on Innovation and technology in computer science education (pp. 160-163). https://dl.acm.org/doi/abs/10.1145/343048.343157
- Koulouri, T., Lauria, S., & Macredie, R. D. (2014). Teaching introductory programming: A quantitative evaluation of different approaches. ACM Transactions on Computing Education (TOCE), 14(4), 1-28. https://doi.org/10.1145/2662412
- Kuhn, D. (2015). Thinking together and alone. Educational Researcher, 44(1), 46-53. https://doi.org/10.3102/0013189X15569530
- Liebenberg, J., Mentz, E., & Breed, B. (2012). Pair programming and secondary school girls’ enjoyment of programming and the subject Information Technology (IT). Computer Science Education, 22(3), 219-236. https://doi.org/10.1080/08993408.2012.713180
- McDowell, C., Werner, L., Bullock, H. E., & Fernald, J. (2006). Pair programming improves student retention, confidence, and program quality. Communications of the ACM, 49(8), 90–95. https://doi.org/10.1145/1145287.1145293
- McManus, J. W., & Costello, P. J. (2019). Project based learning in computer science: A student and research advisor's perspective. Journal of Computing Sciences in Colleges, 34(3), 38-46. http://www.ccsc.org/publications/journals/JCSC_34_3_complete.pdf#page=39
- Mentz, E., Van der Walt, J. L., & Goosen, L. (2008). The effect of incorporating collaborative learning principles in pair programming for student teachers. Computer Science Education, 18(4), 247-260. https://doi.org/10.1080/08993400802461396
- Merriam, S. B. (2015). Qualitative research: Designing, implementing, and publishing a study. In Victor X. Wang (Ed.), Handbook of Research on Scholarly Publishing and Research Methods (pp. 125-140). Hershey, PA: IGI Global.
- Othman, M., Rosmani, A. F., Fauzi, S. S. M., & Mazlan, U. H. (2019). The impact of pair programming on students’ logical thinking:_A case study on higher academic institution. Social and Management Research Journal, 16(1), 85-98. https://doi.org/10.24191/smrj.v16i1.6085
- 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.
- Raigoza, J. (2017). A study of students' progress through introductory computer science programming courses. In 2017 IEEE Frontiers in Education Conference (FIE) 18-21 October (pp. 1-7).
- Satratzemi, M., Xinogalos, S., Tsompanoudi, D., & Karamitopoulos, L. (2021). A two-year evaluation of distributed pair programming assignments by undergraduate students. Research on E-Learning and ICT in Education: Technological, Pedagogical and Instructional Perspectives, 35-57. Switzerland: Springer Nature.
- Sherriff, (2017). Pair Programming in the Classroom. http://www.cs.virginia.edu/tapestry/years/2017/resources/day-2/2017-tapestry-day-2-pair-programming.pdf
- Tsan, J., Vandenberg, J., Zakaria, Z., Wiggins, J. B., Webber, A. R., Bradbury, A., Lynch, C., Wiebe, E., & Boyer, K. E. (2020). A comparison of two pair programming configurations for upper elementary students. In Proceedings of the 51st ACM Technical Symposium on Computer Science Education March 11 – 14 (pp. 346-352).
- Vasconcelos, L., & Kim, C. (2020). Preparing preservice teachers to use block-based coding in scientific modeling lessons. Instructional Science, 48(6), 765-797. https://doi.org/10.1007/s11251-020-09527-0
- Vihavainen, A., Paksula, M., & Luukkainen, M. (2011). Extreme apprenticeship method in teaching programming for beginners. In Proceedings of the 42nd ACM technical symposium on Computer science education March 9 – 12 (pp. 93-98). https://doi.org/10.1145/1953163.1953196
- Wei, X., Lin, L., Meng, N., Tan, W., & Kong, S. C. (2021). The effectiveness of partial pair programming on elementary school students’ computational thinking skills and self-efficacy. Computers & Education, 160, 104023. https://doi.org/10.1016/j.compedu.2020.104023
- 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
- Williams, L., McDowell, C., Nagappan, N., Fernald, J., & Werner, L. (2003). Building pair programming knowledge through a family of experiments. In 2003 International Symposium on Empirical Software Engineering, 30 September-1 October (pp. 143-152). IEEE. https://ieeexplore.ieee.org/
- Witherspoon, E. B., Schunn, C. D., Higashi, R. M., & Baehr, E. C. (2016). Gender, interest, and prior experience shape opportunities to learn programming in robotics competitions. International Journal of STEM Education, 3(1), 1-12. https://doi.org/10.1186/s40594-016-0052-1
- Yildiz Durak, H. (2018). Digital story design activities used for teaching programming effect on learning of programming concepts, programming self‐efficacy, and participation and analysis of student experiences. Journal of Computer Assisted Learning, 34(6), 740-752. https://doi.org/10.1111/jcal.12281
- Zacharis, N. Z. (2011). Measuring the effects of virtual pair programming in an introductory programming java course. IEEE Transactions on Education, 54(1), 168–170. https://doi.org/10.1109/TE.2010.2048328
- Zhong, B., Wang, Q., & Chen, J. (2016). The impact of social factors on pair programming in a primary school. Computers in Human Behavior, 64, 423-431. https://doi.org/10.1016/j.chb.2016.07.017