Методические проблемы обучения программированию в основной и средней школе

Вид материалаДокументы
Подобный материал:
Л.В. Савкина

МБОУ «Головчинская СОШ с УИОП» Грайворонского района

замдиректора по ИКТ, учитель информатики


методические проблемы обучения программированию в основной и средней школе


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

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

Первое – выбор начального языка и системы программирования, которые будут доступны школьнику для восприятия, изучения и овладения. Выбор языка и системы программирования имеет принципиальное значение, т.к. от этого во многом зависит методика изучения курса, содержание и последовательность предъявления учебного материала, система учебных заданий и, главное, вся дальнейшая работа по овладению программированием для решения реальных практических задач на компьютере [1].

В последнее время наметилась явная тенденция перехода обучения от алгоритмических к объектно-ориентированным языкам с использованием визуальных систем программирования (Delphi, Visual Basic, Visual C++ и т.д.) [2]. И это, я считаю, совершенно оправданно. Прежде всего, программирование подразумевает написание программы, а что для учащегося означает «программа»? Ответ очевиден, программа – это то, с чем он работает на компьютере каждый день, например, текстовый процессор или Интернет- обозреватель. Т.е. для ученика программа – это приложение с графическим оконно-кнопочным интерфейсом. Значит, программа, которую он будет составлять должна быть такой же. И здесь визуальные среды программирования дают широкие возможности ученику в реализации такого приложения. Старый добрый Turbo Pascal тоже хорош для изучения принципов программирования, но его терминальный интерфейс плохо воспринимается современными школьниками.

После получения пакета программного обеспечения «Первая помощь» в 2007 году я со своими учениками перешла от изучения Turbo Pascal к Delphi. Прекрасная среда программирования, которую с увлечением приняли большинство учащихся. Однако Delphi является проприетарным программным продуктом, и 1 января 2011 года закончился срок действия его лицензии. В этих условиях, на мой взгляд, самым приемлемым переходом в изучении визуальных языков программирования стал Delphi – Lazarus.

Lazarus – мощная кроссплатформенная свободно распространяемая среда программирования, основанная на компиляторе Free Pascal. Является допустимой средой программирования при проведении олимпиады по информатике. Хорошо интегрируется с приложениями, созданными в Turbo Pascal и Delphi. Сегодня в нашей школе Lazarus успешно работает на компьютерах с различными операционными системами: Windows, Linux, iMac.

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

Второе – какова же должна быть методическая структура изучения программирования? С какого возраста нужно начинать этот процесс? Считаю, что учить надо постоянно, начиная с начальной школы.

Обучение школьников основам алгоритмического мышления базируется на понятии «Исполнитель». Еще в начальной школе, выполняя задания по информатике, учащиеся вырабатывают первоначальные навыки создания и записи алгоритмов. В своей практике я использую электронные учебные пособия, разработанные компанией «Кирилл и Мефодий», «Мир информатики» и «ПервоЛого». Учащиеся 3-4 классов с большим удовольствием составляют алгоритмы (от простых линейных до циклических) для исполнителя «Транспортер» в ЭОР «Мир информатики». В инструментальной творческой среде «ПервоЛого» работают ученики постарше (5-6 классы), т.к. в ней кроме понятий «Исполнитель», «система команд Исполнителя» уже используются такие понятия, как «форма», «управляющая кнопка», «текстовое поле», «процедура». На занятиях компьютерного практикума в 7-8 классах (при наличии свободного времени) мы с учащимися возвращаемся в «Лого Миры», чтобы вспомнить и закрепить приобретенные ранее навыки.

