Re: Программирование для гуманитариев
От: paucity  
Дата: 14.01.25 18:56
Оценка:
Здравствуйте, Нomunculus, Вы писали:

Н>Вопрос дочери ввел меня в ступор — "а откуда компьютер знает, что это то, что нужно? ....


Н>И как бы вы ответили?


Что компьютер вообще ничего не знает, а программа для компьютера — это как пошаговый рецепт для приготовления какого-то блюда.
Многие и рады были бы испытать когнитивный диссонанс, но нечем.
Re[4]: Программирование для гуманитариев
От: Pzz Россия https://github.com/alexpevzner
Дата: 14.01.25 20:03
Оценка:
Здравствуйте, Михаил Романов, Вы писали:

МР>Но мне такое описание не очень нравится тем, всё равно остался вопрос "а коробочки откуда?", и таки нужно делать следующий шаг объяснения.

МР>А с привязкой к памяти вроде как выходит законченное объяснение...

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

Исторически мне ближе первый; все-таки я шёл от железа. Но на высокоабстрактом языке, типа условного Хаскеля, я вряд ли когда-либо буду программировать. Но кто-то ведь зашёл именно с той стороны, и тоже вполне хорошо себя чувствует...
Re: Программирование для гуманитариев
От: GlebЗ Россия  
Дата: 14.01.25 20:19
Оценка:
Здравствуйте, Нomunculus, Вы писали:

Н>И как бы вы ответили?

Пошел бы с другой стороны.
1. Объяснение что такое переменная. Для чего она предназначена. Операции + — и присваиванием.
2. Объяснение что такое цикл. Для чего используется.
3. Объяснение как реализуется цикл.

Самое сложное здесь пункт 2. Но он и самый важный, чтобы все не только вместилось в мозг, но потом еще использовалось.
Re[2]: Программирование для гуманитариев
От: SergeyIT Россия  
Дата: 14.01.25 20:44
Оценка:
Здравствуйте, Pzz, Вы писали:

На древних счетах же проще и ходить не надо
Извините, я все еще учусь
Re[3]: Программирование для гуманитариев
От: Sinclair Россия https://github.com/evilguest/
Дата: 15.01.25 04:54
Оценка: :)
Здравствуйте, graniar, Вы писали:
G>Вот да, лучше всего дать самые базовые основы, чтобы было представление, откуда ноги растут.
G>Иначе в голове останется место для всякой полумистической чепухи.
Да-да, для начала нужно дать основы квантовой механики. Затем на её основе можно объяснить зонную теорию проводимости.
Потом можно показать устройство транзистора. Когда оно более-менее усвоится, показываем, как можно сделать на транзисторах логический элемент "или-не".
Потом собираем из них полусумматор, из полусумматоров — сумматор.
Показываем какую-нибудь из схем с быстрыми переносами.
И так далее — в общем, типичную институтскую программу по технической специальности. Правда, с одной оговоркой — 8 семестров по несколько предметов в каждом нужно запихать в один семестр одного предмета.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re: Программирование для гуманитариев
От: Worminator X Россия #StandWithPalestine 🖤🤍💚
Дата: 25.01.25 12:51
Оценка:
Здравствуйте, Нomunculus, Вы писали:

Н>И как бы вы ответили?


А сколько ей лет? Раннее обучение программированию — плохая идея, лет до 12 точно.
Нужно сначала знать в самых общих чертах устройство компьютера, как он работает, что это продвинутый калькулятор с памятью, в которой есть данные и коды команд.
А потом уже вводить переменные, циклы и функции.
Может даже показать какой-нибудь самый простой код на ассемблере (типа сложения чисел), а потом, после закономерного вывода "что-то сложно и непонятно", сказать, что поэтому придумали упрощенные языки, объяснить про компиляторы и интерепретаторы. И тогда уже Питон пойдет.
Хотя, ИМХО, Паскаль или Си гораздо лучше в качестве первого языка.
— Нет в мире справедливости, — простонал Билл, когда цепкие пальцы Смертвича впились в его плечо.
— Конечно, нет, — согласился Смертвич. — А ты как думал?
Re: Программирование для гуманитариев
От: Философ Ад http://vk.com/id10256428
Дата: 25.01.25 15:15
Оценка: 2 (1)
Здравствуйте, Нomunculus, Вы писали:

Н>Объяснил дочери, что надо перед циклом завести переменную, обнулить ее, и в цикле увеличения начального числа эту переменную тоже увеличивать на 1. Ну и вывести ее в результате.

Н>Вопрос дочери ввел меня в ступор — "а откуда компьютер знает, что это то, что нужно? Зачем вообще какую-то переменную вводить?"

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

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

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