Интересные обсуждения

темы заинтересовавшие velkin

Обучение программированию

LaptevVV LaptevVV
Кидайте идеи, как теперь обучать программированию ?

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

Если сразу учить народ на С/С++/Java/JS/C#/Go — они не делают лабы сами, а просто генерят в ИИ.
Домашние задания в этом варианте — бесполезны.

Кто что предложит ?
Nuzhny
Nuzhny
21.04.2025 07:40
Здравствуйте, LaptevVV, Вы писали:

LVV>Я вижу только один путь: создать свой собственный язык программирования, которого нет в сети.


Раньше так делали из бедности, например тот же Кнут. И у нас в универе тоже.

LVV>И на нем обучать всем основным концепциям.


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

LVV>Кто что предложит?


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

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

P.S. Раньше тоже никто не мешал отдавать написание кода более способным студентам, особенно со старшего курса. Я сам так с несколькими девушками познакомился, ни одна из которых программистом так и не стала, но лабы сдала и диплом получила.
Miroff
Miroff
21.04.2025 07:49
Здравствуйте, LaptevVV, Вы писали:

LVV>Домашние задания в этом варианте — бесполезны.


LVV>Кто что предложит ?


Берешь Haskell, Clojure или, на худой конец, Scala. При сдаче лабы требуешь не просто показать код, а объяснить как он работает. Пусть им ИИ объясняет, чем хвостовая рекурсия отличается от нехвостовой и как ее превратить в цикл.
Stanislaw K
Stanislaw K
21.04.2025 07:55
Здравствуйте, LaptevVV, Вы писали:

LVV>Кидайте идеи, как теперь обучать программированию ?


LVV>Кто что предложит ?


На первом занятии собрать зачетки, провести опрос и авансом выставить всем желающим "отлично" с освобождением от посещения занятий.

Дальше вести занятия с теми, кто действительно хочет получить Настоящие Знания.


Можно пойти дальше —

  сразу вручать Дипломы утвержденного образца (с датой выдачи равной дате поступления).
https://s00.yaplakal.com/pics/pics_original/2/5/7/20001752.jpg
elmal
elmal
21.04.2025 08:47
Здравствуйте, LaptevVV, Вы писали:

LVV>Кидайте идеи, как теперь обучать программированию ?

А ничего не изменилось. Сейчас решения заданий генерит ИИ, ранее (да и сейчас тоже), задания делали те, кто соображал, и зарабатывал на этом.

LVV>Кто что предложит ?

Ну, когда я учился, требовалось на защите объяснить как все работает, плюс на бумажке заставляли сходу что написать. Соответственно крайне многие сдавали уже сделанную кем то лабу раз 6, до тех пор, пока преподу либо не надоест, либо он тупо выйдет рано или поздно и раздолбаю задание все таки сделают. Выхлоп правда все равно нулевой, многие диплом получили, ни разу не написав даже Hello world, но раздолбаи были весьма напряжены курса до четвертого. На четвертом появился среди преподов один явный взяточник, который уже всех раздолбаев отмазывал и они сдавали первыми и без напряга, а кто действительно учился и что то мог — тех ставили в условия невозможности сдать, и приходилось ради тупо допуска у экзаменам писать раздолбаям дипломы и все такое, вися на грани отчисления.
Pzz
Pzz
21.04.2025 09:03
Здравствуйте, LaptevVV, Вы писали:

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, в том смысле, что компилятор на нём самом написан. Какой-то русский парень его ведет. Но навскидку не могу найти.
LaptevVV
LaptevVV
21.04.2025 09:48
LVV>>Я вижу только один путь: создать свой собственный язык программирования, которого нет в сети.
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
Pzz
21.04.2025 09:56
Здравствуйте, LaptevVV, Вы писали:

Pzz>>Очень трудоёмко.

LVV>Не. За лето можно сделать
LVV>0. Язык — минимальный, без наворотов и извратов. Меньше, чем Си.

Как у Дейкстры, в Дисциплине программирования? Кстати, наверняка есть готовые реализации.

LVV>1. Парсер делаем на антлр /кокор / еще на чем-то

LVV>2. Конвертируем в С/С++

Всё равно набежит вопросов.

Парсер, кстати, что руками писать, что компилятором компиляторов — начальные вложения примерно одинаковые. Потом в рукописном парсере сложнее небольшие изменения в грамматику вносить. А машинописном парсере сложнее добиться вменяемой диагностики при синтаксических ошибках.
koenig
koenig
21.04.2025 10:34
Pzz>Еще мне попадался на гитхабе проект языка, очень похожего на Go, но не Go. Self-hosted, в том смысле, что компилятор на нём самом написан. Какой-то русский парень его ведет. Но навскидку не могу найти.

vlang?
Pzz
Pzz
21.04.2025 10:44
Здравствуйте, koenig, Вы писали:

Pzz>>Еще мне попадался на гитхабе проект языка, очень похожего на Go, но не Go. Self-hosted, в том смысле, что компилятор на нём самом написан. Какой-то русский парень его ведет. Но навскидку не могу найти.


K>vlang?


Возможно. Вот не могу вспомнить. Мне кажется, что он был на M, но это не точно...
Anton Batenev
Anton Batenev
21.04.2025 09:45
Здравствуйте, LaptevVV, Вы писали:

LVV> они не делают лабы сами, а просто генерят в ИИ.

LVV> Домашние задания в этом варианте — бесполезны.

Делать такие лабы и задания, которые ИИ решить не в состоянии. С учетом того, что ИИ не в состоянии сделать почти ничего, это не должно быть сложно. Другой вопрос — а зачем? Какая конечная цель преследуется?
LaptevVV
LaptevVV
21.04.2025 09:55
LVV>> они не делают лабы сами, а просто генерят в ИИ.
LVV>> Домашние задания в этом варианте — бесполезны.

AB>Делать такие лабы и задания, которые ИИ решить не в состоянии. С учетом того, что ИИ не в состоянии сделать почти ничего, это не должно быть сложно. Другой вопрос — а зачем? Какая конечная цель преследуется?

Дык научить жеж программы писать, а не сдавать лабы...
Anton Batenev
Anton Batenev
21.04.2025 07:24
Здравствуйте, LaptevVV, Вы писали:

LVV> AB> Другой вопрос — а зачем? Какая конечная цель преследуется?

LVV> Дык научить жеж программы писать, а не сдавать лабы...

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

Ну а если уж так сильно "душа болит за отчизну", то, как тут правильно заметили, иди в ногу со временем и расскажи студентам, что нынче появляются компании, которые набирают разработчиков для написания программ только (и только!) при помощи AI (и ни строчки кода руками!). Ну и лаба должна быть под стать AI — современно, стильно, молодежно
LaptevVV
LaptevVV Панчул тоже этим озабочен
21.04.2025 09:49
https://habr.com/ru/articles/902400/
Любопытная статья.
Но он больше электронщик.
Nuzhny
Nuzhny
21.04.2025 10:15
Здравствуйте, LaptevVV, Вы писали:

LVV>Любопытная статья.

LVV>Но он больше электронщик.

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

Тогда при сдаче проверять, как оно работает на стандартных данных, а также на скрытых. Если на скрытых работает неправильно, то просить студента их учесть и поправить код тут же за столом. Это может быть: пустые последовательности, слишком длинные последовательности, отрицательные значения, очень большие значения, дополнительные задержки, что-то вперемешку, такие данные, где рекурсия будет переполнять стек и т.д.
flаt
flаt
21.04.2025 11:59
Здравствуйте, Nuzhny, Вы писали:

