Teaching Programming with AI: What Does a Code Submission Still Prove?
When AI tools are available, a working code submission no longer reliably demonstrates what students can do. Have they understood the problem, identified errors and made their own decisions? Three learning formats and three assessment criteria show how the selection of relevant information, targeted follow-up prompts and verification can be assessed without creating an unreasonable workload.
Code Submissions Are Losing Their Evidentiary Value
A working program was never proof of independent work, but it did provide an important indication. Language models can now produce a usable result without the student understanding the crucial steps. This assessment problem becomes more pronounced when AI is permitted: the finished product provides only limited evidence of a student’s abilities.
A ban does not solve the problem. In a controlled study, greater trust was associated with a poorer ability to distinguish correct from incorrect AI suggestions [1]. Study [2] found that complete AI-generated solutions led to better task performance, especially among beginners, but produced no consistent gains in knowledge. Study [3] found that students worked faster and produced better code, but improvements in understanding were inconsistent. If a course permits the use of AI, the ability to engage with it critically must be an explicit learning objective.
What Still Needs to Be Learned
Algorithmic thinking, reading code, debugging, testing and structuring programs remain central learning objectives. Without them, an AI solution cannot be assessed.
For example, a student is asked to read a tabular text file, handle incomplete rows and calculate averages. The AI quickly delivers a working program. But has the student also considered missing values, different decimal separators, duplicate header rows, incorrect character encoding and division by zero? Suitable tests show whether she has understood the task.
Teaching should remain a staged process: first, students write, read and correct code without AI. Then they compare AI explanations, error analyses or test ideas with their own work. Later, collaboration itself becomes a learning objective.
Three Learning Formats for Teaching
- Selecting relevant information
Using a program, an error message and several files, students assemble an information package containing the observed error, the expected behaviour, relevant code excerpts and a subject-specific requirement. They then identify which statements in the AI’s response can be checked against the task, the code and the tests.
For a faulty file-reading program, for instance, they decide which information is relevant: the log file, the user interface, the function or the tests. Selection, justification and verification are assessed. For beginners, the selection can be limited to a few marked excerpts.
- Repairing a faulty suggestion
In an error analysis, students examine an almost-correct AI suggestion. They locate the remaining error, add missing tests and explain why the initial suggestion is not sufficient. In doing so, they practise reading code and challenging a seemingly plausible solution.
- Justifying an AI-supported project
In a small project, AI may be used extensively. Every important change is appropriately verified and briefly justified; where the expected behaviour can be clearly specified, this includes an automated test. A five-line solution card keeps the effort manageable:- the problem in one’s own words
- the subtask delegated to the AI
- the point criticised in the AI’s result
- the specific improvement requested, with justification
- verification through automated tests, manual visual inspection or runtime observation
The solution card complements the program and the tests; for larger pieces of work, an oral discussion may be added.
Assessing Understanding, Outcome and AI Use
The following three criteria provide an adaptable assessment framework:
- Subject-matter understanding: can the student explain the requirements, the solution approach, the assumptions and critical edge cases?
- Quality and verification of the solution: was a suitable testing approach chosen? Do automated tests cover the definable behaviour and critical edge cases?
- Reasoned use of AI: how well does the student a) select relevant information, b) recognise a requirement that has not been met and c) formulate an appropriate follow-up prompt?
«Find all errors and fix them» shows little subject-matter judgement. More meaningful would be, for example: «For negative inputs, the function returns a value instead of an error message. Correct this case, do not change the interface and add a suitable test.» However, even a prompt of this kind may have been copied or generated by AI. It only counts if students explain its relation to the requirement and verify the change. The linguistic wording itself is not assessed.
Short tasks without AI reveal the fundamentals. For projects, oral spot checks help: Why was this file important? Which test would have exposed the flaw in the suggestion? Which assumption made by the AI was wrong?
Not every task has to test all criteria to the same degree. The grid is not a ready-made measuring instrument; the weighting and required evidence depend on the students’ stage of learning and the form of assessment.
Putting Data Protection into Practice
Program code may contain access keys, personal data, internal business logic and parts protected by copyright or contract. Before submitting material to an AI system, students must limit what they share, remove secrets and replace personal data with synthetic examples. If confidential code must be used, students are required to work with institutionally approved tools. Conversation logs, too, can reveal sensitive content. UNESCO and the OECD emphasise data protection, transparency and equitable access [4, 5].
Paid tools should not confer an advantage in assessed work. For graded work, everyone needs the same approved tools or an equivalent alternative. Responsibility for the submitted solution remains with the students.
Conclusion
For more extensive tasks in which AI is permitted, a code submission alone is not sufficient evidence of achievement. A course should combine fundamentals without AI, targeted AI exercises and AI-supported projects. What counts, then, is not skill in formulating AI prompts, but a technically sound and accountable working process.
Links and Background Information
[1] Pitts, Rani and Mildort: Trust and Reliance on AI in Education: AI Literacy and Need for Cognition as Moderators. https://doi.org/10.1007/978-3-032-29763-1_28
[2] Chen et al.: Examining the Usage of Generative AI Models in Student Learning Activities for Software Programming. https://arxiv.org/abs/2511.13271
[3] Andleeb, Kantorski and Carver: ChatGPT in Introductory Programming. https://arxiv.org/abs/2510.00946
[4] UNESCO: Guidance for generative AI in education and research. https://www.unesco.org/en/articles/guidance-generative-ai-education-and-research
[5] OECD: Reimagining Teaching in an Accelerating World. https://www.oecd.org/en/publications/reimagining-teaching-in-an-accelerating-world_d0edfe8c-en/full-report/component-6.html
Create PDF






Contributions as RSS
Comments as RSS
Leave a Reply
Want to join the discussion?Feel free to contribute!