Как ChatGPT обесценил наш курс по питону

 Публичный пост
31 августа 2023  6153

Привет, стадион Уэмбли!

Меня зовут Филипп. Я занимаюсь машинным обучением и параллельно много преподаю в Высшей Школе Экономики.

Сегодня из каждого утюга орут, что образование в XXI веке меняется и больше никогда не будет таким, как раньше. В этом учебном году оно в очередной раз изменилось.

В ноябре 2022 года вышла ChatGPT. К новому году все бейзлайны по хайпу вокру искуственного интеллекта были побиты. Статьи о том, что ещё можно автоматизировать с помощью СhatGPT захлеснули блоги. К началу учебного семестра у каждого уважающего себя студента на телефоне стояла какая-нибудь приложуха на базе GPT. Самые ленивые установили себе ботов в телеге.

Ну а дальше начались пары и отчаянные попытки студентов скинуть решение своих домашек на языковые модели. Именно об этом и будет мой пост.

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

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

Везде ниже, когда я пишу ChatGPT, я подразумеваю любые языковые модели от YandexGPT и ChatGPT до Bard и Гигачада.

Дисклеймер

Я до последнего сомневался, стоит ли вообще публиковать этот текст. Мне он кажется поверхностным. Краткая выжимка такая:

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

Вот бы найти примеры того, как вузовские преподы попытались адаптировать свои курсы по введению в python к ChatGPT... Других глубоких мыслей в тексте не будет. За философией вам сюда.

Ну а теперь, если я не убил ваше желание читать, добро пожаловать под кат.

Что и где мы преподавали

События вокруг ChatGPT развернулись на курсах, которые мы читали для экономистов. Это были базовый курс с введением в python и курс про анализ данных. Оба курса читались на поток в 300 человек на первом и втором курсах.

Базовый курс по питону был сильно автоматизирован. Все домашки сдавались в яндекc.контест. Он прогонял на решениях тесты и выставлял оценку.

Дальше мы проверяли все решения антиплагиатом. Он находил похожие решения. Их мы отсматривали вручную. Если мы видели, что задача списана, мы её обнуляли. Если мы были не уверены, что задача списана, но при этом студент засветился в антиплагиате, мы вызывали его на защиту домашки.

Курс по анализу данных был автоматизирован хуже. Все задания, связанные с визуализациями и проверкой гипотез, проверяли асcистенты и преподы.

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

Преступление и наказание

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

Сразу после первой волны наказаний мне в личку прилетает куча однотипных вопросов:

А действительно, считаеся?

Политика мирного сосуществования

Мы выбрали ответ, что не считается и анонсировали правила мирного сосуществования с ChatGPT.

Нам было очень интересно, как именно студенты будут использовать ChatGPT при решении работ, и что нам надо делать, чтобы адаптироваться к этому.

Вводный курс по python

На курсе по введению в python большая часть домашек представляла из себя контесты. В каждом контесте было несколько задачек. Система автоматического тестирования сама прогоняет тесты и ты сразу видишь свою оценку. Все посылки кода логгируются.

Задачки мы пытались составлять таким образом, чтобы их было сложно прогуглить. Многие задачи придумали семинаристы. От мощи ChatGPT это нас не спасло.

Код студентов после дедлайна прогонялся на антиплагиат. Дальше все похожие решения мы отсматривали глазами. Если внутри был похожий код и был промпт (подводка, которую послали в бота), задача засчитывалась человеку в качестве решённой.

Если подвоки не было, за задачу ставилось ноль баллов.

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

Итак, что мы поняли из курса по сновам питона:

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

Мы живём в эпоху языковых моделей, оверфитнутых на интернет.

Опросы помогали застраховаться от тотального ската. Чтобы подготовиться к опросу, студенту приходилось разбираться в коде, который ему генерил бот.

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

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

Например, если ты хочешь написать небольшой парсер, который соберет тебе данные, сервер может забанить тебя. Придётся постоянно уточнять, что конкретно ты хочешь.

Конечно же, невелика задача — постоянно что-то уточнять у нейронки. Тем не менее, копипаста бывает разной.

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

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

