AI-ORIENTED TECHNOLOGY FOR STATIC CODE ANALYSIS IN HIGH-LEVEL LANGUAGES WITHIN A PROGRAMMING TRAINING SYSTEM FOR STUDENTS AT THE SECONDARY VOCATIONAL EDUCATION LEVEL
AI-ORIENTED TECHNOLOGY FOR STATIC CODE ANALYSIS IN HIGH-LEVEL LANGUAGES WITHIN A PROGRAMMING TRAINING SYSTEM FOR STUDENTS AT THE SECONDARY VOCATIONAL EDUCATION LEVEL
Abstract
The article presents an intelligent, ontology-based adaptive programming learning system that utilises static code analysis technologies for students at the secondary vocational education (SVE) level. An ontological model of the educational process has been developed, consisting of 15 classes and over 20 semantic relationships describing learning subjects, educational content, task-completion processes and feedback mechanisms. An AI assistant architecture has been suggested, implementing functions for automated code analysis, error classification (syntactic, logical, and runtime errors), and the generation of personalised recommendations. The system is integrated with the Colaboratory environment, ensuring the availability of educational content and the ability to execute code within a cloud infrastructure. Mechanisms have been implemented for the secure execution of student code, progress tracking and data export to standard formats (RDF, JSON-LD, Turtle). Experimental testing of the system on a sample of 72 vocational education students showed a 23–35% increase in the effectiveness of developing professional programming skills compared to traditional teaching methods. The system provides instant feedback (less than 5 seconds) with an 89% personalisation rate, which helps to optimise the workload of teaching staff and improve the quality of training for future IT specialists.
1. Введение
Цифровая трансформация системы профессионального образования требует внедрения интеллектуальных технологий, способных адаптировать образовательный процесс под индивидуальные потребности обучающихся. Особую актуальность эта задача приобретает в системе среднего профессионального образования, где приоритетом является формирование практических навыков в сжатые сроки
, , .Обучение навыкам алгоритмизации и программирования традиционно сопряжено с рядом методических проблем:
- высокая вариативность решений одной задачи;
- необходимость оперативной обратной связи;
- дефицит преподавательских ресурсов для индивидуальной работы;
- разнородный уровень предварительной подготовки студентов
- сложность автоматизированной оценки качества кода
, , .Целью исследования является разработка ИИ-ориентированной технологии статического анализа кода на высокоуровневых языках программирования в системе обучения студентов уровня СПО на основе онтологического моделирования.
2. Методы и принципы исследования
Современные технологии искусственного интеллекта (ИИ), в частности большие языковые модели (LLM) и методы машинного обучения, открывают новые возможности для автоматизации образовательных процессов
, .Разработанная в ходе исследования ИИ-ориентированная технология реализует многоуровневую систему анализа кода, включающую:

Функции синтаксического и семантического анализа
2.1 Проверка отступов (кратны 4 пробелам).
2.2 Контроль длины строки (менее 120 символов).
2.3 Проверка именования переменных (snake_case).
2.4 Анализ наличия документирования.
3. Уровень 3 — классификация ошибок.
4. Уровень 4 — генерация персонализированной обратной связи (Рисунок 2).

Графовая визуализация онтологической модели системы
- Student (Студент) — центральная сущность обучающегося;
- Task (Задание) — практическое задание;
- Module (Модуль) — учебный модуль;
- Competence (Компетенция) — профессиональная компетенция;
- Teacher (Преподаватель);
- Discipline (Дисциплина);
- CodeCell (Кодовая ячейка);
- ColabNotebook (Ноутбук Colab);
- AIAssistant (ИИ-ассистент);
- Attempt (Попытка выполнения);
- Feedback (Обратная связь).
Разработанная в ходе исследования онтологическая модель базируется на использовании объектно-ориентированного подхода и включает четыре основных слоя:
Слой 1. Субъекты образовательного процесса:
- «студент»: идентификатор, уровень подготовки, стиль обучения, сформированные компетенции;
- «преподаватель»: идентификатор, дисциплина, настройки ИИ-ассистента;
- «ИИ-ассистент»: модель, роль (генератор/проверяющий/ тьютор).
Слой 2. Образовательный контент:
- «Дисциплина»: название, учебный план;
- «Модуль»: тематический блок курса;
- «Практическое_задание»: описание, сложность, эталонное решение, критерии успеха.
Слой 3. Среда выполнения:
- «Colab_notebook»: URL, версия рантайма, библиотеки;
- «кодовая_ячейка»: тип, код студента, вывод исполнения;
- «ошибка_выполнения»: тип (синтаксическая, логическая, рантайм).
Слой 4. Оценка и компетенции:
- «компетенция»: название, описание, уровень сформированности (0–100%);
- «попытка_решения»: код, результат, оценка ИИ, время, количество запусков;
- «обратная_связь»: комментарий, оценка, рекомендации, найденные ошибки.
Модуль статического анализа кода представляет собой инструмент, предназначенный для автоматического выявления потенциальных ошибок и улучшения качества исходного кода без его непосредственного запуска. Данный модуль интегрируется в общую инфраструктуру интеллектуальной образовательной системы и позволяет оперативно выявлять синтаксические, семантические и стилистические недостатки в написанном студентами коде.
Таблица 1 - Алгоритм классификации ошибок, реализованный в системе
Тип ошибки | Примеры | Действие ИИ-ассистента |
Синтаксическая | SyntaxError, IndentationError | указать строку, объяснить правило |
Логическая | Неправильный алгоритм | предложить альтернативу |
Рантайм | NameError, TypeError | объяснить причину исключения |
Стиль | PEP8 нарушения | рекомендовать рефакторинг |
Разработка алгоритма классификации ошибок была направлена на повышение точности диагностики возникающих проблем в процессе написания кода учащимися (Таблица 1). Предлагаемый алгоритм основан на сочетании подходов машинного обучения и методов обработки естественного языка, что позволило создать гибкую и эффективную систему распознавания типов ошибок
, , .На рисунке 4 представлена UML-диаграмма вариантов использования системы ИИ для обучения навыкам алгоритмизации и программирования, включающая:
1. Акторы системы (прямоугольники):
- Teacher (Преподаватель) — создаёт и настраивает систему;
- Student (Студент) — основной пользователь, обучающийся;
- AI Assistant (ИИ-ассистент) — интеллектуальный помощник.
2. Варианты использования (овалы):
2.1 Функции преподавателя:
- Create Task — создание учебных заданий;
- Configure AI — настройка ИИ-ассистента;
- Evaluate Competences — оценка сформированности компетенций.
2.2 Функции студента:
- Track Progress — отслеживание прогресса обучения;
- Execute Task — выполнение практических заданий;
- Fix Errors — исправление ошибок в коде;
- Get Feedback — получение обратной связи;
- Get Hint — получение подсказок;
- Work in Colab — работа в среде Google Colab;
- Run Code — запуск и выполнение кода.
2.3 Функции ИИ-ассистента:
- Get Feedback — формирование обратной связи;
- Analyze Code — анализ кода студента;
- Generate Recommendations — генерация рекомендаций;

