Введение

Вы могли заметить, что курсы 1 и 2 класса были построены практически одинаково. Курс 3 класса построен похожим образом, но имеет некоторые отличия. Как и в 1–2 классе, уроки у нас будут делиться на обычные и проектные. Проекты при этом будут бумажными и компьютерными. Как и 1–2 классах, большинство обычных (не проектных) уроков (за исключением отдельных занятий) имеет бумажную и компьютерную часть. То есть часть урока дети будут работать с бумажными материалами курса, а остальное время – за компьютерами. Большинство обычных уроков интегрируют в себе работу с бумажным учебником и работу с компьютерным уроком по соответствующей теме. Как видите, в курсе 3 класса отсутствуют занятия с Клавиатором. Зато имеются компьютерные проекты, которые удобно разбивать на части по пол-урока (см. проект «Дневник наблюдения за погодой). Поэтому в курсе 3 класса имеется несколько уроков, на которых работа с бумажным учебником интегрируется с работой в рамках компьютерного проекта.

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

В третьем классе подача материала становится более плотной. В частности, уже не отводится столько уроков на повторение. Повторение содержания первого и второго класса будет вестись параллельно, по ходу работы. При этом основные определения из курсов первого и второго класса помещены на внутренние стороны обложки Части 1. Дети всегда могут к ним обратиться, если что-то позабыли.

Способы решения задач

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

Метод последовательного перебора. Метод состоит в том, чтобы последовательно и систематически, в некотором смысле «тупо и механически», перебирать все возможные варианты решения. Часто говорят также о «переборе вариантов» или «переборе возможностей», и мы именно так и будем говорить. Иногда (и не так уж редко) это приводит к полному решению задачи. Иногда это позволяет накопить экспериментальный материал для того, чтобы сузить пространство перебора или начать последовательно и направленно идти к ответу, используя уже другие методы.

Часто одна или несколько из рассматриваемых (перебираемых) возможностей сама в свою очередь состоит в последовательности выборов. Например, пытаясь найти выигрышную стратегию в игре, можно рассматривать все возможные варианты первого хода, затем все возможные варианты хода противника, затем все варианты нашего второго хода и т. д. Тогда для перебора возможностей нам следует организовать перебор различных последовательностей выборов. Эту ситуацию естественно представлять в виде дерева перебора (деревьями мы занимаемся с детьми в курсах третьего и четвертого классов). В ходе реализации последовательности выборов мы можем прийти к выводу, что на данном пути решения нет – оказаться в «тупике». Это значит, что придется вернуться назад и выбрать следующую возможность.

Стратегия полного перебора позволяет найти решение, если оно есть. Почему же мы не решаем с помощью нее все задачи? Ответ состоит в том, что перебор может занять слишком много времени. Кроме того, если решения нет, то мы можем об этом никогда не узнать. Предположим, что для решения какого-то уравнения мы перебираем все целые числа, подставляем их в уравнение, а у уравнения вообще нет решения. Тогда наш процесс будет продолжаться бесконечно долго.
Одним из самых замечательных результатов «большой» информатики является открытие того факта, что большое число задач, для которых пока найден только переборный метод решения, в некотором смысле одинаковы (такие задачи иногда называют «переборными»). Специалисты считают, что, скорее всего, ни для одной из них более быстрого способа нахождения ответа не существует. Если бы быстрый способ все же нашелся для одной переборной задачи, то мы сразу же получили бы его для всех. Этот замечательный факт был обнаружен на рубеже 70-х годов ХХ в. одновременно советскими и американскими математиками. Вот пример переборной задачи: «Дан мешок натуральных чисел и еще одно число. Можно ли найти в мешке несколько чисел так, чтобы их сумма была равна этому данному?»
Идея метода полного перебора в какой-то степени противостоит распространенным школьным идеям о правильном первом шаге в решении, об искусственном приеме и т. п. Однако противоречия здесь нет, в действительности и в человеческой практике и при решении учебных задач полезно, а иногда и необходимо использовать и ту и другую стратегии.

