Skip to main content

Improving Programming Skills Through an Innovative Collaborative Programming Model: A Case Study

  • Chapter
  • First Online:
Data-Driven Design for Computer-Supported Collaborative Learning

Part of the book series: Lecture Notes in Educational Technology ((LNET))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 119.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 159.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 179.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

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.

    Google Scholar 

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

    Article  Google Scholar 

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

    Article  Google Scholar 

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

    Article  Google Scholar 

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

    Article  Google Scholar 

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

    Article  Google Scholar 

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

    Article  Google Scholar 

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

    Article  Google Scholar 

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

    Article  Google Scholar 

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

    Google Scholar 

  • Grover, S., & Pea, R. (2013). Computational thinking in K–12: A review of the state of the field. Educational Researcher, 42(1), 38–43.

    Article  Google Scholar 

  • KalelioÄźlu, F. (2015). A new way of teaching programming skills to K-12 students: Code. org. Computers in Human Behavior, 52, 200–210.

    Article  Google Scholar 

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

    Article  Google Scholar 

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

    Article  Google Scholar 

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

    Article  Google Scholar 

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

    Google Scholar 

  • Reas, C., & Fry, B. (2014). Processing: A programming handbook for visual designers and artists (2nd ed.). Cambridge, MA, USA: MIT Press.

    Google Scholar 

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

    Google Scholar 

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

    Article  Google Scholar 

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

    Article  Google Scholar 

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

    Google Scholar 

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

    Article  Google Scholar 

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

    Article  Google Scholar 

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

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Lanqin Zheng .

Rights and permissions

Reprints and permissions

Copyright information

© 2021 Springer Nature Singapore Pte Ltd.

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics