Рейтинг@Mail.ru

ПИКТОМИР: ПРОПЕДЕВТИКА АЛГОРИТМИЧЕСКОГО ЯЗЫКА (ОПЫТ ОБУЧЕНИЯ ПРОГРАММИРОВАНИЮ СТАРШИХ ДОШКОЛЬНИКОВ)

НИИСИ РАН

Kushnirenko Rogojkina Leonov

 Кушниренко А.Г.                     Рогожкина И.Б.                    Леонов А.Г.

Попытки обучать детей программированию предпринимались неоднократно – создавались методические разработки и даже «детские» языки программирования. 2 года назад группой ученых и программистов НИИСИ РАН была придумана и разработана программная среда ПиктоМир (http://www.piktomir.ru/), в которой дети получили возможность обучаться программированию: создавать программы не опираясь на навыки работы с текстами. Набор пиктограмм в ПиктоМире заменил текстовые команды. С их помощью дети могут «собирать» на экране компьютера несложную программу, управляющую виртуальными Роботоми. ПиктоМир позволяет педагогу постепенно вводить такие важнейшие понятия программирования как циклы, подпрограммы и условные операторы. Однако, возникает вопрос о том, насколько эти базовые понятия программирования доступны детям дошкольного и младшего школьного возраста, не умеющими или не слишком любящими читать и писать. В работе изложены результаты эксперимента по обучению старших дошкольников азам программирования в среде ПиктоМир. Рассказано о программной среде ПиктоМир, о методике обучения дошколят программированию и об особенностях работы с 5-ти и 6-тилетними детьми. Обсуждается развивающий эффект занятий программированием и план дальнейшей разработки методики обучения.

Ключевые слова: раннее обучение программированию, программная среда

ПиктоМир – обучающая программная среда

Первый методический комплект ПиктоМир [2,5] состоит из цепочек заданий. В первой цепочке осваиваются правила игры с ПиктоМиром и вводятся понятия:

Остальные цепочки состоят из заданий, направленных на закрепление этих понятий.

пиктомир_газета

Рис. 1. Программная среда ПиктоМир

ПиктоМир обладает рядом достоинств, делающих его удобной средой для обучения программированию дошкольников.

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

Курс «Программирование для дошкольников»

В 2010-2011 учебном году с детьми подготовительных и старших групп детского сада №1511 г. Москвы был проведен курс занятий, разработанный Рогожкиной И.Б. в сотруд-ничестве А.Г. Кушниренко и А.Г. Леоновым. В эксперименте участвовали 48 детей. Из них 7 посещали старшую группу детского сада и были моложе 6 лет. Остальные дети посещали подготовительную группу и были старше 6 лет.

Учебный курс состоял из 8 занятий по 25 минут. Они проводились раз в неделю в подгруппах из 6 человек. На первых трех занятиях дошкольникам предлагалось составить простые линейные программы. Последующие занятия были посвящены введению циклов (повторителей) и подпрограмм. Непосредственная работа детей на компьютере занимала 10 минут, что было обусловлено и нормами СанПиН 2.4.1.1249-03, и наблюдениями за деятельностью дошкольников (многие из них уставали после 10-минутной игры на компьютере и не могли сосредоточиться). Таким образом, большая часть занятия была посвящена играм и упражнениям без использования компьютера.

Во втором цикле занятий, проведенном в 2011/2012 учебном году, приняли участие 18 пятилетних и 23 шестилетних ребенка. Цикл состоял из 12 занятий и существенно обогатился за счет новых методических приемов и игр:

Игры в Робота и Капитана: один ребенок изображает Капитана, отдающего коман-ды, а другой – исполняющего их Робота. Вариаций было множество: дети строили с помо-щью стульев лабиринты для Робота; запускали двух Роботов, которые должны были встретиться и передать друг другу важные сообщения; устраивали соревнование двух или трех команд, состоящих из Капитана и Робота.

Игры на магнитных досках: аналогичные игры проводились и на магнитных досках с нарисованными на них клетчатыми полями. В этом случае один из детей передвигал Робота – фишку со стрелочкой, а другой отдавал команды, необходимые для того, чтобы Робот добрался до нужной позиции (Рис. 2).

2

Рис. 2: а) Играют 2 команды, состоящие из Робота и Капитана. Цель игры – встреча Роботов; б) Капитан должен провести Робота к заправочной станции.

