Применение обучающих программ-тренажеров в обучении программированию

УДК 002:372.8

О.В. Якименко, А.Н. Стась

ПРИМЕНЕНИЕ ОБУЧАЮЩИХ ПРОГРАММ-ТРЕНАЖЕРОВ В ОБУЧЕНИИ ПРОГРАММИРОВАНИЮ

Томский государственный педагогический университет

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

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

Обратим внимание и на содержательный аспект. В настоящее время существуют три наиболее распространенных подхода к преподаванию программирования:

- преподавание программирования как теоретической дисциплины без привязки к конкретным языкам и системам;

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

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

Наиболее приемлемым для общеобразовательной школы, где курс информатики преподается в 8-11 классах, является сочетание первого и третьего подходов - обучение теоретическим основам программирования на базе стандартного языка. При этом необязательно вдаваться в глубины языка. Учащиеся, которых он заинтересует, могут сделать это и сами. Наибольшее внимание следует уделить переходу от алгоритмических структур к их программной реализации на языке программирования [3]. При этом все же следует как можно больше внимания уделять именно самим алгоритмам, в этом случае ученику в будущем будет легче перейти с одного языка программирования на другой.

Проанализируем государственные нормативные документы [4-6]. Федеральный базисный учебный план для образовательных учреждений РФ отводит 105 часов для обязательного изучения информатики и информационных технологий на ступени основного общего образования и 70 часов - на ступени полного общего образования. На алгоритмизацию и программирование отводится около 19 часов. В случае профильного изучения информатики ситуация значительно улучшается. Федеральный базисный учебный план отводит 280 часов для обязательного изучения информатики и информационных технологий на ступени среднего общего образования, то есть по 140 учебных часов на каждый год обучения. Как мы видим, на изучение раздела программирования отводится недостаточное количество времени, это приводит к тому, что изучение некоторых тем проходит поверхностно, а некоторые исключаются вовсе.

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

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

О.В. Якименко, А.Н. Стась. Применение обучающих программ-тренажеров в обучении..

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

Для того чтобы применение web-визуализаторов было действительно эффективным, необходимо сформировать их комплект исходя из предметного наполнения и целей изучения информатики в средней школе. Рассмотрим предметное наполнение раздела «Алгоритмизация и программирование» на базовом уровне. В раздел входят такие темы [1]:

- Алгоритм. Свойства алгоритма. Способы записи алгоритмов.

- Исполнители алгоритмов (назначение, среда, режим работы, система команд).

- Компьютер как формальный исполнитель алгоритмов (программ).

- Алгоритмические конструкции: следование, ветвление, повторение.

- Разбиение задачи на подзадачи, вспомогательный алгоритм.

- Алгоритмы работы с величинами: типы данных, ввод и вывод данных.

- Языки программирования, их классификация.

- Правила представления данных.

- Правила записи основных операторов: ввода, вывода, присваивания, ветвления, цикла и т.д.

- Правила записи программы.

- Обрабатываемые объекты.

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

1. Исполнение линейного алгоритма.

2. Условный оператор.

3. Циклы с предусловием.

4. Цикл с постусловием.

5. Цикл с параметром.

6. Суммирование элементов массива.

7. Поиск минимального и максимального элементов в массиве.

8. Простые сортировки массива.

9. Поиск подстроки.

10. Представление множества в ЭВМ.

11. Организация рекурсии.

12. Ввод, вывод в файл.

Для профильного курса информатики, ориентированного на углубленное изучение программирования, можно расширить предметное наполнение следующими темами [7]:

- Деревья. Обход дерева. Переборные алгоритмы.

- Матрицы. Работа с числами, матрицами, строками, списками.

- Инварианты, индуктивные доказательства.

- Генерация псевдослучайных последовательностей.

В этой связи список визуализаторов необходимо дополнить, например, тренажерами по следующим темам:

1. Умножение матриц.

2. Улучшенные сортировки массива.

3. Внешние сортировки, сортировки файла.

4. Работа стека и очереди.

Данный список не является исчерпывающим. Web-визуализаторы могут быть полезны и при обучении программированию в вузе. В качестве примера рассмотрим подготовку будущих учителей информатики. К блоку дисциплин по данной специальности, непосредственно связанных с программированием, можно отнести дисциплины: программирование, объектно-ориентированное программирование в среде DelpЫ; практикум по решению задач; теория алгоритмов, теоретические основы информатики; численные методы, основы искусственного интеллекта; компьютерное моделирование. Существует ряд тем, которые вызывают наибольшие затруднения у студентов, что зачастую связано с трудностью наглядной демонстрации. Именно в этом случае и целесообразно использование программ-тренажеров. Например, в рамках дисциплины «Теоретические основы информатики» можно успешно применять следующие визуализаторы:

1. Поиск минимального остова.

2. Поиск в глубину и ширину.

3. Поиск кратчайшего пути в графе.

4. Реализация конечного автомата.

Посутпила в редакцию 11.08.2008

Литература

1. Примерная программа основного общего образования по информатике и ИТ - http://window.edu.ru/window_catalog/pdf2txt7p_idH4196

2. Ильясов А.Н. К вопросу о роли и месте программирования в школьной информатике - http://www.rusedu.info/PrintArticle101.html

3. Лапчик М.П. и др. Методика преподавания информатики: Учеб. пособие для студ. пед. вузов / Под общей ред. М.П. Лапчика. М., 2003.

4. Федеральный компонент государственного стандарта основного общего образования - http://www.ed.gov.ru/ob-edu/noc/rub/standart/ p1/1287/

5. Федеральный компонент государственного стандарта основного полного образования - http://www.ed.gov.ru/ob-edu/noc/rub/standart/ p2/1288/

6. Базисный учебный план - http://www.ed.gov.ru/ob-edu/noc/rub/standart/

7. Примерная программа среднего (полного) общего образования по информатике и ИТ, профильный уровень - http://window.edu.ru/ window_catalog/pdf2txt7p_id=14239