The fear educators often have

Mention AI in a programming classroom and the same worry comes up. Fundamentals are being skipped. Students are reaching for a model before they understand the language they are writing. The submitted artefact looks stronger than ever. The grasp behind it feels thinner.

The list of fundamentals at risk is not in dispute. Syntax. Logic and control flow. Problem decomposition. Debugging and testing. Code structure and maintainability. The question is what happens to those skills when most of the typing is done with help from a model.

The concern is fair. If students only prompt, copy, and submit, fundamentals stop being practised. They do not stop mattering. They become harder to see.

AI does not remove the need for understanding

A student who does not understand programming fundamentals can still hand in working code. AI will provide it. What that student cannot reliably do is read the code back, judge it, or move it on. The submission looks complete. The understanding underneath it is not tested by anything in the file.

Without fundamentals, a student tends to struggle to:

What weakens without fundamentals
  • spot flawed logic in a model's first reply
  • recognise when the chosen approach does not fit the brief
  • adapt the code when requirements change
  • debug behaviour that was not expected
  • explain why the solution works at all
AI can produce plausible code even when understanding is weak.

Weak AI use and strong AI use

The difference between students who benefit from AI and students who are carried by it shows up early in the development process. One pattern leaves a trace of decisions. The other leaves only an output.

Weak AI use

Prompt, copy, submit

  • asks the model for a whole answer
  • pastes the reply with little change
  • writes the README to fit the code, not explain it

The output looks complete. The thinking behind it is unclear, and often missing.

Strong AI use

Prompt, interpret, adapt, test, account for

  • brings a first attempt to the model, not a blank prompt
  • reads the reply, keeps some, rejects some, changes some
  • tests, fixes, and notes what changed and why

AI sits inside a visible development process. The student can account for what shipped.

The real question: not whether students use AI, but whether they understand enough to use it well. Fundamentals are what make the difference between the two patterns above.

Fundamentals matter more as AI use increases

The instinct that AI reduces the need for fundamentals reverses once you watch students use it for any length of time. Stronger grounding is what lets a student guide a model rather than depend on it. Weaker grounding turns every reply into something to accept on trust.

Students with stronger fundamentals tend to:

What stronger grounding makes possible
  • ask clearer technical questions of the model
  • recognise weak, off-brief, or misleading replies
  • choose between alternatives that would all run
  • refactor the result instead of accepting it as final
  • test and validate behaviour against the brief

Fundamentals are what turn AI from a shortcut into a development tool. The students who do well with AI are not the ones who lean on it hardest. They are the ones who can argue with it.

The assessment problem

The problem is not that fundamentals no longer matter. The problem is that they are no longer reliably visible in the final submission. Working code, on its own, no longer tells the marker whether the student understood the logic, the structure, or the decisions behind it. Plausible code can be produced without any of those things.

The gap: the artefact still looks like evidence of fundamentals. With AI in the room, it is no longer a reliable source of that evidence. The marker has to read for it elsewhere.

What fundamentals look like in practice

In AI-assisted programming work, fundamentals show up through the development process rather than the final file. Each one leaves a trace, if the student is asked for it.

Decomposition

Breaking the task apart

Splitting the brief into smaller problems before reaching for a model. Visible in early notes, draft pseudocode, and the shape of the first prompts.

Logic

Choosing the right structures

Picking suitable conditions, loops, and data structures. Visible in commit history and in short notes against the relevant lines of code.

Debugging

Finding and fixing errors

Identifying what broke and why. Visible in error messages logged, fixes applied, and the reason recorded against each fix.

Testing

Checking against the brief

Confirming the code does what the brief asked. Visible in tests, manual checks, and a note on what was confirmed and how.

Structure

Organising the solution

Keeping the code readable and maintainable. Visible in file layout, naming, and short justifications for the structure chosen.

Evaluation

Accounting for trade-offs

Explaining what was kept from AI replies, what was rejected, and what would change with more time. Visible in the reflection.

The point: these are not separate from AI-assisted development. They are what make AI-assisted development markable.

How to make fundamentals visible

To assess fundamentals when AI is in the mix, the marker needs evidence of how the student worked, not only what they produced. The good news is that the evidence is already being generated by the tools students use. Most of it just is not being captured.

Useful evidence of fundamentals
  • initial attempts, before the model was opened
  • Git commit history with honest messages
  • debugging notes tied to specific errors
  • AI prompt and revision trails, kept and rejected
  • short decision logs against specific lines
  • explanations linked to particular code changes

None of this asks the student for a separate document. It asks them to commit as they go, write short notes alongside the code, and account for AI use in the README that already sits in the repo.

Where PRISM fits

The PRISM Workflow gives this evidence somewhere consistent to land. Five stages, named for the move the student is making at each point in the build. Each stage carries part of the trace the marker is reading for.

P

Problem

The brief restated by the student. Shows whether the task and the constraints were understood before any code was written.

R

Respond

A first attempt before the model is used. Shows the student's starting point, in their own logic and structure.

I

Interact

Prompts, replies, and what the student kept, rejected, or changed. Shows iteration, debugging, and how AI was used.

S

Synthesize

The final code, with a short account of how it was built from the earlier attempts and the AI exchanges.

M

Make visible

A short reflection linking decisions to what the student now understands, and what they would still change.

Where each fundamental lands

The six fundamentals above do not need a separate place to be assessed. They show up across the PRISM stages, inside the README the student is already writing.

Fundamental Workflow stage Where it shows up
Decomposition Problem, Respond Restated brief, early plan, first attempt
Logic Respond, Synthesize First attempt, final code, decision notes
Debugging Interact, Synthesize Errors logged, fixes applied, reasons recorded
Testing Synthesize Tests, manual checks, evidence in the README
Structure Synthesize File layout, naming, short justifications
Evaluation Make visible Reflection on trade-offs and next changes

What does not change: not the criteria, not the tools, not the artefact the student submits. Only what that artefact is allowed to carry, and where the marker reads each fundamental from.

What this changes for the marker

The shift is small in the artefact and large in what the artefact carries. The code is the same. The README is the same file. The fundamentals the marker is reading for are the same. The evidence base is wider, and the work of inferring is replaced with the work of reading.

Before

Fundamentals are inferred

  • does the code run
  • does it match the brief
  • does it look like the student's work

Understanding is guessed from the output. If the code works, the fundamentals are assumed to be there.

After

Fundamentals are observed

  • how the solution developed, commit by commit
  • which decisions the student made, and why
  • where AI was used, and what was done with the reply
  • what broke, and how it was fixed
  • what the student would change next time

Understanding is read from the trace. The criteria do not change. The evidence base does.

The challenge is no longer just teaching programming fundamentals. It is making sure we can see them in action.

What to do next

One assignment is enough to start with. Pick a task students already submit with a README and a repo. Structure the README so the development process is visible. Mark against the criteria the module already uses, reading for fundamentals through the trace rather than the artefact alone.

  1. Pick a task students already hand in with a README and a repo.
  2. Add the PRISM sections to the README template for that task.
  3. State, in the brief, that AI use is expected and that the README carries the evidence of fundamentals.
  4. Mark against the criteria you already use, reading the README for the fundamentals the artefact alone no longer shows.