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

Обзор
DOI:
https://doi.org/10.60797/PED.2025.8.3
Выпуск: № 2 (8), 2025
Предложена:
14.02.2025
Принята:
29.04.2025
Опубликована:
05.06.2025
19
2
XML
PDF

Аннотация

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

1. Введение

Программирование — чрезвычайно востребованная отрасль знаний, потребность в которых стремительно растёт. Одновременно растёт количество студентов, изучающих программирование. Параллельно растёт дифференциация в уровне знаний и мотивации студентов, приступающих к изучению программирования. По экономическим соображениям количество преподавателей не может увеличиваться пропорционально количеству студентов. Всё это вместе приводит к ухудшению качества обучения и увеличению количества студентов, не сумевших закончить начальный курс программирования. Такое положение не может удовлетворять ни студентов, ни преподавателей, ни администрацию вузов, ни общество. Поэтому непрерывно ведутся исследования и разработки для решения указанной проблемы. Одним из мощнейших инструментов-помощников на сегодня видится генеративный искусственный интеллект (GenAI). В данной статье далее излагается содержание, задания и методология обучения программированию во вводных университетских предметах, традиционно используемые инструменты обучения, системы и способы оценивания. А затем приводится описание направлений использования GenAI для повышения качества обучения программированию и изучения программирования во вводных университетских предметах. Особенное внимание акцентировано на формирующем оценивании, главная цель которого помочь студенту быстро и качественно учиться на своих ошибках.

2. Содержание и методология начального обучения программированию

В работе

представлено описание методологии начального обучения программированию в Northeastern State University (USA). На занятия отводится 3 часа лекции и 1 час лабораторных работ в неделю. Во время лекции инструктор демонстрирует программы в Visual Studio Code — коды заданий из учебника и упражнений в конце главы. На лабораторных работах используются специальные короткие упражнения и решения для независимой практики. Курс включает 6 индивидуальных заданий на программирование и финальный экзамен с вопросами с множественным выбором. Книга по курсу (в бумажном и электронном форматах) содержит решения всех упражнений.

Темы занятий:

1. Ввод чисел, вычисление суммы и среднего

2. Циклы и форматирование чисел и таблиц

3. Чтение файлов, частичные суммы

4. Генерация случайных чисел, чтение/запись файлов, вложенные циклы

5. Функции

6. Массивы, сортировка, поиск

В работе

приводятся особенности обучения в Lappeenranta–Lahti University of Technology (Finland). Курс имеет 7 недель, каждую неделю 3–5 заданий, всего 31 задание, причём последнее необязательное. Вопросы по темам также выпускаются каждую неделю. Описана система генерации и проверки маленьких заданий на программирование, а также управления ими. Новые задания делаются для противодействия такой форме плагиата, когда студенты, ранее завершившие курс, передают свои решения новым поколениям студентов. Был также разработан инструмент управления маленькими заданиями. Чтобы можно было выбрать/создать множество заданий для курса этого года, отличающихся от заданий прошлых лет, но поддерживающих обучение той же теме каждую лекционную неделю. В 2023 году были сделаны новые задания. Большинство этих заданий основывалось на заданиях прошлых лет и сделаны как вариации заданий прошлых лет модификацией данных, текстов, последовательностей выполнения.

В работе

описывается авторский экспериментальный подход к начальному обучению программированию на языке C, ориентированный на Outcome-Based Education (обучение, ориентированное на результат), применяемый с 2021 года в Gansu University of Political Science and Law (China). В 2021 году 123 студента взялись изучать этот курс. Никто из этих студентов никогда не изучал программирование:

53% мало пользовались компьютером

41% имели хорошую математическую подготовку

85% имели достаточную математическую подготовку для изучения программирования. Предложенный материал для изучения:

- ввод-вывод с клавиатуры на экран

- операторы, выражения

- последовательные, условные, циклические структуры

- массивы чисел, символов, строк

- функции стандартные, пользовательские

- битовая обработка

- работа с файлами

Автор придерживался также концепции Conceive–Design–Implement–Operate (Задумать–Проектировать–Реализовать–Эксплуатировать) детализированной следующими ключевыми процессами:

- project leading — важную роль в обучении играла разработка проекта

