Действительно. А зачем? Какую цель ставит родитель, решивший привить ребенку любовь к программированию? Я могу придумать несколько хороших и плохих решений учить этому ребенка. Я не знаю, перечислю ли я их все, но постараюсь вспомнить хотя бы самые популярные и описать свое мнение об этом.
Начнем с хороших причин.
1. Ребенок хочет это изучать сам. Оставим за скобками, откуда ребенок нашел эту причину. Может один из родителей этим занимается. Может в интернете нахватался. Это неважно. Я считаю, что это лучшая причина. Правда мои наблюдения наводят на мысль что она и самая редкая. Хочет заниматься? В бой. Могу что-то подсказать даже в меру своих компетенций.
2. Ребенок любит конструкторы. Причина похуже, но есть свои нюансы. В определенный момент можно подсунуть ребенку Arduino или Lego Mindstorm. И тут если вы не собираетесь писать скрипты самостоятельно – придется подучить ребенка программированию. В награду откроется простор для самостоятельного изготовления игрушек.
3. Ребенок интересуется математикой. Я считаю, что такой интерес рано или поздно нужно направлять в практическое русло. Практического русла тут вагон и маленькая тележка – начиная от банального MatLab и заканчивая ручной реализацией задач, интересных ребенку. Кстати, реализация игры «Жизнь» вполне по силам ребенку. Она интересна и достаточно сложна
Переходим к плохим причинам.
1. Я хочу, чтобы мой ребенок стал программистом. Ох, тут возможны два варианта. Вариант 1: «У меня плохо с математикой». Ну т.е. человек не понимает, что когда ребенок сможет пойти работать – мир «немного» изменится. А если серьезно – скорее всего, это обучение будет бесполезной тратой времени и денег. Ну, или вы хотите отправить ребенка работать без образования. Вариант 2: «Я называю 16-летнего ребенком». Тут помочь нечем. Аромат гиперопеки чувствуется за милю. А сам юноша скорее всего ленив и инфантилен.
2. Ребенок проводит слишком много времени за компьютером. Эмм. И вы хотите что? Оставить все без изменений? Классная идея. Ребенок слишком много играет в видеоигры? Я бы на месте ребенка просто открыл бы редактор кода или учебник, запустил игру и освоил комбинацию клавиш alt+Tab. Лучше поищите семейную настольную игры и попробуйте поиграть вместе – хоть пообщаетесь.
3. Программирование развивает логическое мышление. А вы значение слова «Логика» вообще знаете? Логика, к слову, это раздел философии. Это чисто гуманитарная наука. Математическая логика, о которой идет речь – всего лишь часть логики. Если вы хотите чтобы ребенок думал максимально прямо и упрощенно – то вперед. Изучайте.
4. Программирование помогает понять устройство компьютера. С чего вдруг? Расстояние между этим пониманием и началом обучения – гигантская. И к слову это не прямая дорога, а сложная древовидная структура.
5. Программирование раскрывает творческие способности. С чего вдруг? Я не знаю кто это придумал, но несколько раз слышал подобное. Да, в некоторой степени это творческая работа. Но сам процесс эти способности точно не развивает. Инженерная мысль в большей степени прагматичная, нежели творческая.
Странно. Получается, что всю статью можно было бы описать одной фразой. «Если ребенок хочет – это хорошо, а если вы хотите – то плохо». Или это не странно? Программирование это узкоспециализированный навык. Для образования ребенка это крайне вредно. Ребенку нужно системное базовое образование. Поможет ли ему навык программирования в будущем? Скорее всего нет – банально устареет.