Использование математических корабликов. Центральной проблемой для дошколь-ников оказалось освоение понятия программного управления. Этап составления программы детям был понятен. А вот процесс пошагового выполнения программы вызывал у детей затруднения. Дело в том, что процесс выполнения каждой команды линейной программы имеет две стадии, две грани: 1) работа с исполнителем – выдача Роботу очередной команды и 2) работа с программой – мысленный перевод этой команды из разряда еще не выполненных – в уже исполненные. В то время как первая стадия наглядна и при компью-терном представлении и в игровом режиме (когда роль Робота играет один из детей), вторая стадия – работа с программой – визуализируется недостаточно четко. Для повышения нагля-дности понятий «уже выполненные команды программы», «еще не выполненные команды программы», «очередная команда, ожидающая выполнения», у нас возникла идея использо-вать математические кораблики, с помощью которых детей учат считать в начальной школе. На фишки были наклеены стрелочки с командами «вперед», «направо» и «налево». Программа, которую нужно было выполнить, выкладывалась в правых корабликах (Рис. 3а). Выполненные команды перемещались в левую сторону (Рис. 3б).

3

Рис. 3: а) Программа, которую необходимо выполнить, выкладывается в правый кораблик;

б) Выполненные команды перемещаются в левую сторону.

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

Раскрашивание клетчатых полей: в соответствии с заданной программой ребенок должен правильно раскрасить клетчатое поле. В этих заданиях помимо привычных в Пиктомире команд «ВПЕРЁД», «ПОВЕРНУТЬ НАЛЕВО», «ПОВЕРНУТЬ НАПРАВО», использовались команды «ЗАКРАСИТЬ КРАСНЫМ», «ЗАКРАСИТЬ СИНИМ», «ЗАКРА-СИТЬ ЖЕЛТЫМ» (Рис. 4). Эти задания были направлены на тренировку навыка пошагового выполнения программы и могли сочетаться с применением математических корабликов.

3

Рис.4: Раскрась клетчатое поле

Разрезание листа с программой: детям предлагалось разрезать длинный лист бумаги с написанными на нем командами на одинаковые кусочки и заменить исходную линейную программу программой с циклом-повторителем (Рис. 5). Дошколята складывали одинаковые куски программы в стопку, пересчитывали их и выбирали правильный повторитель. Таким образом, идея короткой записи программы с помощью цикла получала наглядное подтверждение и лучше осваивалась детьми.

4

Рис. 5: а) Разрежь программу на одинаковые кусочки и сделай ее короче;

б) Программа разрезана на 3 части; в) Программа с повторителем

Творческие задания: необходимо придумать и нарисовать пиктограммы для команд, с помощью которых робот мог выполнить то или иное задание (Рис. 6).

дом в разрезе3

Рис. 6: Придумай и нарисуй команды, с помощью которых можно управлять роботом – поливальщиком цветов.

Особенности работы с 5-ти и 6-тилетними детьми

В ходе проведенного эксперимента удалось обнаружить разницу в восприятии концепций программирования 5-ти и 6-тилетними детьми.

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

Третья проблема была связана со слабым развитием мелкой моторики у детей 5-летнего возраста, что затрудняло работу на компьютере. В ПиктоМире при составлении программы основным считается не стандартный метод «перетаскивания» команды в программное окно, требующий от ребенка продолжительного мышечного усилия, а более легкий, «манипуляционно» игровой метод, при котором выбор команды и включение ее в программу состоит из двух этапов: 1) выделение, активизация команды (при этом выделен-ная пиктограмма подпрыгивает, привлекая внимание ребенка) и 2) последующее размещение выделенной команды в программном окне (указанием-кликаньем мыши в нужную клетку программы). Но даже и в этом режиме, 5-летние дети (в отличие от 6-летних) испытывали трудности с выделением нужных пиктограмм. Потребовалось около двух-трех занятий, чтобы дети научились работать мышкой. Возможными решениями описанной проблемы могут стать увеличение размера пиктограмм и включение пальчиковых игр в занятия или использование планшетной версии ПиктоМира (MacOS).

В целом, мы пришли к довольно очевидному a posteriori выводу, что детей 5-летнего возраста необходим курс «Введение в программирование», состоящий из 5-6 занятий и не затрагивающий циклы, подпрограммы и условные операторы. Основная задача этого курса – научить детей составлять, понимать и выполнять линейный набор инструкций и дать им представление о том, что такое программное управление.

Показатель успешности проведенных занятий

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

Пиктомир1

Рис. 7: (а) Задание, содержащееся в блоке с подпрограммами и направленное на проверку умения выполнять алгоритм; (б) Правильное решение

