Как стать автором
Обновить

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

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров16K

Сценарии использования ИИ для учебы на поверхности. Тот же 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

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

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

Теги:
Хабы:
Всего голосов 14: ↑7 и ↓7+1
Комментарии20

Публикации

Истории

Работа

Data Scientist
74 вакансии
QT разработчик
7 вакансий
Python разработчик
135 вакансий
Программист C++
120 вакансий

Ближайшие события

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
11 сентября
Митап по BigData от Честного ЗНАКа
Санкт-ПетербургОнлайн
14 сентября
Конференция Practical ML Conf
МоскваОнлайн
19 сентября
CDI Conf 2024
Москва
20 – 22 сентября
BCI Hack Moscow
Москва
24 сентября
Конференция Fin.Bot 2024
МоскваОнлайн
25 сентября
Конференция Yandex Scale 2024
МоскваОнлайн
28 – 29 сентября
Конференция E-CODE
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
30 сентября – 1 октября
Конференция фронтенд-разработчиков FrontendConf 2024
МоскваОнлайн