- flipping teaching — «перевёрнутое» обучение, когда студент является активным действующим лицом обучения, в разработке собственного проекта, задавая вопросы и инициируя обсуждение возникающих при разработке проблем

personality training — индивидуальное обучение, ориентированное на интересы и проблемы студента

task driving — обучение, движущей силой которого являются поставленные перед студентом задачи

pair programming — при решении задач и выполнении проектов программы пишутся парами студентов, что позволяет им самостоятельно справляться с большим количеством проблем, чем если бы они работали по одиночке.

process assessment — перманентное оценивание процесса обучения, позволяющее оперативно реагировать на проблемы, возникающие у студентов.

Было создано огромное количество обучающих ресурсов, включая микро-видео, задания и соответствующее их оценивание. Содержание курса было организовано в 12 модулей. Каждому модулю прилагалось высококачественное видео по 6–8 мин. Студенты могли просматривать эти видео с мобильных устройств в удобное для них время. В классе преподаватель отвечал на вопросы студентов по необходимости. Было установлено более 800 вопросов и 92 проекта в 6 категориях.

В работе

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

Работа

содержит предложения по изменению начального обучения программированию, реализованные в Tan Trao University (Vietnam), включая: улучшение программы обучения, семинары по улучшению кодирования, индивидуальные программы обучения, внедрение проектов, связанных с промышленностью, интеграцию в программы обучения современных языков программирования и промышленных практик, сотрудничество с промышленными экспертами при разработке программ обучения, инвестирование в современные обучающие ресурсы, включая средства разработки и онлайн-платформы, внедрение мотивационных стратегий, таких как геймификация, соревнования по программированию, хакатоны.

В работе

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

Программирование: объектно-ориентированное программирование, программирование систем, операционные системы, машинное обучение, искусственный интеллект, компьютерная графика, архитектура компьютеров, обработка естественного языка, фул-стек разработка, WEB-разработка, разработка мобильных приложений, обработка изображений, параллельные вычисления, блок-чейн, глубокое обучение.

Математика: дискретная математика, статистика, моделирование и анализ, наука о данных, исчисления, линейная алгебра.

Данные и алгоритмы: алгоритмы, структуры данных, база данных, обработка данных.

Soft-transferable skills: решение проблем, коммуникация, рефлексия, абстракция, инновации.

Компьютерные системы и аппаратное обеспечение: разработка встроенных систем, разработка компьютерных систем, электроника, цифровые системы.

Процесс разработки программного обеспечения: улучшение процесса разработки программного обеспечения, сложные системы, системный анализ и моделирование, качество программного обеспечения и тестирование.

Сетевая обработка: компьютерные сети, распределённые системы и сетевое программирование

Кибербезопасность: основы кибербезопасности, безопасность программного обеспечения, ИТ-криминалистика и облачные вычисления.

3. Инструменты обучения

В работе

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

Работа

представляет систему автоматической проверки решений по тестам. Решение студента запускается на множестве тестов, подготовленных автором задачи. Студент оперативно получает вердикт о проверке его решения.

В работе

представлена программа SeliotM, которая упрощает обучение и повышает его качество за счёт визуализации очередей, стеков и связных списков для программ, написанных на С++. Данные структуры динамически отображаются на экране во время исполнения программы, что существенно повышает понимание студентами алгоритмов их исполнения.

В работе

представлена Европейская статистика: среднее количество студентов на преподавателей в 2018 году было 15.3 (в Греции максимум — 38.7, в Люксембурге — минимум — 4.4.). Там же указывается, что оптимальным для обучения считается значение от 5 до 8.

Предлагается активнее использовать студенческое самооценивание! При обучении программированию, в частности, само оцениванию подлежат программы или их фрагменты, по следующим трём излагаемым авторами причинам: такой подход ближе к реальности (по сравнению с ответами на вопросы), стимулируется желание студентов качественно учиться программированию, ведётся подготовка к аналогичным экзаменам.

Работа

предлагает смелее и активнее использовать микрообучение — метод обучения, при котором учебный материал разбивается на маленькие порции (обычно не более 10–15 минут), которые можно легко усвоить за короткое время. Содержание курса должно быть представлено в самых разных формах. Например, сочетание презентаций, заданий, игр, дискуссий вовремя вебинаров, видеороликов, тестов, соревнований, пиктограмм, текста. Достоинства микрообучения для студентов: экономия времени, быстрый результат, вовлеченность. Достоинства микрообучения для преподавателя: гибкость — можно при необходимости легко заменить информационные блоки без необходимости перестраивать весь курс.