Анализ Данных

В анализе данных задания были более творческими. Надо было строить картинки, объяснять что ты на них видишь, шаг за шагом делать какую-то небольшую аналитику.

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

Кейсы использования ChatGPT были более здоровыми. Например, люди массового просили ChatGPT строить им графики в matplotlib. Я сам постоянно хожу в документацию копипастить опции для графиков. С ChatGPT это стало проще и быстрее.

Что делать?

За полгода я увидел в преподских чатах очень много различных споров про ChatGPT. Кто-то топил за то, что использование нейросетей в домашках и курсовых надо запрещать.

А, что? Всмысле студент написал никому нахер не нужный высер на 50 страниц (диплом) не сам?

Лично мне это кажется вздором.

Рефераты и сочинения уже мертвы, а курсовые и дипломы должны быть полноценными проектами, а не огромными кусками текста.

Более того, довольно сложно проверить, есть ли в работе сгенерированные куски. Конечно же, есть классификаторы от OpenAI, но они выдают довольно много False Positive результатов. Начнётся охота на ведьм.

Нужно адаптировать под новые реалии контент курсов и задания.

Языковые модели довольно просто решают базовые глупые задачки по программированию.

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

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

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

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

А вы что думаете?

Бонус: GPT и собеседования

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

Что такое Dyke

Связанные посты
64 комментария 👇

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

А вот что мне осталось непонятным, так зачем и почему вы пытаетесь в принципе бороться с плагиатом, списыванием и, как продолжение, — с гпт?

Кому и зачем это нужно, кто является бенефициаром "честности"?

  Развернуть 1 комментарий

@zahhar, Как минимум честным студентам пипец обидно, если они старались, ночами не спали и получили итоговую оценку 7 из 10, а несколько однокурсников купили работу у репетитора за сто долларов на троих и сдали под своими именами на 8 из 10. После этого студенты теряют интерес к происходящему и перестают ходить на пары и хоть что-то делать. Преподавателям обидно, если они хотели нести светлое-доброе-вечное, а студенты на пары не ходят или просто ничего не делают, и преподаватели начинают меньше заморачиваться и рассказывать. Дальше умные абитуриенты про это узнают и уже не хотят поступать в вуз, потому что там ничему не учат.

UPD: и, конечно, преподавателям весьма обидно проверять списанные работы: воспринимается как "нерадивый студент", который от обратной связи ничему не научится вообще. У нас на программистских предметах проверяющие — это часто работающие программисты, которые хотят чему-то научить новое поколение. Если новое поколение создаёт впечатление, что учиться не желает, у проверяющих теряется мотивация делать code review и давать советы.

  Развернуть 1 комментарий

@yeputons,

конечно, преподавателям весьма обидно проверять списанные работы <...>

О ДА! Если студент не планирует перенимать знания, я не хочу тратить на него ни время, ни силы.
И вникать в плоды чужой генерации не хочу.

Здесь в клубе кто-то высказывал мысль, что нужно предоставлять срезку на трояк, чтобы зайцы не убивали мотивацию. Но посколько оценки в каком-то виде ценятся (GPA или еще как-то), у зайцев всегда есть соблазн проскочить.

  Развернуть 1 комментарий

@AlexOzerin,

Здесь в клубе кто-то высказывал мысль, что нужно предоставлять срезку на трояк, чтобы зайцы не убивали мотивацию.

Кажется это было тут: https://vas3k.club/post/938/

  Развернуть 1 комментарий

@AlexOzerin, а что тебе мешает сгенерировать срез на отл, если ты справился с генерацией среза на трояк :)

  Развернуть 1 комментарий

Когда-то ходил на курс от Дейва Бизли и подцепил у него идею которую пропагандирую в своих образовательных проектах — вместо того чтобы у чить "программировать на питоне" надо учить программировать с использованием питона. Тому кому интересно будет закопаться в детали он закопается, тому кому пока эти все кишки не нужны оно и не надо будет. В таком контексте не так важно что студент как студент сделал то что сделал потому что проверки устроены так что там без придётся разобраться что ты делаешь-то. А если будет решаться часть задач с chatgpt, мне только на руку потому что это разгружает мою команду сопровождения. В общем это синонимично тому что ты пишешь :) но с другой стороны тут есть и лукавство что я лично не делаю курсы для новичков и тех кто с нуля, а там уже другая история с мотивацией