N>Тогда при сдаче проверять, как оно работает на стандартных данных, а также на скрытых. Если на скрытых работает неправильно, то просить студента их учесть и поправить код тут же за столом. Это может быть: пустые последовательности, слишком длинные последовательности, отрицательные значения, очень большие значения, дополнительные задержки, что-то вперемешку, такие данные, где рекурсия будет переполнять стек и т.д.


Студент пишет логгер или сниффер, который во время экзамена отправляет все кейсы на _свой_ сервер. А дальше простор фантазии — либо гопота исправляет код и рассылает его остальным студентам, либо сами студенты исправляют.

Итог: первый студент идёт в качестве жертвы, зато другие выживают.
Nuzhny
Nuzhny
21.04.2025 12:33
Здравствуйте, flаt, Вы писали:

F>Студент пишет логгер или сниффер, который во время экзамена отправляет все кейсы на _свой_ сервер. А дальше простор фантазии — либо гопота исправляет код и рассылает его остальным студентам, либо сами студенты исправляют.


За такое и зачёт поставить не жалко.
koenig
koenig
21.04.2025 12:43
N>Кстати, идея очень здравая — использовать недоступные для студента входные данные.

как минимум один рекрутинговый сайт уже немало лет так
но забыл, какой
Pzz
Pzz
21.04.2025 10:38
Здравствуйте, LaptevVV, Вы писали:

LVV>https://habr.com/ru/articles/902400/

LVV>Любопытная статья.
LVV>Но он больше электронщик.

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

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

А можно еще попробовать поднапрячь головную мышцу и придумать задачки не на незнание неизвестных фактов, а на некоторую изобретательность — тут уж точно ИИ будет в пролёте.
Nuzhny
Nuzhny
21.04.2025 10:58
Здравствуйте, Pzz, Вы писали:

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


Судя по всему, это очень нетривиальная задача.
Например, совсем недавно собрали тест frontiermath со сложными математическими проблемами, которые не каждому человеку подвластны. Точнее, специалист в этой области может потратить на решение задачи несколько дней. И на конец 2024 года лучшие нейросети решали не больше 2% от представленных задач.
Последняя модель ЧатаГПТ может решить уже 10%.

Или взять Humanity's Last Exam, который тоже на старте был очень сложным (не более 4% на старте), но постепенно, всего за полгода нейросетки дошли уже до 20% решённых задач. А там авторам за задачи даже платили:

The submitters of the top-rated questions were given prize money from a pool of 500,000 U.S. dollars—$5000 for each of the top 50 questions and $500 for the next 500.


И так получается, что задурить нейросеть с каждым месяцем (не годом!) становится всё труднее. Это не о том, что программисты останутся без работы и всё такое, а о небольших, корректно сформулированных проблемах. Да, конечно, останутся свои Великие теоремы Ферма, но на то они и великие, что студентам в виде лабораторной не дашь. А что, что можно дать студенту в хорошей формулировке в отрыве от реального мира уже и не так сложно для нейросеток. Кажется, что пока именно что реальный мир и может стать новым "тестом Тьюринга".
vdimas
vdimas
07.05.2025 09:14
Здравствуйте, Pzz, Вы писали:

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


На каком-то уровне творец и уже давно.
Т.е. синтез знаний, совмещение несовместимого, экстраполяция закономерностей и т.д. — всё это уже ИИ показывает давно.
Дело за мощностью ИИ.
koenig
koenig
21.04.2025 12:46
LVV>https://habr.com/ru/articles/902400/
LVV>Любопытная статья.
LVV>Но он больше электронщик.

Критичная информация: количество тактов между событиями.
Критичная информация: задержка на пути комбинационной логики.

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

p.s.
а, пардон, надо было дочитать
SergeyIT
SergeyIT
21.04.2025 10:22
Здравствуйте, LaptevVV, Вы писали:

LVV>Я вижу только один путь: создать свой собственный язык программирования, которого нет в сети.


Подумалось...
Может пусть каждый студент свой язык придумает. Скриптовый, к примеру. Реализует его и на нем и пишет.
LaptevVV
LaptevVV
21.04.2025 10:32
LVV>>Я вижу только один путь: создать свой собственный язык программирования, которого нет в сети.
SIT>Подумалось...
SIT>Может пусть каждый студент свой язык придумает. Скриптовый, к примеру. Реализует его и на нем и пишет.
Ну, это 3 курс. Ну, 2-й в конце.
А учить надо с нуля основам программирования.
Qulac
Qulac
21.04.2025 10:37
Здравствуйте, LaptevVV, Вы писали:

LVV>Кидайте идеи, как теперь обучать программированию ?


LVV>Я вижу только один путь: создать свой собственный язык программирования, которого нет в сети.

LVV>И на нем обучать всем основным концепциям.
LVV>А потом уже переходить к общеизвестным языкам. И в этом случае уже с применением ИИ.

LVV>Если сразу учить народ на С/С++/Java/JS/C#/Go — они не делают лабы сами, а просто генерят в ИИ.

LVV>Домашние задания в этом варианте — бесполезны.

LVV>Кто что предложит ?


Вопрос уже нужно ставить так: А как щас учить вообще?
Философ
Философ
21.04.2025 10:44
Здравствуйте, LaptevVV, Вы писали:

LVV>Кто что предложит ?


Использование GPT ничем принципиально от списывания не отличается. Лично я когда-то зырабатывал тем, что делал лабы пачками. Везде, в каждом общежитии висели тучи объявлений "делаю лабы по...". Всегда будут те, кто делает сам и те, кто списывает. Те, кто списывает, палится на стиле написания и на том, что не может объяснить то, что он сделал. Чувак, который не делал лабу сам не может модифицировать код.
Говорить, спрашивать, просить что-то поменять в коде.
Osaka
Osaka
21.04.2025 10:48
LVV>Если сразу учить народ на С/С++/Java/JS/C#/Go — они не делают лабы сами, а просто генерят в ИИ.
Это теперь касается не только лаб по программированию, а вообще всего обучения с 1го класса.
LVV>Домашние задания в этом варианте — бесполезны.
Оценки за задания безполезны, как основа для вычисления kpi и принятия решений о знаниях студента по ним.
LVV>Кто что предложит ?
Только личная беседа экзаменатора со студентом, допрос, на котором будет ясно, понимает или сгенерил.
И персональная ответственность преподавателя за профессиональные результаты выпускника, чтобы преподаватель оценку тоже не "сгенерил". (Возможно, преподаватели в ответ захотят возможность отчислять, право порки, или ещё что-то подобное)
bnk
bnk
21.04.2025 10:51
Здравствуйте, LaptevVV, Вы писали:

LVV>Кто что предложит ?


Прекратить или уменьшить обучение написанию кода. Код писаться вручную не будет.
Не через год дак через два, не через два так через пять лет.

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

В общем "не можешь победить — возглавь"
m2l
m2l
04.05.2025 04:21
Здравствуйте, bnk, Вы писали:

bnk>В общем "не можешь победить — возглавь"


