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


Один мой давний друг не так давно (около года назад) стал отцом. И с тех пор был озадачен тем, как начать учить ребенка программированию до того, как он (ребенок) сможет ходить. Мне все-таки кажется, что до 4-5 лет беспокоиться об этом не стоит, но вот после 5-ти лет – уже пора что-то придумывать!


Удивительно, но индустрия “программирования для детей” развита очень незначительно. Мой коллега писал про то, как учить детей объектному мышлению. Мы тоже думаем в этом направлении. Однако технический вопрос о среде программирования тоже остаётся открытым, и C# для вундеркиндов, равно как и Small Basic, как-то  не дают ответов.


Недавно смотрел среду NetLogo (искал среду многоагентного моделирования для использования в курсе по многоагентным системам), и вспомнил про классический Logo. Был удивлён тем, что практически не существует хороших классических реализаций Logo на русском языке! Удалось найти лишь ЛогоМиры, которые наверное хорошо, но уж больно непонятны и чрезмерно усложнены. Однако некоторые попытки продемонстрировать основы программирования ребенку 5.5 лет я сделал, и вот что получилось (с ребенком мы разбирали только построение звёздочки, сначала по шагам в интерпретаторе, потом добавив цикл, а затем вынеся в процедуру с параметром - остальное про ёлку я писал сам как демонстрицию):


image


Если кому интересно - вот исходный код:


ЭТО ЗВЕЗДОЧКА :N
  ПР 90
  ПОВТОРИ 5
     [ ВП :N  ПР 144 ]
  ЛВ 90
КОНЕЦ

ЭТО ВЕТКА :N
  ПР 30
  ВП :N  НАЗАД :N
  ЛВ 60
  ВП :N НАЗАД :N
  ПР 30
КОНЕЦ

ЭТО ЕЛКА :M :N
  ПР 180
  ПОВТОРИ :M
  [ ВЕТКА :N ВП 10 ]
  ВП 30 ПР 180
КОНЕЦ

К слову - недавно коллеги из восточной европы предложили другой подход к обучение программированию (правда, школьников): использовать функциональные языки (F#) и двигаться "от математики": "вот формула, введём её в компьютер, она вычисляется", дальше добавляем рекурсию и т.д.


Внимание, вопрос: как вы думаете, стоит ли учить детей программированию? С какого возраста? В какой парадигме? На каких инструментальных средствах?

Comments (3)

  1. Aleksio says:

    В этом кроется одна маленькая но большая проблемма.

    Как мы учим детей программировать? Это ведь обычный пошаговый алгоритм. А что сейчас творится в мире? Параллельное программирование! И это проблема, её очень четко обозначили когда я был в Intel. Мы не учим наших детей параллельному программированию, ведь мир он "параллельный". В итогде ребенок уже с детства впитает эту пошаговость. И потом поверьте мне престроиться сложно.

  2. Max says:

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

  3. lucher says:

    Смотря с какого возраста. Детей-гениев не много. Но чем раньше начать учить ребенка чему-то тем вероятнее в будущем ему это легче будет даваться. Приведу пример из своей жизни. Отдала я ребенка в 4 года на английский в группу 7-10 детей. Год походил, потом вместо английского занялись актерским мастерством – чтение стихов с выражением, кукольный театр, постановка сценок и т.д. Сейчас ему легко даются гуманитарные дисциплины: английский, немецкий, русский, литература, риторика, история… Но есть проблемы с математикой, физикой.

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

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

    Понимаю, что он не математик… совсем не математик… Может потихоньку разовьет в себе и эти способности…

    Мама (бабушка) ругается, что это деньги на ветер, слишком рано, нужно через год или два, что учится не он, а я… Тем не менее, я продолжаю оплачивать услуги репетитора и заставляю ребенка туда ходить.

Skip to main content