Exploring Group Work Strategies to Teach Computer Programming: A Case Study of First-Year and Extended Programme Students at One South African University
Abstract
Many rural schools in the Eastern Cape (EC) face challenges in improving their standards. Almost 97% of first-year IT Diploma students at a selected University come from these rural EC schools. Teaching programming to these first-year and extended program students is difficult, leading to high dropout rates and students switching to other IT specializations. The course is considered difficult for them to grasp, causing anxiety and frustration. Computer programming learning requires high-level critical and logical thinking skills, which poses an even greater challenge. Many students lack basic computer skills and struggle with English, the medium of instruction, adding to their difficulties. These challenges, along with others, hinder the students’ performance in the programming course. The researcher aims to explore how group work strategies could improve student performance. Students’ confidence, effort, and communication abilities play a significant role in their success in these classes. This study seeks group work strategies to help first-year and extended program students understand computer programming. It collected data from 88 students (48 first-year and 40 extended program students) using questionnaires, employing mixed methods. The findings suggest that group work could help students from disadvantaged backgrounds better grasp computer programming. This mixed method was supported by the social constructivism theoretical framework.
https://doi.org/10.26803/ijlter.23.7.14
Keywords
Full Text:
PDFReferences
Aissa, M., Al-Kalbani, M., Al-Hatali, S., & BinTouq, A. (2020). Novice learning programming languages in Omani higher education institution (Nizwa University) issues, challenges and solutions. In A. Al-Masri, & Y. Al-Assaf (Eds.), Sustainable development and social responsibility (Vol. 2; pp. 143-148). Advances in Science, Technology and Innovation. Springer Nature. https://doi.org/10.1007/978-3-030-32902-0_18
Bisai, S., & Singh, S. (2019). Bridging the divide: Collaborative learning and translanguaging in multilingual classrooms. Fortell–A Journal of Teaching English Language and Literature, 39(2), 46–57. https://www.researchgate.net/publication/334784891_Bridging_the_Divide_Collaborative_Learning_and_Translanguaging_in_Multilingual_Classrooms
Biswas, S. (2023). Role of ChatGPT in computer programming. Mesopotamian Journal of Computer Science, 2023, 9–15. https://doi.org/10.58496/MJCSC/2023/002
Bosse, Y., & Gerosa, M. A. (2017). Why is programming so difficult to learn? Patterns of difficulties related to programming learning mid-stage. ACM SIGSOFT Software Engineering Notes, 41(6), 1–6. https://doi.org/10.1145/3011286.3011301
Bravo-Sotelo, K. P. (2020). Exploring the Tagalog–English code-switching types used for mathematics classroom instruction. IAFOR Journal of Education, 8(1), 47–64. https://files.eric.ed.gov/fulltext/EJ1245827.pdf
Bygate, M. (1987). Speaking. Oxford University Press.
Cheah, C. S. (2020). Factors contributing to the difficulties in teaching and learning of computer programming: A literature review. Contemporary Educational Technology, 12(2), ep272. https://doi.org/10.30935/cedtech/8247
Chetty, J. & van der Westhuizen, D. (2017). The use of learning tools for active knowledge construction to develop coding skills. In J. Johnston (Ed.), Proceedings of EdMedia 2017 (pp. 718–722). Association for the Advancement of Computing in Education (AACE). https://www.learntechlib.org/p/178380
Chetty, J., & van der Westhuizen, D. (2015). Towards a pedagogical design for teaching novice programmers: Design-based research as an empirical determinant for success [Conference session]. Koli Calling ‘15: Proceedings of the 15th Koli Calling Conference on Computing Education Research (pp. 5–12). https://doi.org/10.1145/2828959.2828976
Costa, E. B., Fonseca, B., Santana, M. A., de Araújo, F. F., & Rego, J. (2017). Evaluating the effectiveness of educational data mining techniques for early prediction of students’ academic failure in introductory programming courses. Computers in human behavior, 73, 247-256. https://doi.org/10.1016/j.chb.2017.01.047
Dörnyei, Z., & Thurrell, S. (1994). Teaching conversational skills intensively: Course content and rationale. ELT Journal, 48(1), 40–49. https://doi.org/10.1093/elt/48.1.40
Evans, C. (2020). Measuring student success skills: A review of the literature on critical thinking. National Center for the Improvement of Educational Assessment. https://files.eric.ed.gov/fulltext/ED607780.pdf
Forslund Frykedal, K., & Hammar Chiriac, E. (2018). Student collaboration in group work: Inclusion as participation. International Journal of Disability, Development and Education, 65(2), 183–198. https://doi.org/10.1080/1034912X.2017.1363381
Freeman, S., Eddy, S. L., McDonough, M., Smith, M. K., Okoroafor, N., Jordt, H., & Wenderoth, M. P. (2014). Active learning increases student performance in science, engineering, and mathematics. Proceedings of the National Academy of Sciences of the United States of America, 111(23), 8410–8415. https://doi.org/10.1073/pnas.1319030111
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
Ideris, N., Baharudin, S. M., & Hamzah, N. (2019, March). The effectiveness of scratch in collaborative learning on higher-order thinking skills in programming subject among year-six students [Conference session]. 4th ASEAN Conference on Psychology, Counselling, and Humanities (ACPCH 2018) (pp. 421–425). Atlantis Press. https://doi.org/10.2991/acpch-18.2019.99
Jang, W., Gao, H., Michaeli, T., & Kasneci, E. (2024, June). Exploring communication dynamics: Eye-tracking analysis in pair programming of computer science education [Conference session]. Proceedings of the 2024 Symposium on Eye Tracking Research and Applications (pp. 1–7). https://doi.org/10.1145/3649902.3653942
Johnson, D. W., Johnson, R. T., & Smith, K. A. (2024). Cooperative learning: Improving university instruction by basing practice on validated theory. Journal on Excellence in College Teaching, 25(3&4), 85–118.
Jung, J., Shin, Y., Chung, H., & Fanguy, M. (2024). The effects of pre-training types on cognitive load, self-efficacy, and problem-solving in computer programming. Journal of Computing in Higher Education, 1–22. https://doi.org/10.1007/s12528-024-09407-3
Khomokhoana, P. J. (2023). Understanding elements, strengths and challenges of explicit instruction for the teaching of computer programming (to post-graduate students). The Independent Journal of Teaching and Learning, 18(1), 59–80. https://scielo.org.za/scielo.php?script=sci_arttext&pid=S2519-56702023000100005
Kovari, A., & Katona, J. (2023). Effect of software development course on programming self-efficacy. Education and Information Technologies, 28(9), 10937–10963. https://doi.org/10.1007/s10639-023-116178
Laal, M., & Ghodsi, S. M. (2012). Benefits of collaborative learning. Procedia – Social and Behavioral Sciences, 31, 486-490. https://doi.org/10.1016/j.sbspro.2011.12.091
Liu, X., Li, L., & Zhang, Z. (2018). Small group discussion as a key component in online assessment training for enhanced student learning in web-based peer assessment. Assessment & Evaluation in Higher Education, 43(2), 207–222. https://doi.org/10.1080/02602938.2017.1324018
Lukose, J. M. (2021). Effects of guided inquiry-based learning and teaching approach on students’ confidence, motivation and communication skills in an introductory computer programming course. Multicultural Education, 7(12), 20–33. https://doi.org/10.5281/zenodo.5756487
Nair, P. R. (2020). Increasing employability of Indian engineering graduates through experiential learning programs and competitive programming: Case study. Procedia Computer Science, 172, 831–837. https://doi.org/10.1016/j.procs.2020.05.119
Ng, O. L., Leung, A., & Ye, H. (2023). Exploring computational thinking as a boundary object between mathematics and computer programming for STEM teaching and learning. ZDM Mathematics Education, 55(7), 1315–1329. https://doi.org/10.1007/s11858-023-01509-z
Nguyen, K. A., Borrego, M., Finelli, C. J., DeMonbrun, M., Crockett, C., Tharayil, S., & Rosenberg, R. (2021). Instructor strategies to aid implementation of active learning: A systematic literature review. International Journal of STEM Education, 8, 1–18. https://doi.org/10.1186/s40594-021-00270-7
Nisan, N., & Schocken, S. (2021). The elements of computing systems: Building a modern computer from first principles. MIT press.
Nouri, J., Zhang, L., Mannila, L., & Norén, E. (2019). Development of computational thinking, digital competence and 21st century skills when learning programming in K 9. Education Inquiry, 11(1), 1–17. https://doi.org/10.1080/20004508.2019.1627844
Piwek, P., & Savage, S. (2020, February). Challenges with learning to program and problem solve: An analysis of student online discussions [Symposium]. Proceedings of the 51st ACM Technical Symposium on Computer Science Education (pp. 494-499). https://doi.org/10.1145/3328778.3366838
Robins, A. V. (2019). 12 – Novice programmers and introductory programming. In S. A. Fincher, & A. V. Robins (Eds.), The Cambridge handbook of computing education research (pp. 327–376). Cambridge University Press.
Rosenberg-Kima, R. B., Merrill, M. D., Baylor, A. L., & Johnson, T. E. (2022). Explicit instruction in the context of whole-tasks: The effectiveness of the task-centered instructional strategy in computer science education. Educational Technology Research and Development, 70(5), 1627–1655. https://doi.org/10.1007/s11423-022-10143-7
Susanti, W. (2021). An overviuw of the teaching and learning process basic programming in algorithm and programming courses. Turkish Journal of Computer and Mathematics Education (TURCOMAT), 12(2), 2934–2944. https://turcomat.org/index.php/turkbilmat/article/view/2332
Ryan, R. M., & Deci, E. L. (2017). Self-determination theory: Basic psychological needs in motivation, development, and wellness. Guilford publications.
Ubaidullah, N. H., Mohamed, Z., Hamid, J., Sulaiman, S., & Yussof, R. L. (2021). Improving novice students’ computational thinking skills by problem-solving and metacognitive techniques. International Journal of Learning, Teaching and Educational Research, 20(6), 88–108. https://doi.org/10.26803/ijlter.20.6.5
Vygotsky, L. S. (1978). Mind in society: Development of higher psychological processes. Harvard University Press.
Webb, N. M., Franke, M. L., Ing, M., Wong, J., Fernandez, C. H., Shin, N., & Turrou, A. C. (2014). Engaging with others’ mathematical ideas: Interrelationships among student participation, teachers’ instructional practices, and learning. International Journal of Educational Research, 63, 79–93. https://doi.org/10.1016/j.ijer.2013.02.001
Wei, Y., Shi, Y., MacLeod, J., & Yang, H. H. (2022). Exploring the factors that influence college students’ academic self-efficacy in blended learning: A study from the personal, interpersonal, and environmental perspectives. SAGE Open, 12(2), Article 21582440221104815. https://doi.org/10.1177/21582440221104815
Yilmaz, R., & Yilmaz, F. G. K. (2023). The effect of generative artificial intelligence (AI)-based tool use on students’ computational thinking skills, programming self-efficacy and motivation. Computers and Education: Artificial Intelligence, 4, Article 100147. https://doi.org/10.1016/j.caeai.2023.100147
Zhang, X., Zhang, C., Stafford, T. F., & Zhang, P. (2013). Teaching introductory programming to IS students: The impact of teaching approaches on learning performance. Journal of Information Systems Education, 24(2), 147–155. http://jise.org/Volume24/n2/JISEv24n2p147.pdf
Refbacks
- There are currently no refbacks.
e-ISSN: 1694-2116
p-ISSN: 1694-2493