Базовый курс программирования изучается в 9 классе. Считаю, что наиболее важно удержать интерес учащихся на первых уроках программирования. Нельзя перегружать их вводом основных понятий, разбором типов данных, объяснением структуры программы и др. На первом уроке по изучению языка программирования (не алгоритмов, а именно конкретного языка) я, как правило, знакомлю учащихся с интерфейсом визуальной системы программирования, который для них является привычным и понятным. На основе написания простейшей программы (например, сумматор 2-х чисел) осваиваем первые понятия, ввод/вывод данных, запуск программы на исполнение, сохранение проекта и т.п. Хочу отметить, что проведенная практическая работа вовсе не обеспечит прочного владения всеми рассмотренными вопросами на следующем уроке. Но зато у учеников появляется «почва под ногами». И так по нарастающей, применяя навыки из предыдущей темы, усложняем задачу. Еще раз отмечу, что в рамках отведенных часов на рассмотрение такой трудной темы тяжело добиться прочных знаний, умений и навыков программирования. Поэтому, на мой взгляд, большое значение имеет самостоятельная работа учащихся по освоению материала. И выполнение домашнего задания – главное в достижении целей обучения. В этих условиях СПО Lazarus оказывается хорошим подспорьем. Я стараюсь добиться, чтобы мои ученики установили Lazarus на компьютерах у себя дома, а в качестве домашнего задания принесли (прислали по e-mail) созданный в системе программирования проект. Если проект работает – большая удача, но, как правило, первые шаги учащихся содержат много ошибок. На начальном этапе это простые синтаксические ошибки (забыл поставить «;», неправильно написал оператор и т.п.). Мотивированные учащиеся очень быстро их замечают и самостоятельно исправляют. При написании более сложных программ я также направляю учащихся на самостоятельное нахождение и исправление ошибки, например, обратить внимание, корректно ли составлено условие или организован цикл, правильно ли выбран тип данных и т.п.

Если учитель ставит своей целью не ознакомление с программированием, а формирование специальных навыков для продолжающего обучения, то в таком случае нельзя обойтись без элективных курсов, кружковой подготовки. Для учащихся старшей ступени образования я веду элективные курсы «Основы программирования», «Информационные системы и модели». Они развивают фундаментальную составляющую школьного базового курса информатики. Можно сказать, что курсы такого типа имеют предвузовский характер, развивают научные интересы учащихся, предоставляют возможность испытать себя в способности к самообучению, к решению нетривиальных задач [3]. На протяжении 3-х лет я веду кружок «Юный программист», где наиболее заинтересованные учащиеся постигают «изюминки» программирования.

Для поддержания и совершенствования навыков программирования на уроках в старшей школе (при изучении приложений MS Office), а также при подготовке и составлении исследовательских проектов во внеурочной деятельности знакомлю учащихся с программированием макросов на языке VBA. Из опыта могу сказать, что такая практика значительно повышает уровень технической сложности, наглядности и качества ученических проектов. И стоит ли говорить, что приобретенные ими навыки будут полезны в дальнейшем обучении и работе?

И последнее, о чем мне бы хотелось сказать, это – олимпиада по информатике. Все мы знаем, что это олимпиада по программированию. Также нам всем хорошо известно, что на протяжении последних лет олимпиада по информатике как муниципального, так и регионального уровней является самой малочисленной по количеству учащихся. У меня таких учащихся тоже не много. Как правило, подготовкой к олимпиадам я занимаюсь с 1-2 учениками в текущем году. Да, не всегда удается преодолеть 50- процентный барьер и заработать большое количество баллов, но даже 30% тестов, которые засчитывает программа тестировщик, считаю неплохим результатом. И это является неплохим стимулом для учащихся в дальнейшем обучении программированию. В прошедшем учебном году 2 моих ученика принимали участие в турнире по программированию, организованном Чувашской академией информатизации образования (она же проводит Всероссийскую игру-конкурс «Инфознайка»). Турнир проходил в on-line режиме, выполненные задания принимала программа - тестировщик. Ребята получили неоценимый опыт написания и отладки программ. Да и результат для первого раза считаю тоже неплохой: у одного участника 85, у другого 86 баллов из 100 возможных.

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


Библиографический список
  1. Нельзина О.В. Проблемы обучения программированию по курсу информатики в системе «школа-вуз» // Вопросы Интернет - образования. - 2006. - №13.
  2. Открытый каталог научных конференций, выставок, семинаров [Электронный ресурс]: Всероссийская научно-практическая конференция «Актуальные проблемы математики, физики, информатики в вузе и школе. – Режим доступа: ссылка скрыта, свободный.- Загл. с экрана.
  3. Семакин И.Г. Информационные системы и модели. Элективный курс: Практикум/ И.Г. Семакин, Е.К. Хеннер. – М.: БИНОМ. Лаборатория знаний, 2006.