4. Системы и способы оценивания

В работе

излагаются общие подходы к оцениванию заданий. Авторы проанализировали 121 статью за период с 2017 по 2021 годы и категорировали их по подходам, языкам программирования, степени автоматизации и технике оценивания. Предметы, обучающие программированию на начальной стадии, выросли значительно в последнее время как по количеству предметов, так и по количеству студентов, выбравших такие предметы. Это привело к соответствующему увеличению количества проверяемых работ. Время на проверку короткое, а своевременная обратная связь увеличивает мотивацию студентов. Возникает опасность неполного оценивания и снижение качества обратной связи. Увеличение количества преподавателей, проверяющих работы — первый шаг к решению проблемы. Следующий шаг — внедрение систем автоматической проверки решений. Важнейший последующий шаг обеспечить формирующее оценивание, которое обеспечит улучшение качества обучения, а не только проверку правильно или нет выполнено задание. Для автоматической проверки преподавателям необходимо подготовить множество тестов для каждого проверяемого задания, а студентам необходимо строго соблюдать спецификации (например, формат ввода и вывода или имена функций и переменных). Существуют также средства автоматической статической проверки на соответствие решения студента авторскому шаблону. Некоторые преподаватели предпочитают в своих курсах большие проектные задания, которые труднее поддаются автоматическому оцениванию или даже делают его практически невозможным. Авторы предлагают оценивать задания на разработку программных проектов по четырём критериям: корректность, возможность поддерживать развитие, читабельность, документирование.

В работе

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

Работа

описывает предпочитаемые студентами методы оценивания. Авторы провели опрос со студентами, один из вопросов был такой: «Какой метод оценки Вы рассматриваете как самый справедливый и почему?» Студенты ответили, что предпочитают письменные экзамены, практические проекты, практические экзамены.

В работе

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

Работа

представляет статическую оценку программ — без исполнения — по уровню соответствия студенческой программы программе преподавателя. К достоинствам такого подхода можно отнести уменьшение временных затрат преподавателя на проверку, с поддержкой относительно качественной обратной связи, помогающей студенты понять свои ошибки. К недостаткам можно отнести всё-таки не 100%-ую проверку программы, поскольку она не исполнялась.

В работе

описывается коллегиальная оценка. Группы студентов выполняют проекты, по завершению которых наступает коллегиальная оценка (Peer assessment), состоящая из 3 фаз: презентация, оценка, коммуникация. Развитие этого опыта — представление онлайн, обсуждение онлайн, заключение на основе обсуждения.

В работе

описывается эволюция автоматизированной системы тестирования Edgar, включением в неё интерактивного обучающего модуля. Этот модуль может оценивать решения на языках программирования SQL, Java, C, Python и выдавать персональные рекомендации по улучшению ошибочных решений.

Работы

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

Адаптивное формирующее оценивание в разных аспектах рассматривается в работах

,
,
.

В работе

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

В работе

описывается система ProGrader проверки решений на тестах со встроенным контролем плагиата — от студента требуется писать строку за строкой в системе (копирование не срабатывает). После отсылки студент получает оценку и обратную связь. Поддерживается множество языков программирования, встроены средства отладки и профилирования. Обеспечен простой интерфейс для студентов и преподавателей.

В работе

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

В работе

описывается новая дружественная к пользователю система для создания и поддержки автоматического оценивания. Центральным компонентом системы является интерфейс между преподавателем и автоматически оцениваемым кодом. Существенно сокращено время и трудозатраты на создание заданий для оценивания. За 3 месяца было создано 100 заданий и сэкономлено более 170 часов преподавателя.

В работе

представлена система оценивания претендентов на учительство в штате Иллинойс, США. Для получения лицензии на педагогическую деятельность, необходимо сдать два экзамена:

Educative Teacher Performance Assessment (edTPA) — проверка как педагога

Illinois Licensure Testing System (ILTS) — проверка знаний по специальности

Имеются сотни различных по содержанию ILTS-экзаменов для различных специальностей.

5. Развитие обучения с помощью GenAI

В работе

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

В работе