Рад что вы так быстро на это напоролись, будет круто если что-то придумаете, с удовольствием почитаю чем у вас всё это обернётся

  Развернуть 1 комментарий

@shrimpsizemoose, "вместо того чтобы у чить "программировать на питоне" надо учить программировать с использованием питона"
не могу осилить этот пассаж( Можешь объяснить для деревенского плз?

  Развернуть 1 комментарий

@MaxonVodkin, цель обучения — не чтобы студент могу написать цикл в двадцати видах, а чтобы студент мог решить свои задачи таких-то видов.

И так почему-то сложилось, что мы будем учить решать при помощи питона и программирования, а в питоне нужно сначала научиться программировать на питоне любым способом (хоть руками, хоть ChatGPT).

Не уверен, правда, что стало лучше от такого пояснения, проверь :)

  Развернуть 1 комментарий

@MaxonVodkin, если ты возьмёшь любую книжку с названием синонимичным "программирование на Python" то там скорее всего начало будет примерно одинаковым, каким-то таким:

  1. Ставим питон
  2. Вот смотрите интерпретатор питона это же калькулятор
  3. Типы данных
  4. Команды управления ветвлением
  5. Циклы
  6. Функции

и так далее, там дальше довольно одинаково за очень редким исключением как раз тех книжек которые хорошие (очень люблю книжку Zelle но она устарела, Fluent Python хорошая, но она не для новичков, и так далее)

Цифры это не обязательно главы но это скорее именно порядок. И такой порядок отличный, и если ты уже SME то ты скорее всего такой порядок и заложишь, для тебя это нормально, это уже интересно, но это именно обучение языку когда ты уже как бы ну типа тебе продали идею что тебе нужно это всё. Большинство новичков ещё не понимают зачем это нужно. А SME ходит такой он уже там не знаю с детства ждал когда в школе будет урок информатики и был готов даже терпеть раскладку JCUKEN. И такой человек и книжки читал которые так написаны и они понятны были и поэтому если попросить расписать план такого курса то и получится похожая вот программа. Замкнутый круг, причём увы в этом случае даже не герменевтический

Такому подходу и противопоставляется как раз идея заставить идти от задачи. Это сложнее. Студент будет на старте больше не понимать. Студент будет ходить по герменевтическому кругу, надо будет при расписывания курса использовать всякие штуки типа модели Колба и вообще думать о том как выстроить образовательный опыт (= о боже общаться с другим людьми которые даже не программисты). А это не то о чём ты думаешь когда ты просто крутой питонист которого позвали писать курс. Во всяком случае пока тебе не начёт прилетать обратная связь, да и её не каждый SME сможет услышать.

TLDR: отличие подхода учить программированию с питоном в том что вот пусть студент захочет сначала сложить два класса, поймёт что не понимает как конкретно это сделать но плюс-минус чего хочется и тут ты подсовываешь инфу про дандер методы, а не "вот вам дандер методы напишите теперь класс кватерниона"

  Развернуть 1 комментарий

@shrimpsizemoose, я вообще ничего не понял честно говоря. Вы к тому, что нужно давать не синтаксис а задачу, а дальше вообще пофиг какой синтаксис человек нагуглит?

  Развернуть 1 комментарий

@shrimpsizemoose, студентов, которые поведутся на такой метод и реально будут сами рыть все в поисках ответов "как же мне все-таки сложить два класса, чтобы вывести итог в этой задаче" дай Боже чтоб 10% от потока обычно. Остальные просто плюнут и спишут/закажут работу. А если это отдельный частный курс - накидают отзывов вида "нихрена ничему не учат, требуют найти то не знаю что" и запросят рефанды.

У меня был такой репетитор по геометрии в 11 классе - он давал задачу, говорил - рассуждайте и сидел слушал, мог минут 10-15 просто молчать. Это работает и сильно качает мозги, но времязатратно и не всегда применимо. Опять же у нашей мини-группы тогда была большая мотивация.

  Развернуть 1 комментарий

