ЗАЧЕМ И КАК УЧИТЬ ДЕТЕЙ ...бунинцы.рф/Teachers/Golovin/s5.pdf ·...

6
ЗАЧЕМ И КАК УЧИТЬ ДЕТЕЙ ПРОГРАММИРОВАТЬ Головин Д.В. МБОУ гимназия им. И.А. Бунина [email protected] Если мы будем учить сегодня так, как учили вчера, мы украдем у наших детей завтра. Джон Дьюи Нужно ли учить детей программировать? Конечно, нужно для того, чтобы научить логически мыслить и планировать свои действия. Написание программы развивает аналитическое мышление, воображение. Чем раньше начинается обучение, тем изобретательнее и креативнее будет человек. На вопрос «А всем ли детям это нужно?» я отвечу следующее: мало людей становится профессиональными писателями, но писать и читать должен уметь каждый. То же можно сказать и о программировании. Программирование предоставляет детям инструменты для создания мира безграничных возможностей, где они могут создавать свои собственные пути и решения. Стоит отметить, что у детей аналитические способности, необходимые в программировании, начинают проявляться уже в 12-13 лет. Именно в этом возрасте стоит начинать обучать их в «недетских» объектно- ориентированных средах, таких как Lazarus. С чего начать? И вопрос даже не в интеллектуальной сложности искусства программирования, а в мотивации. Конечно, не стоит начинать с фундаментальных теоретических основ объектно-ориентированного программирования, а основной упор сделать на практически-деятельностную развлекающую направленность. Начать стоит с чего-то более простого и понятного ребенку – игр, то есть с программирования игр. И когда он ознакомится с миром программирования в любимой для него сфере, он с радостью в дальнейшем будет исследовать детали этой области знаний. Наши ученики с детства на «ты» с компьютерными технологиями и это отражается в свойствах мышления. Поэтому им гораздо легче освоиться в среде Lazarus, чем предполагает учитель. Из собственного опыта скажу, что научить программировать в объектной среде 7- классника проще, чем 10-классника. Для начала давайте разберемся чему и как учить. На мой взгляд, тратить время на функционально-ограниченные среды, такие как Scratch, Кумир и т.п. нет смысла уже с 7 класса. Они не ориентируют ученика на прикладное программирование. А Pascal ABC точно не вдохновит детей на программирование. Lazarus – «яркая», удобная и

Transcript of ЗАЧЕМ И КАК УЧИТЬ ДЕТЕЙ ...бунинцы.рф/Teachers/Golovin/s5.pdf ·...

Page 1: ЗАЧЕМ И КАК УЧИТЬ ДЕТЕЙ ...бунинцы.рф/Teachers/Golovin/s5.pdf · модули, классы и т.п. Без них юные программисты на

ЗАЧЕМ И КАК УЧИТЬ ДЕТЕЙ ПРОГРАММИРОВАТЬ Головин Д.В. МБОУ гимназия им. И.А. Бунина [email protected]

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

Джон Дьюи Нужно ли учить детей программировать? Конечно, нужно для того, чтобы научить логически мыслить и планировать свои действия. Написание программы развивает аналитическое мышление, воображение. Чем раньше начинается обучение, тем изобретательнее и креативнее будет человек. На вопрос «А всем ли детям это нужно?» я отвечу следующее: мало людей становится профессиональными писателями, но писать и читать должен уметь каждый. То же можно сказать и о программировании. Программирование предоставляет детям инструменты для создания мира безграничных возможностей, где они могут создавать свои собственные пути и решения. Стоит отметить, что у детей аналитические способности, необходимые в программировании, начинают проявляться уже в 12-13 лет. Именно в этом возрасте стоит начинать обучать их в «недетских» объектно-ориентированных средах, таких как Lazarus. С чего начать? И вопрос даже не в интеллектуальной сложности искусства программирования, а в мотивации. Конечно, не стоит начинать с фундаментальных теоретических основ объектно-ориентированного программирования, а основной упор сделать на практически-деятельностную развлекающую направленность. Начать стоит с чего-то более простого и понятного ребенку – игр, то есть с программирования игр. И когда он ознакомится с миром программирования в любимой для него сфере, он с радостью в дальнейшем будет исследовать детали этой области знаний. Наши ученики с детства на «ты» с компьютерными технологиями и это отражается в свойствах мышления. Поэтому им гораздо легче освоиться в среде Lazarus, чем предполагает учитель. Из собственного опыта скажу, что научить программировать в объектной среде 7-классника проще, чем 10-классника. Для начала давайте разберемся чему и как учить. На мой взгляд, тратить время на функционально-ограниченные среды, такие как Scratch, Кумир и т.п. нет смысла уже с 7 класса. Они не ориентируют ученика на прикладное программирование. А Pascal ABC точно не вдохновит детей на программирование. Lazarus – «яркая», удобная и