описаны три экспериментальных подхода к генерации упражнений на программирование с помощью ChatGPT для большого курса по Python преподавателями University of Turku (Finland):

1. Новые упражнения с указанием темы.

2. Варианты существующих упражнений изменяя тему или содержание.

3. Гибридные упражнения на основе имеющихся добавляя темы или другие упражнения Все три подхода имеют потенциал и ограничения.

В работе

представлен опыт преподавателя Undergraduate Physics Students University of Mataram (Indonesia). На начальной стадии были использованы различные AI-модели, чтобы сгенерировать множество программ от простых до сложных. Затем эти программы были проверены с использованием онлайн Паскаль компилятора (gdb). Программы без ошибок были интегрированы в процесс обучения. Во время лекции студентам рассказывались теоретические основы вычислительной физики и приводились сгенерированные Паскаль-программы как практические примеры. Эти программы служили для студентов основой, на которой они разрабатывали собственные программы. Задания последовательно усложнялись в течение семестра.

Работа

исследует отношение и опыт 208 студентов Киевского технического университета, которые по собственной инициативе использовали ChatGPT. Студенты поделились на 3 группы: те, кому работа с GenAI существенно помогла в изучении предмета; те, кому работа с GenAI помогала эпизодически; те, кому работа с GenAI не помогла совсем. По мнению авторов, фактически эти группы коррелируют с уровнем общей и специальной предварительной подготовки студентов. В первую группу попали наиболее подготовленные студенты, в третью — наименее подготовленные студенты.

Работа

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

6. Формирующее оценивание с помощью GenAI

Работа

вводит общие понятия формирующего оценивания с помощью GenAI.

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

Оценка возможностей GenAI для формирующего оценивания с помощью GenAI приводится в работах

,
.

В работе

описывается процесс и результат проверки способности GenAI выполнять работу вместо студентов, по 10 инженерным предметам, один из которых — программирование. В общем это перспективный способ оценки возможностей различных GenAI — предлагать им выполнять задания для студентов и оценивать результаты, теми же подходами, которыми оцениваются работы студентов. Это важно в том числе и для того, чтобы можно было понимать в перспективе в какой степени можно полагаться на GenAI в качестве ассистента учителя.

Работа

констатирует, что развитие GenAI поставило вопрос о будущем компьютерного образования. Первая реакция была противоречивой — от «конец программирования» до «преждевременный некролог программированию». От «надо обнаруживать написанное GenAI и наказывать», до «Ну и что, если это написал GenAI?». Авторы рассматривают проблему с трёх ракурсов:

1. Собственно, разработки программного обеспечения.

2. Компьютерного образования в целом.

3. Сравнение компьютерного образования с практикой разработки программного обеспечения.

Главный вывод — разрыв в отношении к GenAI между компьютерным образованием и практикой разработки программного обеспечения.

Работа

агитирует за развитие самооценивания с помощью GenAI, настаивая на том, что надо учить студентов

- делать запросы;

- мыслить критически, анализируя ответы;

- отлаживать программы, полученные от GenAI, самостоятельно или с его помощью.

Непосредственное использование GenAI для формирующего оценивания представлено в работах

,
.

В работе

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

Авторы работы

отмечают, что GenAI продемонстрировал возможности завершать код, создавать документацию по коду, поддерживать отладку. Они исследовали возможности GenAI по обратной связи на студенческие решения, направляющей студентов на улучшение написанного кода. Для этого они разработали промпты к GPT4, которые

1) обучают, что сделали студенты правильно или неправильно;

2) контролируют, как студенты учитывают предыдущие ответы при новой посылке.

В работе

предлагается использовать GenAI для анализа исходных текстов решений студентов, поскольку учитель не может обеспечить Code Review всем студентам сразу. Системы автоматической проверки только указывают на наличие ошибки. GenAI можно использовать для пояснения, в чём заключается ошибка. Одновременно можно использовать его для проверки не было ли попытки обмана со стороны студента (написания проверяемого кода с помощью GenAI). Чтобы обеспечить хорошую обратную связь, были разработаны специальные препромпты, обеспечивающие ответам GenAI точность, полезность, дружелюбный тон, обучающий эффект. Система обеспечивает студентов банком заданий на программирование. После того как студент выбрал задание и послал решение на проверку, система показывает корректность кода и code review — комментарии на полученный код. Обучение ведётся на языке программирования Python. При генерации обратной связи используется авторское решение. Оно посылается GenAI вместе с условием задачи (включающим пример ввода-вывода) и решением студента.