@nightlord189, "поведутся" :) тут не очень уместное слово, тут скорее вопрос о том как таких студентов затащить к себе на курс.
Конечно же я не говорю о том что надо бросать студента самого с собой и интернетом, это какая-то другая крайность. Но думать о том как постепенно убирать тренировочные колёсики его велосипедов это полезно. А дальше да, чуть больше адаптивности. Просто хотя бы начать про это думать это уже большой шаг вперёд, который в том числе скорее всего не делал твой репетитор по геометрии.

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

  Развернуть 1 комментарий

@shrimpsizemoose, Я честно пытался понять, что такое SME, но так и не смог. Small and medium-sized enterprise?
https://en.wikipedia.org/wiki/SME

  Развернуть 1 комментарий

@Kiri11, "Good guess but actually no" :)
SME в этом контексте это subject matter expert
. https://en.m.wikipedia.org/wiki/Subject-matter_expert

  Развернуть 1 комментарий

@MaxonVodkin, учить алгоритмическому мышлению? Ну типа, если ты можешь построить внятную блок-схему последовательности исполняемых комманд\действий, то тебе без разницы, на каком языке это потом писать. И сможешь потом и в чатжпт это засунуть и получить нужный код.

  Развернуть 1 комментарий

Кмк chat gpt можно условно рассматривать как очередное повышение уровня абстракции (ну если бы оно нормально работала, а не выдумывало несуществующие классы, методы и т.д.). Ну т.е. asm -> c -> python -> python + gpt (простите за такую грубую цепочку). И тут я бы посмотрел задачи с какой coplexity кода может решить студент за вменяемое время с использованием gpt, на это бы и ориентироваться. Написать один класс, два, пять, десять. На каком то этапе количество проблем будет расти как снежный ком, там и остановиться.

  Развернуть 1 комментарий

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

  Развернуть 1 комментарий

@ppilif, но с другой стороны, если они не хотят его использовать это тоже проблема. Индустрия сегодня эволюционировала.
Для меня програмисты, которые не используют LLM модели сегодня, равны старичкам, которые делают расчёты на калькуляторе и заносят их в эксель :)

  Развернуть 1 комментарий

@8l1iUcE6ChZrwkvYLiadov, Нет, просто наборы задач для экономистов очень простые. Без алгоритмов и сложных конструкций 🙂

  Развернуть 1 комментарий
Egor Suvorov Программист/преподаватель C++ 31 августа 2023

События вокруг ChatGPT развернулись на курсах, которые мы читали для экономистов.

О, это важное уточнение, что не для программистов. Тогда сложнее.

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

Прекрасно, даём повседневные задачи в формате контеста.

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

Незачем, мне кажется. Можно оставить контесты и простые задачи в качестве упражнений. Они нужны. Нужно упражняться на простых задачах, которые может решать ChatGPT, иначе не научиться. Но оценку за это дело можно уже не ставить.

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

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

Конечно же, проверку такого дз не автоматизируешь.

Почему? Выдаём данные в кривых форматах (хоть автоматически сгенерированные), формат вывода строго фиксирован, условие строго сформулировано на тему "что посчитать и что как фильтровать". Вперёд считать. Или, скажем, не всё строго зафиксировано, а почти всё, и принимается несколько правильных ответов.

  Развернуть 1 комментарий

Проблема же не только в автогенеренном коде. Проблема в принципе в концепте обучения. Мир изменился, а способы преподавания - нет. Когда я учился, я дебажил код на бумажке, потому что ПК у меня сначала не было. Нужен ли сейчас кому-то этот скилл? Определенно нет. И это мне повезло, что в школах закончились логарифмические линейки, а то я бы знал как на них считать.

В 90-е в школах были модны "рефераты" - почитай кучу книжек, перепиши из них тезисы, сделай структуру и все готово. Когда появился интернет - этот инструмент обучения умер. И это не ученики идиоты, они просто не видят пользы или возможности.

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

