ИИ-ОРИЕНТИРОВАННАЯ ТЕХНОЛОГИЯ СТАТИЧЕСКОГО АНАЛИЗА КОДА НА ВЫСОКОУРОВНЕВЫХ ЯЗЫКАХ В СИСТЕМЕ ОБУЧЕНИЯ ПРОГРАММИРОВАНИЮ СТУДЕНТОВ УРОВНЯ СПО
ИИ-ОРИЕНТИРОВАННАЯ ТЕХНОЛОГИЯ СТАТИЧЕСКОГО АНАЛИЗА КОДА НА ВЫСОКОУРОВНЕВЫХ ЯЗЫКАХ В СИСТЕМЕ ОБУЧЕНИЯ ПРОГРАММИРОВАНИЮ СТУДЕНТОВ УРОВНЯ СПО
Аннотация
В статье представлена интеллектуальная онтолого-ориентированная система адаптивного обучения программированию с применением технологий статического анализа кода для студентов уровня среднего профессионального образования (СПО). Разработана онтологическая модель образовательного процесса, включающая 15 классов и более 20 семантических связей, описывающих субъектов обучения, образовательный контент, процессы выполнения заданий и механизмы обратной связи. Предложена архитектура ИИ-ассистента, реализующая функции автоматизированного анализа кода, классификации ошибок (синтаксические, логические, ошибки выполнения) и генерации персонализированных рекомендаций. Система интегрирована со средой Colaboratory, что обеспечивает доступность образовательного контента и возможность выполнения кода в облачной инфраструктуре. Реализованы механизмы безопасного выполнения студенческого кода, трекинга прогресса и экспорта данных в стандартные форматы (RDF, JSON-LD, Turtle). Экспериментальная апробация системы на выборке из 72 студентов СПО показала повышение эффективности формирования профессиональных компетенций программирования на 23–35% по сравнению с традиционными методами обучения. Система обеспечивает мгновенную обратную связь (менее 5 секунд) с уровнем персонализации 89%, что способствует оптимизации нагрузки преподавательского состава и повышению качества подготовки будущих IT-специалистов.
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-специалистов и оптимизации нагрузки преподавательского состава. Направления дальнейшего развития ИИ-ориентированных систем для решения проблем обучения навыкам программирования связаны с:
- интеграцией с мультимодальными ИИ-моделями для анализа блок-схем и псевдокода;
- внедрением адаптивной системы сложности заданий на основе динамики прогресса;
- расширением онтологии для поддержки дополнительных языков программирования;
- разработкой мобильной версии ИИ-ассистента для доступа к системе вне аудитории.
