An Educational Ontology for Introductory Python Programming: Structuring Knowledge to Enable Personalization
Ines Obradović, Boris Vrdoljak, Mario Miličević, Adriana Lipovac · IEEE Access · 2026
Personalized learning has gained significant attention in recent years in response to the limitations ofone-size-fits-allapproaches to teaching, particularly in areas such as programming education where learners vary widely in prior knowledge, pace and learning preferences. The Python programming language has recently become the language of choice for introductory programming courses thanks to its simple syntax and broad applicability. However, even with a beginner-friendly programming language such as Python, learners benefit most when instruction is thoughtfully organized and flexible enough to meet their diverse needs. This paper presents EduPythontology, an educational ontology specifically developed to support the teaching and learning of Python through a semantically structured knowledge representation. The ontology formalizes programming concepts and their instructional relationships by capturing both logical dependencies and pedagogically motivated sequences based on established educational theories and research findings. This, in turn, enables the design of adaptive learning paths. In addition, EduPythontology combines instructional design components related to learning goals, cognitive complexity, learner preferences and resource types to facilitate the personalization of learning paths. During the development of the ontology, we followed the METHONTOLOGY framework as our main methodological reference, though some phases were slightly adapted to better match the goals of this work. The ontology was developed through iterative cycles of concept definition, relation refinement and validation. Logical consistency was verified using automated reasoning, and competency questions confirmed that the model met its purpose. Expert review led to minor revisions that improved clarity. The final version proved to be clear and consistent. It offers a dependable base for further work on intelligent tutoring tools in Python education.