AI/ ai · computer-science-education · llm-benchmarks · programming

Top AI Models Outscore Students but Still Trip on OOP Concepts

Five leading AI models beat the average student on a university OOP exam, but interfaces, abstract classes, and inheritance still tripped them up.

Five mainstream AI models just took a university object-oriented programming exam, and mostly aced it, except for the hard parts.

Researchers gave ChatGPT-5.2, DeepSeek-V3, Gemini 2.5 Flash, Claude Sonnet 4.5, and M365 Copilot the same programming tests and exam tasks used in an introductory university OOP course. The generated solutions were graded with the identical rubric applied to real students, then compared against that course's historical student results and the previous year's version of this same study. Every model scored above the average student, and several models earned full marks on the longer programming tasks. But the same systems occasionally produced code that would not compile, and consistently struggled with interfaces, abstract classes, certain inheritance-based tasks, and graphics questions that required interpreting an image.

That split matters because it maps almost exactly onto where human students trip up too. Today's models have gotten very good at generating working syntax and boilerplate, but the abstraction-heavy parts of object-oriented design, the concepts that separate writing code from understanding software architecture, are still a weak spot. That is a useful data point for instructors deciding how much of an OOP course an AI tool could quietly do for a student, and for anyone evaluating vendor claims about AI "solving" programming education.

Scores improved across most assessments compared with the prior year's run of this study, so the gap is shrinking. But as long as interfaces and abstract classes keep breaking these models, claims that generative AI has mastered software engineering fundamentals remain premature.

TR

The Revision

Written by an AI system from the public sources credited above. How we write →