В двух других заданиях блока требовалось найти ошибку в программе (Рис. 8).

Пиктомир2

Рис. 8: (а) Задание, содержащееся в блоке с циклами и направленное на проверку умения найти ошибку в алгоритме; (б) Правильное решение

Оставшиеся задания предполагали создание программы на компьютере.

Диагностика показала, что все дети научились составлять линейные программы. Что касается подпрограмм и циклов, то использовать их научились, соответственно, 93% и 95% 6-летних детей. В 2011/2012 учебном году результаты были намного лучше. По результатам теста абсолютно все дети сумели освоить учебные понятия. Интервью с детьми продемонстрировали высокую мотивацию и заинтересованность дошколят в занятиях. По признанию детей им нравились занятия, потому что «они были очень интересными», «там надо было думать», «можно было на компьютере играть», «научились играть во взрослые игры», «решали сложные задачки».

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

Развивающий эффект курса программирования

Во многих работах [7-11, 13] было показано, что грамотно выстроенный курс программирования влечет за собой развитие важнейших когнитивных навыков, таких как умение планировать и организовывать свою деятельность, а также развитие математических способностей и абстрактного мышления. Кроме того, занятия программированием способст-вуют формированию и развитию особого типа мышления, называемого алгоритмическим [1-3,5]. Этот тип мышления подразумевает умение планировать структуру действий, разбивать сложную задачу на простые, составлять план решения задачи. В широком смысле, алгоритмическое мышление является операционной базой всех методов и приемов обра-ботки и использования информации. Навыки, составляющие его основу, являются метапред-метными и необходимы каждому человеку, живущему в современном информационном обществе, независимо от его профессиональной подготовки и направленности.

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

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

Дальнейшая разработка методики обучения

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

Литература

  1. Дуванов А.А., Шумилина Н.Д. Азбука Роботландии – курс информатики для младших школьников. // ИТО-РОИ-2011
  2. Козлов О.А. Методика преподавания основ алгоритмизации и метод проектов в раннем обучении информатике. // ИТО-РОИ-2010
  3. Кушниренко А.Г., Лебедев Г.В. Информатика: 12 лекций о том, для чего нужен школьный курс информатики и как его преподавать. — Лаборатория Базовых Знаний, 2000.
  4. Кушниренко А.Г., Леонов А.Г., Пронин К.А., Ройтберг М.А., Яковлев В.В. Пиктомир: опыт использования и новые платформы. // 6-ая конференция «Свободное программное обеспечение в высшей школе», Переславль, 29-30 января 2011.
  5. Первин Ю.А. От операционного стиля мышления через педагогические компетенции к универсальным учебным действиям // ИТО-РОИ-2010
  6. Brusilovsky, P., Calabrese, E., Hvorecky, J., Kouchnirenko, A., and Miller, P. Mini-languages: A Way to Learn Programming Principles. // Education and Information Technologies 2 (1), 1997. – рр. 65-83.
  7. Choi W.S., Repman J. Effects of Pascal and FORTRAN programming on the problem-solving abilities of college students // Journal of Research on Computing Education. 1993. 25(3). 290–302.
  8. Clements, D.H. The Future of Educational Computing Research:The Case of Computer Programming. // Information Technology in Childhood Education Annual, 1999. – pp. 147-179.
  9. Nastasi B.K., Clements D.H., Battista M.T. Social-cognitive interactions, motivation, and cognitive growth in Logo programming and CAI problem-solving environments // Journal of Educational Psychology. 1990. 82. 150–158.
  10. Noss R., Hoyles C. Afterword: Looking back and looking forward // C. Hoyles, R. Noss (Eds.), Learning mathematics and Logo. Cambridge, MA: MIT, 1992. Р. 227–268.
  11. Resnick M., Maloney J., Monroy-Hernandez A., Rusk, N., Eastmond E., Brennan K., Millner A., Rosenbaum E., Silver J., Silverman B., & Kafai Y. Scratch: Programming for All // Communications of the ACM. 2009. 52. 11. 60–67.
  12. Rogozhkina I.B., Kushnirenko A.G. PiktoMir: Teaching Programming Concepts to Preschoolers with a New Tutorial Environment // Procedia – Social and Behavioral Sciences, 28 (2011) – pp. 601-605.
  13. Rosenbaum E. Jots: Reflective learning in scratch // Proceedings of the 8th International Conference on Interaction Design and Children. ACM New York, NY, USA, 2009. 284–285.