Кидайте идеи, как теперь обучать программированию ?
Я вижу только один путь: создать свой собственный язык программирования, которого нет в сети.
И на нем обучать всем основным концепциям.
А потом уже переходить к общеизвестным языкам. И в этом случае уже с применением ИИ.
Если сразу учить народ на С/С++/Java/JS/C#/Go — они не делают лабы сами, а просто генерят в ИИ.
Домашние задания в этом варианте — бесполезны.
Кто что предложит ?
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, LaptevVV, Вы писали:
LVV>Я вижу только один путь: создать свой собственный язык программирования, которого нет в сети.
Раньше так делали из бедности, например тот же Кнут. И у нас в универе тоже.
LVV>И на нем обучать всем основным концепциям.
Есть мысль, что это всё равно не сработает. К тому времени, как такой язык будет создан, бюрократически одобрен и проведён как средство обучения, новый ИИ-чат сможет по спецификации языка писать на нём код.
LVV>Кто что предложит?
Тут вопрос о цели обучения. Если надо выпустить чувака, который сможет трудоустроиться и решать реальные задачи, то и надо давать реальные задачи, которые он будет решать с помощью ИИ в том числе.
Если надо обучить всему тому, чему успешно учили ранее, то надо тратить больше личного времени на лабы, устраивать совместный кодинг со студентом, устно спрашивать больше.
P.S. Раньше тоже никто не мешал отдавать написание кода более способным студентам, особенно со старшего курса. Я сам так с несколькими девушками познакомился, ни одна из которых программистом так и не стала, но лабы сдала и диплом получила.
Здравствуйте, LaptevVV, Вы писали:
LVV>Домашние задания в этом варианте — бесполезны.
LVV>Кто что предложит ?
Берешь Haskell, Clojure или, на худой конец, Scala. При сдаче лабы требуешь не просто показать код, а объяснить как он работает. Пусть им ИИ объясняет, чем хвостовая рекурсия отличается от нехвостовой и как ее превратить в цикл.
Здравствуйте, LaptevVV, Вы писали:
LVV>Кидайте идеи, как теперь обучать программированию ?
А ничего не изменилось. Сейчас решения заданий генерит ИИ, ранее (да и сейчас тоже), задания делали те, кто соображал, и зарабатывал на этом.
LVV>Кто что предложит ?
Ну, когда я учился, требовалось на защите объяснить как все работает, плюс на бумажке заставляли сходу что написать. Соответственно крайне многие сдавали уже сделанную кем то лабу раз 6, до тех пор, пока преподу либо не надоест, либо он тупо выйдет рано или поздно и раздолбаю задание все таки сделают. Выхлоп правда все равно нулевой, многие диплом получили, ни разу не написав даже Hello world, но раздолбаи были весьма напряжены курса до четвертого. На четвертом появился среди преподов один явный взяточник, который уже всех раздолбаев отмазывал и они сдавали первыми и без напряга, а кто действительно учился и что то мог — тех ставили в условия невозможности сдать, и приходилось ради тупо допуска у экзаменам писать раздолбаям дипломы и все такое, вися на грани отчисления.
Здравствуйте, LaptevVV, Вы писали:
LVV>Я вижу только один путь: создать свой собственный язык программирования, которого нет в сети. LVV>И на нем обучать всем основным концепциям.
Очень трудоёмко.
LVV>А потом уже переходить к общеизвестным языкам. И в этом случае уже с применением ИИ.
Я б вообще пропустил эту часть, связанную с ИИ. Это как обучать детей пользованию смартфоном. Дети дадут фору любому взрослому в пользовании смартфоном, путём самообучения. Лучше наоборот, постараться оттянуть их встречу со смартфоном на максимально возможный срок.
LVV>Если сразу учить народ на С/С++/Java/JS/C#/Go — они не делают лабы сами, а просто генерят в ИИ. LVV>Домашние задания в этом варианте — бесполезны.
Прямой предшественник Go, и по людям, и по идеям, и очень на него похож.
Но думается мне ИИ на Alef-е программировать не осилит.
Нативный компилятор есть под Plan9, и наверняка есть порт на Linux (ну или спортировать самому, не думаю, что это шибко сложно).
Еще мне попадался на гитхабе проект языка, очень похожего на Go, но не Go. Self-hosted, в том смысле, что компилятор на нём самом написан. Какой-то русский парень его ведет. Но навскидку не могу найти.
Здравствуйте, LaptevVV, Вы писали:
LVV> они не делают лабы сами, а просто генерят в ИИ. LVV> Домашние задания в этом варианте — бесполезны.
Делать такие лабы и задания, которые ИИ решить не в состоянии. С учетом того, что ИИ не в состоянии сделать почти ничего, это не должно быть сложно. Другой вопрос — а зачем? Какая конечная цель преследуется?
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...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
LVV>> они не делают лабы сами, а просто генерят в ИИ. LVV>> Домашние задания в этом варианте — бесполезны.
AB>Делать такие лабы и задания, которые ИИ решить не в состоянии. С учетом того, что ИИ не в состоянии сделать почти ничего, это не должно быть сложно. Другой вопрос — а зачем? Какая конечная цель преследуется?
Дык научить жеж программы писать, а не сдавать лабы...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, LaptevVV, Вы писали:
Pzz>>Очень трудоёмко. LVV>Не. За лето можно сделать LVV>0. Язык — минимальный, без наворотов и извратов. Меньше, чем Си.
Как у Дейкстры, в Дисциплине программирования? Кстати, наверняка есть готовые реализации.
LVV>1. Парсер делаем на антлр /кокор / еще на чем-то LVV>2. Конвертируем в С/С++
Всё равно набежит вопросов.
Парсер, кстати, что руками писать, что компилятором компиляторов — начальные вложения примерно одинаковые. Потом в рукописном парсере сложнее небольшие изменения в грамматику вносить. А машинописном парсере сложнее добиться вменяемой диагностики при синтаксических ошибках.
Здравствуйте, LaptevVV, Вы писали:
LVV>Любопытная статья. LVV>Но он больше электронщик.
Кстати, идея очень здравая — использовать недоступные для студента входные данные. Делаешь сетевое API и даёшь им библиотеку, которая может из неё читать входные данные для программы. Эта библиотека коннектится к твоему серверу, который есть только в лаборатории и получает из него данные. Если запущена локально и без сервера, то данные получает прошитые, для всех одинаковые стандартные.
Входные данные делать такими, которые не пересекаются в некоторых кейсах. Часть кейсов и относящихся к ним данных надо скрыть.
Тогда при сдаче проверять, как оно работает на стандартных данных, а также на скрытых. Если на скрытых работает неправильно, то просить студента их учесть и поправить код тут же за столом. Это может быть: пустые последовательности, слишком длинные последовательности, отрицательные значения, очень большие значения, дополнительные задержки, что-то вперемешку, такие данные, где рекурсия будет переполнять стек и т.д.
LVV>>Я вижу только один путь: создать свой собственный язык программирования, которого нет в сети. SIT>Подумалось... SIT>Может пусть каждый студент свой язык придумает. Скриптовый, к примеру. Реализует его и на нем и пишет.
Ну, это 3 курс. Ну, 2-й в конце.
А учить надо с нуля основам программирования.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Pzz>Еще мне попадался на гитхабе проект языка, очень похожего на Go, но не Go. Self-hosted, в том смысле, что компилятор на нём самом написан. Какой-то русский парень его ведет. Но навскидку не могу найти.
Здравствуйте, LaptevVV, Вы писали:
LVV>Кидайте идеи, как теперь обучать программированию ?
LVV>Я вижу только один путь: создать свой собственный язык программирования, которого нет в сети. LVV>И на нем обучать всем основным концепциям. LVV>А потом уже переходить к общеизвестным языкам. И в этом случае уже с применением ИИ.
LVV>Если сразу учить народ на С/С++/Java/JS/C#/Go — они не делают лабы сами, а просто генерят в ИИ. LVV>Домашние задания в этом варианте — бесполезны.
LVV>Кто что предложит ?
Вопрос уже нужно ставить так: А как щас учить вообще?
В целом, если идею немного обобщить, она сводится к тому, что ИИ — это такой продвинутый поиск по данным, которые в него были заложены при обучении. Этакий гугль на стероидах. Но не творец новый знаний и идей.
Электронщикам, конечно, хорошо. Они завсегда могут встать в позу, "а вот я не скажу вам, какой ёмкости конденсатор я сюда впаял, мерьте сами". Но я думаю, и в програмизме можно тоже найти вещи, которые не узнаешь, пока не померишь. Ну, веремянку CPU кешей, например.
А можно еще попробовать поднапрячь головную мышцу и придумать задачки не на незнание неизвестных фактов, а на некоторую изобретательность — тут уж точно ИИ будет в пролёте.
Здравствуйте, LaptevVV, Вы писали:
LVV>Кто что предложит ?
Использование GPT ничем принципиально от списывания не отличается. Лично я когда-то зырабатывал тем, что делал лабы пачками. Везде, в каждом общежитии висели тучи объявлений "делаю лабы по...". Всегда будут те, кто делает сам и те, кто списывает. Те, кто списывает, палится на стиле написания и на том, что не может объяснить то, что он сделал. Чувак, который не делал лабу сам не может модифицировать код.
Говорить, спрашивать, просить что-то поменять в коде.
Всё сказанное выше — личное мнение, если не указано обратное.
Здравствуйте, koenig, Вы писали:
Pzz>>Еще мне попадался на гитхабе проект языка, очень похожего на Go, но не Go. Self-hosted, в том смысле, что компилятор на нём самом написан. Какой-то русский парень его ведет. Но навскидку не могу найти.
K>vlang?
Возможно. Вот не могу вспомнить. Мне кажется, что он был на M, но это не точно...
LVV>Если сразу учить народ на С/С++/Java/JS/C#/Go — они не делают лабы сами, а просто генерят в ИИ.
Это теперь касается не только лаб по программированию, а вообще всего обучения с 1го класса. LVV>Домашние задания в этом варианте — бесполезны.
Оценки за задания безполезны, как основа для вычисления kpi и принятия решений о знаниях студента по ним. LVV>Кто что предложит ?
Только личная беседа экзаменатора со студентом, допрос, на котором будет ясно, понимает или сгенерил.
И персональная ответственность преподавателя за профессиональные результаты выпускника, чтобы преподаватель оценку тоже не "сгенерил". (Возможно, преподаватели в ответ захотят возможность отчислять, право порки, или ещё что-то подобное)
Друга ищи не того, кто любезен с тобой, кто с тобой соглашается, а крепкого советника, кто полезного для тебя ищет и противится твоим необдуманным словам.