Методика преподавания темы "Программирование в среде Scratch" учащимся начальной школы

Теоретические основы проблемы преподавания темы "Программирование в среде Scratch". Диагностика умения младших школьников программировать в среде Scratch, эффективность разработанной методики. Инструкция по разработке учащимися проектов по данной теме.

Рубрика Педагогика
Вид дипломная работа
Язык русский
Дата добавления 31.03.2011
Размер файла 3,2 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Дипломная работа

По теме:

«Методика преподавания темы «Программирование в среде 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) и т.п.

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

Паркетчик предназначен для методичного обучения структурному способу построения алгоритмов. Форма языеа Паркетчика применяется также и для описания вычислительных алгоритмов, подобно тому, как используется алгоритмический язык в учебнике А.Г. Кушниренко [20]. По сути дела, между алгоритмическим языком и языком Паркетчика нет принципиальной разницы. И тот и другой представляет собой структурный русскоязычной псевдокод. Видимо, считая описание алгоритма на языке Паркетчика достаточно структурированным и наглядным, авторы отказались от использования в учебнике [7] блок-схем.

В учебнике [7] предлагаются для изучения два языка программирования: QBasic и Паскаль. Поскольку QBasic является структурированной версией Бейсика, то нет принципиальной разницы в выборе того или другого языка для начального обучения программированию.

В учебнике А.А. Кузнецова и Н.В. Апатовой [19] каких-то специальных учебных средств для описания алгоритмов не используется. Значительный по объему раздел «Введение в программирование» ориентирован на начальное изучения Паскаля на примерах задач вычислительного характера, а также задач построения графических изображений и обработки строк.

В учебнике И.Г. Семакина и др. [6] применен отличный от рассмотренных подход к теме алгоритмизации. Его можно назвать кибернетическим подходом. Алгоритм трактуется как информационный компонент системы управления. Такой подход дает возможность ввести в содержание базового курса новую содержательную линию - линию управления. Это многоплановая линия, которая позволяет затронуть следующие вопросы:

· элементы теоретической кибернетики: кибернетическая модель управления с обратной связью;

· элементы прикладной кибернетики: структура компьютерных систем автоматического управления (систем с программным управлением); назначение автоматизированных систем управления;

· основы теории алгоритмов.

Для того чтобы соблюсти принцип инвариантности содержания по отношению к конкретным версиям программного обеспечения, в учебнике [6] описывается гипотетический учебный исполнитель, которому дано имя ГРИС - графический исполнитель. Это исполнитель, работающий «в обстановке» (т.е. без использования величин). Наиболее близкими к нему являются Кенгуренок (пакет учебного ПО фирмы КУДИЦ) и Чертежник (учебник А.Г. Гейна [7]). На примере ГРИС вводятся основные понятия алгоритмизации. Предлагаемая последовательность заданий способствует эффективному достижению основной цели раздела - освоения структурной методики построения алгоритмов.

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

Одной из важнейших особенностей проекта Scratch является большое постоянно действующее сообщество пользователей. Собственные разработки можно выкладывать в интернет и затем просматривать их на любом компьютере, где установлена Java (или сам Scratch). В настоящее время актуальной является версия Scratch 1.3, поддерживающая кириллицу (и несколько десятков других языков).

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

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

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

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

2. Методика преподавания темы «Программирование в среде Scratch» учащимся начальной школы

2.1 Специфика обучения младших школьников программированию в среде Scratch

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

Можно, но при соблюдении следующих условий:

· для решения алгоритмических задач выбрана понятная и интересная ученикам предметная область;

· программная реализация учебной среды программирования имеет дружественный пользовательский интерфейс;

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

Такая программная среда, в основе которой лежит язык программирования Scratch, была разработана группой ученых из Массачусетского технологического института (MIT). Создавая этот язык, ученые поставили более широкую задачу, чем научить учеников младших классов программированию. Основная идея проекта (http://scratch.mit.edu) - стать частью образовательной программы детей и подростков, развить у них творческие способности, логическое мышление, свободу в использовании информационных технологий. Все это решается путем вовлечения учеников в создание мультфильмов, демонстрационных роликов, программ-тренажеров, компьютерных игр, интерактивных мультимедийных презентаций.

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

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

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

1) Для того чтобы дети эффективно осваивали знания в новой области, необходимо наличие мотивации. А мотивация учебной деятельности возникает, если они чувствуют личную заинтересованность в приобретении знаний для достижения своей цели. Scratch позволяет создавать проекты, которые интересны различным возрастным группам от 8 до 16 лет и старше - интерактивные презентации, мультфильмы, компьютерные игры, программы-тренажеры с использованием графики и мультимедиа.