Утопично. Беда не в том, что код не пишеться или не понимается. Беда в том, что нет смысла делать задание, если можно скопипастить вопрос в llm, и пытаться сдать ответ вообще не вникая ни во что. А обучение, напоминаю начинаеться с простых вещей вроде hello world, которые llm решают идеально. Какая сложность или постановка задач, если всё сводиться к копипасте без собственного участия? Беда не в LLM, а в сведении собственного участия в обучении к нулю.
velkin
velkin
21.04.2025 10:53
Здравствуйте, LaptevVV, Вы писали:

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.

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

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

Просто я не согласен с системой Лейтнера.

Карточки сортируются по трем группам: группа 1, группа 2 и группа 3. В группу 1 помещаются карточки с новыми словами и со словами, которые ученик усвоил плохо. Группа 3 содержит карточки со словами, которые ученик знает очень хорошо. Ученик может повторять слова из группы 1 каждый день, слова из группы 2 каждые три дня, а слова из группы 3 каждые пять дней. Если ученик смотрит на слово из группы 1 и вспоминает его значение, то карточка перемещается в группу 2. По такому же принципу карточки из группы 2 перемещаются в группу 3. Если же ученик не может вспомнить значение слова на карточке из группы 2 или 3, то эта карточка возвращается группу 1, и процесс повторяется вновь до прочного усвоения информации.

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

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

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

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

Дао программирования.

Hовичок спросил у мастера: "Я заметил, что одна из компьютерных компаний гораздо больше, чем все остальные. Она возвышается над своими конкурентами, как гигант над карликами. Любое из ее отделений может охватить целую отрасль. Почему так есть?"
Мастер ответил: "Почему ты задаешь такие дурацкие вопросы? Эта компания настолько велика потому, что не может быть другой. Если бы она производила только аппаратуру, никто бы не покупал её. Если бы она разрабатывала только системы, люди воспринимали бы её, как слугу. Hо так, как она сочетает в себе все эти вещи, люди думают, что это боги! И не прилагая услилий она без труда побеждает.

__kot2
__kot2
21.04.2025 11:58
LVV>Кидайте идеи, как теперь обучать программированию ?
можно это делать в железе на роботах. для того, чтобы понять, что не так идет, нейросетка должна видеть. пока у нее это слабо получается
Janus
Janus
21.04.2025 12:53
Здравствуйте, LaptevVV, Вы писали:

LVV>Кидайте идеи, как теперь обучать программированию ?



Не нужно учить тех кто не хочет учиться ! или попал в Вуз случайно. Больше отчисляйте и все наладится.
Я понимаю что вы заложник системы , много отчислять нельзя — надо педагогическому составу зарплату платить
LaptevVV
LaptevVV
21.04.2025 01:12
J>Не нужно учить тех кто не хочет учиться ! или попал в Вуз случайно. Больше отчисляйте и все наладится.
J>Я понимаю что вы заложник системы , много отчислять нельзя — надо педагогическому составу зарплату платить
Вы отстали от жизни.
Подушевое финансирование.
Поэтому руководство встает стеной против отчислений.
И ходит оно к преподам по самого 4 курса н отчисленное.
Или отчисленное с 3-го курса и восстановленное на 2-й...
И даже отчисленное с 4-го курса и восстановленное на тот же 2-й...
Janus
Janus
21.04.2025 01:31
Здравствуйте, LaptevVV, Вы писали:

LVV>Вы отстали от жизни.

LVV>Подушевое финансирование.
LVV>Поэтому руководство встает стеной против отчислений.
LVV>И ходит оно к преподам по самого 4 курса н отчисленное.
LVV>Или отчисленное с 3-го курса и восстановленное на 2-й...
LVV>И даже отчисленное с 4-го курса и восстановленное на тот же 2-й...

Я в курсе. Это главная беда нашего образования . Родители хотят диплом любыми способами .
А потом мы удивляемся , и чего у нас образование такое плохое
была идея ввести в дипломы строку типа "получен на платной основе" , но ВУЗы встали на дыбы .
У вас платники учатся в отдельных группах ?
LaptevVV
LaptevVV
21.04.2025 02:45
LVV>>Подушевое финансирование.
LVV>>Поэтому руководство встает стеной против отчислений.
LVV>>И ходит оно к преподам по самого 4 курса н отчисленное.
LVV>>Или отчисленное с 3-го курса и восстановленное на 2-й...
LVV>>И даже отчисленное с 4-го курса и восстановленное на тот же 2-й...

J>Я в курсе. Это главная беда нашего образования . Родители хотят диплом любыми способами .

J>А потом мы удивляемся , и чего у нас образование такое плохое
J>была идея ввести в дипломы строку типа "получен на платной основе" , но ВУЗы встали на дыбы .
J>У вас платники учатся в отдельных группах ?
По-разному бывает. Бывает, что платник лучше бюджетника. Но редко.
Дело не в платниках, а именно в том, что не выгоняют.
Студенты просто расслабляются до невозможности.
Если можно не учиться — не учатся.
Это же обыкновенные очень средние школьники были.
Самые мотивированные-то уезжают в центр. ЕГЭ же...
Но пока не было гопоты, мы справлялись.
А сей час приходится перидумывать, как все-таки научить того, кто самостоятельно не умеет.
И частенько и не хочет.
Даже в МГУ студенты используют гопоту для домашних работ
(инфа из первых рук — от моего выпускника, у которого дочь в МГУ учится)
Miroff
Miroff
21.04.2025 03:58
Здравствуйте, LaptevVV, Вы писали:

LVV>Даже в МГУ студенты используют гопоту для домашних работ

LVV>(инфа из первых рук — от моего выпускника, у которого дочь в МГУ учится)

Я тебе сейчас глаза открою, ты только не упади: они и на семинарах ИИ используют
Stanislaw K
Stanislaw K
22.04.2025 06:11
Здравствуйте, LaptevVV, Вы писали:

LVV>Но пока не было гопоты, мы справлялись.

LVV>А сей час приходится перидумывать, как все-таки научить того, кто самостоятельно не умеет.
LVV>И частенько и не хочет.

Попробуйте ввести практику телесных наказаний.

LVV>Даже в МГУ студенты используют гопоту для домашних работ

LVV>(инфа из первых рук — от моего выпускника, у которого дочь в МГУ учится)

ИИ это только инструмент. Бесполезный без понимания принципов.

Разделите поток на "ремесленников" и "инженеров".
Janus
Janus
22.04.2025 07:38
Здравствуйте, LaptevVV, Вы писали:


LVV>А сей час приходится перидумывать, как все-таки научить того, кто самостоятельно не умеет.

LVV>И частенько и не хочет.

На мой взгляд ,вы зря потеряете время. Пытаться что-то сделать с человеком который не умеет и не хочет, неблагодарное занятие.
Выставьте им 3 и занимайтесь с теми, кто действительно хочет учиться.
velkin
velkin
22.04.2025 08:43
Здравствуйте, Janus, Вы писали:

LVV>>А сейчас приходится перидумывать, как все-таки научить того, кто самостоятельно не умеет.

LVV>>И частенько и не хочет.
J>На мой взгляд, вы зря потеряете время. Пытаться что-то сделать с человеком который не умеет и не хочет, неблагодарное занятие.
J>Выставьте им 3 и занимайтесь с теми, кто действительно хочет учиться.

Так никто не хочет учиться. Можешь сразу заодно и школы закрыть. Думаешь школьники хотят учиться? А не будет школьников, не будет мяса и для высших учебных заведений. Я даже больше скажу, школьники и учащиеся ВУЗов не хотят учиться, а учителя не хотят учить. То есть учеников заставили прийти учиться прямым приказом или давлением общества. А учителям тупо за это платят. Сколько учителей будут учить бесплатно?

