An experience in mixing cognitive and affective teaching approaches in a CS1 course
Resumo
Learning computer programming involves overcoming different obstacles to mature technical, cognitive, and social skills. The literature presents a variety of teaching approaches to engage students in learning how to program. However, there is a lack of works that combine different teaching methods from cognitive and affective dimensions or consider the latter dimension in face-to-face classes consistently. This work presents our experience mixing pair programming, formative feedback, aspects of the affective dimension, and creative programming problems. The preliminary results analysis of three groups (82 students) reveals the contribution of our approach to the pass and fail rates (P = 0.0367 and 0.0329, respectively) corroborated by students’ feedback.
Referências
Borovina Josko, J. M. (2021). Mixing cognitive and affective approaches in teaching introductory programming. In 26th ACM Conference on Innovation and Technology in Computer Science Education V. 2, pages 1–1, Germany. ACM New York, NY.
Brookhart, S. M. (2017). How to give effective feedback to your students. Association for Supervision and Curriculum Development
Carbone, A., Hurst, J., Mitchell, I., and Gunstone, D. (2009). An exploration of internalfactors influencing student learning of programming. In The Eleventh Australasian Conference on Computing Education, volume 95, pages 25–34. Australian Computer Society, Inc.
da Silva Estácio, B. J. and Prikladnicki, R. (2015). Distributed pair programming: A systematic literature review. Information and Software Technology, 63:1–10.
Evans, I. M., Harvey, S. T., Buckley, L., and Yan, E. (2009). Differentiating classroom climate concepts: Academic, management, and emotional environments. Kotuitui: New Zealand Journal of Social Sciences Online, 4(2):131–146.
Goel, S. and Kathuria, V. (2010). A novel approach for collaborative pair programming. Journal of Information Technology Education: Research, 9(1):183–196
Gurer, M. D. and Tokumaci, S. (2020). Factors affecting engineering students’ achievement in computer programming. International Journal of Computer Science Education n Schools, 3(4):23–34.
Hargreaves, A. (1998). The emotional practice of teaching. Teaching and teacher education.
Hindman, J., Grant, L., and Stronge, J. (2013). The supportive learning environment: Effective teaching practices. Routledge.
Iskrenovic-Momcilovic, O. (2019). Pair programming with scratch. Education and Information Technologies, 24(5):2943–2952.
Johnson, C., McGill, M., Bouchard, D., Bradshaw, M. K., Bucheli, V. A., Merkle, L. D., Scott, M. J., Sweedyk, Z., Velázquez-Iturbide, J. Á ., Xiao, Z., et al. (2016). Game development for computer science education. In Proceedings of the 2016 ITiCSEWorking Group Reports, pages 23–44.
Klopp, M., Gold-Veerkamp, C., Kuhn, M., and Abke, J. (2017). Can pair programming address multidimensional issues in higher education? In International Conference on Interactive Collaborative Learning, pages 479–486. Springer.
Mok, H. N. (2014). Teaching tip: The flipped classroom. Journal of information systems education, 25(1):7.
O’Donnell, C., Buckley, J., Mahdi, A., Nelson, J., and English, M. (2015). Evaluating pair-programming for non-computer science major students. In Proceedings of the 46th ACM Technical Symposium on Computer Science Education, pages 569–574. ACM.
Reynolds, C. W. and Goda, B. S. (2007). The affective dimension of pervasive themes in the information technology curriculum. In Proceedings of the 8th ACM SIGITE conference on Information technology education, pages 13–20.
Sahami, M., Roach, S., Cuadros-Vargas, E., and LeBlanc, R. (2013). Acm/ieee-cs computer science curriculum 2013: reviewing the ironman report. In Proceeding of the 44th ACM technical symposium on Computer science education, pages 13–14. ACM.
Simon, B., Kinnunen, P., Porter, L., and Zazkis, D. (2010). Experience report: Cs1 for majors with media computation. In Proceedings of the fifteenth annual conference on Innovation and technology in computer science education, pages 214–218.
Sun, Q., Wu, J., Rong, W., and Liu, W. (2019). Formative assessment of programming language learning based on peer code review: Implementation and experience report. Tsinghua Science and Technology, 24(4):423–434.
Vikberg, T., Vihavainen, A., Luukkainen, M., and Kurhila, J. (2013). Early start in software coaching. In International Conference on Agile Software Development, pages 16–30. Springer.
Xinogalos, S., Malliarakis, C., Tsompanoudi, D., and Satratzemi, M. (2015). Microworlds, games and collaboration: three effective approaches to support novices in learning programming. In Proceedings of the 7th Balkan Conference on Informatics Conference, pages 1–8.
Zampirolli, F. A., Borovina Josko, J. M., Venero, M. L., Kobayashi, G., Fraga, F. J., Goya, D., and Savegnago, H. R. (2021). An experience of automated assessment in a large-scale introduction programming course. Computer Applications in Engineering Education, Pages 1–16.