Имхо, курсы - это обычное специальное образование. Должно выпускать людей, способных решать стандартизированные задачи. Добиться этого можно только объемами одинковых заданий, с постепенным погружением в теорию и усложнением. Основная проблема массовых продуктов такого образования в отсутствии обратной связи. Или преподаватель/коуч/тьютор недоступен (завален вопросами/отвечает редко/ и т.д.) или агрессивен/пассивно агрессивен.

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

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

  Развернуть 1 комментарий

@almas, Ещё прикол в таргетировании. Когда мы говорим об инженерах. Как продают курсы: "Стань дата-саентистом за 3 месяца", "Войди в айти за полгода", "Получи специальность бэкенд-девелопера за 4 недели". И тут возникает вопрос, люди, которые создают этот курс, они инженеры. Они готовы взять любого своего "закончившего" студента с завтрашнего дня себе джуном? В основном ответ будет - ну конечно нет, пусть наберется опыта, поработает пару лет. А это значит что цели курса были изначально фэйковые, аудитория набрана тоже имеющая совершенно другую задачу. И тогда возникает вопрос: а зачем они тогда вообще нужны? Кого они выпускают?

  Развернуть 1 комментарий
Egor Suvorov Программист/преподаватель C++ 31 августа 2023

Например, у меня студенты на курсе по C++ могли пользоваться ChatGPT на экзамене. Не помогло:

  • В письменной версии на оценку 3 из 5 (4 из 10) ChatGPT регулярно выдавал бред, который надо доправит
  • В устной версии на полную оценку надо не зачитывать конспект, а в реальном времени разбираться в коде. С использованием любых инструментов (включая ChatGPT), но очень быстро (читать вывод ChatGPT скорее некогда).
  Развернуть 1 комментарий

@yeputons, да, гпт отвратителен в С++. )

  Развернуть 1 комментарий

О, схожие проблемы есть в преподавании иностранных языков, только их поломали еще предыдущие технологии: translate, OCR и speech-to-text.

Чтобы убедиться что студень точно умеет/делает сам нужно допрашивать его 1x1 IRL, что

  • трудоемко (на иностранных языках у препода как правило нет ассистентов, как у некоторых технарей принято)
  • не оплачивается (по крайней мере в известном мне среднем московском техническом вузе )
  • в целом несколько унизительно для студента (это же презумция виновности)
  Развернуть 1 комментарий

@AlexOzerin, офигенная мысль, спасибо за нее. Никогда не думал об этих технологиях в контексте преподавания языка.

  Развернуть 1 комментарий

@AlexOzerin, ну вот вопрос в целях. Когда студент учит язык, потому что по нему надо сдать экзамен - он читерит. Я вот в свои 38 учу новый язык, потому что мне как-то надо жить в эмиграции, а это совершенно новая мотивация и подход. Так и со студентами - открой им возможность общаться, например, с ровесниками-носителями языка, и он будут пытаться учить язык совершенно иначе. Нету же единственной и эталонной методики изучения языка. Всякие grammrly помогают мне в совершеноствании речи куда лучше чем пару часов в неделю с репетитором :-D

  Развернуть 1 комментарий

@almas, вот не нужно преподу отвечать за жизненные интересы и досуг студента.
Это очень далеко от возможностей обычного преподавателя и психологически затратно (занятно кстати что в вузах есть психологи для студентов, но про супервизию преподавателей я не слышал).

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

  Развернуть 1 комментарий

@AlexOzerin, дело не в досуге, а в концепции обучения. Программы обучения в принципе, морально устарели и непригодны. С иностранными языками вообще беда. За мою бытность студентом, студент говорил на иностранном языке несколько минут в неделю. Эффективность обучения была околонулевая.

Большинство студентов забивали на процесс и их задача становилась не выучить язык, а получить хотя бы 3 на экзамене. Можно подумать, что это конченые, бесталанные люди. Однако, 10+ лет спустя, большинство из них работают в интернациональных корпорациях и, конечно, говорят и пишут на английском.

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

  Развернуть 1 комментарий
Yury Kuznetsov DevOps, недорого, самовывоз 31 августа 2023