Диаграмма вариантов использования ИИ-системы

Диаграмма классов разработанной системы
3. Основные результаты
Организация эксперимента включала формирование выборки из 72 студентов уровня СПО (3 группы по 24 человека), обучающихся по специальности 09.02.07 «Информационные системы и программирование» (Таблица 2).
Таблица 2 - Состав и алгоритм реализации эксперимента
Группа | Метод обучения | Кол-во студентов |
Контрольная | Традиционный (преподаватель) | 24 |
Экспериментальная 1 | ИИ-ассистент + преподаватель | 24 |
Экспериментальная 2 | Полностью автономный ИИ | 24 |
Метрики оценки знаний включали уровень сформированности компетенций (тестирование), количество успешных решений задач; время выполнения заданий и обратной связи, удовлетворённость студентов (опрос).
Таблица 3 - Уровень формирования профессиональных компетенций контрольной и экспериментальной групп
Компетенция | Контрольная группа | Экспериментальная группа 1 | Экспериментальная группа 2 |
Написание скриптов | 68 (+-12) | 82 (+-9) | 79 (+-11) |
Отладка кода | 61 (+-15) | 78 (+-10) | 74 (+-12) |
Работа с данными | 65 (+-13) | 85 (+-8) | 81 (+-10) |
Алгоритмическое мышление | 63 (+-14) | 83 (+-9) | 78 (+-11) |
Средний показатель | 64,3 (+-13) | 82 (+-9) | 78 (+-11,0) |
Анализ полученных в ходе эксперимента данных показал (Таблица 3):
- средний прирост в экспериментальных группах: +13,7–17,7%;
- наибольший эффект наблюдается в компетенции «Работа с данными» (+20% для экспериментальной группы 1);
- наименьший эффект — в «Отладке кода» (+13% для экспериментальной группы 1), что указывает на сложность формирования этого навыка.
Использование онтологической модели обеспечило:
- структурированность данных — все образовательные сущности связаны семантическими отношениями, что позволяет строить сложные запросы и аналитику.
- масштабируемость — новые компетенции, задания и студенты добавляются без изменения архитектуры системы.
- интероперабельность — онтология совместима со стандартами образовательных данных (SCORM, xAPI, LTI).

Результаты экспериментального тестирования разработанной системы
- структурированное хранение данных о студентах;
- компетенции, которые формируются в процессе обучения;
- учебные задания с градацией сложности.

Уровень формирования компетенций контрольной и экспериментальной групп

Средние показатели уровня формирования компетенций по экспериментальным группам
В ходе исследования разработана и апробирована онтологическая модель системы обучения программированию студентов уровня СПО с использованием ИИ-ассистента в среде Colaboratory, в частности:
- спроектирована четырёхслойная онтология, включающая 12 основных классов и 25 семантических связей.
- реализован ИИ-ассистент с функциями статического анализа кода, классификации ошибок и персонализированной генерации подсказок.
- экспериментально доказано повышение эффективности формирования профессиональных компетенций на 23–35% при использовании ИИ-ассистента.
4. Заключение
Внедрение разработанных технологий в практику обучения студентов уровня СПО навыкам алгоритмизации и программирования способствует повышению качества подготовки IT-специалистов и оптимизации нагрузки преподавательского состава. Направления дальнейшего развития ИИ-ориентированных систем для решения проблем обучения навыкам программирования связаны с:
- интеграцией с мультимодальными ИИ-моделями для анализа блок-схем и псевдокода;
- внедрением адаптивной системы сложности заданий на основе динамики прогресса;
- расширением онтологии для поддержки дополнительных языков программирования;
- разработкой мобильной версии ИИ-ассистента для доступа к системе вне аудитории.
