Large language models (LLMs) such as ChatGPT are now embedded in how students learn programming. For computing educators, this raises a central question:
How do we maintain meaningful student engagement with learning materials and conceptual understanding while preparing learners for an AI-rich computing landscape?
My recent research [1] compared students’ perceptions of programming learning difficulties before ChatGPT’s public release and one year later. The findings are instructive for teaching practice. Despite the availability of LLMs, core programming challenges persist. Debugging, program design, decomposition, and version control remain difficult, reinforcing the importance of strong foundational skills, a key concern in developing resilient, industry-relevant computing graduates.
At the same time, students’ learning behaviours are changing. Traditional materials such as lecture notes, example programs, and exercises are now perceived as more difficult to learn from, while ChatGPT is seen as a moderately accessible learning resource, particularly for abstract concepts like recursion. This reflects a shift toward interactive, adaptive learning expectations, rather than a reduction in the cognitive demands of programming itself.
Crucially, the study highlights the role of trust, fairness, and perceived effectiveness. Students who trusted ChatGPT and viewed it as fair reported lower perceived learning difficulties. Those concerned about plagiarism and ethical misuse often reported greater difficulty, suggesting that uncertainty around responsible AI use can actively hinder learning.
These findings resonate strongly with my recent classroom experience.
I co-teach a bootcamp-style, six-week, practice-oriented programming course for MSc students, with over 90% of learners international. The course has followed the same modified team-based learning structure since 2019 [2]. However, in semester one of the current academic year (2025–2026), student engagement shifted significantly.
In the first two weeks, students relied heavily on ChatGPT, Gemini, Claude, and similar tools during practical lab sessions. Despite tutors’ guidance to read the material and attempt tasks independently, engagement with the Python teaching materials was minimal, and generative AI was often the primary problem-solving strategy. Students focused primarily on formative quizzes, often using generative AI as their first, and sometimes only, learning strategy, and to solve their programming exercises.
Students’ attitudes changed dramatically after the first summative assessment, an early (end of week 2) tightly invigilated one-hour quiz with 20 questions on basic Python, including code comprehension, debugging, Parsons’ puzzles, and understanding core concepts. For the first time since 2019, no student achieved full marks on what is considered the most basic and easiest assessment. The cohort average was the lowest on record, including among students with prior programming experience. Students with prior experience were even more surprised by their performance, with some approaching the teaching team to review the questions until they saw the correct answers and explanations.
The impact was immediate. In subsequent labs, students changed their learning strategies, engaged deeply with the teaching materials, and began prioritising reading, reasoning, and understanding code before applying AI support. It was very rewarding to see most students actively engaging with the teaching materials, with the PCs and their laptop screens filled with the slides, lab exercises, and their programming environments. Performance on later assessments recovered to levels consistent with those of previous cohorts, and engagement remained high throughout the remaining four weeks of the course.
This experience in our course suggests a key pedagogical insight: when LLMs become students’ primary learning resource, engagement with conceptual understanding can diminish, unless expectations are clearly and early calibrated.
For educators, my one practical recommendation is to include an early, invigilated summative assessment that prioritises, for example, understanding, reasoning, and debugging over code generation.
That first assessment will:
- Signal that reading, reasoning, and debugging matter
- Reframe AI as a complementary tool rather than a replacement
- Encourage engagement with teaching materials
- Help students recalibrate learning strategies early rather than late
As LLMs continue to evolve, programming education must adapt by designing learning environments that ensure understanding remains central. AI changes the tools students use, but it does not reduce the cognitive work required to learn to program.
As educators, we are no longer just teaching syntax and problem-solving; we are teaching learning strategies in an AI-rich environment. Maintaining engagement in this context requires intentional course design, clear assessment signals, and early interventions that reinforce the enduring value of conceptual understanding.
References
[1] Mireilla Bikanga Ada. 2026. Programming Challenges and Perceptions: A Study of Separate Groups before and after the Release of ChatGPT. ACM Trans. Comput. Educ. 26, 2, Article 17 (June 2026), 29 pages. https://doi.org/10.1145/3777904
[2] Mireilla Bikanga Ada and Mary Ellen Foster. 2023. Enhancing postgraduate students’ technical skills: perceptions of modified team-based learning in a six-week multi-subject Bootcamp-style CS course. Comput. Sci. Educ. 33, 2 (2023), 186–210. https://doi.org/10.1080/08993408.2021.1959174
