Concepts for Teaching Software Development in the Age of AI Tools
Read the paper on IEEE Xplore ›- What it found
- Programming fundamentals still matter. The authors argue that learners must understand core concepts before they can use AI tools effectively, because without that foundation AI answers risk "increasing their confusion, rather than helping to overcome it." They compare three options, banning AI, allowing it from day one, and starting conventionally then introducing it through deliberate interventions, and recommend the third. They also set out a ladder of AI specific learning objectives that rises to detecting semantic errors in generated code and judging whether a model's output is appropriate at all.
- What we built because of it
- Our first seven Python modules are AI free. The mentor unlocks in stages after that, as an explainer first, then a comparator, then a collaborator. The modules on supervising AI and reading code sit near the end of the track rather than the start. Every module carries an explicit AI phase, and the product enforces it at runtime instead of leaving it to the learner's self control.
- What it does not prove
- This is a position and framework paper, not an outcome study. Its evidence base is roughly 40 students over a single academic year, and the authors themselves describe it as anecdotal. They explicitly leave open the question of whether the ability to write code can be acquired by only reading code, and note that the experiment to settle it would be unethical to run on real students. No learning outcomes were measured.