Skip to content

Clarification on AI Use and the Viva ​

Recent developments in generative AI have materially changed the manner in which software can be produced. In particular, command-line AI tools can inspect a software repository, modify multiple files, execute tests, interpret failures and progressively refine an implementation. Consequently, a suitably constructed prompt may enable such a tool to complete a substantial proportion of a coursework exercise, conceivably with little or no subsequent intervention from the student.

Prohibited tools

The use of agentic command-line AI tools that can inspect, modify or execute the coursework repository is not permitted for this assessment. This restriction does not prohibit the specific forms of AI assistance that are expressly permitted or required below.

Unfortunately, the use of these tools cannot be reliably identified from the submitted code alone. It would therefore be inappropriate to base the assessment upon an assumption that AI-generated code can be detected accurately or consistently. Equally, removing substantial software-development exercises from the curriculum would deny students an important opportunity to develop, integrate and evaluate software systems.

Some compromise is therefore required. The submitted implementation provides evidence of the scope, ambition and technical quality of the work attempted. However, it does not, in isolation, provide sufficient evidence of the individual student's understanding. Consequently, the submission is supported by a mandatory in-person viva in which that understanding is assessed directly.

Permitted use of AI ​

AI use is an explicit part of this coursework. For the parallel implementation, the intended approach is to use the University-provided Copilot for code generation. You must retain a record of the prompts used and submit this record in ai-prompts.zip. For the distributed implementation, AI use is permitted but optional.

Alternative for students who object to using AI

If you have a strong objection to the use of generative AI, you may complete the coursework entirely without AI assistance. In place of ai-prompts.zip, you must submit a single text file stating clearly that no generative AI was used at any stage in producing the submission.

No additional credit will be awarded for choosing not to use AI. A submission produced without AI assistance will be assessed against the same criteria and to the same standard as a submission produced with permitted AI assistance. Students who choose not to use AI must still complete all required elements of the coursework and demonstrate their understanding during the viva.

In all cases, the account provided of how the submission was produced must be accurate. If you submit an AI prompt record, it must provide an accurate record of your use of AI. If you declare that no AI was used, this declaration must likewise be accurate.

The role of the viva ​

The submission is not assessed in isolation. Every student must undertake a mandatory in-person viva. During the viva, you may be asked to:

  • explain the structure and behaviour of your implementation;
  • justify design and implementation decisions;
  • trace the execution of relevant sections of code;
  • identify limitations, errors or possible improvements;
  • modify, extend or reason about your solution; and
  • explain how AI-generated code was evaluated, tested and integrated.

The precise questions asked will depend upon the submitted work. In particular, the scope and difficulty of the viva will be informed by the scope, complexity and apparent sophistication of the implementation.

How to think about the submission and viva

The submission may be considered analogous to a CV presented at an interview. It provides evidence of what the student claims to have achieved, while the viva provides an opportunity to examine and substantiate those claims.

There is also an analogy with the degree of difficulty in Olympic diving. A more ambitious implementation creates an opportunity to demonstrate a higher level of achievement, but it also requires the student to answer correspondingly more demanding questions.

Complexity is not, by itself, evidence of understanding. A student who submits a technically sophisticated system must be able to explain and reason about that system. Conversely, a more modest implementation may still provide convincing evidence of achievement when it is supported by a particularly strong demonstration of understanding during the viva.

Marks will therefore reflect both the submitted implementation and the understanding demonstrated in the viva. It is possible for an average implementation supported by an excellent viva to receive a higher mark than an excellent-looking implementation supported by only an average viva.

Satisfactory understanding is required

Students are not expected to remember every line of code. They are, however, expected to demonstrate a satisfactory understanding of the work they submit, including any code produced with AI assistance. A student who cannot satisfactorily explain, justify or reason about their submission will not have demonstrated the relevant learning outcomes and may fail the assessment.

The purpose of the viva is not to penalise legitimate AI use. AI use is expected for one part of the coursework, permitted for another, and an alternative is provided for students who have a strong objection to its use. Rather, the purpose of the viva is to determine what the student understands, which decisions the student made, and what the student learned through producing the submission.