Метод проб и ошибок («Метод тыка»). Идея метода состоит в том, что для накопления экспериментального материала не обязательно последовательно и систематически перебирать все возможные варианты ответа. Мы можем попробовать сделать нечто, а если выяснится, что результат не достигнут, то есть произошла ошибка, то сделать что-то другое. И так пробовать, пока не найдем ответ или не сумеем сузить пространство перебора или найти иной подход к решению. Иногда даже один, взятый наугад случайный вариант ответа (не подошедший в качестве ответа) позволяет получить достаточно информации, чтобы планомерно построить настоящий ответ. Иногда надо попытаться взять случайный, но типичный или самый простой, или самый сложный объект и попытаться исследовать его и т. д.

Такой способ является очень естественным для детей, хотя обычно и не поощряется школой. В названии способа имеется слово «ошибка», но мы считаем, что ничего плохого в этом нет. Нужно приучить ребенка к тому, что без ошибок никакая человеческая деятельность не обходится, ошибаться не позорно, но надо учиться замечать и исправлять свои ошибки. Это вообще исключительно важно: школа часто выстраивает перед ребенком идеал безошибочности, что вредит ему в дальнейшей учебе и жизни. Возможность ошибиться и затем исправить, найти свою ошибку – психологически важно для ребенка, надо его не ругать за пробы и перебор вариантов, а хвалить.
Данный метод отличается от предыдущего именно тем, что в нем перебор «непоследовательный», так сказать, «хаотичный». Он уже не гарантирует нахождения ответа. Более того, часто бывает, что действующий по нему человек много раз выбирает бесперспективный путь, «топчется на месте». Почему же все-таки люди используют такую стратегию, а мы рассматриваем ее в своих книгах? Оказывается, что при переборе наугад у человека быстрее включаются на сознательном и подсознательном уровнях алгоритмы выявления закономерностей, позволяющие классифицировать объекты и сократить перебор, найти более прямой путь к решению. При переборе возможностей накапливается опыт, показывающий, какого типа действия стоит пробовать, а какого – бесполезно. И в решении задачи возникнет более экономная стратегия, а может даже появиться и готовое решение задачи, не базирующееся на пробах, а исходящее из понимания того, «как все на самом деле устроено». Чтобы научить детей правильно использовать такой метод, надо выработать у них привычку анализировать процесс перебора, спрашивать у них, почему они решили попробовать тот или иной вариант, почему вариант не подошел, все ли подходы учтены и использованы.

Метод Монте-Карло. Можно стараться не угадать, какой объект попробовать в методе проб и ошибок, а действовать «строго наугад», «с закрытыми глазами». Пробуя такие случайные объекты, можно собрать важную информацию. Например, можно составить представление о том, сколь много есть решений у данной задачи, среди всех возможных, а не просто найти одно решение. Название «Монте-Карло» – это не фамилия автора метода, а отсылка к игорному (случайному) выбору. Чтобы получить случайный объект, например цепочку нулей и единиц, можно бросать монету (чтобы получить цепочку целых чисел от 1 до 6 можно бросать игральную кость). Для компьютеров пишут специальные программы, позволяющие создавать объекты (например, числа), похожие на случайные.

Метод сборки снизу вверх (метод «Разделяй и властвуй»). Этот метод состоит в том, чтобы выделить в задаче частичные подзадачи, построить их решения, а потом из них «склеить» все решение. С упомянутым подходом тесно связано проектирование сверху вниз, при котором мы описываем нужные нам свойства всего объекта (например, программы), затем разбиваем этот объект на части (например, выделяем так называемые подпрограммы) так, что если эти части имеют правильные свойства (например, работают правильно), то весь объект будет решением задачи. Так можно поступать и далее, измельчая получающиеся объекты до тех пор, пока не станет совсем ясно, как построить самые мелкие. Название «Разделяй и властвуй» связано с латинским изречением «Dividio et Conquar», соответствующем стратегии управления, при которой начальник (император) справляется (расправляется) с отдельными частями управляемой системы (провинциями, вассалами, завоевываемыми территориями) и в результате управляет целым.

В нашем курсе мы будем знакомиться с различными применениями метода «Разделяй и властвуй» и будем строить объекты сверху вниз. В вычислительных информатических задачах этот метод реализуется как «метод динамического программирования».

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

