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

Анализ кода программы

Вы можете предложить чату фрагмент или готовый код программы или функции и попросить его:

  • рассказать какую задачу решает код;

  • объяснить код по строкам;

  • добавить комментарии в код;

  • найти в коде синтаксические ошибки;

  • найти в коде логические ошибки;

  • оптимизировать код (уменьшить расход памяти или ускорить выполнение);

  • уменьшить сложность алгоритма;

  • сменить парадигму, например создать классы (ООП);

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

Перевод кода программы из одного языка в другой

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

Стартовый код C++

#include  using namespace std; int main() {for (int i = 0; i < 5; i++)  for (int j = 0; j < 15; j++)  {cout << '+';} cout << endl;} return 0;}

Переведенный код Python

for i in range(5):     for j in range(15):         print('+', end='')     print()

Составление тестов для Moodle

К великой радости преподавателей, которым надо составлять тесты в разметке Moodle для дистанционного обучения или тестирования, ChatGPT может здорово помочь. Разметку GIFT или Aiken он знает и после небольших тренировок по вашей тематике, чат успешно генерирует тестовые вопросы с правильной разметкой. Приведем примеры таких тестовых вопросов:

::1::Кто разработчик языка Pascal?{     =Никлаус Вирт     ~Блез Паскаль     ~Билл Гейтс     ~Питер Нортон }

Пример генерации вопроса в чате ниже:

Тестовый вопрос на соответствие

Больше примеров смотрите здесь – тут наши эксперименты с разными типами вопросов для тестов Moodle.

Составление блок-схем к коду

Пожалуй, это самое интересное. Вы точно помните свои муки, когда вам надо было нарисовать блок-схему к алгоритму или коду программы, когда вы начинали учить программирование. Все учителя этим грешат, требуя “прокачать” логику. Как показывает опыт, половине студентов это не надо, они в состоянии без картинок абстрагироваться и сразу писать логику алгоритма кодом. Но, блок-схему все равно надо рисовать. И в тех случаях, когда блок-схемы реально нужны тому, кому трудно писать код, и когда эта задача просто “обязаловка”, ChatGPT может помочь. Правда есть еще один случай, когда блок-схема точно необходима студенту – при оформлении курсовой или дипломной работы всегда нужен контент для наполнения пояснительной записки. И тут блок-схемы – идеальный вариант. Работа смотрится солидно, есть куча картинок, а текста писать надо меньше.

Как это работает?

Очевидно, у студента, ученика или преподавателя бесплатная версия ChatGPT-3.5. А он не рисует картинок и тем более схем. Однако есть хитрость: вы можете попросить чат написать код для разметки PlantUML для вашей задачи по программированию – по условию задачи или по уже готовому коду. И, о чудо – чат умеет это. Дальше остается отправить этот код в соответствующий онлайн сервис и получить готовую блок-схему. Приведем для понимания пример кода PlantUML и блок-схему для него:

start :Конструктор блок-схем; while (Создать блок-схему?) is (Да); :Вводим код блок-схемы; :Блок-схема генерируется; :Сохраняем картинку; :Делимся с друзьями; :Пишем комментарии; endwhile (Нет); stop

А теперь блок-схема:

ChatGPT для изучения программирования. Не очевидные примеры

Для справки – синтаксис диаграмм UML и примеры блок-схем смотрите здесь.