Детское программирование
Макс ИщенкоОпубликовано 12.07.2006 в Статьи
Alan Kay, в своем недавнем выступлении на EuroPython, говорил о том, что программированию (и математике) лучше учить “с младых ногтей” (6-9 лет). И проект OLPC, в частности, будет поставляться с интерпретатором Python.
Squeak, другое детище Кея, представляет собой адаптированную для детей среду Smalltalk. Есть, конечно, и другие проекты, типа пресловутого LOGO (см. PyLogo) или Kid’s Programming Language.
Печально только, что все эти проекты никак не локализованы, а об отечественных разработках такого плана я не осведомлен.
Так что, отцы, готовимся.
P.S.: Если б у меня была соотв. власть (типа кафедры в универе) я бы выбрал Tcl в качестве основы такого проекта: простой, гибкий и расширяемый, переносимый, развитые средства рисования. Оценка трудоемкости (на глаз): от 10 человеко/лет.
Понравилась статья? Подпишись на обновления по RSS/E-mail

Да, идея здравая, ведь что такое программирование – особый образ мыслей, а мыслить определёнными образами учат как раз в детстве. Ну, сынок, держись, будем тебе на ночь Страус-трупа читать…
А що, власне. локалізовувати? Документацію та методичні матеріали?
Да, пожалуй Tcl больше других подходит на роль первого языка, он простой (всего 11 правил), но не примитивный, не создаёт впечатление игрушечного, как тот же Logo.
Да и приложения создавать на Tcl можно весьма разнообразные, от простых игрушек и мультиков до программ со сложным GUI и серверов.
Только изучать программирование надо не в ВУЗе, а с первых классов школы.
а если человек хочет быть врачом?
Видно, что программеры – не педагоги. Как можно научить программированию школьника младших классов? Если он только к третьему классу едва может научиться (а 50% не смогут – это факт) правильно делить в столбик. Если же говорить об основах алгоритмизации, то они тоже очень сложны в базисных терминах. Мое мнение, как педагога с одной стороны, и программиста с другой – идеальный возраст 12 и выше лет, а уж не как с младших классов. У младшего школьника (откройте любой учебник по психологии детей) задействованы не те области и участки мозга, как у взрослых, потому объяснить абстрактные понятия (которыми так полон программизм) не представляется возможным – ребенок всилу своих психологических особенностей ничего не поймет. Посему на сцену выходит профориентация в старших классах.
http://www.smalltalk.ru/2005/08/squeak.html
PS Я думаю “с младых ногтей” не стоит. Каждый ребёнок имеет право на счастливое детство – без багов…
Даже если хочет быть пастухом, то алгоритмическое мышление и навыки проектирования всегда будут полезны.
В первых классах программирование все же стоит давать, но в упрощённом варианте, рисование картинок, простая анимация.
Отечественные разработки есть, и даже применяются кое-где.
Например, была такая среда “кенгурёнок Ру”, может кто помнит
Там идея была в том, чтоб простейшими командами типа “шаг”, “поворот”, “прыжок” заставить кенгурёнка ходить по полю и рисовать хвостом заданную фигуру. У нас в школе детей обучали алгоритмике с её использованием, начиная с пятого класса.
Ещё помню был более сложная среда Лого
Так что не всё так плохо, были бы хорошие преподаватели.
Думаю, возраст, с которого можно начинать вводить основы алгоритмизации – 11-12 лет – не раньше. Возможно, и программирование, но на чем-то упрощенном, типа Basic, Лого и пр.
Потом – спектрумовский Basic, его же ASM и т.д. Вроде, получалось неплохо.
) Т.е. мой вывод – поменьше абстракций в этом возрасте.
Сам я начинал с 12 лет – на калькуляторах
Когда же мне пришлось обучать 12-летних школьников C++, долго мучался, пока не создал упрощенную “рисовательную” среду на основе Borland C++ 3.5 (кажется
Есть один нюанс — дети будут делать то, что хотят.
По своему опыту помню — мы очень сопротивлялись попыткам научить нас делать что либо — от решения каких-то задач с производными в 8-м классе на малой академии и до попыток заставить писать что-то на FoxPro 2.6 в 9-м
Сам я писал в докоммерческую эпоху три вещи – графические редакторы (Бейсик, 12 лет), игрушки, дизассемблеры (Ассемблер, 13-14 лет), отладчик, свой Форт и хакерско-крекерские вещи, и опять таки игрушки (Ассемблер и Паскаль, 14-16 лет)
Не знаю, как можно этому *начуить* — я читал книги, экспериметировал.
Возможно, учить надо не гнать халтуру и тому, что надо постоянно учиться
12-14-15 – это уже подростки, я же имел ввиду детей лет 5-6-9. Естественно, “обучение” пятилетних принципиально отличается от обучения 14-летних; как и учеба в средней школе от учебы в вузе.
Никто 6-летнему ребенку не “преподает” алгоритмы, стек или двоичный поиск; это подается “завуалировано”, в упрощенной и игровой форме.
В конце концов, если возможно обучение ин. языку, танцам, азам математики и т.п. то почему бы не “поиграть” с ребенком и в программирование?
Я собираюсь попробовать, только пока не определился с инструментарием.
а у меня вопрос – почему собственно алголоподобные?
- эдак получается что бум закреплять нунешнее положение дел, а оно хорошо только монополистам.
я считаю что как раз наоборот – надо абстрагировать все до предела и давать алгоритмы на основе программируемой логики – вобщем в школе никаких тьюринговских машин не юсать ни в каком виде!!!
- а процедурное программирование дать только как пример реализации, не более.
Не программированию а проектированию (Design) учить можно и нужно.
Например, научить компоновать фигуры, которые связываются между собой и начинают “работать” (видел когда-то такую игрушку). Или создать ребенку его “уголок” в компьютере на основе простой, но наглядной обучающей программы…
Вот только в чем будет радость от творчества? Конструировать можно и “реальные” домики, дороги, машинки из конструкторов (5-6 лет, самое то!).
И как к этому добавить алгоритмы, циклы, ветвления… Я думаю, польза от такого раннего образования будет. Но вот какой будет вред?…
Программирование и математика в профессиональной форме – делают из людей задротов. Я не рекомендовал бы портить своим детям жизнь, делая их параноиками и прямолинейными занудами. Не гуманно это всё. Каждый ребёнок сам должен выбрать сферу своей деятельности и если это информатика- почему бы нет?, а если нет, то слава богу.)