Abstract
In recent years, education has put considerable emphasis on the development of programming skills. However, students, especially, pupils often face challenges in programming. This study aims to improve pupils’ programming skills through an innovative collaborative programming model. This model includes six phases, namely, understanding, designing, programming, sharing, evaluating, and refining. A case study was conducted to get a better understanding of participants’ perceptions, programming skills, and collaborative problem-solving abilities. The results indicated that participants were interested in programming, and their programming skills as well as problem-solving abilities were improved. The implications for teachers and practitioners are also discussed in depth.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Bailey, R., & Mentz, E. (2017). The value of pair programming in the IT classroom. The Independent Journal of Teaching and Learning, 12(1), 90–103.
Beck, L., & Chizhik, A. (2013). Cooperative learning instructional methods for CS1: Design, implementation, and evaluation. ACM Transactions on Computing Education (TOCE), 13(3), 1–21.
Beller, M., Spruit, N., Spinellis, D., & Zaidman, A. (2018). On the dichotomy of debugging behavior among programmers. In Proceedings of the 40th International Conference on Software Engineering (pp. 572–583). https://www.spinellis.gr/pubs/conf/2018-ICSE-debugging-analysis/html/BSSZ18.pdf.
Bravo, C., Duque, R., & Gallardo, J. (2013). A groupware system to support collaborative programming: Design and experiences. Journal of Systems and Software, 86(7), 1759–1771.
Chen, G., Shen, J., Barth-Cohen, L., Jiang, S., Huang, X., & Eltoukhy, M. (2017). Assessing elementary students’ computational thinking in everyday reasoning and robotics programming. Computers & Education, 109, 162–175.
Chorfi, A., Hedjazi, D., Aouag, S., & Boubiche, D. (2020). Problem-based collaborative learning groupware to improve computer programming skills. Behaviour & Information Technology, 1–20. https://doi.org/10.1080/0144929X.2020.1795263.
Chiu, C. F., & Huang, H. Y. (2015). Guided debugging practices of game based programming for novice programmers. International Journal of Information and Education Technology, 5(5), 343–347.
Deek, F. P., Turoff, M., & McHugh, J. A. (1999). A common model for problem solving and program development. IEEE Transactions on Education, 42(4), 331–336.
Durak, H. Y. (2020). Modeling different variables in learning basic concepts of programming in flipped classrooms. Journal of Educational Computing Research, 58(1), 160–199.
Fessakis, G., Gouli, E., & Mavroudi, E. (2013). Problem solving by 5–6 years old kindergarten children in a computer programming environment: A case study. Computers & Education, 63, 87–97.
Fwa, H. L. (2018). An architectural design and evaluation of an affective tutoring system for novice programmers. International Journal of Educational Technology in Higher Education, 15(1), 38. https://doi.org/10.1186/s41239-018-0121-2.
Gordon, N. A., & Brayshaw, M. (2008). Inquiry-based learning in computer science teaching in higher education. Innovations in Teaching and Learning in Information and Computer Sciences, 7(1), 22–33.
Grover, S., & Pea, R. (2013). Computational thinking in K–12: A review of the state of the field. Educational Researcher, 42(1), 38–43.
Kalelioğlu, F. (2015). A new way of teaching programming skills to K-12 students: Code. org. Computers in Human Behavior, 52, 200–210.
Kanika, Chakraverty, S., & Chakraborty, P. (2020). Tools and techniques for teaching computer programming: A review. Journal of Educational Technology Systems, 49 (2), 170–198. https://doi.org/10.1177/0047239520926971.
Lu, O. H., Huang, J. C., Huang, A. Y., & Yang, S. J. (2017). Applying learning analytics for improving students engagement and learning outcomes in an MOOCs enabled collaborative programming course. Interactive Learning Environments, 25(2), 220–234.
Lu, Y., Mao, X., Wang, T., Yin, G., & Li, Z. (2020). Improving students’ programming quality with the continuous inspection process: a social coding perspective. Frontiers of Computer Science, 14(5), 1–18.
Noh, J., & Lee, J. (2020). Effects of robotics programming on the computational thinking and creativity of elementary school students. Educational Technology Research and Development, 68(1), 463–484.
PISA. (2017). PISA 2015 collaborative problem-solving framework. Retrieved from https://www.goo.gl/Yp6j8L.
Piteira, M., & Costa, C. (2013). Learning computer programming: study of difficulties in learning programming. In Proceedings of the 2013 International Conference on Information Systems and Design of Communication (pp. 75–80). ACM.
Reas, C., & Fry, B. (2014). Processing: A programming handbook for visual designers and artists (2nd ed.). Cambridge, MA, USA: MIT Press.
Shi, J., Shah, A., Hedman, G., & O’Rourke, E. (2019). Pyrus: Designing a collaborative programming game to promote problem solving behaviors. In Proceedings of the 2019 CHI Conference on Human Factors in Computing Systems (pp. 1–12). https://library.usc.edu.ph/ACM/CHI2019/1proc/paper656.pdf.
Song, Y. (2018). Improving primary students’ collaborative problem solving competency in project-based science learning with productive failure instructional design in a seamless learning environment. Educational Technology Research and Development, 66(4), 979–1008.
Sun, D., Ouyang, F., Li, Y., & Chen, H. (2020). Three contrasting pairs’ collaborative programming processes in China’s secondary education. Journal of Educational Computing Research. https://doi.org/10.1177/0735633120973430.
Teague, D., & Roe, P. (2008). Collaborative learning: Towards a solution for novice programmers. Paper presented at the tenth conference on Australasian computing education. Retrieved from https://eprints.qut.edu.au/17818/1/c17818.pdf.
Uysal, M. P. (2014). Improving first computer programming experiences: The case of adapting a web-supported and well-structured problem-solving method to a traditional course. Contemporary Educational Technology, 5(3), 198–217.
Vaca-Ca´rdenas, L. A., Bertacchini, F., Tavernise, A., Gabriele, L., Valenti, A., Olmedo, D.E, . . . E. Bilotta (2015). Coding with Scratch: The design of an educational setting for Elementary pre-service teachers. In 2015 International Conference on Interactive Collaborative Learning (ICL) (pp. 1171–1177). IEEE. Florence, Italy.
Wang, X. M., & Hwang, G. J. (2017). A problem posing-based practicing strategy for facilitating students’ computer programming skills in the team-based learning mode. Educational Technology Research and Development, 65(6), 1655–1671.
Wei, X., Lin, L., Meng, N., Tan, W., & Kong, S. C. (2020). The effectiveness of partial pair programming on elementary school students’ Computational Thinking skills and self-efficacy. Computers & Education, 160, 104023.
Zhang, J. X., Liu, L., Ordóñez de Pablos, P., & She, J. (2014). The auxiliary role of information technology in teaching: Enhancing programming course using alice. International Journal of Engineering Education, 30(3), 560–565.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Copyright information
© 2021 Springer Nature Singapore Pte Ltd.
About this chapter
Cite this chapter
Zheng, L. (2021). Improving Programming Skills Through an Innovative Collaborative Programming Model: A Case Study. In: Data-Driven Design for Computer-Supported Collaborative Learning. Lecture Notes in Educational Technology. Springer, Singapore. https://doi.org/10.1007/978-981-16-1718-8_6
Download citation
DOI: https://doi.org/10.1007/978-981-16-1718-8_6
Published:
Publisher Name: Springer, Singapore
Print ISBN: 978-981-16-1717-1
Online ISBN: 978-981-16-1718-8
eBook Packages: EducationEducation (R0)