Comments 22
По статье — автору спасибо. Сам пользуюсь Scratch для обучения племянника. Лучшего инструмента для обучения детей до 14 лет нет. ИМХО
По теме статьи — при чуть боле сложном алгоритме мозг взрывается — необходимо думать об алгоритме и этих графических блоках.
Ребенок может от такого и потерять интерес к программированию вообще.
Быть может сразу приучать к тексту?
Кстати, по поводу думания о графических блоках — дело привычки. У нас в обычных текстовых средах также много символов, на которые мы можем отвлекать, но мы можем же это убрать подальше ;)
Вы знаете, что большинство людей «визуалы» и нам интересно видеть, как алгоритм работает, двигает картинки, делает красивые штуки. А самое важное, что это быстро получается и видно результат каждого добавления блоков/команд. В то время для текстовых языков необходимо сначала освоить клавиатуру.
И перед обучением поставьте цели. Если есть задача обучить текстовому языку, то тут необходимо выбрать текстовый язык. В то время, как цель по обучению детей построению алгоритмов, декомпозиции задач, структуризации и обобщения данных, то здесь уже важно достичь данных целей, а не использовать конкретный язык.
Как я писал в другом комментарии, вы можете комбинировать языки программирования для того, чтобы быстрее достичь ваших целей обучения.
А опишите свой опыт обучения детей С языку.
Давайте отталкиваться от того, что сейчас другие реалии и современные дети видят мир совершенно по другому. А также в развитии ребенка нужно исходить из его возраста и предпочтений. Плюс необходимо абстрагироваться от собственного мнения и давать ребенку, что ему интересно, а не зомбировать технологией. Вы можете комбинировать инструменты для достижения целей обучения. Например, С/С++ хорош для определенного круга задач, мы же не будем использовать молоток, чтобы вкрутить шуруп.
Да, кстати, сейчас есть блочные языки программирования для разработки ПО сложного профессионального оборудования.
Не отвлекаясь и не уходя далеко, мне кажется, есть одна самая важная вещь (имхо): у ребёнка должно появится самостоятельное сильное желание этим заниматься. В первую очередь важно привить ребёнку желание познавать окружающий мир, исследовать, выходить за пределы своих текущих ограничений.
Мне кажется, раньше подросткового возраста прививать программирование будет ещё чересчур рано. Ребёнок должен более-менее хорошо учиться в школе, знать математику, иностранные языки, быть грамотным. Читать книги, в том числе научную и популярную фантастику, вдохновляться космосом, научно-популярной литературой, мастерить, играть в различные конструкторы, смотреть правильные фильмы.
Я смотрю на этот Scratch и у меня он вызывает неприязнь. Мне было бы неприятно и скучно им заниматься, как ребёнку. А, перефразировав классика, для детей нужно делать как взрослых, только лучше. В 16 лет C/C++ меня поразил и запал в душу. Scratch на это не способен. Он не только не вдохновляет, но даже не развлекает. Похоже скорее на скучную игру.
Чтобы из ребёнка вырос программист, купите ему сборник книг Булычева, Азимова, Лема, Брэдбери. Железные конструкторы, шкаф шурупов, дощечек, проводов, батареек, моторчиков и переключателей. Квесты и различные познавательные игры на английском. Скачивайте или покупайте ему хорошие, фильмы, которые заставляют задумываться. Запишите его в шахматный клуб, если они до сих пор существуют. Ну или на карате. Тяжёлые, долгие многочасовые тренировки на выносливость, концентрацию и результат очень пригодятся потом в длительных и утомительных часах отладки.
Вот тогда очень вероятно, что ваш ребёнок в подростковом возрасте действительно станет интересоваться программированием и преуспеет в нём. Если до этого мурыжить ребёнка вот этим Scratch'ем, то у него может появится неприязнь к программированию на уровне подсознания. Может быть как раз сейчас вы готовите будущего талантливого художника, дизайнера или режиссёра, что тоже неплохо.
Опыт предыдущих поколений показывает, что если есть интерес и склонность к программированию, то дети нормально осваивают работу с исходным кодом в виде текста.
Надо исходить из целей, которые ставит преподаватель:
Если заинтересовать — то Scratch, LightBot или что-то такое визуальное. Ибо графические образы более запоминающиеся. На больших и сложных задачах исходный код таких примеров становится очень громоздким.
Если интерес есть и надо изучить вопрос более серьезно, то надо переходить к текстовому представлению. На практике почти весь код написан в виде текста, в графическом виде типа FBD на порядки меньше.
Может быть переходный вариант, исходный код в виде текста, но управляется графическими объектами (как в Лого в свое время было).
По большому счету не важно в каком виде исходный код, важно интересны ли задачи ученику и может ли учитель заинтересовать в предмете.
IMHO, для данного ПО критически важной должна являться возможность переключения визуализации на естественное текстовое представление (а точнее — таково должно быть внутреннее представление кода). Данное представление должно использоваться в качестве этапа приучения к горшку натуральному коду.
В противном случае это будет гермафродитная система с, якобы, пониженным уровнем входа, но с завышенным уровнем выхода.
Я бы предпочел LOGO.
Актуально в 2017г. Учебники по Scratch для детей 7-12 лет.
Scratch для «продвинутых»