Интересно посмотреть на это с другой стороны :)
Так совпало, что этой весной мне понадобилось немного помочь одному хорошему человеку с дипломом, и я с разбегу влез в реальную (хоть и не очень сложную) задачу на абсолютно незнакомом стеке технологий (фронтенд для сайта на JS и Vue + настройка сервера на apache или nginx).

Несмотря на то, что нейросетки (ChatGPT 4, общение на английском + GitHub copilot) в целом генерировали ситуативные решения, в контексте проекта через месяц было уже проще написать самому код, чем нормальный промт. Хотя обучение получается весьма специфическое - я сделал рабочий проект, но при этом не имел понятия, почему одни переменные объявляются через let, а вторые через var.

И вот теперь вот мне интересно- похоже, что начиная с 2023 года программировать без гопоты это примерно то же самое, что работать без Гугла - в целом можно, в книжках все есть, и коллеги всегда готовы прийти на помощь, но первый вопрос все равно будет "а ты ошибку пробовал гуглить?".

  Развернуть 1 комментарий

@FEARmeR,

при этом не имел понятия, почему одни переменные объявляются через let, а вторые через var

Надо было чатгпт спросить об этом.

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

  Развернуть 1 комментарий

@orbit, Я понимаю, я про то что в рамках конкретной задачи мне было не важно - ну объявляется и объявляется, зато теперь язык "с нуля" учится куда более осознанно.

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

  Развернуть 1 комментарий

@FEARmeR,

в рамках конкретной задачи мне было не важно

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

А с нестандартными вещами он мало способен работать. Только какие-то общие рекомендации дать

  Развернуть 1 комментарий

@orbit,

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

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

  Развернуть 1 комментарий

@Shpun, ну это да.

Меня больше всего бесит, когда она придумывает названия функций которых нет. Я так тоже могу - MakeThisZaebis()
xD

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

  Развернуть 1 комментарий

@orbit, поэтому стараюсь в темах, в который я не силен, всегда критически смотреть на ответы гпт и регулярно задаваться вопросом "а не фигню ли мне он выдает"

  Развернуть 1 комментарий
Denis Sobolev Пайтонист и чуть азов датасаенса 31 августа 2023

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

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

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

  Развернуть 1 комментарий

@Creol, «в бесполезном грузе типа дипломов и курсовых…» - так они становятся бесполезными засчет простого и быстрого доступа к информации, а иногда к готовому артефакту. Кажется, тут нужно менять формат усвоения знаний, а не делать то же самое, но тратить меньше времени засчет AI так как это уже бесполезное действие.
Ну и далеко не все дипломы - вода, некоторые эпплаятся дальше на бизнес/науку, у меня таких примеров примерно у 30% знакомых.

  Развернуть 1 комментарий

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

Смысл тогда тратить столько времени на этот труд по ручному поиску, перефразированию и перелопачиванию гор никому не интересной после сдачи работы информации, если это можно автоматизировать? Тут и правда было бы удобнее скормить сетке доступы в научные библиотеки, задать область поиска, тему и критерии, а потом заставить её отобранные статьи суммаризировать и разработать наполнение текстовой части.)

  Развернуть 1 комментарий

@Creol, « Смысл тогда тратить столько времени на этот труд по ручному поиску, перефразированию и перелопачиванию гор никому не интересной после сдачи работы информации, если это можно автоматизировать?»

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

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

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

  Развернуть 1 комментарий

@nastia12055, ну:

  1. Усвоение знаний (опять же, я о своём случае, а не об общем, это важно помнить) происходило на предметах, где давались знания, навыки и методологии, а не на дипломе.
  2. Это несколько похоже на придирку к словам, а не к сути деятельности. Плюс, опять же, лично в моём случае ничего принципиально нового выжать из темы для магистерского уровня было практически невозможно. А то, что можно было - это уже уровень докторантуры. Например, создать свой алгоритм веб-шифрования, протокол или метод обмена данными для авторизации. То есть, анализ статей и обработка (кстати, а что такое тогда обработка, если не то, что я сказал ранее + анализ?) в данном случае будут равны перелопачиванию и перефразированию, потому что сходу писать свои идеи и их имплементацию, не подкрепленную "ссылками на авторитетные источники", нельзя, не труъ, а имеющиеся в распоряжении статьи могут помочь и соотнестись только с самой теоретической стороной на уровне описания проблематики.
  3. Тут ничего не скажу, собесы - это слишком индивидуальная область, кто-то может и требовать тему.
  Развернуть 1 комментарий

