УДК 519.178, 372.851
А. Н. Стась, О. Н. Прусских ФОРМИРОВАНИЕ АЛГОРИТМИЧЕСКОГО МЫШЛЕНИЯ В ПРОЦЕССЕ ОБУЧЕНИЯ ТЕОРИИ ГРАФОВ
Условием успешного обучения программированию является развитие алгоритмического стиля мышления.
В статье проанализированы проблемы, с которыми сталкиваются педагоги в процессе развития данного стиля мышления у школьников и студентов. Предложена методика формирования алгоритмического мышления при обучении решению задач из области теории графов.
Ключевые слова: теория графов, алгоритмический стиль мышления, программирование, методика обу-
чения, преподавание программирования.
Изучая и анализируя современные методики преподавания информатики, однозначно приходим к выводу, что курс программирования является одним из основных в числе дисциплин предметной подготовки студентов, обучающихся по специальности «информатика». Как показывает статистика и многолетний опыт преподавателей [1], можно выделить ряд проблем, с которыми сталкиваются школьники, а впоследствии и студенты при изучении курса программирования.
Прежде всего необходимо отметить крайне низкий уровень подготовки школьников в области программирования и алгоритмизации [2]. Несмотря на то, что изучение основ структурного программирования входит в Государственный образовательный стандарт общего и среднего образования по информатике, значительная часть учащихся не имеет о программировании никакого представления [3]. В первую очередь это связано с тем, что на данный момент существующие методики развития алгоритмического мышления в базовом курсе информатики нуждаются в пересмотре, так как большинство из них было разработано в то время, когда формирование информационных технологий находилось на принципиально ином уровне [4].
При всем при этом, внимательно изучив нормативные документы, мы видим, что на изучение основ программирования базисный учебный план образовательных учреждений Российской Федерации на уровне основного общего образования отводит 105 часов, а на уровне полного общего образования - 70 часов. Учебное время на освоение программирования в базовой общеобразовательной школе сокращено до минимума. В тематическом планировании базового курса «Информатика и информационно-коммуникационные технологии» в основной школе на алгоритмизацию и основы программирования отводится всего 14 часов. На профильном же уровне информатике и информационно-коммуникационным технологиям уделяется 280 часов, т. е. 4 часа в неделю. Таким образом, на изучение такой сложной темы, как программирование в школе дано очень мало времени
[5; 6].
Точно такая же ситуация прослеживается и при изучении курса программирования в вузе. Связано это в первую очередь с постоянным сокращением аудиторных занятий и одновременным увеличением объема учебного материала по данному курсу. Так, на аудиторные занятия по дисциплине «теоретические основы информатики» согласно учебным планам в Томском государственном педагогическом университете отводится всего 90 часов (54 лекционных и 36 лабораторных) [5]. Возможности изучения дисциплины «структуры и алгоритмы данных» несколько выше, так как на аудиторные занятия здесь выделено 126 часов, из них 63 лекционных и 63 лабораторных. Но этого явно недостаточно для выполнения всех поставленных задач, поэтому основной упор методисты вынуждены делать на самостоятельную работу студентов.
В результате учащиеся испытывают значительные затруднения при изучении программирования как в средней школе, так и вузе. Успешной является лишь весьма незначительная часть студентов (10-15 % от общего числа). В дальнейшем большая часть из них (60-70 %) по окончании обучения остается на репродуктивном уровне усвоения учебного материала (могут решить только типовые задачи) [1].
На наш взгляд, учитывая все вышесказанное, актуальной является задача совершенствования методики преподавания программирования в средней школе и высших учебных заведениях.
Несомненно, успешное обучение программированию невозможно без навыков алгоритмического мышления [7], которое необходимо формировать еще в начальной школе [4].
На данный момент в современной методической литературе, посвященной проблемам обучения школьников информатике, достаточно часто используется понятие «алгоритмический стиль мышления». Данный стиль представляет собой специфический способ мышления, предполагающий умение создать алгоритм, для чего необходимо наличие мыслительных схем, которые способствуют видению проблемы в целом, ее решению крупными блоками с последующей детализацией и
осознанным закреплением процесса получения конечного результата в языковых формах [2]. Несомненно, алгоритмическое мышление составляет важную часть интеллектуальной деятельности человека с применением современных информационных технологий [8].
Проанализировав определение алгоритмического мышления, считаем, что хороших результатов в его развитии можно достичь при изучении и решении задач по теме «Элементы теории графов».
Из результатов исследований различных психологов и педагогов, таких как Л. И. Попова, Н. Н. Кудряшов и т. д. [8], известно, что стили мышления, в частности алгоритмический, начинают формироваться еще в начальной школе в возрасте 5-11 лет и окончательно сформировываются к 20-25 годам. Запоздалое формирование этих структур протекает с большими трудностями и часто остается незавершенным [4].
Учитывая возрастные особенности школьников и студентов, представляется возможным успешно развивать алгоритмическое мышление и творческие способности в процессе решения задач по теории графов. Как показывает опыт отечественной и зарубежной практики, данный раздел дискретной математики позволяет в полной мере отразить все особенности развития алгоритмического стиля мышления, а именно: сформировать наличие умений получать и оценивать эмпирический материал, мыслить индуктивно и выдвигать гипотезы на его основании, а затем рассуждать дедуктивно при доказательстве гипотез и обосновании алгоритмов [1].
Для начала отметим, что теория графов - молодая область дискретной математики, но методы теории графов завоевали признание не только информа-тиков, но и инженеров, экономистов, психологов, лингвистов, биологов, химиков. Прежде всего это связано с относительной простотой вычислений, а также наглядностью представления результатов [9; 10]. Особенность такого подхода к решению задач в том, что процесс обучения становится хорошо наблюдаемым для преподавателя, а значит, и хорошо управляемым. Теория графов позволяет в качестве основного средства описания условия задачи использовать таблицы, структурные единицы теории -графы как наиболее наглядный и понятный, а кроме того, и наиболее естественный для человека способ, так как человек мыслит образами и ему легче воспринимать образы, нежели текст [11]. Это, безусловно, важно для развития данного стиля мышления.
Изучение элементов теории графов позволяет сформировать у учащихся представление о методах решения различных задач с применением графов, предусматривает знакомство с основными понятиями и базовыми алгоритмами этого раздела дискрет-
ной математики. В свою очередь реализация алгоритмов потребует определенных умений и навыков в области алгоритмизации и программирования. А как показывает практика [1], составление программ -весьма сложный процесс, включающий в себя значительное число качественно разнообразных этапов. Теория графов позволяет в значительной мере упростить наиболее сложные из них, например такие как постановка задачи и ее алгоритмизация.
Из всего вышесказанного следует, что теория графов является базой для формирования и дальнейшего развития алгоритмического мышления. Так как данная теория не является обязательным элементом образовательного стандарта, мы предлагаем изучение этой темы на элективных курсах.
Главная цель курса - сформировать знания, умения и навыки, необходимые для освоения в дальнейшем методов современных информационных технологий при решении задач, связанных с обработкой информации, поиском.
Основные задачи курса:
- ознакомить учащихся с истоками, основными задачами и методами применения теории графов при решении задач;
- сформировать элементарные навыки применения теории графов при решении простейших задач, поиска оптимальных путей.
Данный спецкурс рассчитан на учащихся 7-8-х классов и может изучаться в курсе информатики в классах с углубленным изучением или на факультативных занятиях. Более глубокое погружение в вопросы теории графов рекомендуется осуществлять в старших классах при работе с одаренными учащимися.
Содержание курса (18 часов, один час в неделю):
1. Введение в курс. Истоки теории (2 часа).
Теория графов - раздел геометрии (топологии).
Задача о семи мостах.
Понятие о графе. Вершины графа, ребра. Свойства графа (Эйлеровы). Понятие об уникурсальных фигурах.
2. Основные задачи (7 часов).
Задача о печатной плате. Понятие плоского графа.
Задача о графопостроителе.
Задача о коммивояжере (посыльном). Понятие о гамильтоновом графе. Понятие дерева. Метод ветвей и границ.
Задача о расписании; построении дорожных сетей.
Задача о назначениях.
Задача о раскраске.
3. Граф - инструмент программиста (5 часов).
Специальный граф - блок-схема. Основные блоки. Формирование навыков чтения блок-схем и изображение решения задачи с помощью блок-схемы.
4. Решение задач (4 часа).
Учащиеся должны знать: истоки теории графов; что такое граф, его вершины и ребра; четыре свойства графа (Эйлеровы); определение уникурсаль-ной фигуры; суть основных задач теории графов; определение гамильтонова графа; основные блоки для графического изображения решения задач.
Учащиеся должны уметь: определять количество четных и нечетных вершин графа и использовать эти знания для решения простейших задач; решать задачи, аналогичные рассмотренным основным задачам теории графов; уметь исполнять алгоритмы решения задач, изображенных в виде блок-схемы, а также показывать решение в графическом виде.
При изучении данной темы в рамках обучения в университете согласно государственным образовательным стандартам по специальности 030100 «Информатика с дополнительной специальностью» тема «Элементы теории графов» может быть включена в курс «Теоретические основы информатики», а при подготовке студентов направления 230200 «Информационные системы - Инженер» может быть изучена в рамках дисциплины СД.03 «Структуры и алгоритмы данных». Мы предлагаем рассмотреть в рамках данной темы следующие учебные материалы:
- лекции: «Основные понятия теории графов»; «Количественные характеристики теории графов»; «Операции над графами»; «Способы задания графов»; «Нахождение всевозможных путей в графе»;
- практические работы: «Основные понятия теории графов»; «Количественные характеристики теории графов»; «Нахождение всевозможных путей в графе»;
- задачи для самостоятельного решения по теории графов.
Рекомендуем использовать данные материалы в учебном процессе таким образом:
Лекция + самостоятельная работа «Основные понятия теории графов».
Цель - знакомство с основными понятиями теории графов.
Задачи: дать определение графа, его основных элементов, перечислить их виды.
Самостоятельное задание: каждый студент получает задание по материалам лекции.
Лекция + самостоятельная работа «Количественные характеристики теории графов».
Цель - знакомство с основными количественными характеристиками теории графов.
Задачи: дать определение основных количественных характеристик графа, научить их вычислять; дать определение частей графа и научить их определять.
Самостоятельное задание: каждый студент получает задание по материалам лекции.
Лекция + самостоятельная работа «Операции над графами».
Цель - знакомство с основными операциями над графами.
Задачи: дать основные определения операциям и показать на примере их результаты.
Самостоятельное задание: каждый студент получает задание по материалам лекции.
Лекция + самостоятельная работа «Способы задания графов».
Цель - знакомство с основными способами задания графов.
Задачи: дать определение способам задания графа, рассмотреть отличия одного способа от другого.
Самостоятельное задание: каждый студент получает задание по материалам лекции, например, записать матрицу инцидентности по данному графу.
Лекция + самостоятельная работа «Нахождение всевозможных путей в графе».
Цель - знакомство с основными способами нахождения путей в графе.
Задачи: дать определение пути в графе, научить его вычислять.
Самостоятельное задание: каждый студент получает задание по материалам лекции.
Практическая работа «Основные понятия теории графов».
Цель - приобретение практических навыков и умений по работе с графами, способами задания их количественных характеристик.
Задачи: ознакомить с различными способами определения количественных характеристик графа, проверить знания и умения по способам задания графа.
Практическая работа «Нахождение всевозможных путей в графе».
Цель: приобретение практических навыков и умений по работе с графами, методами нахождения путей в графе.
Задачи: ознакомить с различными способами нахождения путей в графе.
Задания для самостоятельного решения по теории графов.
Цель - оценить и проанализировать степень усвоения знаний по пройденным материалам.
Для построения практических занятий мы предлагаем использовать разработанную нами программу-тренажер, которая в полной мере обеспечит наглядность и, что немаловажно, сэкономит время как студентов, так и преподавателя.
На наш взгляд, применение этих методических приемов в учебном процессе позволит учащимся овладеть навыками алгоритмического мышления, необходимыми для успешного изучения программирования, а также осуществления других видов учебнопознавательной и практической деятельности.
Список литературы
1. Газейкина А. И. Стили мышления и обучения программированию студентов педагогического вуза // Информационные технологии в образовании. URL: http://ito.edu.rU/2006/Moscow/I/1/I-1-6371.html
2. Попова В. Р. Роль алгоритмизации в профессиональном становлении студента педагогического вуза // Прикладная психология. 2006. № 5.
3. Александрова Н. В. Психологическая и педагогическая диагностика развития ребенка: рабочая программа дисциплины. В. Новгород, 2006. 9 с.
4. Антонова И. Г. Как научить пятиклассников общаться и познавать себя: методические рекомендации классным руководителям, воспитателям и школьным психологам, работающим с детьми младшего подросткового возраста. Ульяновск, 1998. 40 с.
5. Государственный образовательный стандарт высшего профессионального образования по специальности 030100 «Информатика с дополнительной специальностью». Квалификация «учитель информатики» (в соответствии с дополнительной специальностью). М., 2005.
6. Государственный образовательный стандарт высшего профессионального образования по специальности 230200 «Информационные системы - Инженер» (в соответствии с дополнительной специальностью). М., 2005.
7. Якименко О. В., Стась А. Н. Применение обучающих программ-тренажеров в обучении программированию // Вестн. Томского гос. пед. ун-та (Tomsk State Pedagogical University Bulletin). 2009. Вып. 1. С. 54-56.
8. Емельянова В. Р. Формирование профессионализма в процессе подготовки студента педагогического вуза // Подготовка и повышение квалификации педагогических и управленческих кадров: сб. научн. тр. М., 2003.
9. Артемова Д. Т. Полезная математика. Приложение теории графов: программа предпрофильной подготовки. М., 2004.
10. Глебов А. Н. Алгоритмы на графах. Рабочая программа дисциплины. Новосибирск, 2003.
11. Умелов А. Н., Берштейн Л. С., Курейчик В. М. Применение графов для проектирования дискретных устройств: эл. библ. попечительского совета мехмата МГУ. М., 2001.
Стась А. Н., доцент кафедры, зав. лабораторией.
Томский государственный педагогический университет.
Ул. Киевская, 60, Томск, Россия, 634061.
E-mail: [email protected]
Прусских О. Н., магистрант.
Томский государственный педагогический университет.
Ул. Киевская, 60, Томск, Россия, 634061.
E-mail: [email protected]
Материал поступил в редакцию 26.05.2010.
A. N. Stas, O. N. Prusskih SHAPING THE ALGORITHMIC THINKING IN THE PROCESS OF THE EDUCATION GRAPH THEORY
The condition of the successful education of the programming is a development of the thinking algorithmic style.
Some problems are analysed in the given article, which face the teachers in the progress of the thinking development of schoolchildren and students. The Offered methods of the shaping of the algorithmic thinking in the process of the education to decision some problems from area graph theory.
Key words: The Graph theory, algorithmic style of thinking, programming, methods of teaching, teaching programming.
Stas A. N.
Tomsk State Pedagogical University.
Ul. Kievskaya, 60, Tomsk. Russia, 634061.
E-mail: [email protected]
Prusskih O. N.
Tomsk State Pedagogical University.
Ul. Kievskaya, 60, Tomsk. Russia, 634061.
E-mail: [email protected]