В работе

описывается среда разработки программ со встроенными запросами/ответами к ChatGPT. Авторы предлагают обучать студентов в низкоуровневой среде кодогенерации, развивая не только их умение кодировать, но также декомпозировать и делать запросы к GenAI. Ключевая идея предлагаемого подхода — использовать интеллектуальную разработку запросов, чтобы обучать студентов алгоритмическому мышлению и декомпозиции, комбинируя их с кодогенерацией и собственно кодированием.

Сначала студенты изучают основы декомпозиции задачи, так что они могут работать с программой на уровне функций. Затем для данной задачи студент описывает необходимый алгоритм на естественном языке, используя интеллектуальную разработку запроса. Имеется ввиду, что запрос может содержать код, если студент уже знаком с некоторыми концепциями программирования. Студент может сгенерировать по запросу свою программу для частично описанного блока и увидеть текущую версию сгенерированного кода в секции черновика с указанием на ошибки в ней. Важно, что ошибки подсвечиваются в обоих блоках и запроса, и кода. Студент может исправлять ошибки в любой из секций. Наконец, студент может выполнить проверку своего решения, сгенерировав полностью код и добавив тесты к задаче. Для пилотного проекта авторы использовали язык программирования Kotlin, интегрируя своё решение в IDE-плагин JetBrains Academy.

В работе

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

Работа

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

Авторов интересовали ответы на 2 вопроса:

1. Сравнение результативности открытых и закрытых языковых моделей в объяснении ошибок и предложениях по их исправлению.

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

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

Авторы использовали данные из Socratic guidance benchmark, который состоит из 57 заданий студентам по написанию функций. Каждое задание снабжено тестами для проверки и уникальным некорректным студенческим решением, описанием ошибок в нём и требуемых исправлений, а также нескольких бесед между «придуманным» студентом и преподавателем.

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

Наконец, работа

посвящена сокращению количества запросов к GenAI при массовом обучении. Авторы использовали FalconCode. Это набор из нескольких тысяч решений (и правильных, и неправильных) задач на Python. Каждая задач снабжена тестами, на которых проверялись решения, также метаданными типа уровня сложности задания. Авторы взяли только последние неправильные решения каждого студента за один семестр. Получилось 370 программ на 44 задачи. По каждому решению был отправлен такой запрос (промпт) к GPT, содержащий условие задачи, решение студента и запрос типа: Вы преподаватель вводного курса по программированию на Python, ниже представлено условие задачи и некорректное её решение студентом (т.е. решение не прошло все тесты). Ваша задача — дать короткое объяснение, какой следующий шаг должен предпринять студент, чтобы исправить свой код. Релевантность советов была оценена самим же GPT4 с помощью запросов такого вида: Вы преподаватель вводного курса по программированию на Python, ниже представлено условие задачи и некорректное её решение студентом (т.е. решение не прошло все тесты), также приведено короткое объяснение, какой следующий шаг должен предпринять студент, чтобы исправить свой код. Ваша задача – оценить полезность объяснения числом от 0 до 2.

- 0 — бесполезный совет;

- 1 — частично полезный совет;

- 2 — полезный совет.

Советы, признанные полезными, включены в банк данных и выдаются студентам без обращения к GenAI. Если же совет не помог, включается обращение к GenAI.

7. Заключение

В данной статье изложено содержание, задания и методология обучения программированию во вводных университетских предметах, традиционно используемые инструменты обучения, системы и способы оценивания. А затем приводится описание направлений использования генеративного искусственного интеллекта (GenAI) для повышения качества обучения программированию и изучения программирования во вводных университетских предметах. Особенное внимание акцентировано на формирующем оценивании, главная цель которого помочь студенту быстро и качественно учиться на своих ошибках. Цель выполненного исследования — помочь вузовским преподавателям оптимально модифицировать содержание, задания и методологию обучения в своих курсах начального обучения программирования с учётом мирового опыта и тенденций развития и использования GenAI. Результат исследования — максимально полный обзор статей по соответствующей тематике.

Метрика статьи

Просмотров:19
Скачиваний:2
Просмотры
Всего:
Просмотров:19