ChattyG сдает экзамен по программированию на первом курсе университета на C/C++

    0
    0


    ChatGPT был подвергнут испытанию с помощью серии банальных задач по программированию на C/C++ для первокурсников, и оно прошло – хотя и не с отличием.

    По данным хорватской исследовательской группы, хотя первокурсникам трудно справиться с некоторыми заданиями, результаты [PDF] показало, что ChatGPT достигает целевых показателей квалификации, которые варьируются от среднего до уровня опытных программистов. И, естественно, как и на всех экзаменах в колледже, результаты могут определяться тем, как сформулированы вопросы.

    Команда Университета Норт разработала набор задач по программированию для первокурсников колледжа, сначала написанных на английском, а затем на хорватском языке, чтобы увидеть, повлияют ли межъязыковые нюансы на результаты. Они хотели увидеть не только то, как кодирует ChatGPT, но и то, сможет ли он адаптироваться к различным языкам.

    Первый тест был посвящен основной задаче программирования: вычислению наибольшего общего делителя (НОД) двух чисел. Вначале бот продемонстрировал некоторые ограничения в способах решения проблемы: исследователи заявили, что ему не хватает утонченности, ожидаемой от опытного программиста. Но, как и любой ученик, он учится и в ходе последующих попыток, особенно в хорватской версии, продемонстрировал некоторые улучшения, показав заметную адаптивность.

    Например, в одной конкретной задаче было необходимо запрограммировать базовую статистическую функцию на C++. Первоначально он допустил оплошность, использовав функцию, которая не выдавала «скорректированное» стандартное отклонение должным образом. Но когда та же задача была представлена ​​на хорватском языке, чат-бот не только осознал свою предыдущую ошибку, но и разработал уточненное решение.

    Исследователи отмечают, что эта адаптивность отражает путь первокурсника: он начинает с ошибок, но демонстрирует способность учиться и совершенствовать свои навыки посредством повторной практики и обратной связи. Оууу.

    Другая задача включала в себя более тонкую проблему: определение чисел в диапазоне на основе определенных правил делимости. Именно здесь стала очевидна ахиллесова пята ChatGPT. Независимо от языка — английского или хорватского — ChattyG боролся с отрицательными числами. Каждая попытка ChatGPT приводила к одинаковым результатам, что указывало на постоянную проблему в логике программирования для этой задачи.

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

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

    Все это поднимает важный вопрос: всегда ли ChatGPT выбирает лучшую стратегию или иногда по умолчанию использует изученные, но неэффективные методы?

    Последним препятствием для ChatGPT была базовая обработка текста. Ему было поручено удалить лишние пробелы из пользовательского ввода. В первоначальном тесте на английском языке решение ChatGPT оказалось на высоте. Однако тест в Хорватии оказался неудачным. Вместо того, чтобы придерживаться своего эффективного решения с одним входом, ИИ по какой-то причине выбрал более сложный подход, требующий нескольких входов. Тем не менее, когда исследователи вернулись к этой проблеме на английском языке, ChatGPT, похоже, извлек уроки из своей предыдущей ошибки и вернулся к более простому методу.

    В целом исследователи обнаружили, что ответы имеют много общего с ответами студентов-первокурсников по программированию. Его решения часто повторяли стратегии опытных программистов, но, как и любой студент, ChatGPT не был непогрешимым. Были блестящие моменты, но были и случаи, когда казалось, что это совершенно не попадает в цель.

    Настоящим выводом здесь является его человеческая адаптируемость, подобная новичку: речь шла не только о поиске правильного решения; речь шла о доработке, обучении и итерациях.

    Так какова итоговая оценка ChattyG?

    От исследователей:

    «ChatGPT сдает экзамен с очень хорошими оценками, превосходя большинство наших студентов по качеству решений. Кроме того, он решает каждую задачу за 20–30 секунд и показывает общую способность адаптировать или изменять свои решения в соответствии с дополнительными требованиями. Однако, в некоторых, часто простых задачах, он проявлял неспособность понять логическую и математическую суть задачи, даже после того, как ему несколько раз подсказывали об ошибках». ®

    Предыдущая статьяMicrosoft меняет дизайн OneDrive в Интернете и наполняет его
    Следующая статьяGitHub объединяется с Patreon, чтобы помочь финансировать разработчиков
    Виктор Попанов
    Эксперт тестовой лаборатории. Первый джойстик держал в руках в возрасте 3 лет. Первый компьютер, на котором „работал” был с процессором Intel i386DX-266. Тестирует оборудование для издания ITBusiness. Будь то анализ новейших гаджетов или устранение сложных неполадок, этот автор всегда готов к выполнению поставленной задачи. Его страсть к технологиям и приверженность качеству делают его бесценным помощником в любой команде.