Штучний інтелект і задачі з програмування
Зазвичай навчання початківців програмуванню починається з типових простих задач. Мотивований навчитися учень (студент) спробує розв’язувати ці задачі самостійно. Усі інші — шукатимуть спосіб отримати код якось інакше. З огляду на те, що той же ChatGPT досить пристойно зможе упоратися з типовими простими й не тільки задачами постає проблема оцінювання учнів в умовах дистанційного навчання.
У Вас 100 учнів (студентів), ви пропонуєте їм 10 різних задач, вам потрібно перевіряти 1000 задач. Звісно, аби спростити собі життя це будуть задачі з онлайн перевіркою різного рівня складності. Наприклад, для задачі, в якій потрібно видалити цифри із цілого додатного десятизначного числа, щоб отримати найбільше п’ятизначне ChatGPT надасть такий Python-код (після певних уточнень):
def max_five_digit_number(number): # Перетворюємо число на список цифр digits = list(str(number)) # Кількість цифр, які треба видалити digits_to_remove = len(digits) - 5 # Стек для формування максимального числа stack = [] for digit in digits: # Видаляємо менші цифри, якщо це дозволяє залишкова кількість while stack and digits_to_remove > 0 and stack[-1] < digit: stack.pop() digits_to_remove -= 1 stack.append(digit) # Якщо залишилися ще цифри для видалення, обрізаємо кінець stack = stack[:len(stack) - digits_to_remove] # Об'єднуємо стек у число return int(''.join(stack[:5])) # Зчитування числа number = int(input()) # Виведення результату print(max_five_digit_number(number))
Можете задля власного задоволення оцінити якість коду без онлайн-перевірки його адекватності згідно з умовою задачі. Також можете самостійно попросити ChatGPT розв’язати цю ж задачу та подивитися чи відрізнятиметься розв’язок від наданого тут.
Що буде далі? Мотивований студент зробить декілька спроб з помилками, можливо удосконалить свій код з часом та пройде перевірку, а інші 99 надішлють код, який створив ChatGPT, пройдуть частково перевірку та нічому не навчаться. Можна стверджувати, що отримавши якийсь код вони ж його проаналізують та зрозуміють алгоритм, запам’ятають щось з коду. Але чи зможуть потім самостійно писати свій код?
Але проблема не в тому, навіть. Зараховувати студенту результати здачі задач онлайн, написаних чатом? Пропонувати такі задачі виключно для навчання, а потім приймати залік чи іспит у присутності викладача? Пропонувати поряд із типовими задачами складні задачі з якими штучний інтелект не упорається? Спостерігати під час іспиту за тим як студент пише код та просити його давати пояснення кожному рядку? Але ж їх 100, тих студентів.
53 коментарі
Додати коментар Підписатись на коментаріВідписатись від коментарів