Методика преподавания темы "Программирование в среде Scratch" учащимся начальной школы
Сегодня наука и технология развиваются столь стремительно, что образование зачастую не успевает за ними. Например, для того, чтобы успешно выступать на Российских олимпиадах по информатике, надо серьёзно заниматься, начиная с начальной школы. Ведущие вузы и фирмы, работающие в области информационных технологий, – МГУ, МФТИ, МИФИ, Intel и др. – стараются привлечь школьников к научной деятельности, причём с всё более раннего возраста. Для этого проводятся конкурсы, викторины, олимпиады и другие мероприятия.
Уже в младшем школьном возрасте интересы многих ребят претерпевают существенные изменения, и большинство из них сильно удаляются от учебной деятельности вообще и научно-познавательной – в частности. Это можно объяснить разными причинами (что и делают психологи и педагоги), но одной из наиболее серьёзных таких причин, несомненно, является неуспешность наших детей в учебной деятельности или боязнь такой неуспешности. Как показывают исследования психологов, боязнь потерпеть неудачу в школе дети ставят на второе место (по силе стресса), сразу после смерти родителей. В такой ситуации одной из важнейших задач педагогов следует считать создание комфортной учебно-воспитательной среды, в которой возможна наиболее полная самореализация ребёнка.
Другой причиной снижения интереса учеников, имеющей отношение собственно к информатике, является очень небольшое количество часов, предусмотренное федеральными образовательными стандартами на изучение данного предмета. Более того, стандарты второго поколения вообще не включают дисциплину «Информатика», заменяя её «Информационными технологиями». Основной акцент предполагается сделать на приобретении учениками информационной грамотности, подразумевающей общие навыки обработки информации различных видов. Теоретическая же подготовка по информатике вынесена во внеучебную деятельность и, таким образом, носит факультативный характер.
Поэтому наиболее остро стоит проблема изучения возможных подходов к организации проектной внеучебной образовательной деятельности по информатике в начальной школе. Опыт таких видных педагогов как М.П. Лапчик, И.Г. Семакин, Е.К. Хеннер свидетельствует, что такая деятельность позволяет, с одной стороны, организовать среду для самореализации и самоутверждения учеников, и, с другой стороны, сформировать у них тягу к творчеству и знаниям и дать подходящие средства её реализации. Решение выше указанной проблемы может базироваться на использовании в обучении информатике языка программирования Scratch.
Scratch – это объектно-ориентированная среда, в которой блоки программ собираются из разноцветных кирпичиков команд точно также, как машины или другие объекты собираются из разноцветных кирпичиков в конструкторах Лего. Кроме того, в нем можно найти современные идеи из сред визуального программирования типа Delphi и даже из презентационных систем.
Scratch – это мультимедийная система. Большая часть операторов языка направлена на работу с графикой и звуком, создание анимационных и видеоэффектов. Манипуляции с медиаинформацией – главная цель создания Scratch.
На данный момент методика преподавания темы «Программирование в среде Scratch» не разработана. В связи с этим целью дипломной работы является разработка методики преподавания темы «Программирование в среде Scratch» учащимся начальной школы.
Задачи исследования:
1) ознакомиться со средой Scratch, с ее возможностями и характеристиками;
2) уточнить особенности программирования в среде Scratch;
3) провести анализ учебников, учебных пособий и методической литературы;
4) выявить специфику обучения младших школьников программированию в среде Scratch;
5) разработать перечень вопросов, которые необходимо отразить при изучении темы «Программирование в среде Scratch»;
6) разработать методические рекомендации по преподаванию и тематическое планирование по теме «Программирование в среде Scratch»;
7) провести экспериментальную проверку разработанной методики.
Дипломная работа состоит из введения, трех глав и заключения, содержит список литературы.
В первой главе «Теоретические основы проблемы преподавания темы «Программирование в среде Scratch» учащимся начальной школы» рассмотрены теоретические основы проблемы преподавания темы «Программирование в среде Scratch», в том числе:
1) описание среды программирования Scratch;
2) особенности программирования в среде Scratch;
3) анализ учебников и учебных пособий по информатике.
Во второй главе «Разработка методики преподавания темы «Программирование в среде Scratch» учащимся начальной школы» описывается специфика преподавания темы «Программирование в среде Scratch» учащимся начальной школы, в том числе:
1) перечень вопросов, рассматриваемых при изучении темы;
2) методические рекомендации по преподаванию темы;
3) тематическое планирование по теме «.
В третьей главе «Экспериментальная работа по применению методики преподавания темы «Программирование в среде Scratch» в начальной школе» описывается диагностика умения младших школьников программировать в среде Scratch и проводится анализ эффективности разработанной методики. Приводится пошаговая инструкция по разработке двух проектов, которые стали результатом изучения темы «Программирования в среде Scratch» учащимися начальной школы.
Экспериментальная проверка разработанной методики прошла в ГОУ СОШ «Школа здоровья» №1136 и показала свою эффективность, что позволяет рекомендовать методику к использованию учителями информатики, работающих в начальной школе.
программирование преподавание проект школьник
1. Теоретические основы проблемы преподавания темы «Программирование в среде Scratch» учащимся начальной школы
1.1 Описание среды программирования Scratch
Интерфейс программы спроектирован и сделан в расчете на детей, поэтому он максимально хорошо понимается интуитивно. Рассмотрим, как устроена среда. После запуска программы экран имеет вид (см. рис. 1).
Рис. 1. Интерфейс программы
Главная область (см. рис. 2), это, конечно же, сцена (располагается в правой части экрана), на ней отображаются результаты работы проекта.
Рис. 2. Сцена
Чтобы на сцене что-нибудь происходило, необходимо создать спрайты (см. рис. 3), т.е. визуальные динамические объекты; для этого используются специальные кнопки (см. рис. 4).
Рис. 3. Спрайты
Рис. 4. Кнопки создания новых спрайтов
Все, что создано, отображается на листе спрайтов, где можно выбрать один из спрайтов для настройки. При этом информация о текущем спрайте отображается в средней части экрана – поле скриптов (см. рис. 5). Это поле предназначено для описывания поведения данного спрайта.
Рис. 5. Поле скриптов
Верхнее поле содержит закладки (см. рис. 6), с помощью которых можно от просмотра скриптов перейти к просмотру возможных видов (рисунков) спрайта и связанных с данным спрайтом звуков. Краткая информация о выбранном спрайте: имя, текущий образ, координаты, направление и т.д. находятся выше (см. рис. 7).
Рисунок 6. Закладки
Рис. 7. Краткая информация о спрайте
В этой же области находится кнопка , вызываемая путем нажатия правой кнопки мыши на спрайт или звук, позволяющая сохранить спрайт или звук в виде отдельного файла.
Стоит подчеркнуть, что скрипты являются составной частью каждого спрайта, подобно визуальным образам и звукам. Общие атрибуты, относящиеся ко всему проекту в целом, можно присоединить к сцене: у нее также могут быть свои скрипты, образы и звуки.
При создании скриптов используется палитра блоков, которая занимает левую часть экрана (см. рис. 8). В ее верхней части располагаются 8 разноцветных кнопок, которые выбирают нужную группу команд: движение (см. рис. 8), внешность (см. рис. 9), звук (см. рис. 10), перо (см. рис. 11), контроль (см. рис. 12), сенсоры (см. рис. 13), числа (см. рис. 14), переменные (см. рис. 15). Команды выбранной группы отображаются в нижней части выбранного окна.
Рис. 8. Палитра блоков
Рис. 9. Внешность
Рис. 10. Звук
Рис. 11. Перо
Рис. 12. Контроль
Рис. 13. Сенсоры
Рис. 14. Числа
Рис. 15. Переменные
Когда все готово, можно нажать кнопку и перейти в полноэкранный режим, в котором сцена займет весь экран, а все остальные области убираются. Полученный режим очень напоминает просмотр готовой презентации в Power Point.
Практически все управление системой сосредоточено в верхней части экрана. Главное меню, выполнено в виде горизонтальных кнопок.
Рис. 16. Главное меню
Кроме них отдельно выделены кнопки переключения режима поворота спрайтов, панель инструментов, а также кнопки запуска и остановки скриптов.
Из вышесказанного становится понятно, что Scratch разрабатывался как новая учебная среда для обучения школьников программированию. В то же время учащиеся в полной мере могут раскрыть свои творческие таланты, так как в нем можно легко создавать фильмы, игры, анимированные открытки и презентации; придумывать и реализовывать различные объекты, определять, как они выглядят в разных условиях, перемещать по экрану, устанавливать способы взаимодействия между объектами. Дети могут сочинять истории, рисовать и оживлять на экране придуманных ими персонажей, учиться работать с графикой и звуком. Важно и то, что ребенок имеет возможность поделиться результатом своего творчества с друзьями или другими пользователями.
Scratch создавался для учащихся начиная от 8 и до 16 лет, но и дети более раннего возраста могут работать в этой среде над проектами вместе с родителями или старшими братьями и сестрами. С другой стороны, даже студенты многих вызов могут использовать Scratch на занятиях в компьютерных классах.
1.2 Особенности программирования в среде Scratch
Scratch – среда программирования, появившаяся относительно недавно, даёт возможность учащимся младшего и среднего школьного возраста создавать игры, фильмы, анимированные истории и многое другое. Программа Scratch в объектно-ориентированной среде «собирается» из разноцветных блоков команд так же, как собираются из разноцветных кирпичиков в конструкторах Лего различные объекты. Создание программ в Scratch происходит путём совмещения графических блоков в стеках. При этом блоки сделаны так, что их можно совмещать только в синтаксически верные конструкции, что исключает ошибки. Различные типы данных имеют разные формы блоков, подчеркивая совместимость / несовместимость объектов между собой. Имеется возможность внесения изменений в программу даже тогда, когда она запущена, что позволяет экспериментировать с новыми идеями по ходу решения задачи. В результате выполнения простых команд создаётся сложная модель, в которой взаимодействуют множество объектов, наделенных различными свойствами. После того как проект создан в Scratch, есть возможность его разместить на сайте http://scratch.mit.edu/.
Одним из принципиальных достоинств данной среды является то, что она является свободно распространяемым программным продуктом, таким образом, любое образовательное учреждение может скачать программу из интернета и приступить к непосредственному изучению и работе в новой среде программирования. Scratch не требует установки.
Сама идеология Scratch позволяет использовать при обучении современные методики и технологии обучения, такие как проблемный подход и метод проектов. После изучения основных конструкций языка и возможностей среды ставится задача по созданию и разработке соответствующего проекта. Это могут быть различные истории, тематику которых учитель предлагает с учётом возрастных особенностей учащихся, например, «Моя семья», «Мои увлечения», «Талантливые люди» (традиционная тематика проектов для пропедевтического обучения); рекламные ролики; анимированные истории по стихам и сказкам, изучаемым в школе и просто любимым учениками и т.д.
Данная технология обучения стимулирует учащихся к освоению возможностей языка программирования, изучению предмета «Информатика и ИКТ», подчеркивая их практическую личностную значимость. Анализ работы в Scratch показывает, что программа достаточно проста и легко осваивается. Однако, несмотря на свою простоту, Scratch предоставляет пользователю разнообразные средства работы с мультимедийными ресурсами, что вызывает интерес у учащихся, способствует развитию положительной мотивации к предмету в целом.
Среда Scratch разработана и поддерживается группой MIT Media Lab из Массачусетского института технологии (http://scratch.mit.edu). Scratch является бесплатным продуктом, что немаловажно для российских школ. Его разработка ведётся на языке Squeak, одном из наследников Smalltalk. Алан Кей, стоящий у истоков Smalltalk, а значит и у самых корней объектно-ориентированных технологий вообще, очень заинтересованно относится к развитию мышления и креативности детей. Причём Кей считает, что такое развитие должно начинаться как можно раньше: «…the media that powerfully shape our ways of thinking must be made accessible as early in life as possible». Среда (и язык) программирования Scratch, по задумке его создателей, является как раз тем средством, которое способно формировать «способы мышления».
Одной из главных концепций языка Scratch, является развитие собственных задумок с первой идеи до конечного программного продукта. Для этого в Scratch имеются все необходимые средства:
– стандартные для языков процедурного типа: следование, ветвление, циклы, переменные, типы данных (целые и вещественные числа, строки, логические, списки – динамические массивы), псевдослучайные числа;
– объектно-ориентированные: объекты (их поля и методы), передача сообщений и обработка событий;
– интерактивные: обработка взаимодействия объектов между собой, с пользователем, а также событий вне компьютера (при помощи подключаемого сенсорного блока);
– параллельное выполнение: запуск методов объектов в параллельных потоках с возможностью координации и синхронизации;
– создание простого интерфейса пользователя.
Вместе с тем в Scratch пока отсутствуют такие важные компоненты языка вообще и объектно-ориентированного языка в частности, как процедуры и функции, передача параметров и возвращение значений (кроме как через глобальные переменные), рекурсия, определение классов объектов, наследование и полиморфизм, обработка исключений, текстовый ввод и файловый ввод и вывод. Однако не вызывает сомнений, что в ближайшем будущем язык пополнится этими и, вероятно, некоторыми другими компонентами. Как мы видим, Scratch действительно имеет богатые возможности. При этом для начала его изучения не требуется ничего (на первых порах), кроме умения читать, поскольку программа составляется из готовых цветных блоков. Этому уровню соответствуют практически все первоклассники.
Одной из важнейших особенностей проекта Scratch является большое постоянно действующее сообщество пользователей. Собственные разработки можно выкладывать в интернет и затем просматривать их на любом компьютере, где установлена Java (или сам Scratch). В настоящее время актуальной является версия Scratch 1.3, поддерживающая кириллицу (и несколько десятков других языков).
Уже в начальной школе дети легко могут освоить такие понятия как «параллельность» и «синхронизация». При этом важным является не «знание» терминологии, но понимание взаимной связи выполняющихся потоков.
Scratch берет все лучшее от вычислительной техники и дизайна интерфейсов для того, чтобы сделать процесс программирования более привлекательным и доступным для детей, подростков и тех, кто хочет научиться программированию. Основные особенности Scratch:
· Блочное программирование. Для создания программ в Scratch, вы просто совмещаете графические блоки вместе в стеках. Блоки сделаны так, чтобы их можно было собрать только в синтаксически верных конструкциях, что исключает ошибки. Различные типы данных имеют разные формы, подчеркивая несовместимость. Вы можете сделать изменения в стеках, даже когда программа запущена, что позволяет больше экспериментировать с новыми идеями снова и снова.
· Манипуляции данными. Со Scratch вы можете создать программы, которые управляют и смешивают графику, анимацию, музыку и звуки. Scratch расширяет возможности управления визуальными данными, которые популярны в сегодняшней культуре – например, добавляя программируемость, похожих на Photoshop фильтров.
· Совместная работа и обмен. Сайт проекта Scratch предлагает вдохновение и аудиторию: вы можете посмотреть проекты других людей, использовать и изменить их картинки и скрипты, и добавить ваш собственный проект. Самое большое достижение – это общая среда и культура, созданная вокруг Scratch.
Scratch предлагает низкий пол (легко начать), высокий потолок (возможность создавать сложные проекты) и широкие стены (поддержка большого многообразия проектов). В работе со Scratch уделяется особое внимание простоте, иногда даже в ущерб функциональности, для большей понятности.
Когда учащиеся работают над проектом в Scratch, они имеют шанс выучить важные вычислительные концепции, такие как повторения, условия, переменные, типы данных, события и процессы. Scratch уже был использован для представления этих понятий учащимся различных возрастов, от элементарной школы до колледжа. Некоторые учащиеся перешли от традиционных, текстовых, языков программирования, после того, как им показали программирование в Scratch.
Scratch основан на лучшем от языка программирования Squeak. Он был вдохновлен предыдущей работой над Logo и Squeak Etoys, но задуман более простым и интуитивным.
Scratch – проект с открытым исходным кодом, но закрытой командой разработчиков. Исходный код доступен в свободном доступе, но приложение разрабатывается маленькой командой ученых из MIT Media Lab.
1.3 Анализ учебников по информатике
В проекте стандарта и обязательном минимуме по информатике содержание алгоритмической линии определяется через следующий перечень понятий: алгоритм, свойства алгоритмов, исполнители алгоритмов, система команд исполнителя; формальное исполнение алгоритмов; основные алгоритмические конструкции; вспомогательные алгоритмы.
Изучение алгоритмизации в школьной информатике может иметь два целевых аспекта: первый – развивающий аспект, под которым понимается развитие алгоритмического (еще говорят – операционного) мышления учащихся; второй – программистский аспект. Составление программы для ЭВМ начинается с построения алгоритма; важнейшим качеством профессионального программиста является развитое алгоритмическое мышление. Если в первом школьном учебнике информатики в изучении алгоритмизации превалировал второй, программистский, аспект, то в дальнейшем стала больше подчеркиваться развивающая роль данной темы.
Вопрос о месте и объеме темы программирования в базовом курсе остается дискуссионным. В различных версиях обязательного минимума этот вопрос решался по-разному. Здесь также можно говорить о двух целевых аспектах, с которыми связано изучение программирования в школе. Первый аспект связан с усилением фундаментальной компоненты курса информатики. Ученикам дается представление о том, что такое языки программирования, что представляет собой программа на языках программирования высокого уровня, как создается программа в среде современной системы программирования. Получив представление о языке машинных команд на материале учебных компьютеров и о языках высокого уровня, ученики будут осознанно воспринимать понятие «трансляция».
Второй аспект носит профориентационный характер. Профессия программиста в наше время является достаточно распространенной и престижной. Изучение программирования в рамках школьного курса позволяет ученикам испытать свои способности к такого рода деятельности. Безусловно, в большей степени эту задачу может решать профильный курс информатики в старших классах.
Основой методики обучения алгоритмизации и программированию является методика структурного программирования. Структура ветви программирования носит характер обобщенной методической схемы, которая применима при любом уровне изучения программирования. На разных уровнях изучения может отличаться глубина и степень подробности раскрытия различных разделов схемы.
Понятие «алгоритм» является центральным в первом школьном учебнике информатики (11). В учебнике приводится следующее определение: «Под алгоритмом понимают понятное и точное предписание (указание) исполнителю совершить последовательность действий, направленных на достижение указанной цели или на решение поставленной задачи» (11, с. 35). Указание на выполнение каждого отдельного действия названо командой, а «совокупность команд, которые могут быть выполнены исполнителем, называется системой команд исполнителя». В качестве основного свойства алгоритма подчеркивается формальный характер работы исполнителя при его выполнении. Отсюда делается вывод о том, что исполнителем алгоритма может быть автомат (машина, робот). На этой идее основан принцип программного управления работой компьютера, поскольку программа – это и есть алгоритм, представленный на языке, «понятном» компьютеру – на языке программирования.
Сформулированные в учебнике (11) понятия явились дидактической основой для раскрытия темы алгоритмизации во всех последующих учебниках информатики.
Практически весь алгоритмический раздел учебника (11) ориентирован на исполнителя – человека. В задачах вычислительного характера (а их большинство в учебнике) в качестве метода работы исполнителя предлагается заполнение таблицы значений. В программировании такие таблицы принято называть трассировочными таблицами. В учебнике сказано: «При исполнении алгоритма компьютером значения величин хранятся в его памяти. При исполнении алгоритма человеком таблица значений выполняет роль дополнительной памяти для исполнителя» (15, с 36).
Ручная трассировка является весьма полезным методическим приемом при обучении алгоритмизации и программированию. Она позволяет человеку ощутить себя формальным исполнителем, проследить процесс выполнения алгоритма, обнаружить ошибки в алгоритме. От этого приема не следует отказываться, независимо от того, имеется ли в распоряжении учеников компьютер или нет.
Одним из основных методических достижений учебника (11) стало введение в школьную информатику учебного алгоритмического языка. Алгоритмический язык А.П. Ершова можно назвать русскоязычным псевдокодом, предназначенным для обучения методике структурного программирования. Хотя в самом учебнике слова «структурное программирование» нигде не употребляются, но, фактически, реализуется именно этот подход.
Идея и технология структурного программирования возникла и интенсивно развивалась в 60–70-х гг. XX столетия и связана с именами таких классиков программирования, как Э.В. Дейкстр, X. Д. Миле, Е. Кнут и др. Большой вклад в теорию и практику программирования внес в этот период и академик А.П. Ершов. В частности, им был разработан АЛЬФА-язык программирования (развитая версия структурного языка Алгол-60 с русскоязычной нотацией) и создан транслятор с этого языка (АЛЬФА-транслятор). Учебный алгоритмический язык содержит в себе многие черты АЛЬФА-языка. Для учебных целей на базе алгоритмического языка был создан язык программирования РАПИРА, описанный в учебнике (11). Однако он не получил распространения. В 1987 г. в МГУ была осуществлена разработка учебной среды программирования на основе алгоритмического языка, получившая название «Е-практикум» (Е-87). Впоследствии она получила развитие и распространение через известный пакет учебного программного обеспечения КуМир (Комплект Учебных Миров).
Наряду с использованием алгоритмического языка для описания алгоритмов в учебнике (11) активно используются блок-схемы. Подчеркивается необходимость стандартного изображения блок-схем, чего также требует методика структурного подхода к программированию.
В своих методических статьях и выступлениях А.П. Ершов выдвигал следующую идею применительно к школьной информатике: различать исполнителей алгоритмов, работающих с величинами и работающих «в обстановке»; а соответствующие алгоритмы для этих исполнителей называть алгоритмами работы с величинами и алгоритмами работы «в обстановке». В алгоритмах второго типа отсутствуют такие элементы, как величины (переменные, константы), команда присваивания, однако используются все типы алгоритмических структур. Идея применения таких исполнителей для обучения в полной мере была реализована в более поздних учебных изданиях.
Исторически первым педагогическим программным средством, предназначенным для обучения детей алгоритмизации, был язык программирования ЛОГО, разработанный в конце 1960-х гг. американским педагогом-психологом С. Пейпертом (16). В состав ЛОГО входит исполнитель Черепашка, назначение которого – изображение на экране чертежей, рисунков, состоящих из прямолинейных отрезков. Программы управления Черепашкой составляются из команд: вперед(а), назад(а), направо(в), налево(в), поднять хвост, опустить хвост. Имеется в виду, что Черепашка рисует хвостом, и если хвост опущен, то при перемещении проводится линия, а когда хвост поднят, то линия не рисуется. Кроме того, в языке имеются все основные структурные команды. В целом ЛОГО предназначен для обучения структурной методике программирования. От ЛОГО происходит понятие черепашьей графики, используемой также и в некоторых профессиональных системах компьютерной графики.
Главное методическое достоинство исполнителя Черепашки – ясность для ученика решаемых задач, наглядность процесса работы в ходе выполнения программы. Как известно, дидактический принцип наглядности является одним из важнейших в процессе любого обучения.
В учебнике А.Г. Кушниренко (20) были развиты идеи преподавания алгоритмизации, заложенные А.П. Ершовым и С. Пейпертом. Основным методическим приемом стало использование разнообразных учебных алгоритмических исполнителей. В учебнике введено два таких исполнителя – это Робот и Чертежник. Назначение Робота – перемещение по полю, разделенному на клетки с выставленными в разных местах стенами. По пути своего движения Робот может закрашивать клетки, измерять температуру и уровень радиации. Исполнитель Чертежник – это своеобразный графопостроитель, действующий в системе декартовых координат, связанных с экраном. Назначение Чертежника – изображение чертежей, графиков, рисунков, состоящих из прямолинейных отрезков. Чертежник близок по идее к Черепашке, однако работа Черепашки не связана с системой координат (хотя единица длины для нее существует).
Программирование исполнителя Робот возможно как без использования величин, так и с величинами. В первом случае исполнитель ориентируется только в обстановке на поле, проверяя наличие стены в некотором направлении или выясняя, закрашена ли очередная клетка. Например, для того чтобы закрасить все клетки вдоль стены, расположенной горизонтально ниже Робота, он должен выполнить определенную программу. Здесь использован цикл с предусловием – основной тип циклической команды (нц – начало цикла, кц – конец цикла). Рассмотрим еще один пример: Робот движется вдоль горизонтальной стены и закрашивает только пустые (не закрашенные) клетки.
нц пока снизу стена
если клетка не закрашена то закрасить все
вправо кц
Авторы учебника (20) интерпретируют своего исполнителя следующим образом: Робот – это автоматическое устройство, управляемое компьютером. Между компьютером и Роботом имеется прямая и обратная связь. По прямой связи от ЭВМ к Роботу передаются управляющие команды, по обратной связи – ответы Робота на запросы о текущей обстановке. Например, фраза «снизу стена» обозначает запрос компьютера к Роботу на проверку условия: находится ли под ним стена. В результате Робот по обратной связи отвечает «да» или «нет» в зависимости от обстановки. То же самое относится к фразе «клетка не закрашена».
Из рассмотренных примеров следует вывод о том, что лишь при наличии обратной связи алгоритмы управления исполнителем могут иметь сложную структуру, содержащую циклы и ветвления. Без обратной связи алгоритмы могут быть только линейными.
На примере исполнителя Робота вводится понятие вспомогательного алгоритма и метода последовательного уточнения (нисходящего проектирования; программирования сверху вниз). Пример использования Робота в учебнике (20) доказывает, что ограничиваясь исполнителями и алгоритмами, работающими без величин, можно успешно обучать структурной методике программирования.
В язык Робота постепенно включается использование величин со всеми их атрибутами: именем, значением, типом. Все команды Чертежника, кроме «поднять перо», «опустить перо», используют параметры, которые являются величинами.
Языком описания алгоритмов для всех исполнителей является учебный алгоритмический язык (АЯ). За основу взята версия АЯ, описанная в учебнике А.П. Ершова (11). Однако введены некоторые модификации в изобразительные средства языка. Введение в учебнике (20) всякой новой конструкции алгоритмического языка происходит по одинаковой методической схеме:
· рассматривается новая задача, требующая введения новой конструкции;
· описывается алгоритм решения этой задачи;
· дается формальное описание данной конструкции в общем виде.
Наряду с алгоритмами для Робота и Чертежника в учебнике (20) рассматриваются алгоритмы вычислительного характера, ориентированные на универсального исполнителя обработки информации – компьютер. Это типовые задачи обработки числовой и символьной информации: вычисление числовых последовательностей, обработка массивов, литерных строк и пр. Рассматриваются также алгоритмы решения содержательных задач методами математического моделирования.
В целом можно сказать, что в учебнике (20) алгоритмическая линия школьной информатики проработана наиболее полно и последовательно как в содержательном, так и в методическом плане.
Алгоритмическая линия в учебнике А.Г. Гейна (6) реализована по двум направлениям. Первое направление заключается в использовании учебных исполнителей алгоритмов, работающих «в обстановке», подобно тому, как это делается в учебнике (20). Второе направление заключается в обучении построению вычислительных алгоритмов для решения задач математического моделирования.
В учебнике (6) также применен исполнитель с названием «Чертежник», который относится к категории исполнителей, работающих по принципу «черепашьей графики». В отличие от Чертежника из учебника А.Г. Кушниренко, его команды перемещения (сделать шаг, прыгнуть) и вращения (повернуть налево) не имеют параметров. По одной команде исполнитель перемещается на строго определенное расстояние – один шаг, или поворачивается против часовой стрелки на 90°. Поэтому создаваемые рисунки могут состоять только из горизонтальных и вертикальных отрезков. В этом смысле изобразительные возможности данного исполнителя более скромные, чем у Чертежника А.Г. Кушниренко. Можно сказать, что Чертежник А.Г. Гейна в чистом виде является исполнителем, работающим «в обстановке».
Для моделирования методов решения задач обработки табличной информации в (6) введен исполнитель Робот-манипулятор. Прямоугольная таблица имитируется стеллажом, состоящим из ячеек, в которые могут быть помещены различные радиодетали (микросхемы, транзисторы и пр.). Робот умеет перемещаться в вертикальном и горизонтальном направлениях вдоль ячеек, помещать в них детали или извлекать детали из ячеек. Здесь можно говорить о появлении величин, рассматривая имя детали в ячейке как величину (производится сравнение ее имени с именем искомой детали). Характерная структура алгоритмов управления Роботом – вложенные циклы с ветвлениями.
Второе направление алгоритмической линии в учебнике (6) – алгоритмы решения вычислительных задач. Для построения таких алгоритмов используется учебный исполнитель Вычислитель. Это исполнитель, работающий только с числовыми величинами. Поскольку в качестве языка программирования для реализации вычислительных алгоритмов на ЭВМ используется Бейсик, то и язык Вычислителя «бейсикообразен». Несмотря на неструктурный характер используемой версии Бейсика, авторы стараются оставаться в рамках структурного подхода. В частности, это проявляется в том, что в языке Вычислителя отсутствует команда перехода.
Для моделирования понятия переменной применительно к Вычислителю используется образ ящика. Имя переменной – это буква, записанная на «ящике», а присваиваемое ей значение – это величина (число), помещаемое в «ящик». Составление программы на Бейсике по данному алгоритму интерпретируется как перевод с языка Вычислителя на язык Бейсик. При этом «ящики» для переменных заменяются на ячейки памяти ЭВМ, а при записи программы требуется строго соблюдать правила синтаксиса Бейсика. Для программирования цикла с предусловием в учебнике предлагается использовать стандартный способ его реализации с помощью операторов IF GOTO (для версий Бейсика, в которых нет оператора WHILE).
В учебнике В.А. Каймина и др. (13) не применяется методика учебных исполнителей. Изучение алгоритмизации ориентируется на исполнителя-ЭВМ. Для описания алгоритмов используется алгоритмический язык, близкий к варианту А.П. Ершова. Блок-схемы практически не используются. В учебнике (13) рассматриваются вычислительные задачи, а также задачи на построение графических изображений. Языком реализации алгоритмов на ЭВМ является Бейсик. Как и в учебнике (6), авторы уделяют внимание стандартным приемам программирования на неструктурном Бейсике циклов и ветвлений.
В учебнике третьего поколения А.Г. Гейна и др. (7) существенно изменился подход к обучению алгоритмизации и программированию по сравнению с учебником (6) того же авторского коллектива. Введен новый учебный исполнитель Паркетчик. Для того, чтобы подчеркнуть формальный характер работы исполнителей алгоритмов, авторы используют термин «Бездумные исполнители» – БИ. Таким образом, Паркетчик представляет из себя БИ, назначение которого – выкладывать на клетчатом поле узоры из разноцветных плиток (красных и зелёных). Поле имеет прямоугольную форму; каждая клетка идентифицируется двумя индексными номерами – г по горизонтали и по вертикали, например: (1,1), (3,5) и т.п.
Паркетчик может перемещаться с помощью команд «шаг вверх», «шаг вниз», «шаг влево», «шаг вправо» к соседним клеткам, а также к любой клетке поля по команде «перейти на (т, п)». В текущую клетку Паркетчик может положить плитку указанного цвета по команде «положить (цвет)» или убрать плитку по команде «снять плитку». Условиями в командах ветвления и цикла может быть проверка цвета лежащей плитки или проверка наличия препятствия (стены) в любом направлении от текущей клетки.
Паркетчик предназначен для методичного обучения структурному способу построения алгоритмов. Форма языеа Паркетчика применяется также и для описания вычислительных алгоритмов, подобно тому, к