Этот банкет оплачивается за счёт государства или за счёт родителей учеников. А как же платные курсы для взрослых? А вот здесь может заплатить сам человек, но не потому, что хочет учиться, а потому что ему обещали зарплату в 300-600 тысяч рублей сразу после прохождения курса за 150 тысяч рублей. Сейчас дураков уже меньше, но развод изначально в том, что цель не образование, цель зарабатывать деньги.

Искусственная мотивация вроде субъективных оценок это путь в никуда. Так даже тот кто хотел учиться не будет учиться. Просто всем на это было десятилетиями наплевать. Кому учитель ставит оценку, ученику который не может учиться, или сам себе потому что не умеет учить?

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

И снова вопрос, а разве учителя в тех же ВУЗах не делают то, что изложено в совете, то есть клали болт на учеников и просто выставляют им оценки? Тогда к чему те же стенания по чатгопоте, не учили раньше, не стоит и начинать. Просто имитируем как и раньше учебную деятельность, ставим оценки. А технологии, которые реально могут обучать людей со временем создадут и без таких горе учителей.

Я привёл реальный способ учиться для всех, это карточки интервальных повторений. Но какой учитель будет их составлять? Да никакой. Все дружно это проигнорируют, особенно учителя. Потому что всё за деньги, потому что за эффективность никто не отвечает.

Если завтра Путину придёт в голову уволить всех государственных учителей и обнулить государственные дипломы, вся система образования рухнет, потому что под ней нет реального фундамента.
Osaka
Osaka
22.04.2025 06:06
V>А знаешь, что будет, если от результата оценок будут зависеть зарплаты учителей? Учителя не станут нормально учить, просто будут выставлять выше оценки.
Потому что надо зависимость зарплаты учителей не от оценок учеников, а от _зарплаты_ учеников!
Sinclair
Sinclair
24.04.2025 01:27
Здравствуйте, velkin, Вы писали:

V>Так никто не хочет учиться.

Хотят. У нас — хотят.
Есть и те, кто не хочет — и деканат их отчисляет, только в путь.
К нам (преподавателям) ходят каждый семестр с напоминанием писать докладные на тех, кто много пропускает.
Потому что их технически проще отчислить до сессии за нарушение дисциплины, чем потом мучиться с созывом комиссий для трёх пересдач, бронированием аудиторий, и прочих ненужных активностей (без которых отчисление можно оспорить юридически).
Ни малейших попыток спасать студентов деканат и ректорат не делают. Скорее наоборот — "мы вывесили расписание пересдач в подвале старого корпуса в виде аттача к малоизвестной странице в редкопосещаемом разделе факультетского сайта, кто не прочёл — сам виноват".

Но в каждой группе, где я преподаю, есть люди, которые прямо хотят. Ходят, задают вопросы. Матерятся, но решают задачи. Делают больше, чем задано. Спорят с преподавателем — про всё, от мелочей в формулировках задач, до преимуществ разных языков, уместность разных конструкций, и целых философских категорий.
Pavel Dvorkin
Pavel Dvorkin
21.04.2025 03:33
Здравствуйте, LaptevVV, Вы писали:

LVV>Кидайте идеи, как теперь обучать программированию ?


LVV>Кто что предложит ?


А все так же, как и раньше.

Основы языка — давать упражнения. И не особо беспокоиться о том, что "им помогут". Сейчас тем, кто не тянет, может "помочь" ИИ, ну а раньше ЕИ в виде однокурсников . Ну и черт с ним, пусть.

А потом давать серьезную задачу и контролировать ход ее выполнения.

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

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

Ну и еще. Программирование — не математика, единственного решения тут обычно нет. Возможны серьезные вариации. Так что попытки списывания для серьезных задач тоже не так уж сложно обнаружить.
LaptevVV
LaptevVV
23.04.2025 05:31
PD>А потом давать серьезную задачу и контролировать ход ее выполнения.
Пример серьезной задачи покажи, пожалуйста.

Я тут постил про наши курсовые. Сравнимо ?
Pavel Dvorkin
Pavel Dvorkin
23.04.2025 10:01
Здравствуйте, LaptevVV, Вы писали:

PD>>А потом давать серьезную задачу и контролировать ход ее выполнения.

LVV>Пример серьезной задачи покажи, пожалуйста.

Ниже один из вариантов. Всего их было 8.
Язык — Java, без фронтенда, но с тестами.
Курсивом — мой комментарий, студентам не дается.

LVV>Я тут постил про наши курсовые. Сравнимо ?


Решай сам

Спецкурсы.

1. Введение

Учебным планом факультета предусмотрено, что некоторые курсы для студентов являются курсами по выбору (спецкурсы). Студент в течение учебного года обязан посетить указанное количество спецкурсов и сдать по ним зачет или экзамен, но какие именно курсы посещать, а какие нет — решает он сам. Студент может посетить бОльшее количество спецкурсов, чем требуется по учебному плану; по “лишним” спецкурсам он может сдавать зачет/экзамен или нет — по своему усмотрению. Преподаватели факультета заранее объявляют список своих спецкурсов, чтобы студенты могли выбрать те, которые они намерены посещать.
Для того, чтобы преподаватели могли делать объявления о своих спецкурсах, а студенты записываться на них, требуется сервер, на котором и будет храниться вся необходимая информация. Руководство факультета обратилось к Вам с просьбой разработать такой сервер.

Руководство факультета предполагает, что высказанные им требования к правилам добавления спецкурсов и записи на них являются логичными и непротиворечивыми. Так ли это в действительности или нет — должно выясниться в процессе разработки и пробной эксплуатации сервера. Если в ходе разработки появится необходимость корректировки тех или иных пунктов задания, то этот вопрос должен обсуждаться совместно представителями заказчика и разработчика с внесением в случае необходимости изменений в техническое задание. Не исключено, что по результатам пробной эксплуатации появится необходимость внесения каких-то дополнений в техническое задание.
Этот пункт дан для того, чтобы я при необходимости мог внести небольшое изменение, если мне, например, захочется убедиться в авторстве

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

2. Описание системы.

Преподаватели , объявляющие спецкурсы должны зарегистрироваться на сервере. При регистрации они указывают

фамилию, имя и отчество (последнее — если имеется)
кафедру, на которой работают
должность
логин и пароль для входа на сервер.

Студенты , желающие записаться на спецкурс должны зарегистрироваться на сервере. При регистрации они указывают

фамилию, имя и отчество (последнее — если имеется)
курс
группу
логин и пароль для входа на сервер.

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

Студент может записаться на спецкурс, если он удовлетворяет требованиям по курсу обучения

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

Студент в любой момент может получить
список всех спецкурсов некоторого преподавателя
полный список всех спецкурсов, на которые он может записаться
список спецкурсов, на которые он записан.
LaptevVV
LaptevVV
23.04.2025 12:53
PD>>>А потом давать серьезную задачу и контролировать ход ее выполнения.
LVV>>Пример серьезной задачи покажи, пожалуйста.
PD>Ниже один из вариантов. Всего их было 8.
PD>Язык — Java, без фронтенда, но с тестами.
Курс 2 или 3 ?
Pavel Dvorkin
Pavel Dvorkin
23.04.2025 01:28
Здравствуйте, LaptevVV, Вы писали:

LVV>Курс 2 или 3 ?


Третий

Часть 1. Однопоточный вариант сервера, тесты вызывают сервер напрямую
Часть 2. Многопоточный вариант сервера (использование потокобезопасных коллекций и/или блокировок), тесты вызывают сервер напрямую
Часть 3. То же, но вместо самописной "БД" на основе коллекций — SQL сервер
Часть 4. То же, но прикрутить REST и в тестах вызывать сервер по HTTP.

Это и был мой основной курс. Плюс, как я писал , упражнения на разные элементы языка.
Философ
Философ
23.04.2025 01:42
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Часть 3. То же, но вместо самописной "БД" на основе коллекций — SQL сервер


Угу, садизм с БД без СУБД у вас тоже есть.
И как оно? Я точно знаю, что ALTER TABLE после этого адским колдунством выглядит, но я никогда не был на месте преподавателя.
Pavel Dvorkin
Pavel Dvorkin
23.04.2025 01:49
Здравствуйте, Философ, Вы писали:

Ф>Угу, садизм с БД без СУБД у вас тоже есть.


Какой там садизм! Просто создание своего класса с коллекциями. Чтобы научились с ними реально работать. С обычными и потокобезопасными. Ну и Apache коллекциями.

Ф>И как оно? Я точно знаю, что ALTER TABLE после этого адским колдунством выглядит, но я никогда не был на месте преподавателя.


Нормально. Убирают эту псевдо-БД, делают иную имплементацию DAO, которая обращается к MySQL серверу. Основные классы почти без изменений.
Silver_S
Silver_S
21.04.2025 06:50
Здравствуйте, LaptevVV, Вы писали:

LVV>Я вижу только один путь: создать свой собственный язык программирования, которого нет в сети.

LVV>И на нем обучать всем основным концепциям.

Сомнительно. Если лабы не про навороты языка, а про алгоритмы. То переводить алгоритмы с одного языка на другой проще, чем их придумывать. Будут просто переводить.
А тем, кто интересуется программированием может оказаться интереснее осваивать известные языки, а не "временные".
Тогда уже не для всех временный язык, а только для бездельников, как наказание.
AlexGin
AlexGin
22.04.2025 05:37
Здравствуйте, LaptevVV, Вы писали:

LVV>А потом уже переходить к общеизвестным языкам. И в этом случае уже с применением ИИ.


Почему столько хайпа вокруг ИИ?
Я месяц-полтора назад приобрёл новый ноут — ASUS. Без установленной OS.
Девайс при инсталляции Windows10/11 не видел SSD. Сразу замечу, что компьютеры я собирал уже 30 лет назад.
Я полез советоваться насчет ногого ноута с ИИ...
Какой только чуши мне этот истукан не советовал! Влезть внуть и убедиться, что SSD на месте Так BIOS его находит.
Наконец, на youtube нашел русского блогера — который просто объяснил — какой чек-бокс в BIOS выставить.
После этого — всё стало на свои места...
hi_octane
hi_octane
22.04.2025 09:22
AG>Какой только чуши мне этот истукан не советовал! Влезть внуть и убедиться, что SSD на месте Так BIOS его находит.
AG>Наконец, на youtube нашел русского блогера — который просто объяснил — какой чек-бокс в BIOS выставить.
AG>После этого — всё стало на свои места...

И это тоже временно. Следующее поколение GPT посмотрит всех блоггеров, послушает все подкасты и будет знать и про эту галочку тоже.
Stanislaw K
Stanislaw K
23.04.2025 06:07
Здравствуйте, hi_octane, Вы писали:

AG>>Какой только чуши мне этот истукан не советовал! Влезть внуть и убедиться, что SSD на месте Так BIOS его находит.

AG>>Наконец, на youtube нашел русского блогера — который просто объяснил — какой чек-бокс в BIOS выставить.
AG>>После этого — всё стало на свои места...

_>И это тоже временно. Следующее поколение GPT посмотрит всех блоггеров, послушает все подкасты и будет знать и про эту галочку тоже.


а её уже отменят!
student__
student__
23.04.2025 01:10
Здравствуйте, LaptevVV, Вы писали:
LVV>Если сразу учить народ на С/С++/Java/JS/C#/Go — они не делают лабы сами, а просто генерят в ИИ.
LVV>Домашние задания в этом варианте — бесполезны.

Никогда списывание или платно выполненные лабы по программированию не являлись препятствием для контроля уровня усваиваемости.
Не понимаю, почему ИИ долже что-то изменить в этом плане.
При сдаче лабы надо просто садиться со сдающим студентом за комп, и задавать вопросы о коде.
В простейшем случае, "объясните каждую строку кода, что она делает".
Потом можно задавать вопросы типа "если я вот в этой функции заменю вот эту строку на мою вот такую, что будет?".
Дальше, если студент объясняет всё как надо, в пределах изложенного материала (или того, что студент должен был освоить самостоятельно),
ка-ка-я ра-зни-ца, понял он код сам или при помощи ИИ или третий человек сделал ему лабу за деньги?

Чтобы
student__
student__
23.04.2025 01:16
Здравствуйте, student__, Вы писали:
__>При сдаче лабы надо просто садиться со сдающим студентом за комп, и задавать вопросы о коде.

Чтобы уменьшить преподавательскую нагрузку, можно делать такие сессии только один раз за курс.
Т.е. вот, например, в курсе 10 лаб.
9 лаб могут быть компонентами финальной 10й лабы.
10я лаба использует результаты всех предыдущих.
Приемку лабы с объяснениями от студентов делать только при сдаче последней, 10й лабы.

Помню, когда сдавали лабы по паскалю в универе, препод безошибочно определял, что чел сделал лабу не сам, и даже знал, кто из группы настоящий автор.
Видимо, по стилю кодирования (наименование переменных и проч.).
student__
student__
23.04.2025 01:25
Здравствуйте, student__, Вы писали:
__>Приемку лабы с объяснениями от студентов делать только при сдаче последней, 10й лабы.

В некоторых ВУЗах в Гемании ещё такая система (возможно, это только в TU или FHS), что финальный балл по курсу только на 80% (или 90% — на усмотрение профессора, может быть и 100%) складывается из результатов финального экзамена по этому курсу. А оставшаяся доля оценки складывается из того, как качественно выполнялась домашка.
Если без ошибок и в срок, то можно надеяться, что на экзамене достаточно выполнить очень небольшое количество заданий, чтобы уже получить проходной балл.

Соотв., если повысить вес домашек в финальном балле, а среди домашек учитывать только последюю, 10ю лабу, у студентов будет стимул разобраться в течение семестра, что же делает их код, чем ставить всё только на финальный экзамен.
Sinclair
Sinclair
24.04.2025 01:19
Здравствуйте, LaptevVV, Вы писали:

LVV>Кидайте идеи, как теперь обучать программированию ?


LVV>Я вижу только один путь: создать свой собственный язык программирования, которого нет в сети.

LVV>И на нем обучать всем основным концепциям.
LVV>А потом уже переходить к общеизвестным языкам. И в этом случае уже с применением ИИ.

LVV>Если сразу учить народ на С/С++/Java/JS/C#/Go — они не делают лабы сами, а просто генерят в ИИ.

LVV>Домашние задания в этом варианте — бесполезны.

LVV>Кто что предложит ?

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