В задачах и проектах третьего класса мы уделяем много внимания тому, чтобы продемонстрировать и вложить в руки детей способы решения разных типов задач. С одной стороны, формирование эффективных способов решения (эффективных алгоритмов) – важная часть современной науки информатики. С другой стороны, просто рассказывать детям о разных способах и даже демонстрировать их – дело неэффективное (опять мы говорим об эффективности!) и даже в основном бесполезное. Мы хотим, чтобы дети не просто были проинформированы о способах, скажем, сортировки объектов, но действительно пользовались ими не только при решении задач нашего курса, но и в жизни. Чтобы достичь этого, для начала нужно у каждого ребенка создать достаточную мотивацию использования того или иного способа действия. Работая с задачами курса, дети постоянно сталкиваются с необходимостью как-то структурировать, планировать свои действия. Не случайно в комментариях к задачам мы часто просим вас дать возможность каждому ребенку поработать с задачей самостоятельно, даже если вы заранее знаете, что она будет трудна для какого-то учащегося. Опыт самостоятельной работы над задачей, поиск решения, изобретение своих собственных способов решения – одно из самых развивающих интеллектуальных действий. При такой работе постепенно формируется ощущение необходимости выработки стратегии решения. Только после того, как ребенок накопил достаточный (самостоятельный!) опыт, он сможет понять и принять те методы работы, которые вы ему предложите, скажем, на проектном уроке или при обсуждении решения очередной задачи. Усвоенный алгоритм работы, например, сортировки, или попарного сравнения объектов, потом можно реализовывать в формализованном виде с абстрактными математическими объектами. Эта общая схема – отработка алгоритма на видимых осязаемых объектах с последующим переносом на абстрактные математические объекты – используется во многих местах нашего курса.

В курсе четвертого класса мы продолжим обсуждать с детьми проблемы планирования и построения стратегии на примере различных игр.

Графические и телесные решения

Как и в курсах первого и второго классов, в учебнике третьего класса практически все задачи формулируются и решаются в графической форме. Объекты – символы-бусины и их сочетания (цепочки, мешки, деревья) – наглядны. Действия – установление соответствия между объектами, соединение объектов – также имеют графическое представление. Такое представление объектов, операций и отношений в большой степени статично: проделанные действия нелегко отменить или изменить. Многие задачи особенно удобно решать, если бусины или другие объекты, встречающиеся в задаче, можно разложить на столе, двигать и перекладывать, при необходимости соединять в цепочки, складывать в мешки, то есть перейти от графического представления к тому, которое мы называем телесным. При этом эксперимент, в частности, перебор объектов и их сочетаний, можно производить уже не в уме и не выписывать или вырисовывать символы на бумаге (что долго и утомительно), а легко передвигать объекты на столе и выстраивать их в нужные сочетания, как это происходит в разнообразных играх (домино, шахматы). Особенно важно, что при этом легко отменить то или иное действие или последовательность действий. Это важно, в частности, когда мы перебираем различные возможные действия и отбрасываем те из них, которые (иногда после нескольких шагов) не дали нужного результата.

На вкладыше в Части 2 учебника есть специальный лист с бусинами, которые можно вырезать и использовать для решения задач с бусинами. Также удобно использовать в задачах с цепочками конструктор цепочек, который дети сделали во 2 классе в проекте «Бусины и цепочки». Для работы с фигурками удобно скопировать страницу и вырезать из нее нужные объекты. К некоторым задачам приложен специальный лист вырезания, содержащий все фигурки (задачи 54, 99 и 106 из Части 1 и 92 из Части 2). Можно просто изготовить необходимое число маленьких карточек для применения в различных задачах и, если потребуется, написать на них нужные названия фигурок, которые являются бусинами. Учитель имеет возможность поступить по-разному: например, предложить детям, которые решают задачи быстрее и увереннее, сначала попытаться решить задачу без дополнительных вырезанных бусин, а если это не получится, воспользоваться вырезанными бусинами. Тем, кто решает помедленнее, можно сразу порекомендовать работать с вырезанными бусинами. Начиная с некоторого момента лучше дождаться предложения поработать с вырезанными бусинами от самих детей и после этого договориться с разными детьми о разных моделях работы. В любом случае предпочтительно оставить каждого из детей решать задачу так, как он хочет. Эти соображения относятся ко многим из последующих задач, и в дальнейшем мы более не будем их повторять.