Abstract
Computer programming is a subject that requires problem-solving strategies and involves a great number of programming logic activities which pose challenges for learners. Therefore, providing learning support and guidance is important. Collaborative learning is widely believed to be an effective teaching approach; it can enhance learners’ social interaction and offer a learning environment which provides rich learning experiences. However, the social interaction in collaborative learning does not occur automatically. Without proper guidance strategies or supporting tools for collaborative learning, the learning effects can be disappointing. To solve such a problem, a problem posing-based practicing strategy was proposed to support the development of a collaborative learning activity in a computer programming practice course. The students were guided to raise computer programming problems to boost the discussion among team members. The problems raised in each team were then exchanged and solved by another team to examine the coding and to provide feedback. To investigate the effectiveness of the proposed approach, an experiment was conducted in a C# programming course. Two classes of students from a university participated in the experiment. One class with 25 students was randomly assigned as the experimental group, and learned with a collaborative learning activity using the problem posing-based practicing strategy; the other class with 28 students was the control group, which learned with a conventional collaborative learning activity. The results show that the proposed strategy benefited the students in terms of improving their learning achievement, in particular, their programming skills. Moreover, it was found that the students who learned with the proposed approach had higher self-efficacy and lower cognitive load than those who learned with the conventional collaborative learning approach.
Similar content being viewed by others
References
Antonenko, P. D., & Niederhauser, D. S. (2010). The influence of leads on cognitive load and learning in a hypertext environment. Computers in Human Behavior, 26(2), 140–150.
Au, K. H. (1998). Social constructivism and the school literacy learning of students of diverse backgrounds. Journal of literacy research, 30(2), 297–319.
Auttawutikul, S., Wiwitkunkasem, K., & Smith, D. R. (2014). Use of weblogs to enhance group learning and design creativity amongst students at a Thai University. Innovations in Education and Teaching International, 51(4), 378–388.
Barlow, A. T., & Cates, J. M. (2006). The impacts of problem posing on elementary teachers’ belief about mathematics and mathematics teaching. School Science and Mathematics, 106, 64–73.
Blignaut, P., & Naude, A. (2008). The influence of temperament style on a student’s choice of and performance in a computer programming course. Computers in Human Behavior, 24(3), 1010–1020.
Bloom, B. S. (1994). Reflections on the development and use of the taxonomy. Yearbook: National Society for the Study of Education, 92(2), 1–8.
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.
Bravo, C., Marcelino, M. J., Gomes, A. J., Esteves, M., & Mendes, A. J. (2005). Integrating educational tools for collaborative computer programming learning. J. UCS, 11(9), 1505–1517.
Brooks, R. (1983). Towards a theory of the comprehension of computer programs. International Journal of Man-Machine Studies, 18(6), 543–554.
Brush, T. A. (1998). Embedding cooperative learning into the design of integrated learning systems: rationale and guidelines. Educational Technology Research and Development, 46(3), 5–18.
Casagrande, L. D. R., Caron-Ruffino, M., Rodrigues, R. A. P., Vendrusculo, D. M. S., Takayanagui, A. M. M., Zago, M. M. F., et al. (1998). Problem-posing in education: Transformation of the practice of the health professional. Patient Education and Counseling, 33(2), 161–167.
Christmann, A., & Van Aelst, S. (2006). Robust estimation of Cronbach’s alpha. Journal of Multivariate Analysis, 97(7), 1660–1674.
diSessa, A. A., & Abelson, H. (1986). Boxer: A reconstructible computational medium. Communications of the ACM, 29(9), 859–868.
Esteves, M., Fonseca, B., Morgado, L., & Martins, P. (2011). Improving teaching and learning of computer programming through the use of the Second Life virtual world. British Journal of Educational Technology, 42(4), 624–637.
Fagan, M. E. (1976). Design and code inspections to reduce errors in program development. IBM Journal of Research and Development, 15(3), 182.
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.
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.
Hadjerrouit, S. (2008). Towards a blended learning model for teaching and learning computer programming: A case study. Informatics in Education, 7(2), 181–210.
Hardy, J., Bates, S. P., Casey, M. M., Galloway, K. W., Galloway, R. K., Kay, A. E.,… & McQueen, H. A. (2014). Student-generated content: Enhancing learning through sharing multiple-choice questions. International Journal of Science Education, 36(13), 2180-2194
Hawi, N. (2010). Causal attributions of success and failure made by undergraduate students in an introductory-level computer programming course. Computers & Education, 54(4), 1127–1136.
Hung, C. M., Hwang, G. J., & Wang, S. Y. (2014). Effects of an integrated mind–mapping and problem–posing approach on students’ in–field mobile learning performance in a natural science course. International Journal of Mobile Learning and Organisation, 8(3–4), 187–200.
Hwang, G. J., Yang, L. H., & Wang, S. Y. (2013). A concept map-embedded educational computer game for improving students’ learning performance in natural science courses. Computers & Education, 69, 121–130.
Isong, B. (2014). A methodology for teaching computer programming: first year students’ perspective. International Journal of Modern Education and Computer Science, 6(9), 15.
Jonassen, D. H. (2000). Toward a design theory of problem solving. Educational technology research and development, 48(4), 63–85.” based on this comment.
Kalelioglu, F., & Gülbahar, Y. (2014). The effects of teaching programming via scratch on problem solving skills: A discussion from learners’ perspective. Informatics in Education, 13(1), 33.
Kao, G. Y. M., Lin, S. S., & Sun, C. T. (2008). Beyond sharing: Engaging students in cooperative and competitive active learning. Educational Technology & Society, 11(3), 82–96.
Laal, M., & Ghodsi, S. M. (2012). Benefits of collaborative learning. Procedia-Social and Behavioral Sciences, 31, 486–490.
Laal, M., Naseri, A. S., Laal, M., & Khattami-Kermanshahi, Z. (2013). What do we achieve from learning in collaboration? Procedia-Social and Behavioral Sciences, 93, 1427–1432.
Lai, C. L., & Hwang, G. J. (2015). An interactive peer-assessment criteria development approach to improving students’ art design performance using handheld devices. Computers & Education, 85, 149–159.
Lavy, I., & Bershadsky, I. (2003). Problem posing via “what if not?” strategy in solid geometry—a case study. The Journal of Mathematical Behavior, 22(4), 369–387.
Law, Q. P. S., Chung, J. W. Y., Leung, C. C., & Wong, T. K. S. (2015). Enhancement of self-efficacy and interest in learning english of undergraduate students with low english proficiency through a collaborative learning programme. American Journal of Educational Research, 3(10), 1284–1290.
Law, K. M., Lee, V. C., & Yu, Y. T. (2010). Learning motivation in e-learning facilitated computer programming courses. Computers & Education, 55(1), 218–228.
Liu, E. Z. F., Lin, S. S., Chiu, C. H., & Yuan, S. M. (2001). Web-based peer review: the learner as both adapter and reviewer. IEEE Transactions on Education, 44(3), 246–251.
Mantyla, M. V., & Lassenius, C. (2009). What types of defects are really discovered in code reviews? IEEE Transactions on Software Engineering, 35(3), 430–448.
Mayer, R. E. (1998). Cognitive, metacognitive, and motivational aspects of problem solving. Instructional Science, 26(1–2), 49–63.
Merrill, D. (1991). Constructivism and instructional design. Educational Technology, 31(5), 45–53.
Moons, J., & De Backer, C. (2013). The design and pilot evaluation of an interactive learning environment for introductory programming influenced by cognitive load theory and constructivism. Computers & Education, 60(1), 368–384.
Moses, B., Bjork, E., & Goldenberg, E. P. (1990). Beyond problem solving: Problem posing. In T. J. Cooney (Ed.), Teaching and learning mathematics in the 1990s (pp. 82–91). Reston, VA: National Council of Teachers of Mathematics.
Mow, I. C. (2008). Issues and difficulties in teaching novice computer programming. In Innovative techniques in instruction technology, e-learning, e-assessment, and education (pp. 199–204). Berlin: Springer.
Paas, F. G. W. (1992). Training strategies for attaining transfer of problem-solving skill in statistics: a cognitive load approach. Journal of Educational Psychology, 84(4), 429–434.
Papert, S. (1980). Mindstorms: Children, computers, and powerful ideas. Basic Books, Inc.
Pintrich, P.R., Smith, D.A.F., Garcia, T., & McKeachie, W.J. (1991). A manual for the use of the motivated strategies for learning questionnaire (MSLQ). MI: National Center for Research to Improve Postsecondary Teaching and Learning. (ERIC Document Reproduction Service No. ED 338122)
Piteira, M., & Costa, C. (2013, July). 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.
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.
Rick, J., Guzdial, M., Holloway-Attaway, K. C. L., & Walker, B. (2002, January). Collaborative learning at low cost: CoWeb use in English composition. In: Proceedings of the Conference on Computer Support for Collaborative Learning: Foundations for a CSCL Community (pp. 435–442). International Society of the Learning Sciences.
Robins, A., Rountree, J., & Rountree, N. (2003). Learning and teaching programming: A review and discussion. Computer Science Education, 13(2), 137–172.
Rogalski, J., & Samurçay, R. (1990). Acquisition of programming knowledge and skills. Psychology of Programming, 18, 157–174.
Sabin, R. E., & Sabin, E. P. (1994, March). Collaborative learning in an introductory computer science course. In: ACM SIGCSE Bulletin (Vol. 26, No. 1, pp. 304–308). ACM.
Serrano-Cámara, L. M., Paredes-Velasco, M., Alcover, C. M., & Velazquez-Iturbide, J. Á. (2014). An evaluation of students’ motivation in computer-supported collaborative learning of programming concepts. Computers in Human Behavior, 31, 499–508.
Shaw, R. S. (2012). A study of the relationships among learning styles, participation types, and performance in programming language learning supported by online forums. Computers & Education, 58(1), 111–120.
Shuk-kwan, S. L. (2013). Teachers implementing mathematical problem posing in the classroom: challenges and strategies. Educational Studies in Mathematics, 83(1), 103–116.
Sijtsma, K. (2009). On the use, the misuse, and the very limited usefulness of Cronbach’s alpha. Psychometrika, 74(1), 107.
Silver, E. A. (2013). Problem-posing research in mathematics education: Looking back, looking around, and looking ahead. Educational Studies in Mathematics, 83(1), 157–162.
Singer, F. M., & Voica, C. (2013). A problem-solving conceptual framework and its implications in designing problem-posing tasks. Educational Studies in Mathematics, 83(1), 9–26.
Soller, A. (2001). Supporting social interaction in an intelligent collaborative learning system. International Journal of Artificial Intelligence in Education, 12, 40–62.
Soloway, E. (1993). Should we teach students to program? Communications of the ACM, 36(10), 21–25.
Sung, H. Y., & Hwang, G. J. (2013). A collaborative game-based learning approach to improving students’ learning performance in science courses. Computers & Education, 63, 43–51.
Sung, H. Y., Hwang, G. J., & Chang, Y. C. (2016). Development of a mobile learning system based on a collaborative problem-posing strategy. Interactive Learning Environments, 24(3), 456–471.
Sweller, J. (1994). Cognitive load theory, learning difficulty, and instructional design. Learning and Instruction, 4(4), 295–312.
Sweller, J. (2010). Element interactivity and intrinsic, extraneous, and germane cognitive load. Educational psychology review, 22(2), 123–138.
Sweller, J., Van Merriënboer, J. J. G., & Paas, F. G. W. C. (1998). Cognitive architecture and instructional design. Educational Psychology Review, 10(3), 251–297.
Unal, H., & Arikan, E. E. (2015). An investigation of eighth grade students’ problem posing skills (Turkey sample). International Journal of Research in Education and Science, 1(1), 23–30.
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.
Vygotsky, L. S. (1962). Thought and language. Cambridge, MA: MIT Press.
Wang, Y., Li, H., Feng, Y., Jiang, Y., & Liu, Y. (2012). Assessment of programming language learning based on peer code review model: Implementation and experience report. Computers & Education, 59(2), 412–422.
Wang, S. L., & Lin, S. S. (2007). The effects of group composition of self-efficacy and collective efficacy on computer-supported collaborative learning. Computers in Human Behavior, 23(5), 2256–2268.
Wang, T., Su, X., Ma, P., Wang, Y., & Wang, K. (2011). Ability-training-oriented automated assessment in introductory programming course. Computers & Education, 56(1), 220–226.
Wichmann, A., & Rummel, N. (2013). Improving revision in wiki-based writing: Coordination pays off. Computers & Education, 62, 262–270.
Winslow, L. E. (1996). Programming pedagogy-a psychological overview. ACM SIGCSE Bulletin, 28(3), 17–22.
Yakimovicz, A. D., & Murphy, K. L. (1995). Constructivism and collaboration on the Internet: case study of a graduate class experience. Computers & Education, 24(3), 203–209.
Yang, T. C., Hwang, G. J., Yang, S. J., & Hwang, G. H. (2015). A two-tier test-based approach to improving students’ computer-programming skills in a web-based learning environment. Journal of Educational Technology & Society, 18(1), 198.
Zhang, Y., & Yan, D. (2014). Curriculum reform of C language programming and cultivation of computational thinking. Advances in Natural Science, 7(4), 49–53.
Acknowledgments
This study is supported in part by the Key Research Base of Humanities and Social Sciences in Colleges and Universities of Zhejiang Province (Zhejiang Normal University Education Base).
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
The authors would like to declare that there is no conflict of interest in this study.
Rights and permissions
About this article
Cite this article
Wang, XM., Hwang, GJ. A problem posing-based practicing strategy for facilitating students’ computer programming skills in the team-based learning mode. Education Tech Research Dev 65, 1655–1671 (2017). https://doi.org/10.1007/s11423-017-9551-0
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11423-017-9551-0