Придумают классификацию формальных языков. Докажут эквивалентность некоторых из этих классов автоматным языкам, МП-автоматным языкам.
Родят все необходимые виды семантики (аксиоматическую, операционную, денотационную) языков программирования вообще и типов данных в частности.

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

Вот после этого уже пускай изобретают свой ЯП, для, естественно, самодельной виртуальной машины (ах да, я забыл дать им возможность изобрести виртуальную машину — стековую, регистровую, стеково-регистровую).

Придумывают способ разбора этого языка, механики оптимизации, порождения целевого кода.
Вывод типов пускай сделают. Если переизобретут Хиндли-Милнера — отлично, если что-то другое придумают — и того лучше.


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

Нет, просто теперь можно давать много задач студентам. Не десять лабораторных, а пятьдесят или сто
Потому что раньше на задачу "напиши парсер арифметических выражений" уходило 40 часов работы, потом 4, потом 2, а теперь — 10 минут.
Значит, таких задач можно давать в 12 раз больше. Иллюстрировать более широкий набор концепций, чем "давайте напишем примитивный однопроходный компилятор убогого подмножества Паскаля".
LaptevVV
LaptevVV
24.04.2025 03:04
S>Нет, просто теперь можно давать много задач студентам. Не десять лабораторных, а пятьдесят или сто
S>Потому что раньше на задачу "напиши парсер арифметических выражений" уходило 40 часов работы, потом 4, потом 2, а теперь — 10 минут.
S>Значит, таких задач можно давать в 12 раз больше. Иллюстрировать более широкий набор концепций, чем "давайте напишем примитивный однопроходный компилятор убогого подмножества Паскаля".
Не, немного не так.
Мой выпускник, у которого дочка учится в МГУ, ей сказал: если ИИ за тебя лабы делает, значит и работать он будет вместо тебя.
Задача же в том, чтобы они ПОНИМАЛИ, а не просто педалили код.
Поэтому есть мысль за лето сваять свой язык с минимально необходимыми типичными свойствами.
И на нем учить первачков.
Третий-то курс — понятно... Там уже либо умеют, либо нет.
А первый и начало второе — это надо как-то им в головы вложить основные концепции.
Даже ИИ "знает", что "повторение — мать учения"
Но надо, чтобы не ИИ за них делал, а они сами.
Слава
Слава
24.04.2025 11:26
Здравствуйте, LaptevVV, Вы писали:

LVV>Кто что предложит ?


Пусть пишут на Nemerle или 1C

Вот тут ещё https://panchul.livejournal.com/627519.html
MaximVK
MaximVK
25.04.2025 03:06
Здравствуйте, LaptevVV, Вы писали:

LVV>Кто что предложит ?


А нельзя ли тут провести параллель с попыткой продолжать обучение каллиграфии когда появились печатные машинки?
Каллиграфия бесспорно нужна, но очень узкому кругу лиц. Так и с базой CS, а нужно ли вот это все рядовому программисту? Может, наоборот, нужно учить их как с помощью chatgpt и чертовой матери собрать мобильное приложение?
LaptevVV
LaptevVV
25.04.2025 03:43
MVK>А нельзя ли тут провести параллель с попыткой продолжать обучение каллиграфии когда появились печатные машинки?
MVK>Каллиграфия бесспорно нужна, но очень узкому кругу лиц. Так и с базой CS, а нужно ли вот это все рядовому программисту? Может, наоборот, нужно учить их как с помощью chatgpt и чертовой матери собрать мобильное приложение?
Ну, в этом есть сермяжная правда.
NoCode/LowCode — это не о программистах/разработчиках.
ИИ, естественно, может создавать типовые решения типовых задач.
И для этого нужен совершенно другой учебный план...
Silver_S
Silver_S
26.04.2025 10:38
Здравствуйте, MaximVK, Вы писали:

MVK> Может, наоборот, нужно учить их как с помощью chatgpt и чертовой матери собрать мобильное приложение?


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

MVK>А нельзя ли тут провести параллель с попыткой продолжать обучение каллиграфии когда появились печатные машинки?

MVK>Каллиграфия бесспорно нужна, но очень узкому кругу лиц. Так и с базой CS, а нужно ли вот это все рядовому программисту?

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

Эти инструкции могут исполнять даже младшеклассники. Т.к. их только 2 : арифметическая операция с адресацией операндов; и условный переход, если первое число меньше (остальное необязательные сочетания этих 2, ради скорости). Увидят, как сложные действия порождаются кучкой простых инструкций.
Только потом уже этим младшеклассникам сказать: "Лень — двигатель прогресса". И эти простенькие действия лучше переложить на компьютер, научиться формулировать задачи через эти инструкции.
Osaka
Osaka
05.05.2025 07:43
MVK>А нельзя ли тут провести параллель с попыткой продолжать обучение каллиграфии когда появились печатные машинки?
MVK>Каллиграфия бесспорно нужна, но очень узкому кругу лиц.
Каллиграфия нужна для развития мозга.
Хотя, некоторые даже министры считают что развитие мозга нужно только узкому кругу лиц. А большинству достаточно быть квалифицированными потребителями и знать как пишется своё имя по-немецки
Vzhyk2
Vzhyk2
05.05.2025 09:18
Здравствуйте, Osaka, Вы писали:

O>Хотя, некоторые даже министры считают что развитие мозга нужно только узкому кругу лиц. А большинству достаточно быть квалифицированными потребителями и знать как пишется своё имя по-немецки

Правильно они считают. Ты кстати можешь сам пронаблюдать идеальную систему управления, уже реализованную в колонии муравьев.
Osaka
Osaka
05.05.2025 09:25
V>Правильно они считают. Ты кстати можешь сам пронаблюдать идеальную систему управления, уже реализованную в колонии муравьев.
Большинство граждан химически кастрировано — это для тебя идеальная система управления?
А сам как, в Китай планируешь переехать, или рассчитываешь на усиление "вакцинации" прямо по месту жительства?
MaximVK
MaximVK
05.05.2025 07:19
Здравствуйте, Osaka, Вы писали:

O>Каллиграфия нужна для развития мозга.

+1

O>Хотя, некоторые даже министры считают что развитие мозга нужно только узкому кругу лиц. А большинству достаточно быть квалифицированными потребителями и знать как пишется своё имя по-немецки

Проблема в том, что большинство само этого хочет. Сейчас система заставляет человека учиться.
Но чем больше будет появляться всяких chatgpt, тем проще будет обманывать систему и создавать видимость обучения.
Надежда на то, что удасться найти какой-то новый способ мотивации к учебе, но или еще один естественный отбор.
velkin
velkin
05.05.2025 08:18
Здравствуйте, MaximVK, Вы писали:

MVK>Надежда на то, что удасться найти какой-то новый способ мотивации к учебе, но или еще один естественный отбор.


Для примера игра слова из слов. Если засунуть интервальные повторения в красивую оболочку это может стать игрой.
MaximVK
MaximVK
05.05.2025 08:58
Здравствуйте, velkin, Вы писали:

V>Для примера игра слова из слов. Если засунуть интервальные повторения в красивую оболочку это может стать игрой.

Интервальное повторение — это один из методов для улучшения запоминания. Это помогает запоминать, но не понимать. В теорему Рамсея или в квантмех интервальными повторениями не въедешь. Геймификаия обучения — возможно, но тоже не очень верится. Я пока не видел игр, которые бы действительно обучали.

