СЕКЦИЯ
Искусственный интеллект и технологии на основе данных в образовании

Кудрявцев А.В.,

Алексеевский П.И.

УрГПУ,

г. Екатеринбург

Особенности использования искусственного интеллекта при изучении основ программирования

В статье рассматриваются вопросы использования искусственного интеллекта при изучении основ программирования в вузе. Представлены основные проблемы, которые возникают у студентов при написании программ. Преимущества ИИ в данной сфере, и в связи с этим вопросы и направления использования нейросетей в системе образования и, в частности, при изучении языков программирования.

Kudryavcev A.V.,

Alekseevsky P.I.

Ural State Pedagogical University

Ekaterinburg, Russia

Using artificial intelligence When learning the basics of programming

This article examines the use of artificial intelligence in teaching programming fundamentals at university. It presents the main challenges students face when writing programs, explores the advantages of AI in this area, and, in this regard, discusses the potential uses of neural networks in education, particularly in teaching programming languages.
Сегодня искусственный интеллект (ИИ) применяться во многих сферах деятельности человека, в области цифровых технологий. Внедряется он и в систему образования, в первую очередь, связанную с изучением вычислительной техники и программирования. Уже сейчас ИИ легко может писать программы, на которые ранее требовались дни или недели. В связи с использованием возможностей ИИ появляется всё больше способов упрощать процесс изучения программирования путем появления моделей генерации кода на базе искусственного интеллекта, которые могут быть использованы при программировании на языках низкого уровня. Это может позволить студентам сосредоточиться на создании алгоритмов более высокого уровня, не углубляясь в строение используемых технологий [5].
Используя возможности ИИ школьники и студенты, могут решить большинство задач, написать почти любую программу, которые предлагают в учебном курсе. В связи с этим сегодня необходимо вновь ставить вопрос, как и чему учить на занятиях по точным дисциплинам, в первую очередь таких как программирование на разных языках и средах.

Анализ компании Apiiro показал, что программирование с использованием ИИ, дает ряд существенных преимуществ, например, количество синтаксических ошибок сократилось на 76%, а количество логических ошибок (неисправного кода, приводящего к некорректной работе программы) — более чем на 60%. Разработчики, использующие ИИ, пишут код в три–четыре раза быстрее. Но именно скорость и приводит к появлению проблем в системе безопасности.

Тем не менее, многие компании теперь требуют от своих сотрудников использовать искусственный интеллект. Эта проблема не только создает гораздо больше уязвимостей безопасности, но и увеличивает нагрузку для тех, кто отвечает за их устранение.

С развитием нейросетей вновь встает вопрос, как использовать их возможности в системе образования и, в частности, при изучении языков программирования. Прежние методы уже перестают быть эффективными, потому что студенты просто перекладывают решение задач на ИИ и получают готовые ответы. Запретить использование интернета даже на аудиторных занятиях проблематично, при дистанционном обучении вообще невозможно. К тому же это явно тупиковый путь развития процесса обучения. Следовательно, задачей современного образования состоит в поиске методов использования способностей искусственного интеллекта в учебном процессе.

Результаты исследований показали — ИИ отлично подходит для создания не очень сложного программного обеспечения. Альтернативно, он может даже помочь в сложных случаях. Единственная проблема – дать ему конкретное, четкое задание. У ИИ больше преимуществ, потому что он знает гораздо больше, чем средний программист. Например, при разработке приемника для NavTex пришлось объяснять принципы работы этой системы приема метеоинформации очень опытному программисту, что заняло некоторое время. ИИ же знает эту систему сразу. Не исключено что код, разработанный ИИ, лучше кода, созданного людьми. Потому что ИИ лучше знает, как «думает» машина, чем человек. ИИ лучше справляется с машинными кодами, чем с переводом текстов на иностранные языки. Более того, ИИ способен заменить любого человека, работающего за компьютером. Он всего за несколько секунд сделает любую графику, обработает Excel, отредактирует и исправит текст, обобщит тысячи документов и покажет где находится то, что ищете. Он способен делать математические расчеты, прогнозы и выполнять некоторую исследовательскую работу. Но всё же это просто инструмент, который лишь поддерживает человека, а не заменяет его. В любом случае, написание кода обычно является наименее интересным этапом изучения программирования, поэтому иметь инструмент, который большинство проектов подготовит по самым высоким стандартам и с учетом новейших решений – это только плюс для дела [4].

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

