ОБЩАЯ ЗАДАЧА ОБУЧЕНИЯ ПРОГРАММИРОВАНИЮ

ОБЩАЯ ЗАДАЧА ОБУЧЕНИЯ ПРОГРАММИРОВАНИЮ

Итак, мы хотим учить детей законам программирования. Еще не зная их, мы понимаем, что они неизбежно будут выражены в сумме некоторых достаточно специфических приемов. Нам еще предстоит разбираться, в какой мере они посильны детям, но общие наблюдения таковы, что интеллектуальный и операционный потенциал детей далеко не исчерпан. Посмотрите, как помолодели за последние годы технические виды спорта, в особенности, плавание, гимнастика. Не знаю, как на Западе, но у нас автомашины еще дороги и люди зачастую накапливают деньги для их покупки, когда уже, как говорится, лучшие годы позади. Многие с горечью спрашивают, сколько жизней, потерянных из-за дорожных происшествий мы сберегли бы, если бы все без исключения научились водить машину в 14-15 лет.

Нет, однако, никакой возможности нагружать детей конденсатом всего жизненного опыта, которым обогащено человечество. В этих попытках нас подстерегают и другие опасности. Каждый человек в СССР знает детскую песенку, которую поет Алла Пугачева, о горестной жизни школьника:

Нагружать все больше нас

Стали почему-то.

Нынче в школе первый класс

Вроде института.

Не бываю я нигде,

Не дышу озоном,

Занимаюсь на труде

Синхрофазотроном.

То ли еще будет,

То ли еще будет,

То ли еще будет, ой-ой-ой.

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

Этот импринтинг детских лет происходит, естественно, со всеми; можно сказать, что каждый из нас является Маугли своего детства, все дело в том, что с нами происходит и чему нас учат в эти годы.

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

Законы программирования, законы обработки информации, по моему убеждению, существуют. С одной стороны, они появляются в форме операционных правил, отражающих непосредственный опыт человечества. Все мы знаем знаменитое римское изречение «Разделяй и властвуй», воспринимая его, главным образом, как образец политического цинизма. Однако лишь только современная математика и программирование придали ему (в виде метода ветвей и границ) совершенное выражение мощного по своей силе и продуктивности эвристического принципа решения задач. Каким бы случайным этот пример ни оказался, он иллюстрирует важное положение о глубокой и нерасторжимой связи операционного знания и алгоритмического мышления с другими компонентами образования.

Таким образом, с другой стороны, законы программирования смыкаются с математическим образованием, образуя единый, но еще не построенный фундамент воспитания операционного и комбинаторного мышления, способности к абстракции, рассуждению и действию.

На меня всегда производит сильное впечатление один простой пример задачи на программирование как демонстрация перехода от знания к действию. Я выпишу последовательные этапы перехода от спецификации, выражающей знание, к программе, выражающей действие, для задачи возведения числа x в целую степень n:

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

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

Приложение А Научитесь программированию за десять лет

Из книги автора

Приложение А Научитесь программированию за десять лет «Опыт, сущ.: Нечто, что вы не получаете до тех пор, пока это вам не понадобится». - Оливер - Данная глава написана Петером Норвигом (Peter Norvig, © 2001 г.). Воспроизводится по разрешению. Оригинальную статью, включая


10.6. Задача производителей и потребителей

Из книги автора

10.6. Задача производителей и потребителей В разделе 7.3 мы описали суть задачи производителей и потребителей и привели несколько возможных ее решений, в которых несколько потоков-производителей заполняли массив, который обрабатывался одним потоком-потребителем.1. В нашем


5. Один объект — одна задача

Из книги автора

5. Один объект — одна задача РезюмеКонцентрируйтесь одновременно только на одной проблеме. Каждый объект (переменная, класс, функция, пространство имен, модуль, библиотека) должны решать одну точно поставленную задачу. С ростом объектов, естественно, увеличивается


ТИПОВАЯ ЗАДАЧА: ИНВЕНТАРИЗАЦИЯ КНИГ

Из книги автора

ТИПОВАЯ ЗАДАЧА: ИНВЕНТАРИЗАЦИЯ КНИГ      Гвен Гленн хочет напечатать опись своих книг. Она хотела бы занести в нее различную информацию о каждой книге: ее название, фамилию автора, издательство, год издания, число страниц, тираж и цену. Теперь некоторые из этих элементов,


Совет 24 Великолепная задача на сегодня

Из книги автора

Совет 24 Великолепная задача на сегодня Хорошо сделать свою работу и получить за это высокую оценку приятно. Интуитивно большинство из нас это понимает, но когда дело доходит до реального приложения усилий, позволяющего выделиться, мы демонстрируем удивительную


4.5. Задача о восьми ферзях

Из книги автора

4.5. Задача о восьми ферзях Эта задача состоит в отыскании такой расстановки восьми ферзей на пустой шахматной доске, в которой ни один из ферзей не находится под боем другого. Решение мы запрограммируем в виде унарного отношения:решение( Поз)которое истинно тогда и только


5.2.4. Задача классификации объектов

Из книги автора

5.2.4. Задача классификации объектов Предположим, что у нас есть база данных, содержащая результаты теннисных партий, сыгранных членами некоторого клуба. Подбор пар противников для каждой партия не подчинялся какой-либо системе, просто каждый игрок встречался с


13.2.2. Задача о ханойской башне

Из книги автора

13.2.2. Задача о ханойской башне Задача о ханойской башне (рис. 13.6) — это еще один классический пример эффективного применения метода разбиения задачи на подзадачи и построения И / ИЛИ-графа. Для простоты мы рассмотрим упрощенную версию этой задачи, когда в ней участвует


ТЕМА НОМЕРА: Задача с ограничениями

Из книги автора

ТЕМА НОМЕРА: Задача с ограничениями Автор: Леонид Левкович-МаслюкВ этом номере мы заканчиваем тему «Наблюдатели в Альпах», начатую в «КТ» #686 и посвященную «мягкому и жесткому контролю при мониторинге информационных сетей». Напомним, что фраза в кавычках воспроизводит


Задача предложения rescue

Из книги автора

Задача предложения rescue Последний комментарий позволяет нам продвинуться в лучшем понимании механизма исключений, обосновав теоретическую роль предложения rescue. Формальные рассуждения помогут получить полную


Зачем нам чемпионы по программированию?

Из книги автора

Зачем нам чемпионы по программированию? Автор: Анатолий ШалытоОлимпиады школьников по математике проходят в нашей стране с 1934 года, когда в Ленинграде состоялась первая из них. Для многих школьников, особенно победителей олимпиад высокого уровня, участие в этих