@Creol, ты прав, я правда придралась к паре твоих тезисов, не более того)

  Развернуть 1 комментарий

@nastia12055, /hug

  Развернуть 1 комментарий
Степан Попов Разработчик, дизайнер и продакт 5 сентября 2023

ChatGPT с ходу решал почти любые наши задачи, заготовленные для контеста.

Очень странный результат. Мы точно так же гоняем студентов на контестах, но ChatGPT может решить, наверное, только 3-4 самых простых. Как только начинаются оптимизации или специфические конструкции, сыпется сразу, не может предложить ничего лучше прямой реализации.

Могу предпложить, что вы давно не меняли задачи в лабах, а за это время появились репозитории/форумы с ответами, которые, собственно, СhatGPT и проиндексировал.

  Развернуть 1 комментарий

все? аналитики ни нужны?
нужно бежать на завод?

  Развернуть 1 комментарий

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

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

  Развернуть 1 комментарий

Более того, довольно сложно проверить, есть ли в работе сгенерированные куски. Конечно же, есть классификаторы от OpenAI, но они выдают довольно много False Positive результатов. Начнётся охота на ведьм.

Сами OpenAI признали это и закрыли свой классификатор: https://www.theverge.com/2023/7/25/23807487/openai-ai-generated-low-accuracy

  Развернуть 1 комментарий

Вы воюете в какую-то странную сторону: у студентов задача учиться, чтобы потом работать. У вас задача - качественно учить и отсеивать тех студентов, которые учиться не хотят. Чтобы следующее поколение студентов считало, что вы хорошо учите. Антиплагиат, детекитрование генерированного кода и т.п. нужны только для того, чтобы найти тех, кто хочет получить диплом, но не хочет учиться.

Чем плоха система, когда студент получает курсовую работу, а потом ее защищает? Домашки может как угодно делать, никогда не понимал зачем за них дрочат: это же мне надо, чтоб потом написать более серьезную работу. Которую надо защищать 1-1.

Да, я в курсе, что устный экзамен не любят за внесение туда элемента личных отношений, за то в нем работает навык "красноречие".

  Развернуть 1 комментарий

@AndreyBondarenko,
концепция курсовых и дипломных работ звучит красиво, но на практике поломана еще предыдущими поколениями студентов.

  1. Если у вас на курсе проекты и их состояние трекает один препод, я утверждаю что он не может делать этого хорошо.

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

  1. Если у вас аля диплом, отдельные научруки и защита на комиссии – это провал, потому что у комиссии нет никакого контекста и она будет опираться на мнение научрука/оппонента. Разве что студенту [не]повезет и ему попадется специалист по его задачке.

Имхо, любые сравнительно непрерывные проверки/сигналы лучше одной единственной короткой простой проверки. Всегда будет абьюз системы. В случае непрерывных проверок студенту таки бывает дешевле делать домашки по чуть-чуть.

  Развернуть 1 комментарий

@AlexOzerin, а что происходит при уличении в плагиате? Гуриев, например, гооворил, что у них во Франции все очень серьезно и на второй раз, а то и на первый, отправляют за ворота. То, что я считаю тут - преподаватели и студенты учатся обманывать и вскрывать обман.

  Развернуть 1 комментарий

@AndreyBondarenko, от вуза зависит. В ВШЭ было серьезно.

Но антиплагиат – это просто валидация формы.
Это никак не помогает от булшита и подлога.

  Развернуть 1 комментарий

@AlexOzerin, булшит и подлог - разные вещи все-таки! Работа может быть низкого качества, на "зачет" или "уд", но оригинальная.

Но антиплагиат – это просто валидация формы.

ЯННП, что именно он тогда валидирует? Там вроде в названии "плагиат", т.е. подолг.

  Развернуть 1 комментарий