2) При создании программ в Scratch не требуется написания текстов программ на формализованных языках программирования, так как здесь предоставлены все необходимые графические средства для изображения данных и структур управления. Совмещая графические блоки, можно создать программу и запустить ее на выполнение в той же самой среде Scratch.

3) Для облегчения процесса создания программы разработчики реализовали защиту системы от синтаксических ошибок. То есть при совмещении графических блоков можно получить только синтаксически правильные конструкции.

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

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

6) Получение навыков общения в IT-сообществе, умения провести преобразование ил редактирование существующего проекта, изменить картинки и скрипты в проектах других людей и добавить их в свой собственный проект путем совместной работы и обмена через сеть «интернет» создает условия для подготовки человека к активной жизни в информационном обществе. Как было отмечено, возрастной диапазон пользователей Scratch достаточно широкий.

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

Опыт работы аспирантов И.Г. Семакина с учащимися начальной школы показывает, что после 6-8 часов учебных занятий с преподавателем дети выходят на индивидуальную самостоятельную работу над проектами. При этом они с большим энтузиазмом относятся к публикации своих разработок в Сети, отслеживают интерес Scratch-сообщества к своим проектам. Кроме того, после двух недель работы ребята уверенно пользуются как самой средой Scratch, так и сопутствующими инструментами - графическим редактором, операционной системой Windows (уверенно оперируют с графическими и звуковыми файлами), программой Проводник и интернет - браузерами: Internet Explorer и Firefox Mozilla.

Количество объектов в одном проекте увеличивается от 1-2 до 5-10, соответственно увеличивается размер и сложность скриптов. Самое интересное - это то, что появляется мотивация к изучению новых возможностей Scratch, которые осваиваются самостоятельно, без участия педагога. Обмен проектами в Сети позволяет перейти ученикам на новую ступень обучения. Создается открытое образовательное пространство, где каждый участник проекта является носителем знания и новых идей его реализации. Наблюдая за развитием проекта Scratch и деятельностью школьников, можно отметить, что мы имеем дело с новой формой обучения. Педагоги, обратившись к миру мультимедиа и программирования, выпускают ученика в информационную среду творчества и познавательной деятельности, а дети кроме предметных знаний приобретают качества, необходимые каждому человеку для успешной жизни и профессиональной карьеры.

2.2 Методические рекомендации

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

После того, как учителем выявлено понимание учащимися, следует переходить непосредственно к описанию программы. На данном этапе мы вплотную работаем с конструктором Лего, показывая сходство. Нагляднее всего его отметить используя конструктор и выведенную на проектор среду Scratch. Необходимо обязательно отметить то, что собирая кубики, наша фигурка растет вверх, а собирая скрипт в среде Scratch - вниз.

Рис. 20. Лего и Scratch

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

Первым этапом работы в среде Scratch должен стать небольшой проект, например движение спрайта, рисунок 21.

Рис. 21. Скрипт движения спрайта

Учитель вместе с учениками пошагово собирает, «кубик за кубиком», скрипт. После того как скрипт собран, учитель должен пояснить, что произойдет на сцене. Собрав этот не сложный скрипт, мы решаем сразу несколько вопросов, таких как: «Как собирать скрипт?», «Как запустить скрипт, как собирать скрипт?». Далее следует заметить, что выполнение скрипта можно запускать несколькими способами: с клавиатуры, мышью, при получении скриптом сообщения о запуске.

Также следует уделить внимание учащихся на новые понятия: скрипт, программа. Самое подходящее описание понятия скрипт, это алгоритм. Понятие алгоритм учащиеся уже должны знать, в этом случае устно проговаривается определение. Если понятие алгоритм учащимся еще не знакомо, то лучше всего дать упрощенное определение которое образуется из определения приведенного ранее (см. с. 29): «Алгоритм - это последовательность действий, которые выполняются друг за другом и приводят к решению поставленной задачи». Из этого определения выходит определение программы: «Программа - это совокупность алгоритмов». Также учащимся следует пояснить, что совокупность это соединение, собрание [13].

После того, как учащиеся разобрались с тем, как запускать скрипт, можно переходить к рассмотрению остальных блоков, в такой последовательности: блок «Движение», блок «Внешность», блок «Звук», блок «Перо», блок «Контроль» - рассмотреть циклы и условия, блок «Сенсоры», блок «Числа» - рассмотреть понятие случайное число, и блок «Переменные».


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.