Я думаю, что нужно смотреть в сторону формирования у студента/школьника внутреннего желания учиться, где увлекает сам процесс познания. Когда не столь важен результат, а само движение. Идея не новая — ее можно найти у Льва Выготского или Джона Дьюи, — но пока я не видел успешной массовой реализации. Скорее мы двигаемся в обратную сторону, с тем же ЕГЭ.
velkin
velkin
05.05.2025 10:08
Здравствуйте, MaximVK, Вы писали:

V>>Для примера игра слова из слов. Если засунуть интервальные повторения в красивую оболочку это может стать игрой.

MVK>Интервальное повторение — это один из методов для улучшения запоминания. Это помогает запоминать, но не понимать.

Я этот вопрос поднимал ещё в самом начале и потом не раз. Постоянно люди об этом талдычат, причём даже не про карточки, а про зубрёжку. Зубрёжка помогает запоминать, но не понимать. И вот здесь мои пути и пути этих деятелей расходятся.

Что такое понимать?

И самое забавное, я ведь в итоге так ничего уникального и не изобрёл. Я, конечно, сам пытаюсь что-то сообразить, но фактически беру книгу по науке логике, то есть по-русски, по мышлению и пытаюсь использовать из неё принципы. Если использовать принципы мышления это значит не понимать, то что такое понимать? Те кто говорит, что запоминать это не понимать, сами скорее всего не понимают как они понимают.

Последняя моя тема Кратковременная память и закон Миллера в микроколодах (30.04.2025). Фактически это прямая попытка использовать законы мышления, в частности сравнение. Но да, я могу сказать, что всё здесь не так просто. Люди быстро запоминают, но медленно разбирают (анализ) и собирают (синтез) сравнивая.

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

Но форма подачи важна так же как и содержание. Есть такое понятие как игрофикация. Я уже много лет иногда задумываюсь на эту тему и пришёл к выводу, что есть псевдоигрофикация, когда за игрофикацию выдают то, что ею не является. Псевдоигрофикация как раз и проваливается применительно к мотивации.

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

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

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

Или взяли и создали смартфоны, а потом привыкли к ним. Зато как-то жили до них десятилетиями и нормально. Пока кто-то ясно не ответит на вопрос как правильно понимать, разговор об этом попросту бессмысленный. А если подобная технология появится как тот же смартфон, то все это примут как должное даже не задумываясь как жили раньше.
MaximVK
MaximVK
07.05.2025 04:03
Здравствуйте, velkin, Вы писали:

Спасибо за развернутый ответ. ИМХО, ты копаешь интересную тему.
Но я с тобой не соглашусь в части "понимание == запоминание".

1. Я не считаю, что "запоминание = понимание" и, следовательно, что "методики запоминания == методики понимания":
Хороший пример — китайская комната Серла: можно может идеально "знать", какие символы куда подставить, но при этом вообще не понимать смысла. Проблема вообще старая. Например, Платон в Софисте пытается разобрать, что делает знание истинным и отделяет его от мнения, механического воспроизведения или рекомбинирования знания. ИМХО, мы слишком "инженеризируем" проблему, в то время как она скорее онтологическая, чем инженерная.

2. Есть две точки зрения:
а) мышление — это вычислимый процесс, эквивалент машины Тьюринга
б) мышление — в принципе невычислимо (Пенроуз, Серл, Нагель, Чалмерс)
Если верен второй вариант, то надеяться, что техники вроде интервального повторения можно просто натянуть на понимание скорее всего ошибка. Интуитивная аналогия — если техника "тренирует" что-то вычислимое, например, веса в нейронке, то она не подойдет для тренировки мышления.

3. Логика важна, но это не мышление. Логика даёт структурные рамки, но мышление — это намного шире: включает воображение, интуицию, ощущение смысла, эвристику, неполноту, интенциональность. Мыслить — это не просто связывать посылки по правилам.

4. По поводу геймификации согласен, что её часто подменяют. Она может поддержать интерес, но если за ней нет когнитивной опоры, например, тех же интервальных повторений она быстро вырождается в симулякр. Геймификация может быть формой, но без содержательной методики она не приведёт к желаемому результату, а только к удержанию пользователя.
Silver_S
Silver_S
07.05.2025 12:02
Здравствуйте, velkin, Вы писали:

V>Что такое понимать?

V>Если использовать принципы мышления это значит не понимать, то что такое понимать? Те кто говорит, что запоминать это не понимать, сами скорее всего не понимают как они понимают.

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

Вопрос: Иногда противопоставляют зубрежку(запоминание наизусть) и понимание. Т.е. надо понять, а не только запоминать наизусть. Можно ли формализовать — что значит "понять"? Что такое понимание?

DeepSeek:
Понимание vs. Зубрежка: формализация понятия

Понимание можно формализовать как когнитивный процесс интеграции новой информации в существующую систему знаний, обеспечивающий способность к гибкому применению, анализу и синтезу. Вот ключевые критерии:

1. Структурная интеграция
— Информация не изолирована, а встроена в сеть взаимосвязанных концепций.
— Пример: Знание не только формулы E =m*c^2, но и её связи с теорией относительности, энергетическими процессами, историей физики.

2. Способность к трансферу
— Применение знаний в новых контекстах и решение нестандартных задач.
— Пример: Использование математического метода из алгебры для анализа биологических данных.

3. Объяснение и интерпретация
— Возможность переформулировать идею своими словами, привести примеры и контрпримеры.
— Пример: Объяснение закона спроса и предложения через повседневные ситуации, а не только через графики.

4. Анализ и синтез
— Разложение информации на компоненты (анализ) и создание новых идей (синтез).
— Пример: Критическая оценка разных исторических интерпретаций события, а не просто перечисление дат.

5. Метакогниция
— Осознание своих знаний и умение корректировать их.
— Пример: Понимание, какие аспекты темы требуют углубления, и поиск дополнительных ресурсов.

6. Причинно-следственные связи
— Умение выявлять логику процессов, а не только запоминать факты.
— Пример: Понимание, почему экономический кризис 2008 года привёл к изменениям в банковском регулировании.

Как отличить понимание от зубрежки?
— Тест на трансфер: Дайте задачу, выходящую за рамки шаблонных примеров.
— Объяснение "на пальцах": Попросите описать концепцию без терминов.
— Анализ противоречий: Предложите найти слабые места в теории или исключения.

Формальные модели
— Таксономия Блума: Понимание соответствует уровням анализ, синтез, оценка, в отличие от запоминания.
— Семантические сети: Понимание отражается в плотности связей между узлами знаний.
— Нейробиология: Активность префронтальной коры и гиппокампа, связанная с интеграцией информации.

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


Сюда еще можно добавить что-то такое:
— Выявление важного и второстепенного. (Из важного можно вывести второстепенное)
— Субъективный аспект: Если что-то понято, то начинает выглядеть более простым. И его уже не обязательно запоминать, если можно самостоятельно восстановить или воспроизвести.

Вопрос: Какие могут быть краткие рекомендации учащемуся, чтобы улучшить понимание учебных тем?

DeepSeek:
Краткие рекомендации для улучшения понимания учебных тем:

Связывай новое с известным
— Проводи аналогии между новыми концепциями и уже изученными темами.
Пример: Сравни электрический ток с потоком воды в трубах.

