Интересные обсуждения
темы заинтересовавшие velkin
Обучение программированию
21.04.2025
|
LaptevVV
|
Кидайте идеи, как теперь обучать программированию ?
Я вижу только один путь: создать свой собственный язык программирования, которого нет в сети.
И на нем обучать всем основным концепциям.
А потом уже переходить к общеизвестным языкам. И в этом случае уже с применением ИИ.
Если сразу учить народ на С/С++/Java/JS/C#/Go — они не делают лабы сами, а просто генерят в ИИ.
Домашние задания в этом варианте — бесполезны.
Кто что предложит ?
Я вижу только один путь: создать свой собственный язык программирования, которого нет в сети.
И на нем обучать всем основным концепциям.
А потом уже переходить к общеизвестным языкам. И в этом случае уже с применением ИИ.
Если сразу учить народ на С/С++/Java/JS/C#/Go — они не делают лабы сами, а просто генерят в ИИ.
Домашние задания в этом варианте — бесполезны.
Кто что предложит ?
21.04.2025 83 комментария |
LVV>Я вижу только один путь: создать свой собственный язык программирования, которого нет в сети.
Раньше так делали из бедности, например тот же Кнут. И у нас в универе тоже.
LVV>И на нем обучать всем основным концепциям.
Есть мысль, что это всё равно не сработает. К тому времени, как такой язык будет создан, бюрократически одобрен и проведён как средство обучения, новый ИИ-чат сможет по спецификации языка писать на нём код.
LVV>Кто что предложит?
Тут вопрос о цели обучения. Если надо выпустить чувака, который сможет трудоустроиться и решать реальные задачи, то и надо давать реальные задачи, которые он будет решать с помощью ИИ в том числе.
Если надо обучить всему тому, чему успешно учили ранее, то надо тратить больше личного времени на лабы, устраивать совместный кодинг со студентом, устно спрашивать больше.
P.S. Раньше тоже никто не мешал отдавать написание кода более способным студентам, особенно со старшего курса. Я сам так с несколькими девушками познакомился, ни одна из которых программистом так и не стала, но лабы сдала и диплом получила.
LVV>Домашние задания в этом варианте — бесполезны.
LVV>Кто что предложит ?
Берешь Haskell, Clojure или, на худой конец, Scala. При сдаче лабы требуешь не просто показать код, а объяснить как он работает. Пусть им ИИ объясняет, чем хвостовая рекурсия отличается от нехвостовой и как ее превратить в цикл.
LVV>Кидайте идеи, как теперь обучать программированию ?
LVV>Кто что предложит ?
На первом занятии собрать зачетки, провести опрос и авансом выставить всем желающим "отлично" с освобождением от посещения занятий.
Дальше вести занятия с теми, кто действительно хочет получить Настоящие Знания.
Можно пойти дальше —
LVV>Кидайте идеи, как теперь обучать программированию ?
А ничего не изменилось. Сейчас решения заданий генерит ИИ, ранее (да и сейчас тоже), задания делали те, кто соображал, и зарабатывал на этом.
LVV>Кто что предложит ?
Ну, когда я учился, требовалось на защите объяснить как все работает, плюс на бумажке заставляли сходу что написать. Соответственно крайне многие сдавали уже сделанную кем то лабу раз 6, до тех пор, пока преподу либо не надоест, либо он тупо выйдет рано или поздно и раздолбаю задание все таки сделают. Выхлоп правда все равно нулевой, многие диплом получили, ни разу не написав даже Hello world, но раздолбаи были весьма напряжены курса до четвертого. На четвертом появился среди преподов один явный взяточник, который уже всех раздолбаев отмазывал и они сдавали первыми и без напряга, а кто действительно учился и что то мог — тех ставили в условия невозможности сдать, и приходилось ради тупо допуска у экзаменам писать раздолбаям дипломы и все такое, вися на грани отчисления.
LVV>Я вижу только один путь: создать свой собственный язык программирования, которого нет в сети.
LVV>И на нем обучать всем основным концепциям.
Очень трудоёмко.
LVV>А потом уже переходить к общеизвестным языкам. И в этом случае уже с применением ИИ.
Я б вообще пропустил эту часть, связанную с ИИ. Это как обучать детей пользованию смартфоном. Дети дадут фору любому взрослому в пользовании смартфоном, путём самообучения. Лучше наоборот, постараться оттянуть их встречу со смартфоном на максимально возможный срок.
LVV>Если сразу учить народ на С/С++/Java/JS/C#/Go — они не делают лабы сами, а просто генерят в ИИ.
LVV>Домашние задания в этом варианте — бесполезны.
Вот есть такой язык программирования Alef: https://swtch.com/~rsc/thread/alef.pdf
Прямой предшественник Go, и по людям, и по идеям, и очень на него похож.
Но думается мне ИИ на Alef-е программировать не осилит.
Нативный компилятор есть под Plan9, и наверняка есть порт на Linux (ну или спортировать самому, не думаю, что это шибко сложно).
Еще мне попадался на гитхабе проект языка, очень похожего на Go, но не Go. Self-hosted, в том смысле, что компилятор на нём самом написан. Какой-то русский парень его ведет. Но навскидку не могу найти.
LVV>>И на нем обучать всем основным концепциям.
Pzz>Очень трудоёмко.
Не. За лето можно сделать
0. Язык — минимальный, без наворотов и извратов. Меньше, чем Си.
1. Парсер делаем на антлр /кокор / еще на чем-то
2. Конвертируем в С/С++
LVV>>А потом уже переходить к общеизвестным языкам. И в этом случае уже с применением ИИ.
Pzz>Я б вообще пропустил эту часть, связанную с ИИ. Это как обучать детей пользованию смартфоном. Дети дадут фору любому взрослому в пользовании смартфоном, путём самообучения. Лучше наоборот, постараться оттянуть их встречу со смартфоном на максимально возможный срок.
Ну, наверное, да.
LVV>>Если сразу учить народ на С/С++/Java/JS/C#/Go — они не делают лабы сами, а просто генерят в ИИ.
LVV>>Домашние задания в этом варианте — бесполезны.
Pzz>Вот есть такой язык программирования Alef: https://swtch.com/~rsc/thread/alef.pdf
Да, в книжке Кернигана/Донована по Go он упоминается.
Pzz>Прямой предшественник Go, и по людям, и по идеям, и очень на него похож.
Pzz>Но думается мне ИИ на Alef-е программировать не осилит.
Pzz>Нативный компилятор есть под Plan9, и наверняка есть порт на Linux (ну или спортировать самому, не думаю, что это шибко сложно).
Поищу. Спасибо.
Pzz>Еще мне попадался на гитхабе проект языка, очень похожего на Go, но не Go. Self-hosted, в том смысле, что компилятор на нём самом написан. Какой-то русский парень его ведет. Но навскидку не могу найти.
Тривиль от Недори — тоже можно посмотреть.
Кстати, лексика русская. Компилятор в Си написан на Go...
Pzz>>Очень трудоёмко.
LVV>Не. За лето можно сделать
LVV>0. Язык — минимальный, без наворотов и извратов. Меньше, чем Си.
Как у Дейкстры, в Дисциплине программирования? Кстати, наверняка есть готовые реализации.
LVV>1. Парсер делаем на антлр /кокор / еще на чем-то
LVV>2. Конвертируем в С/С++
Всё равно набежит вопросов.
Парсер, кстати, что руками писать, что компилятором компиляторов — начальные вложения примерно одинаковые. Потом в рукописном парсере сложнее небольшие изменения в грамматику вносить. А машинописном парсере сложнее добиться вменяемой диагностики при синтаксических ошибках.
vlang?
Pzz>>Еще мне попадался на гитхабе проект языка, очень похожего на Go, но не Go. Self-hosted, в том смысле, что компилятор на нём самом написан. Какой-то русский парень его ведет. Но навскидку не могу найти.
K>vlang?
Возможно. Вот не могу вспомнить. Мне кажется, что он был на M, но это не точно...
LVV> они не делают лабы сами, а просто генерят в ИИ.
LVV> Домашние задания в этом варианте — бесполезны.
Делать такие лабы и задания, которые ИИ решить не в состоянии. С учетом того, что ИИ не в состоянии сделать почти ничего, это не должно быть сложно. Другой вопрос — а зачем? Какая конечная цель преследуется?
LVV>> Домашние задания в этом варианте — бесполезны.
AB>Делать такие лабы и задания, которые ИИ решить не в состоянии. С учетом того, что ИИ не в состоянии сделать почти ничего, это не должно быть сложно. Другой вопрос — а зачем? Какая конечная цель преследуется?
Дык научить жеж программы писать, а не сдавать лабы...
LVV> AB> Другой вопрос — а зачем? Какая конечная цель преследуется?
LVV> Дык научить жеж программы писать, а не сдавать лабы...
Люди, которым это все интересно, научатся и без лаб. Которым не интересно, забудут все напрочь через неделю после сдачи. Для тебя лично ничего не меняется вообще — что там AI решал, что кто-то другой.
Ну а если уж так сильно "душа болит за отчизну", то, как тут правильно заметили, иди в ногу со временем и расскажи студентам, что нынче появляются компании, которые набирают разработчиков для написания программ только (и только!) при помощи AI (и ни строчки кода руками!). Ну и лаба должна быть под стать AI — современно, стильно, молодежно
Любопытная статья.
Но он больше электронщик.
LVV>Любопытная статья.
LVV>Но он больше электронщик.
Кстати, идея очень здравая — использовать недоступные для студента входные данные. Делаешь сетевое API и даёшь им библиотеку, которая может из неё читать входные данные для программы. Эта библиотека коннектится к твоему серверу, который есть только в лаборатории и получает из него данные. Если запущена локально и без сервера, то данные получает прошитые, для всех одинаковые стандартные.
Входные данные делать такими, которые не пересекаются в некоторых кейсах. Часть кейсов и относящихся к ним данных надо скрыть.
Тогда при сдаче проверять, как оно работает на стандартных данных, а также на скрытых. Если на скрытых работает неправильно, то просить студента их учесть и поправить код тут же за столом. Это может быть: пустые последовательности, слишком длинные последовательности, отрицательные значения, очень большие значения, дополнительные задержки, что-то вперемешку, такие данные, где рекурсия будет переполнять стек и т.д.
N>Тогда при сдаче проверять, как оно работает на стандартных данных, а также на скрытых. Если на скрытых работает неправильно, то просить студента их учесть и поправить код тут же за столом. Это может быть: пустые последовательности, слишком длинные последовательности, отрицательные значения, очень большие значения, дополнительные задержки, что-то вперемешку, такие данные, где рекурсия будет переполнять стек и т.д.
Студент пишет логгер или сниффер, который во время экзамена отправляет все кейсы на _свой_ сервер. А дальше простор фантазии — либо гопота исправляет код и рассылает его остальным студентам, либо сами студенты исправляют.
Итог: первый студент идёт в качестве жертвы, зато другие выживают.
F>Студент пишет логгер или сниффер, который во время экзамена отправляет все кейсы на _свой_ сервер. А дальше простор фантазии — либо гопота исправляет код и рассылает его остальным студентам, либо сами студенты исправляют.
За такое и зачёт поставить не жалко.
как минимум один рекрутинговый сайт уже немало лет так
но забыл, какой
LVV>https://habr.com/ru/articles/902400/
LVV>Любопытная статья.
LVV>Но он больше электронщик.
В целом, если идею немного обобщить, она сводится к тому, что ИИ — это такой продвинутый поиск по данным, которые в него были заложены при обучении. Этакий гугль на стероидах. Но не творец новый знаний и идей.
Электронщикам, конечно, хорошо. Они завсегда могут встать в позу, "а вот я не скажу вам, какой ёмкости конденсатор я сюда впаял, мерьте сами". Но я думаю, и в програмизме можно тоже найти вещи, которые не узнаешь, пока не померишь. Ну, веремянку CPU кешей, например.
А можно еще попробовать поднапрячь головную мышцу и придумать задачки не на незнание неизвестных фактов, а на некоторую изобретательность — тут уж точно ИИ будет в пролёте.
Pzz>А можно еще попробовать поднапрячь головную мышцу и придумать задачки не на незнание неизвестных фактов, а на некоторую изобретательность — тут уж точно ИИ будет в пролёте.
Судя по всему, это очень нетривиальная задача.
Например, совсем недавно собрали тест frontiermath со сложными математическими проблемами, которые не каждому человеку подвластны. Точнее, специалист в этой области может потратить на решение задачи несколько дней. И на конец 2024 года лучшие нейросети решали не больше 2% от представленных задач.
Последняя модель ЧатаГПТ может решить уже 10%.
Или взять Humanity's Last Exam, который тоже на старте был очень сложным (не более 4% на старте), но постепенно, всего за полгода нейросетки дошли уже до 20% решённых задач. А там авторам за задачи даже платили:
И так получается, что задурить нейросеть с каждым месяцем (не годом!) становится всё труднее. Это не о том, что программисты останутся без работы и всё такое, а о небольших, корректно сформулированных проблемах. Да, конечно, останутся свои Великие теоремы Ферма, но на то они и великие, что студентам в виде лабораторной не дашь. А что, что можно дать студенту в хорошей формулировке в отрыве от реального мира уже и не так сложно для нейросеток. Кажется, что пока именно что реальный мир и может стать новым "тестом Тьюринга".
Pzz>В целом, если идею немного обобщить, она сводится к тому, что ИИ — это такой продвинутый поиск по данным, которые в него были заложены при обучении. Этакий гугль на стероидах. Но не творец новый знаний и идей.
На каком-то уровне творец и уже давно.
Т.е. синтез знаний, совмещение несовместимого, экстраполяция закономерностей и т.д. — всё это уже ИИ показывает давно.
Дело за мощностью ИИ.
LVV>Любопытная статья.
LVV>Но он больше электронщик.
Критичная информация: количество тактов между событиями.
Критичная информация: задержка на пути комбинационной логики.
не могу оценить корректность, но как минимум рассуждать о и давать оценки по обоим пунктам гопота берется легко
p.s.
а, пардон, надо было дочитать
LVV>Я вижу только один путь: создать свой собственный язык программирования, которого нет в сети.
Подумалось...
Может пусть каждый студент свой язык придумает. Скриптовый, к примеру. Реализует его и на нем и пишет.
SIT>Подумалось...
SIT>Может пусть каждый студент свой язык придумает. Скриптовый, к примеру. Реализует его и на нем и пишет.
Ну, это 3 курс. Ну, 2-й в конце.
А учить надо с нуля основам программирования.
LVV>Кидайте идеи, как теперь обучать программированию ?
LVV>Я вижу только один путь: создать свой собственный язык программирования, которого нет в сети.
LVV>И на нем обучать всем основным концепциям.
LVV>А потом уже переходить к общеизвестным языкам. И в этом случае уже с применением ИИ.
LVV>Если сразу учить народ на С/С++/Java/JS/C#/Go — они не делают лабы сами, а просто генерят в ИИ.
LVV>Домашние задания в этом варианте — бесполезны.
LVV>Кто что предложит ?
Вопрос уже нужно ставить так: А как щас учить вообще?
LVV>Кто что предложит ?
Использование GPT ничем принципиально от списывания не отличается. Лично я когда-то зырабатывал тем, что делал лабы пачками. Везде, в каждом общежитии висели тучи объявлений "делаю лабы по...". Всегда будут те, кто делает сам и те, кто списывает. Те, кто списывает, палится на стиле написания и на том, что не может объяснить то, что он сделал. Чувак, который не делал лабу сам не может модифицировать код.
Говорить, спрашивать, просить что-то поменять в коде.
Это теперь касается не только лаб по программированию, а вообще всего обучения с 1го класса.
LVV>Домашние задания в этом варианте — бесполезны.
Оценки за задания безполезны, как основа для вычисления kpi и принятия решений о знаниях студента по ним.
LVV>Кто что предложит ?
Только личная беседа экзаменатора со студентом, допрос, на котором будет ясно, понимает или сгенерил.
И персональная ответственность преподавателя за профессиональные результаты выпускника, чтобы преподаватель оценку тоже не "сгенерил". (Возможно, преподаватели в ответ захотят возможность отчислять, право порки, или ещё что-то подобное)
LVV>Кто что предложит ?
Прекратить или уменьшить обучение написанию кода. Код писаться вручную не будет.
Не через год дак через два, не через два так через пять лет.
Сосредоточиться на более общих моментах, типа постановки задач и управления сложностью.
До того как ИИ освоит постановку задач запас времени больше.
В общем "не можешь победить — возглавь"
bnk>В общем "не можешь победить — возглавь"
Утопично. Беда не в том, что код не пишеться или не понимается. Беда в том, что нет смысла делать задание, если можно скопипастить вопрос в llm, и пытаться сдать ответ вообще не вникая ни во что. А обучение, напоминаю начинаеться с простых вещей вроде hello world, которые llm решают идеально. Какая сложность или постановка задач, если всё сводиться к копипасте без собственного участия? Беда не в LLM, а в сведении собственного участия в обучении к нулю.
LVV>Кидайте идеи, как теперь обучать программированию ?
LVV>Я вижу только один путь: создать свой собственный язык программирования, которого нет в сети.
LVV>И на нем обучать всем основным концепциям.
Нет, не нужно создавать новый язык, нужно создать переводчик реального времени идентификаторов и конструкций других языков вроде C++.
LVV>А потом уже переходить к общеизвестным языкам. И в этом случае уже с применением ИИ.
Переходить на ИИ это вообще не обучение. Более того, модели обучаются на основе книг, а я уже писал, что так делать не нужно. Словесный поток и чёткие структуры (19.09.2022). Обучаться нужно на основе чётких структур, а не словесных потоков, так как знания на основе чётких структур можно привести в совершенную (идеальную) форму, нужно лишь добавить переводчик понятий
LVV>Если сразу учить народ на С/С++/Java/JS/C#/Go — они не делают лабы сами, а просто генерят в ИИ.
LVV>Домашние задания в этом варианте — бесполезны.
LVV>Кто что предложит ?
Я предложил Суперобучение с помощью карточек (07.11.2024).
Текущая версия 0.6 на сайте.
https://kisa.biz/teacher/download.ru.html
Но со стационарного интернета возможно будет сложно зайти, так как сайт за Cloudflare, а Путин его с недавнего времени банит, так же как и Youtube. Мобильный интернет Теле2 (Т2) пока ещё не банит в моём регионе Cloudflare.
Пока надо как-то собраться и улучшить формат. То есть я знаю, что нужно сделать, нужно только запрограммировать. Так же надо улучшить интерфейсы, уж больно кривые на Android получаются, на Windows ещё ничего. MacOS, кстати, без меню, вообще уродина. На GNU/Linux нормально как на Windows.
Причём идея крайне простая. Когда используешь словесные потоки для обучения никогда не знаешь, что человек выучил, что нет. А тут или человек может набрать карточку правильно, или не может. Нет двусмысленностей или неоднозначностей. Недавно сделал небольшой прорыв в карточкостроении для программистов.
Но учти, моя программа превращает учителя в надзирателя. Вроде и не лишает его работы, но карточки создаёт методист, а надзирателю даже мозги включать не нужно. В общем ждём пока я перестану прокрастинировать и доделаю программу и карточки до вменяемого состояния. Но принцип я вижу работает уже сейчас.
Просто я не согласен с системой Лейтнера.
Я предлагаю, ну раз уж я здесь velkin, систему Велкина. Смысл в том, что создаются небольшие колоды, которые можно создать за несколько часов или день, а проверить знания вообще влёт за минуты. Вот такие маленькие колоды и служать минимальными единицами знаний, которые или знаешь, или нет.
Я считаю, что нужно делить карточки по небольшим самодостаточным темам, а не потому хорошо их знает некий ученик, или нет. Набор из множества таких колод, то есть сотен или тысяч можно называть паком, например, C++ pack.
Но вообще всё это ерунда. Выйдет из стадии прототипа программа с карточками, будет и результат. А так это всё балабольство. И я в принципе не считаю подавляющее большинство учителей методистами.
Учителей как грязи, реальных функционеров методик обучения в мире единицы. Пока мир не будет "неожиданно" захвачен каким-нибудь софтом типичным людям даже в голову не придёт его проверить на ранних стадиях.
Дао программирования.
можно это делать в железе на роботах. для того, чтобы понять, что не так идет, нейросетка должна видеть. пока у нее это слабо получается
LVV>Кидайте идеи, как теперь обучать программированию ?
Не нужно учить тех кто не хочет учиться !
Я понимаю что вы заложник системы , много отчислять нельзя — надо педагогическому составу зарплату платить
J>Я понимаю что вы заложник системы , много отчислять нельзя — надо педагогическому составу зарплату платить
Вы отстали от жизни.
Подушевое финансирование.
Поэтому руководство встает стеной против отчислений.
И ходит оно к преподам по самого 4 курса н отчисленное.
Или отчисленное с 3-го курса и восстановленное на 2-й...
И даже отчисленное с 4-го курса и восстановленное на тот же 2-й...
LVV>Вы отстали от жизни.
LVV>Подушевое финансирование.
LVV>Поэтому руководство встает стеной против отчислений.
LVV>И ходит оно к преподам по самого 4 курса н отчисленное.
LVV>Или отчисленное с 3-го курса и восстановленное на 2-й...
LVV>И даже отчисленное с 4-го курса и восстановленное на тот же 2-й...
Я в курсе.
А потом мы удивляемся , и чего у нас образование такое плохое
была идея ввести в дипломы строку типа "получен на платной основе" , но ВУЗы встали на дыбы .
У вас платники учатся в отдельных группах ?
LVV>>Поэтому руководство встает стеной против отчислений.
LVV>>И ходит оно к преподам по самого 4 курса н отчисленное.
LVV>>Или отчисленное с 3-го курса и восстановленное на 2-й...
LVV>>И даже отчисленное с 4-го курса и восстановленное на тот же 2-й...
J>Я в курсе.
J>А потом мы удивляемся , и чего у нас образование такое плохое
J>была идея ввести в дипломы строку типа "получен на платной основе" , но ВУЗы встали на дыбы .
J>У вас платники учатся в отдельных группах ?
По-разному бывает. Бывает, что платник лучше бюджетника. Но редко.
Дело не в платниках, а именно в том, что не выгоняют.
Студенты просто расслабляются до невозможности.
Если можно не учиться — не учатся.
Это же обыкновенные очень средние школьники были.
Самые мотивированные-то уезжают в центр. ЕГЭ же...
Но пока не было гопоты, мы справлялись.
А сей час приходится перидумывать, как все-таки научить того, кто самостоятельно не умеет.
И частенько и не хочет.
Даже в МГУ студенты используют гопоту для домашних работ
(инфа из первых рук — от моего выпускника, у которого дочь в МГУ учится)
LVV>Даже в МГУ студенты используют гопоту для домашних работ
LVV>(инфа из первых рук — от моего выпускника, у которого дочь в МГУ учится)
Я тебе сейчас глаза открою, ты только не упади: они и на семинарах ИИ используют
LVV>Но пока не было гопоты, мы справлялись.
LVV>А сей час приходится перидумывать, как все-таки научить того, кто самостоятельно не умеет.
LVV>И частенько и не хочет.
Попробуйте ввести практику телесных наказаний.
LVV>Даже в МГУ студенты используют гопоту для домашних работ
LVV>(инфа из первых рук — от моего выпускника, у которого дочь в МГУ учится)
ИИ это только инструмент. Бесполезный без понимания принципов.
Разделите поток на "ремесленников" и "инженеров".
LVV>А сей час приходится перидумывать, как все-таки научить того, кто самостоятельно не умеет.
LVV>И частенько и не хочет.
На мой взгляд ,вы зря потеряете время. Пытаться что-то сделать с человеком который не умеет и не хочет, неблагодарное занятие.
Выставьте им 3 и занимайтесь с теми, кто действительно хочет учиться.
LVV>>А сейчас приходится перидумывать, как все-таки научить того, кто самостоятельно не умеет.
LVV>>И частенько и не хочет.
J>На мой взгляд, вы зря потеряете время. Пытаться что-то сделать с человеком который не умеет и не хочет, неблагодарное занятие.
J>Выставьте им 3 и занимайтесь с теми, кто действительно хочет учиться.
Так никто не хочет учиться. Можешь сразу заодно и школы закрыть. Думаешь школьники хотят учиться? А не будет школьников, не будет мяса и для высших учебных заведений. Я даже больше скажу, школьники и учащиеся ВУЗов не хотят учиться, а учителя не хотят учить. То есть учеников заставили прийти учиться прямым приказом или давлением общества. А учителям тупо за это платят. Сколько учителей будут учить бесплатно?
Этот банкет оплачивается за счёт государства или за счёт родителей учеников. А как же платные курсы для взрослых? А вот здесь может заплатить сам человек, но не потому, что хочет учиться, а потому что ему обещали зарплату в 300-600 тысяч рублей сразу после прохождения курса за 150 тысяч рублей. Сейчас дураков уже меньше, но развод изначально в том, что цель не образование, цель зарабатывать деньги.
Искусственная мотивация вроде субъективных оценок это путь в никуда. Так даже тот кто хотел учиться не будет учиться. Просто всем на это было десятилетиями наплевать. Кому учитель ставит оценку, ученику который не может учиться, или сам себе потому что не умеет учить?
А знаешь, что будет, если от результата оценок будут зависеть зарплаты учителей? Учителя не станут нормально учить, просто будут выставлять выше оценки. То есть всё решают деньги, а не желание учиться или учить, потому что мало тех кто хочет учиться без давления сверху вроде родителей и общества в лице государства выдающего дипломы и на основе их выстраивающего ограничения, и учить без мотивации сверху вроде денег.
И снова вопрос, а разве учителя в тех же ВУЗах не делают то, что изложено в совете, то есть клали болт на учеников и просто выставляют им оценки? Тогда к чему те же стенания по чатгопоте, не учили раньше, не стоит и начинать. Просто имитируем как и раньше учебную деятельность, ставим оценки. А технологии, которые реально могут обучать людей со временем создадут и без таких горе учителей.
Я привёл реальный способ учиться для всех, это карточки интервальных повторений. Но какой учитель будет их составлять? Да никакой. Все дружно это проигнорируют, особенно учителя. Потому что всё за деньги, потому что за эффективность никто не отвечает.
Если завтра Путину придёт в голову уволить всех государственных учителей и обнулить государственные дипломы, вся система образования рухнет, потому что под ней нет реального фундамента.
Потому что надо зависимость зарплаты учителей не от оценок учеников, а от _зарплаты_ учеников!
V>Так никто не хочет учиться.
Хотят. У нас — хотят.
Есть и те, кто не хочет — и деканат их отчисляет, только в путь.
К нам (преподавателям) ходят каждый семестр с напоминанием писать докладные на тех, кто много пропускает.
Потому что их технически проще отчислить до сессии за нарушение дисциплины, чем потом мучиться с созывом комиссий для трёх пересдач, бронированием аудиторий, и прочих ненужных активностей (без которых отчисление можно оспорить юридически).
Ни малейших попыток спасать студентов деканат и ректорат не делают. Скорее наоборот — "мы вывесили расписание пересдач
в подвале старого корпусав виде аттача к малоизвестной странице в редкопосещаемом разделе факультетского сайта, кто не прочёл — сам виноват".Но в каждой группе, где я преподаю, есть люди, которые прямо хотят. Ходят, задают вопросы. Матерятся, но решают задачи. Делают больше, чем задано. Спорят с преподавателем — про всё, от мелочей в формулировках задач, до преимуществ разных языков, уместность разных конструкций, и целых философских категорий.
LVV>Кидайте идеи, как теперь обучать программированию ?
LVV>Кто что предложит ?
А все так же, как и раньше.
Основы языка — давать упражнения. И не особо беспокоиться о том, что "им помогут". Сейчас тем, кто не тянет, может "помочь" ИИ, ну а раньше ЕИ в виде однокурсников
А потом давать серьезную задачу и контролировать ход ее выполнения.
Я обычно говорил студентам — "меня не столько интересует конечный результат, сколько процесс. Я хочу видеть, как Вы делаете первые шаги в этом проекте, как реагируете на мои замечания, как развивается проект дальше и т.д. А если Вы весь семестр ничего не будете делать, а за неделю до зачета принесете код, который хоть на выставку посылай — я его просто и смотреть не буду". Будут настаивать — найду что-нибудь, что докажет, что он сам код не писал.
С этим реально бороться ни ИИ, ни ЕИ не может. ИИ — просто не сможет делать изменения по моим замечаниям. Ну а ЕИ сможет, но только если фактически будет играть ту же роль, что и обучаемый студент, то есть в течение семестра делать ошибки, исправлять их, двигаться дальше, и при этом должен будет помнить, что он должен многое из того, что он знает, "забыть", иначе я быстро пойму, что программу пишет другой человек.
Ну и еще. Программирование — не математика, единственного решения тут обычно нет. Возможны серьезные вариации. Так что попытки списывания для серьезных задач тоже не так уж сложно обнаружить.
Пример серьезной задачи покажи, пожалуйста.
Я тут постил про наши курсовые. Сравнимо ?
PD>>А потом давать серьезную задачу и контролировать ход ее выполнения.
LVV>Пример серьезной задачи покажи, пожалуйста.
Ниже один из вариантов. Всего их было 8.
Язык — Java, без фронтенда, но с тестами.
Курсивом — мой комментарий, студентам не дается.
LVV>Я тут постил про наши курсовые. Сравнимо ?
Решай сам
Спецкурсы.
1. Введение
Учебным планом факультета предусмотрено, что некоторые курсы для студентов являются курсами по выбору (спецкурсы). Студент в течение учебного года обязан посетить указанное количество спецкурсов и сдать по ним зачет или экзамен, но какие именно курсы посещать, а какие нет — решает он сам. Студент может посетить бОльшее количество спецкурсов, чем требуется по учебному плану; по “лишним” спецкурсам он может сдавать зачет/экзамен или нет — по своему усмотрению. Преподаватели факультета заранее объявляют список своих спецкурсов, чтобы студенты могли выбрать те, которые они намерены посещать.
Для того, чтобы преподаватели могли делать объявления о своих спецкурсах, а студенты записываться на них, требуется сервер, на котором и будет храниться вся необходимая информация. Руководство факультета обратилось к Вам с просьбой разработать такой сервер.
Руководство факультета предполагает, что высказанные им требования к правилам добавления спецкурсов и записи на них являются логичными и непротиворечивыми. Так ли это в действительности или нет — должно выясниться в процессе разработки и пробной эксплуатации сервера. Если в ходе разработки появится необходимость корректировки тех или иных пунктов задания, то этот вопрос должен обсуждаться совместно представителями заказчика и разработчика с внесением в случае необходимости изменений в техническое задание. Не исключено, что по результатам пробной эксплуатации появится необходимость внесения каких-то дополнений в техническое задание.
Этот пункт дан для того, чтобы я при необходимости мог внести небольшое изменение, если мне, например, захочется убедиться в авторстве
Вам предстоит разработать версию сервера, в которой все его данные должны храниться в оперативной памяти.
2. Описание системы.
Преподаватели , объявляющие спецкурсы должны зарегистрироваться на сервере. При регистрации они указывают
фамилию, имя и отчество (последнее — если имеется)
кафедру, на которой работают
должность
логин и пароль для входа на сервер.
Студенты , желающие записаться на спецкурс должны зарегистрироваться на сервере. При регистрации они указывают
фамилию, имя и отчество (последнее — если имеется)
курс
группу
логин и пароль для входа на сервер.
Введенные при регистрации данные изменению в дальнейшем не подлежат. Преподаватели и студенты не могут регистрироваться два или более раза на сервере.
Зарегистрированный на сервере преподаватель или студент может покинуть сервер. В этом случае для студента отменяются все его записи на спецкурсы, которые он уже сделал, а для преподавателя отменяются все его спецкурсы и записи на них всех студентов.
Преподаватель может добавить спецкурс. При добавлении спецкурса он указывает название спецкурса, курс обучения, начиная с которого студенты могут посещать спецкурс (например, если указано 3, это значит, что студенты 1-2 курса не принимаются),количество часов в неделю (должно быть четным)
Студент может записаться на спецкурс, если он удовлетворяет требованиям по курсу обучения
Преподаватель в любой момент может получить
список всех студентов, записавшихся на некоторый его спецкурс
список всех студентов, записавшихся на хотя бы один спецкурс из некоторого списка его спецкурсов
список всех студентов, записавшихся на все его спецкурсы
Студент в любой момент может получить
список всех спецкурсов некоторого преподавателя
полный список всех спецкурсов, на которые он может записаться
список спецкурсов, на которые он записан.
LVV>>Пример серьезной задачи покажи, пожалуйста.
PD>Ниже один из вариантов. Всего их было 8.
PD>Язык — Java, без фронтенда, но с тестами.
Курс 2 или 3 ?
LVV>Курс 2 или 3 ?
Третий
Часть 1. Однопоточный вариант сервера, тесты вызывают сервер напрямую
Часть 2. Многопоточный вариант сервера (использование потокобезопасных коллекций и/или блокировок), тесты вызывают сервер напрямую
Часть 3. То же, но вместо самописной "БД" на основе коллекций — SQL сервер
Часть 4. То же, но прикрутить REST и в тестах вызывать сервер по HTTP.
Это и был мой основной курс. Плюс, как я писал , упражнения на разные элементы языка.
PD>Часть 3. То же, но вместо самописной "БД" на основе коллекций — SQL сервер
Угу, садизм с БД без СУБД у вас тоже есть.
И как оно? Я точно знаю, что ALTER TABLE после этого адским колдунством выглядит, но я никогда не был на месте преподавателя.
Ф>Угу, садизм с БД без СУБД у вас тоже есть.
Какой там садизм! Просто создание своего класса с коллекциями. Чтобы научились с ними реально работать. С обычными и потокобезопасными. Ну и Apache коллекциями.
Ф>И как оно? Я точно знаю, что ALTER TABLE после этого адским колдунством выглядит, но я никогда не был на месте преподавателя.
Нормально. Убирают эту псевдо-БД, делают иную имплементацию DAO, которая обращается к MySQL серверу. Основные классы почти без изменений.
LVV>Я вижу только один путь: создать свой собственный язык программирования, которого нет в сети.
LVV>И на нем обучать всем основным концепциям.
Сомнительно. Если лабы не про навороты языка, а про алгоритмы. То переводить алгоритмы с одного языка на другой проще, чем их придумывать. Будут просто переводить.
А тем, кто интересуется программированием может оказаться интереснее осваивать известные языки, а не "временные".
Тогда уже не для всех временный язык, а только для бездельников, как наказание.
LVV>А потом уже переходить к общеизвестным языкам. И в этом случае уже с применением ИИ.
Почему столько хайпа вокруг ИИ?
Я месяц-полтора назад приобрёл новый ноут — ASUS. Без установленной OS.
Девайс при инсталляции Windows10/11 не видел SSD. Сразу замечу, что компьютеры я собирал уже 30 лет назад.
Я полез советоваться насчет ногого ноута с ИИ...
Какой только чуши мне этот истукан не советовал! Влезть внуть и убедиться, что SSD на месте
Наконец, на youtube нашел русского блогера — который просто объяснил — какой чек-бокс в BIOS выставить.
После этого — всё стало на свои места...
AG>Наконец, на youtube нашел русского блогера — который просто объяснил — какой чек-бокс в BIOS выставить.
AG>После этого — всё стало на свои места...
И это тоже временно. Следующее поколение GPT посмотрит всех блоггеров, послушает все подкасты и будет знать и про эту галочку тоже.
AG>>Какой только чуши мне этот истукан не советовал! Влезть внуть и убедиться, что SSD на месте
AG>>Наконец, на youtube нашел русского блогера — который просто объяснил — какой чек-бокс в BIOS выставить.
AG>>После этого — всё стало на свои места...
_>И это тоже временно. Следующее поколение GPT посмотрит всех блоггеров, послушает все подкасты и будет знать и про эту галочку тоже.
а её уже отменят!
LVV>Если сразу учить народ на С/С++/Java/JS/C#/Go — они не делают лабы сами, а просто генерят в ИИ.
LVV>Домашние задания в этом варианте — бесполезны.
Никогда списывание или платно выполненные лабы по программированию не являлись препятствием для контроля уровня усваиваемости.
Не понимаю, почему ИИ долже что-то изменить в этом плане.
При сдаче лабы надо просто садиться со сдающим студентом за комп, и задавать вопросы о коде.
В простейшем случае, "объясните каждую строку кода, что она делает".
Потом можно задавать вопросы типа "если я вот в этой функции заменю вот эту строку на мою вот такую, что будет?".
Дальше, если студент объясняет всё как надо, в пределах изложенного материала (или того, что студент должен был освоить самостоятельно),
ка-ка-я ра-зни-ца, понял он код сам или при помощи ИИ или третий человек сделал ему лабу за деньги?
Чтобы
__>При сдаче лабы надо просто садиться со сдающим студентом за комп, и задавать вопросы о коде.
Чтобы уменьшить преподавательскую нагрузку, можно делать такие сессии только один раз за курс.
Т.е. вот, например, в курсе 10 лаб.
9 лаб могут быть компонентами финальной 10й лабы.
10я лаба использует результаты всех предыдущих.
Приемку лабы с объяснениями от студентов делать только при сдаче последней, 10й лабы.
Помню, когда сдавали лабы по паскалю в универе, препод безошибочно определял, что чел сделал лабу не сам, и даже знал, кто из группы настоящий автор.
Видимо, по стилю кодирования (наименование переменных и проч.).
__>Приемку лабы с объяснениями от студентов делать только при сдаче последней, 10й лабы.
В некоторых ВУЗах в Гемании ещё такая система (возможно, это только в TU или FHS), что финальный балл по курсу только на 80% (или 90% — на усмотрение профессора, может быть и 100%) складывается из результатов финального экзамена по этому курсу. А оставшаяся доля оценки складывается из того, как качественно выполнялась домашка.
Если без ошибок и в срок, то можно надеяться, что на экзамене достаточно выполнить очень небольшое количество заданий, чтобы уже получить проходной балл.
Соотв., если повысить вес домашек в финальном балле, а среди домашек учитывать только последюю, 10ю лабу, у студентов будет стимул разобраться в течение семестра, что же делает их код, чем ставить всё только на финальный экзамен.
LVV>Кидайте идеи, как теперь обучать программированию ?
LVV>Я вижу только один путь: создать свой собственный язык программирования, которого нет в сети.
LVV>И на нем обучать всем основным концепциям.
LVV>А потом уже переходить к общеизвестным языкам. И в этом случае уже с применением ИИ.
LVV>Если сразу учить народ на С/С++/Java/JS/C#/Go — они не делают лабы сами, а просто генерят в ИИ.
LVV>Домашние задания в этом варианте — бесполезны.
LVV>Кто что предложит ?
Не, чё сразу язык-то. Пусть для начала выведут свой аналог лямбда-исчисления.
Изобретут свою императивную машину, докажут её эквивалентность Машине Тьюринга.
Придумают классификацию формальных языков. Докажут эквивалентность некоторых из этих классов автоматным языкам, МП-автоматным языкам.
Родят все необходимые виды семантики (аксиоматическую, операционную, денотационную) языков программирования вообще и типов данных в частности.
Потом надо дать возможность вывести из общих соображений принципы дизайна языков программирования.
Лучше не подталкивать их в каких-то фиксированных направлениях вроде логического, императивного, функционального программирования — пусть всё сами.
Вот после этого уже пускай изобретают свой ЯП, для, естественно, самодельной виртуальной машины (ах да, я забыл дать им возможность изобрести виртуальную машину — стековую, регистровую, стеково-регистровую).
Придумывают способ разбора этого языка, механики оптимизации, порождения целевого кода.
Вывод типов пускай сделают. Если переизобретут Хиндли-Милнера — отлично, если что-то другое придумают — и того лучше.
А так — ничего не поменялось. Можно подумать, преподаватели филологии все остались без работы сразу после выхода ворда со встроенной проверкой орфографии и грамматики.
Оужас, как же мы теперь будем отличать тех, кто умеет согласовывать числа и падежи от симулянтов? Они же свои тексты набивают в ворде, и он им там мало того, что подчёркивает красными и синими волнами — он же ещё и автозамену предлагает!
Нет, просто теперь можно давать много задач студентам. Не десять лабораторных, а пятьдесят или сто
Потому что раньше на задачу "напиши парсер арифметических выражений" уходило 40 часов работы, потом 4, потом 2, а теперь — 10 минут.
Значит, таких задач можно давать в 12 раз больше. Иллюстрировать более широкий набор концепций, чем "давайте напишем примитивный однопроходный компилятор убогого подмножества Паскаля".
S>Потому что раньше на задачу "напиши парсер арифметических выражений" уходило 40 часов работы, потом 4, потом 2, а теперь — 10 минут.
S>Значит, таких задач можно давать в 12 раз больше. Иллюстрировать более широкий набор концепций, чем "давайте напишем примитивный однопроходный компилятор убогого подмножества Паскаля".
Не, немного не так.
Мой выпускник, у которого дочка учится в МГУ, ей сказал: если ИИ за тебя лабы делает, значит и работать он будет вместо тебя.
Задача же в том, чтобы они ПОНИМАЛИ, а не просто педалили код.
Поэтому есть мысль за лето сваять свой язык с минимально необходимыми типичными свойствами.
И на нем учить первачков.
Третий-то курс — понятно... Там уже либо умеют, либо нет.
А первый и начало второе — это надо как-то им в головы вложить основные концепции.
Даже ИИ "знает", что "повторение — мать учения"
Но надо, чтобы не ИИ за них делал, а они сами.
LVV>Кто что предложит ?
Пусть пишут на Nemerle или 1C
Вот тут ещё https://panchul.livejournal.com/627519.html
LVV>Кто что предложит ?
А нельзя ли тут провести параллель с попыткой продолжать обучение каллиграфии когда появились печатные машинки?
Каллиграфия бесспорно нужна, но очень узкому кругу лиц. Так и с базой CS, а нужно ли вот это все рядовому программисту? Может, наоборот, нужно учить их как с помощью chatgpt и чертовой матери собрать мобильное приложение?
MVK>Каллиграфия бесспорно нужна, но очень узкому кругу лиц. Так и с базой CS, а нужно ли вот это все рядовому программисту? Может, наоборот, нужно учить их как с помощью chatgpt и чертовой матери собрать мобильное приложение?
Ну, в этом есть сермяжная правда.
NoCode/LowCode — это не о программистах/разработчиках.
ИИ, естественно, может создавать типовые решения типовых задач.
И для этого нужен совершенно другой учебный план...
MVK> Может, наоборот, нужно учить их как с помощью chatgpt и чертовой матери собрать мобильное приложение?
Одно другому не мешает. Даже если большую часть работы потом будет делать компьютер (какие-то программы на работе), полезно понимать как оно работает.
Есть вещи, которые надо хоть один раз сделать самостоятельно, чтобы правильно понять.
MVK>А нельзя ли тут провести параллель с попыткой продолжать обучение каллиграфии когда появились печатные машинки?
MVK>Каллиграфия бесспорно нужна, но очень узкому кругу лиц. Так и с базой CS, а нужно ли вот это все рядовому программисту?
Начинать изучать программирование можно вообще с того, что побыть в роли компьютера. Т.е. поисполнять вручную готовую программу в машинных инструкциях. Несмотря на то, что компьютеры придумали как раз для того, чтобы человеку этим не приходилось заниматься.
Эти инструкции могут исполнять даже младшеклассники. Т.к. их только 2 : арифметическая операция с адресацией операндов; и условный переход, если первое число меньше (остальное необязательные сочетания этих 2, ради скорости). Увидят, как сложные действия порождаются кучкой простых инструкций.
Только потом уже этим младшеклассникам сказать: "Лень — двигатель прогресса". И эти простенькие действия лучше переложить на компьютер, научиться формулировать задачи через эти инструкции.
MVK>Каллиграфия бесспорно нужна, но очень узкому кругу лиц.
Каллиграфия нужна для развития мозга.
Хотя, некоторые даже министры считают что развитие мозга нужно только узкому кругу лиц. А большинству достаточно быть квалифицированными потребителями
и знать как пишется своё имя по-немецкиO>Хотя, некоторые даже министры считают что развитие мозга нужно только узкому кругу лиц. А большинству достаточно быть квалифицированными потребителями
и знать как пишется своё имя по-немецкиПравильно они считают. Ты кстати можешь сам пронаблюдать идеальную систему управления, уже реализованную в колонии муравьев.
Большинство граждан химически кастрировано — это для тебя идеальная система управления?
А сам как, в Китай планируешь переехать, или рассчитываешь на усиление "вакцинации" прямо по месту жительства?
O>Каллиграфия нужна для развития мозга.
+1
O>Хотя, некоторые даже министры считают что развитие мозга нужно только узкому кругу лиц. А большинству достаточно быть квалифицированными потребителями
и знать как пишется своё имя по-немецкиПроблема в том, что большинство само этого хочет. Сейчас система заставляет человека учиться.
Но чем больше будет появляться всяких chatgpt, тем проще будет обманывать систему и создавать видимость обучения.
Надежда на то, что удасться найти какой-то новый способ мотивации к учебе, но или еще один естественный отбор.
MVK>Надежда на то, что удасться найти какой-то новый способ мотивации к учебе, но или еще один естественный отбор.
Для примера игра слова из слов. Если засунуть интервальные повторения в красивую оболочку это может стать игрой.
V>Для примера игра слова из слов. Если засунуть интервальные повторения в красивую оболочку это может стать игрой.
Интервальное повторение — это один из методов для улучшения запоминания. Это помогает запоминать, но не понимать. В теорему Рамсея или в квантмех интервальными повторениями не въедешь. Геймификаия обучения — возможно, но тоже не очень верится. Я пока не видел игр, которые бы действительно обучали.
Я думаю, что нужно смотреть в сторону формирования у студента/школьника внутреннего желания учиться, где увлекает сам процесс познания. Когда не столь важен результат, а само движение. Идея не новая — ее можно найти у Льва Выготского или Джона Дьюи, — но пока я не видел успешной массовой реализации. Скорее мы двигаемся в обратную сторону, с тем же ЕГЭ.
V>>Для примера игра слова из слов. Если засунуть интервальные повторения в красивую оболочку это может стать игрой.
MVK>Интервальное повторение — это один из методов для улучшения запоминания. Это помогает запоминать, но не понимать.
Я этот вопрос поднимал ещё в самом начале и потом не раз. Постоянно люди об этом талдычат, причём даже не про карточки, а про зубрёжку. Зубрёжка помогает запоминать, но не понимать. И вот здесь мои пути и пути этих деятелей расходятся.
Что такое понимать?
И самое забавное, я ведь в итоге так ничего уникального и не изобрёл. Я, конечно, сам пытаюсь что-то сообразить, но фактически беру книгу по науке логике, то есть по-русски, по мышлению и пытаюсь использовать из неё принципы. Если использовать принципы мышления это значит не понимать, то что такое понимать? Те кто говорит, что запоминать это не понимать, сами скорее всего не понимают как они понимают.
Последняя моя тема Кратковременная память и закон Миллера в микроколодах (30.04.2025). Фактически это прямая попытка использовать законы мышления, в частности сравнение. Но да, я могу сказать, что всё здесь не так просто. Люди быстро запоминают, но медленно разбирают (анализ) и собирают (синтез) сравнивая.
Грубо говоря, эффективный продукт для быстрого запоминания и так же понимания вполне можно создать. Сама память позволяет запоминать быстро в кратковременную память, а повторением переносить её в долговременную. Но вот сам такой продукт придётся создавать очень и очень долго. Его нельзя создать на халяву, как пишут книги или я пишу этот комментарий, это вопрос глубокого продумывания.
Но форма подачи важна так же как и содержание. Есть такое понятие как игрофикация. Я уже много лет иногда задумываюсь на эту тему и пришёл к выводу, что есть псевдоигрофикация, когда за игрофикацию выдают то, что ею не является. Псевдоигрофикация как раз и проваливается применительно к мотивации.
Что касается понимания, то нужно не просто запоминать всё подряд. Набор карточек в колодах должен быть совершенным, чтобы ничего уже нельзя было улучшить. Вот тогда запоминание будет равно пониманию.
Но как и всегда я скажу тоже самое, что уже писал. Когда кто-то другой сделает что-то удачно работающее, все к этому очень быстро привыкают. Когда этого нет люди начинают сомневаться даже в возможности создания подобного.
Я не говорю, что именно я смогу что-то создать. Просто взять тех же близзард, которые спёрли название компании и механику игр у других, но улучшили так, что стали любимыми среди множества игроков. Тот же Diablo 1 это вообще-то слизанный рогалик, только с изометрической графикой.
Или взяли и создали смартфоны, а потом привыкли к ним. Зато как-то жили до них десятилетиями и нормально. Пока кто-то ясно не ответит на вопрос как правильно понимать, разговор об этом попросту бессмысленный. А если подобная технология появится как тот же смартфон, то все это примут как должное даже не задумываясь как жили раньше.
Спасибо за развернутый ответ. ИМХО, ты копаешь интересную тему.
Но я с тобой не соглашусь в части "понимание == запоминание".
1. Я не считаю, что "запоминание = понимание" и, следовательно, что "методики запоминания == методики понимания":
Хороший пример — китайская комната Серла: можно может идеально "знать", какие символы куда подставить, но при этом вообще не понимать смысла. Проблема вообще старая. Например, Платон в Софисте пытается разобрать, что делает знание истинным и отделяет его от мнения, механического воспроизведения или рекомбинирования знания. ИМХО, мы слишком "инженеризируем" проблему, в то время как она скорее онтологическая, чем инженерная.
2. Есть две точки зрения:
а) мышление — это вычислимый процесс, эквивалент машины Тьюринга
б) мышление — в принципе невычислимо (Пенроуз, Серл, Нагель, Чалмерс)
Если верен второй вариант, то надеяться, что техники вроде интервального повторения можно просто натянуть на понимание скорее всего ошибка. Интуитивная аналогия — если техника "тренирует" что-то вычислимое, например, веса в нейронке, то она не подойдет для тренировки мышления.
3. Логика важна, но это не мышление. Логика даёт структурные рамки, но мышление — это намного шире: включает воображение, интуицию, ощущение смысла, эвристику, неполноту, интенциональность. Мыслить — это не просто связывать посылки по правилам.
4. По поводу геймификации согласен, что её часто подменяют. Она может поддержать интерес, но если за ней нет когнитивной опоры, например, тех же интервальных повторений она быстро вырождается в симулякр. Геймификация может быть формой, но без содержательной методики она не приведёт к желаемому результату, а только к удержанию пользователя.
V>Что такое понимать?
V>Если использовать принципы мышления это значит не понимать, то что такое понимать? Те кто говорит, что запоминать это не понимать, сами скорее всего не понимают как они понимают.
Можно у ИИ спросить, хоть это и не одобряется в этом топике. Но я пытался по-честному самостоятельно формализовать — что такое понимание. Но получился только черновик для себя.
Сюда еще можно добавить что-то такое:
— Выявление важного и второстепенного. (Из важного можно вывести второстепенное)
— Субъективный аспект: Если что-то понято, то начинает выглядеть более простым. И его уже не обязательно запоминать, если можно самостоятельно восстановить или воспроизвести.
LVV>Если сразу учить народ на С/С++/Java/JS/C#/Go — они не делают лабы сами, а просто генерят в ИИ.
LVV>Домашние задания в этом варианте — бесполезны.
В нашей школе использование ИИ запрещено,
есликогда поймают — первый раз — единица по этой работе, второй раз — исключение из школы.есликогда поймают — первый раз — единица по этой работе, второй раз — исключение из школы.А как доказывают? Случайно не голословным заявлением препода (или вообще ИИ-анализатором)?
LVV>Кидайте идеи, как теперь обучать программированию ?
Не можешь победить — возглавь.
Нужно обучать кодингу с Cursor и подбирать задания таким образом, чтобы пришлось вникнуть в суть.
S>Не можешь победить — возглавь.
S>Нужно обучать кодингу с Cursor и подбирать задания таким образом, чтобы пришлось вникнуть в суть.
Для простых задач — копипаста задания в Cursor и "я программист". Собственное участие — ноль. Как только сложность повышаеться — у меня не работает и я ничего не понимаю. Ведь простые делались копипастой.
Без простых задачек научиться сложному невозможно, но именно простые задачки llm решает идеально, начисто демотивируя хоть какое-то участие (даже тренировку промтинга).
LVV>Кидайте идеи, как теперь обучать программированию ?
1. Если язык простой, то кто-нибудь додумаеться скинуть его спецификацию в промпт и модель худо-бедно и на нём напишет.
2. Брать предельно типовые задачки (сортировка, чтение из файла, поиск, подсчёт повторений) с тысячями решений и упрощать их вводя какие-то ограничения или специфические исходные данные. Из-за того, что это супер типовая задачка, модель будет игнорировать инструкции (по сути додумывая то чего нет) и выдавать супер типовое решение — которое вообще не будет соответствовать условиям. Тоже работает с версиями библиотек. В этом плане модели "подвержены когнитивным искажениям" и нужно подбирать такие условия задачи, что бы "опытный" программист видел одно решение, а новичёк — другое.
Строить звездолёт, и с парой сотен единомышленников лететь в дальний космос. Эта планета захвачена.
https://t.me/rlabrats/6514
https://t.me/chernopsy/1052
https://t.me/rlabrats/6511
LVV>Кто что предложит ?
мне кажется ситуация как в шахматах. Сейчас невозможно узнать, твой соперник пользуется подсказками компьютера или нет. Остаётся только доверять и подозревать. Одно из решений можно взать из тех же шахмат. Всё переезжает в оффлайн. Собираем студентов на паре в закрытой комнате. В туалет никого не выпускать. Сдают телефоны, сети нет, две немецкие овчарки для осознания момента и погнали бинарный поиск...
LVV>Домашние задания в этом варианте — бесполезны.
Вы, профессор, определитесь, Вы хотите изобрести новую методологию преподавания или контроля усвоения?
Очевидно, что 90% знаний студент должен получить на лекциях, а не дома самостоятельно.
Иначе какой смысл в Вашей лично работе? Прочесть текст [на лекции], а затем проверить код лаб.работы? Эдак вас очень скоро Ии и заменит.
Лично мое мнение, как окончившего вуз по профилю, лабораторные по инженерным специальностям должны значительно преобладать над теорией, и давать теорию нужно на последних курсах, а практику на первых.
И, в целом, больше взаимодействовать со студентами, тогда не будет проблемы контроля. Полагаю, именно это Вас беспокоит.
N>Лично мое мнение, как окончившего вуз по профилю, лабораторные по инженерным специальностям должны значительно преобладать над теорией, и давать теорию нужно на последних курсах, а практику на первых.
Практика без теории бессмысленна. По сути превращается в преподавание магии. Запомни 100500 заклинаний и от каждого получится конкретно вот это.
Просто уже в советских ВУЗах объем преподавания бессмысленной мути преобладал над осмысленной и практикой.
Да и материальная часть для практики была убогая и недостаточная.
Сейчас всё еще хуже. Точно такая же ситуация сейчас и в ЕС.
Высказал правильную мысль.
ИИ сильно облегчает жизнь, поэтому он в жизнь войдет.
Проблема в том, чтобы это было под нашим контролем.
И придется как-то менять методики обучения.
Ибо принцип "тяжело в учении — легко в бою" уже почти не применим из-за ИИ.
Домашние задания перестали выполнять свое назначение...
Что-то надо придумывать.
LVV>Домашние задания перестали выполнять свое назначение...
Они уже лет 50 бессмысленны. Вместо домашек нужно увеличивать количество часов для практики.