Рассмотрим несколько примеров написания программ с помощью DeepSeek (https://chat.deepseek.com/).

Запрос: Напиши программу на языке pascal в среде delphy 7, которая перемещает кнопку в случайные координаты при нажатии на нее.

DeepSeek точно интерпретировал задачу, даже назвал объект «кнопка» именем JumpButton (прыгающая кнопка) и вывел надпись на кнопке «Поймай меня» (тут даже некоторый юмор присутствует). Кроме основного файла с программой Unit1.pas DeepSeek сгенерировал файл Unit1.dfm, который содержит все настройки объектов, что безусловно необходимо для получения рабочего проекта. В целом ИИ справился с данной задачей, за исключением одного момента. В тексте программы была строка, которая должна была задать случайный цвет кнопки (что по условию даже не требовалось):
JumpButton.Color:= RGB(Random(256), Random(256), Random(256));

Но в данной версии языка у кнопки нет свойства Color (цвет), поэтому компилятор выдавал ошибку в этой строки. Если ее убрать, то все работает.

Следующий пример. Запрос: написать программу для arduino управления 32 светодиодами. Диоды должны последовательно загораться и гаснуть. Покажи схему сборки данного устройства.
Ответ: Отличный проект! Вот подробное руководство по созданию "бегущей волны" на 32 светодиодах с помощью Arduino.

ИИ представил готовую схему сборки (разводка проводов), описал особенности монтажа схемы, определил проблему при решении данной задачи и привел правильное решение. Приведем ответ ИИ: управлять 32 светодиодами напрямую с пинов Arduino невозможно (не хватит пинов и тока). Правильное решение — использовать сдвиговые регистры. Нам понадобятся 4 микросхемы 74HC595, соединенные каскадом (цепочкой).

Далее приведены необходимые компоненты, подробно описано подключение всех устройств и приведена сама программа, описаны принципы работы и даны советы по сборке. Отличное решение, не хватает разве что картинки по сборке, но ее можно сгенерировать, правда уже на другом сайте.
Работа нейросетей в бесплатном режиме ограничена. Кроме того, сервера доступа к нейросетям часто меняются, поэтому иногда приходится выполнять поиск доступных сетей и проверку их работы. Для примера рассмотрим нейросесть для написания кода ChatMost по адресу https://chatmost.ru. В качестве примера выполним запрос: Написать программу на языке Phyton, которая читает из google таблицы дату, расположенную в столбце А, и текст, расположенный в столбце B, если дата совпадает с текущей датой, то выводит текст на экран, ждет нажатия клавиши, после чего закрывает программу.
Нейросеть справилась с задачей, однако программа содержала ряд моментов, требующих дополнительных знаний, например, сообщение: «Укажите путь к вашему файлу с ключом сервисного аккаунта Google» не только требует указания параметров в определенном формате, но содержит ряд операций по настройке аккаунта Google, которые могут содержать непреодолимые для новичка препятствия. В частности, требуется выбрать страну из списка, в котором наша страна не указана. Кроме того, сервис может автоматически определить страну и заблокировать работу на указанной территории. Для устранения подобных проблем можно использовать VPN или российские сервисы.
Проверим работу российской платформы BotНub (https://bothub.ru). Дадим задание написать программу на языке PHP, которая добавляет в базу ip адреса телефонов, обнаруженных в сети. Платформа справилась с заданием и даже вывела подробную инструкцию по работе с программой. Однако, если мы желаем использовать данный фрагмент в разрабатываемом приложении, необходимо будет ознакомиться с работой каждой команды, а исследование чужого кода может занять даже больше времени чем написание собственного.

Таким образом, при использовании искусственного интеллекта для написания программ исчезают орфографические ошибки, снижаются логические (при правильной формулировке задачи), но огромное количество ошибок при компиляции может быть вызвано неправильно подключенными библиотеками или ошибками внутри самих библиотек. Часто программы, сгенерированные ИИ требуют дополнительных навыков для ввода их в эксплуатацию, могут потребовать детального изучения команд для объединения с другими приложениями.

Учитывая вышенаписанное, можно отметить, что полагаться полностью в процессе обучения на ИИ не стоит, так как на данном этапе обучения нейросети он может предоставлять неточные данные, либо данные, которые не рекомендуется использовать, исходя из опыта специалистов. Эффективным будет подход с комбинированием традиционных методов обучения, таких как самостоятельное изучение соответствующей литературы или занятия с использованием ИИ в качестве виртуального ассистента [2].

Обучение языкам программирования должно опираться, в первую очередь на исследование возможностей среды программирования, ее состав и особенности, изучать типы и структуру основных файлов языка, основы объектно-ориентированного программирования, основные библиотеки и способы их подключения. Изучать различные инструменты и сервисы, обеспечивающие корректную работу пользовательских программ, а уже во вторую очередь, основные команды и функции языка. Новым компонентом учебного процесса в данной области, является точное описание условия задачи с указанием языка, среды, желательно и версии компилятора.

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

Литература:
1.        Амбросенко, Н. Д. Опыт использования искусственного интеллекта для отладки программного кода в Arduino IDE / Н. Д. Амбросенко, С. О. Потапова // Образование. Инновации. Качество : Материалы VI Международной научно-методической конференции. В 2-х частях, Курск, 29 января 2025 года. Курск: Курский государственный аграрный университет им. И.И. Иванова, 2025. С. 163-168
2.        Искусственный интеллект как инструмент изучения программирования / А. Г. Никольский, О. В. Виштак, Г. В. Очкур, Н. М. Виштак // Известия Тульского государственного университета. Технические науки. 2024. №2. С. 191-197
3.        Мамедова, Н. А. Использование средств искусственного интеллекта при изучении языка программирования Python в дополнительном образовании / Н. А. Мамедова // Региональная наука: тенденции развития глазами молодежи: Тезисы докладов победителей Всероссийской студенческой научно-практической конференции, Череповец, 01 апреля – 30 2024 года. – Череповец: Череповецкий государственный университет, 2024. С. 92-93
4.        Розов, К. В. Проектно-ориентированный подход к обучению будущих учителей информатики применению технологий искусственного интеллекта в качестве педагогических средств / К. В. Розов // Педагогика информатики. – 2024. – № 1-2. – С. 16-28
5.        Цепляев, А. Ф. Использование языковых моделей искусственного интеллекта для изучения основ программирования / А. Ф. Цепляев // Символ науки: международный научный журнал. 2023. № 5-2. С. 58-60

ВОПРОСЫ И КОММЕНТАРИИ
Система комментирования SigComments
Made on
Tilda