Объясняй своими словами
— Используй метод Фейнмана: опиши тему так, будто учишь ребёнка или новичка.
Пример: Объясни теорию эволюции без научных терминов.

Практикуйся в новых контекстах
— Решай нестандартные задачи и применяй знания в смежных дисциплинах.
Пример: Используй математическую статистику для анализа спортивных результатов.

Задавай вопросы
— «Почему это работает?», «Как это связано с другими темами?», «Где есть исключения?».
Пример: Почему квадратные уравнения решаются через дискриминант?

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

Учи других
— Расскажи материал другу или воображаемой аудитории.
Пример: Проведи мини-лекцию о фотосинтезе для одногруппников.

Анализируй ошибки
— Разбирай, где и почему допустил ошибку, и корректируй понимание.
Пример: Если неправильно решил задачу по химии, найди пробел в понимании формул.

Разбивай сложное на части
— Декомпозируй большие темы на логические блоки и изучай их пошагово.
Пример: Изучай клеточное строение, начиная с органелл, а не всей клетки сразу.

Используй интервальное повторение с акцентом на связях
— Повторяй материал через растущие интервалы, но не механически, а фокусируясь на взаимосвязях.
Пример: При повторении темы «Квантовая физика» вспомни её связь с химией и IT.

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

Что избегать:
✖️ Пассивное чтение/запись — вместо этого делай пометки, задавай вопросы к тексту.
✖️ Запоминание без осмысления — всегда ищи причину и логику.
✖️ Игнорирование пробелов — если что-то непонятно, возвращайся к основам.

Главное: Понимание требует активной работы с информацией, а не её пассивного потребления. Чем больше связей выстраиваешь, тем глубже усваиваешь материал.

mike_rs
mike_rs
02.05.2025 12:34
Здравствуйте, LaptevVV, Вы писали:

LVV>Если сразу учить народ на С/С++/Java/JS/C#/Go — они не делают лабы сами, а просто генерят в ИИ.

LVV>Домашние задания в этом варианте — бесполезны.

В нашей школе использование ИИ запрещено, если когда поймают — первый раз — единица по этой работе, второй раз — исключение из школы.
Osaka
Osaka
05.05.2025 07:40
_>В нашей школе использование ИИ запрещено, если когда поймают — первый раз — единица по этой работе, второй раз — исключение из школы.
А как доказывают? Случайно не голословным заявлением препода (или вообще ИИ-анализатором)?
Shmj
Shmj
04.05.2025 02:07
Здравствуйте, LaptevVV, Вы писали:

LVV>Кидайте идеи, как теперь обучать программированию ?


Не можешь победить — возглавь.

Нужно обучать кодингу с Cursor и подбирать задания таким образом, чтобы пришлось вникнуть в суть.
m2l
m2l
04.05.2025 04:25
Здравствуйте, Shmj, Вы писали:

S>Не можешь победить — возглавь.


S>Нужно обучать кодингу с Cursor и подбирать задания таким образом, чтобы пришлось вникнуть в суть.


Для простых задач — копипаста задания в Cursor и "я программист". Собственное участие — ноль. Как только сложность повышаеться — у меня не работает и я ничего не понимаю. Ведь простые делались копипастой.
Без простых задачек научиться сложному невозможно, но именно простые задачки llm решает идеально, начисто демотивируя хоть какое-то участие (даже тренировку промтинга).
m2l
m2l
04.05.2025 04:31
Здравствуйте, LaptevVV, Вы писали:

LVV>Кидайте идеи, как теперь обучать программированию ?


1. Если язык простой, то кто-нибудь додумаеться скинуть его спецификацию в промпт и модель худо-бедно и на нём напишет.
2. Брать предельно типовые задачки (сортировка, чтение из файла, поиск, подсчёт повторений) с тысячями решений и упрощать их вводя какие-то ограничения или специфические исходные данные. Из-за того, что это супер типовая задачка, модель будет игнорировать инструкции (по сути додумывая то чего нет) и выдавать супер типовое решение — которое вообще не будет соответствовать условиям. Тоже работает с версиями библиотек. В этом плане модели "подвержены когнитивным искажениям" и нужно подбирать такие условия задачи, что бы "опытный" программист видел одно решение, а новичёк — другое.
Osaka
Osaka Что внизу, то и наверху
06.05.2025 07:37
LVV>Кто что предложит ?

Строить звездолёт, и с парой сотен единомышленников лететь в дальний космос. Эта планета захвачена.

https://t.me/rlabrats/6514

Самый жесткий случай использования чатгпт из тех, что я видел: студентка моей коллеги сгенерировала весь раздел результатов своей диссертации с помощью чатгпт. То есть реальные данные (которые она собрала) никак не участвовали в этом. Разбирая эти случаи, мы всегда поражаемся безграничности человеческой глупости (беспечности?). Когда коллега написала об этом студентке, та ответила ей письмом, сгенерированным чатгпт…


https://t.me/chernopsy/1052

https://t.me/rlabrats/6511
sergii.p
sergii.p
06.05.2025 04:09
Здравствуйте, LaptevVV, Вы писали:

LVV>Кто что предложит ?


мне кажется ситуация как в шахматах. Сейчас невозможно узнать, твой соперник пользуется подсказками компьютера или нет. Остаётся только доверять и подозревать. Одно из решений можно взать из тех же шахмат. Всё переезжает в оффлайн. Собираем студентов на паре в закрытой комнате. В туалет никого не выпускать. Сдают телефоны, сети нет, две немецкие овчарки для осознания момента и погнали бинарный поиск...
namespace
namespace
08.05.2025 10:30
LVV>Кидайте идеи, как теперь обучать программированию ?

LVV>Домашние задания в этом варианте — бесполезны.


Вы, профессор, определитесь, Вы хотите изобрести новую методологию преподавания или контроля усвоения?

Очевидно, что 90% знаний студент должен получить на лекциях, а не дома самостоятельно.
Иначе какой смысл в Вашей лично работе? Прочесть текст [на лекции], а затем проверить код лаб.работы? Эдак вас очень скоро Ии и заменит.

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

И, в целом, больше взаимодействовать со студентами, тогда не будет проблемы контроля. Полагаю, именно это Вас беспокоит.
Vzhyk2
Vzhyk2
14.05.2025 06:11
Здравствуйте, namespace, Вы писали:

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

Практика без теории бессмысленна. По сути превращается в преподавание магии. Запомни 100500 заклинаний и от каждого получится конкретно вот это.
Просто уже в советских ВУЗах объем преподавания бессмысленной мути преобладал над осмысленной и практикой.
Да и материальная часть для практики была убогая и недостаточная.
Сейчас всё еще хуже. Точно такая же ситуация сейчас и в ЕС.
LaptevVV
LaptevVV
14.05.2025 03:16
Слушал Пратусевича.
Высказал правильную мысль.
ИИ сильно облегчает жизнь, поэтому он в жизнь войдет.
Проблема в том, чтобы это было под нашим контролем.

И придется как-то менять методики обучения.
Ибо принцип "тяжело в учении — легко в бою" уже почти не применим из-за ИИ.
Домашние задания перестали выполнять свое назначение...
Что-то надо придумывать.
Vzhyk2
Vzhyk2
14.05.2025 06:12
Здравствуйте, LaptevVV, Вы писали:

LVV>Домашние задания перестали выполнять свое назначение...

Они уже лет 50 бессмысленны. Вместо домашек нужно увеличивать количество часов для практики.