Students’ Perceptions and Use of Generative AI Tools for Programming Across Different Computing Courses
There's a big difference between using AI to do things you don't know how to do, and using AI to do things you do know how to do faster.
Keuning, H., Alpizar-Chacon, I., Lykourentzou, I., Beehler, L., Köppe, C., Jong, I. de, & Sosnovsky, S. (2024). Students’ Perceptions and Use of Generative AI Tools for Programming Across Different Computing Courses (No. arXiv:2410.06865). arXiv. https://doi.org/10.48550/arXiv.2410.06865
One of the main contributions of this study is looking at how AI use (and attitudes about AI use) differ across three different learning contexts: courses where learning to program is the goal, courses where programming is necessary to complete assignments, and courses where programming would be helpful but is optional.
We distinguish between programming courses (where the fundamentals of programming are taught), courses where programming is a required component, and courses where programming is optional. Of the 269 responses on how students use GenAI tools (Q22), 115 responses indicated no use. Looking at the instances where GenAI was used, we found some differences between the different types of courses. Students relied more on GenAI for implementing features in courses where learning to program was not the main goal. This is also reflected in the answers of students when asked when they believe use of GenAI should be allowed, and can be connected to the differences we found in the acceptance of GenAI use between MSc and BSc students. MSc students found it more acceptable to use GenAI tools for programming assignments in their courses. A reason for this could be that these MSc courses were almost all programming required or programming optional courses, but not fundamental programming courses in which students were still learning the programming basics. The results for the BSc students also point towards this. The results show a trend where the use of GenAI tools is seen as more appropriate for courses where learning to program is not the goal but applying programming is.
I’ve talked about this previously as “the difference between using AI to do things you don't know how to do, and using AI to do things you do know how to do faster.” In the first case reliance on AI can prevent learning from happening. In the second case it can enable better learning by remove extraneous cognitive load, allowing you to focus on the things you are trying to learn.