@AndreyBondarenko,

То, что я считаю тут - преподаватели и студенты учатся обманывать и вскрывать обман.

Плагиат – простейший вариант обмана, который получается вскрывать автоматически.

Подлог – это обман, но его очень трудно вскрыть.

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

  Развернуть 1 комментарий

@AlexOzerin, ага, понял.

  Развернуть 1 комментарий

@AndreyBondarenko,

Там вроде в названии "плагиат", т.е. подолг.

А теперь я смог расшифровать.
Плагиат – это некорректное заимствование, копипаста.

Подлог – когда данные не получены в результате какого-то эксперимента или процесса, а выдуманы. Например метрики модельки. Или быстродействие алгоритма или whatever.

Мб я неправильно использую термины?

  Развернуть 1 комментарий

@AlexOzerin, да, я понял. Тупанул.

  Развернуть 1 комментарий

@AndreyBondarenko,

Домашки может как угодно делать, никогда не понимал зачем за них дрочат: это же мне надо, чтоб потом написать более серьезную работу. Которую надо защищать 1-1

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

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

  Развернуть 1 комментарий

@yorlov, а что произойдет, если обосрется? Ну обосралась и обосралась, следующие и соседние может чего поймут из этой истории. У нас до финиша половина не дошла.

  Развернуть 1 комментарий

@AndreyBondarenko, тогда это уже становится проблемой преподавателя

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

  Развернуть 1 комментарий

@yorlov, я сомниваюсь, что "никто", ну серьезно. Не бывает так, или у вас действительно серьезные проблемы и это их логичный результат.

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

Мой point в том, что вы не заставите студентов учиться, если они сами не хотят и я не очень понимаю, зачем вы так много времени этой задаче уделяете. Она не решаемая.

  Развернуть 1 комментарий

😱 Комментарий удален его автором...

  Развернуть 1 комментарий

@ppilif, итоговая работа + защита, не? Критерии: выполнение поставленной задачи на зачет, память и быстродействие на хор-отл. У нас у препода была заготовка как быстро поменять программу на вариант поставленной задачи (для маленькой работы) или чтоб объяснил интересный кусок из кода. Кому делали друзья, тот просто не мог найти в середине какую-то очевидную часть алгоритма.

  Развернуть 1 комментарий

@AndreyBondarenko, ИМХО домашки - это как раз таки юнит тесты на то, что ты понял, что имел в виду товарищ лектор. TDD и все такое. Экзамен - это уже регрессия.
Можно без тестов? конечно, можно. Но как-то принято все же тесты писать. И где-то дрючат за покрытие, а где-то достаточно чтобы тупо были.

  Развернуть 1 комментарий
Sergei Ruzki Python Developer, ERP Architect, Odoo User 6 сентября 2023

ChatGPT - просто еще один гвоздь к крышку гроба образования, как мы его знаем. Мы - я тут про развала системы образования СССР. Это когда институты стали университетами, техникумы колледжами и прочие академии появились.

Послушать лекцию, записать конспект, сдать курсовую (с проверкой штампов и размера шрифта - это самое главное), а потом с наушником зайти на экзамен.

Все, баста. Возврат на ~80 лет назад, когда вышка была не способом продлить школьные годы чудесные детиночке любимой, а мозговыносящим челенжем. Когда можно было вылететь с первого семестра, потому что ты пробакланил и тупо не знаешь, что у тебя, скажем, в курсовой.
И меньше студентов на одного "профессора", и больше требований к "профессорам" по сути, а не в разделе бумажек заполнить. И главное - право преподавательского состава сцаными тряпками выгонять нетянущих.
Это если хочется нормального образования, конечно.
А если для корочки - все путем. Студиусы сэкономят - меньше платить помогаторам.

  Развернуть 1 комментарий
Владимир Мирошников Делаю дизаен, упорядочиваю хаос 31 августа 2023

Скобку под последний URL стоит внести, а то не открываецца

  Развернуть 1 комментарий

😎

Автор поста открыл его для большого интернета, но комментирование и движухи доступны только участникам Клуба

Что вообще здесь происходит?


Войти  или  Вступить в Клуб