Онтология практических знаний по программированию
Authors: Гагарин А.П. 
Published: December 2024

Стремительное развитие информационных технологий, изменчивость методических установок в сфере образования ведут к хронической нестабильности комплекса учебно-методических материалов в практике преподавания программирования и смежных с ним дисциплин. Профессиональный преподаватель сталкивается с необходимостью оперативно изменять структуру и содержание лекций, заданий для лабораторных и семинарских занятий. Формируется объективная потребность в методах и инструментах накопления и специализированного редактирования учебных материалов, среди которых особую роль играют учебные примеры программ. Особенно ценны примеры, представляющие собой тексты программ на исходных языках программирования, пригодные для выполнения в соответствующей операционной среде с выдачей протокола выполнения, который, по существу, можно считать входящим в состав примера. Целесообразно накапливать коллекции таких примеров и включать их с большими или меньшими изменениями в учебные пособия, доклады и демонстрационные материалы. В данной статье коллекции примеров рассматриваются как контент баз практических знаний, разновидность «больших данных», необходимых для конструирования исходных текстов программ на языках программирования. Предложена архитектура программной оболочки комплексной базы знаний, объединяющей прагматику программирования с синтаксисом и семантикой языков программирования. В оболочку встроены фрагмент онтологии языка Java и фрагмент онтологии умений («компетенций») программиста, необходимых для реализации ряда программных решений и выраженных в виде примеров на языке Java. Комплексная база знаний позволяет в среде Windows выбирать и демонстрировать примеры одновременно с демонстрацией соответствующих определений из спецификации языка Java.
Swift development of the information technologies as well as a notable variability of methodological settings in the professional education entail a chronic volatility of the hole complex of didactic guides and study manuals in the current practice of teaching programming and related disciplines. Professional teacher faces the need to change promptly the structure and content of her/his lectures, laboratory works and practical lessons. An objective demand emerges on methods and tools for saving and editing of didactic materials, that include didactic examples of programs. The text of a source program is considered highly appropriate for this purpose if it is successfully executable in a suited operational environment and provides snapshots of the result. The snapshots may be considered as parts of the examples. It is very practical to collect such examples and include them as they are or with small edits into the current manuals, reports and presentations. Collections of such examples are regarded in the issue as a content of databases, a sort of the “big data”, that accumulates pragmatic knowledges needed for constructing source texts in programming languages. An architecture of a knowledge base shell is proposed that integrates the pragmatics of program constructing with syntax and semantics of the programming language in use. The shell includes a piece of a Java language ontology and a piece of an ontology of programmer’s skills (competences) needed for implementation of a set of solutions and expressed as Java-examples. The integrated knowledge base lets to select and display in the Windows-environment the amassed program examples in parallel with showing definitions taken from the specification of Java.