Page 2: ЗАЧЕМ И КАК УЧИТЬ ДЕТЕЙ ...бунинцы.рф/Teachers/Golovin/s5.pdf · модули, классы и т.п. Без них юные программисты на

практичная среда для объектного программирования, а главное бесплатная. Она позволяет ученику воплощать свои идеи в независимых исполняемых приложениях (exe-шниках) и дает возможность развиваться вплоть до профессионального уровня. Так как школьная программа среднего звена не предусматривает программирование такого уровня, то можно собрать группу учеников 7-8 классов и организовать для них курсы по созданию игровых приложений в среде объектно-ориентированного программирования Lazarus. С интерфейсом ваши ученики смогут разобраться уже через несколько минут, после первой пробы пера. Вовсе не нужно объяснять детям такие скучные и непонятные для них вещи, как библиотеки, модули, классы и т.п. Без них юные программисты на данном этапе вполне обойдутся. Обойдутся и без глубокой теории алгоритмических структур и разнообразия типов переменных. Ведь вы не объясняете маленькому ребенку теорию электричества, чтобы научить его включать свет. Лучше просто бросить ученика в «омут» прикладного программирования, и, поверьте, он научится там «плавать» гораздо быстрее, чем вы могли себе даже представить. А чтобы разжечь и поддержать детский интерес, нужно очень тщательно подходить к вопросу выбора проектов, которые вы будете создавать совместно. Игры, которые будут программировать дети должны обладать следующими характеристиками: - они должны бать предельно интерактивными и динамичными; - они хотя бы отдаленно должны быть похожи на реальные игры, в которые играет молодежь; - они не должны быть объемными, чтобы можно было реализовать проект за одно занятие, и ребенок смог бы сразу насладиться своим творением, т.е. поиграть и отнести exe-шник друзьям или родителям; - они должны быть визуально красочными и яркими, поэтому учитель должен заранее готовить графические объекты, используемые в проекте; - и, наконец, нужно очень аккуратно поднимать уровень сложности и внимательно следить за усвоением приемов программирования, чтобы не разрушить интерес детей к работе, а в некоторых случаях лучше притормозить. Чтобы было понятно, о чем идет речь, приведу несколько примеров игровых приложений, которые мы выполняли на курсах: 1. Торпедная атака (плывет корабль, кликаем на «Огонь», торпеда движется в выбранном направлении, корабль уничтожен, рис.1);

Page 3: ЗАЧЕМ И КАК УЧИТЬ ДЕТЕЙ ...бунинцы.рф/Teachers/Golovin/s5.pdf · модули, классы и т.п. Без них юные программисты на

рис.1

2. Опереди грибника (ёжик, уклоняясь от летучих мышей должен успеть собрать все грибы до того, как грибник выйдет на полянку, рис.2);

Page 4: ЗАЧЕМ И КАК УЧИТЬ ДЕТЕЙ ...бунинцы.рф/Teachers/Golovin/s5.pdf · модули, классы и т.п. Без них юные программисты на

рис.2

3. Теннис (два игрока, перемещая ракетки по вертикали, отбивают шарик, рис.3);

рис.3

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

Page 5: ЗАЧЕМ И КАК УЧИТЬ ДЕТЕЙ ...бунинцы.рф/Teachers/Golovin/s5.pdf · модули, классы и т.п. Без них юные программисты на

рис.4

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

Page 6: ЗАЧЕМ И КАК УЧИТЬ ДЕТЕЙ ...бунинцы.рф/Teachers/Golovin/s5.pdf · модули, классы и т.п. Без них юные программисты на

Объектное программирование является важным навыком, даже если оно еще не введено в необходимом объеме на средней ступени школьного образования. Как сказал Джон Дьюи, американский философ, психолог и реформатор образования, «Если мы будем учить сегодня так, как учили вчера, мы украдем у наших детей завтра». Мы должны помочь детям стать активными, а не пассивными пользователями технологий, а также развить знания, которые нужны в XXI веке.