Содержание к диссертации
Введение
Глава 1. Теоретические основы построения методики обучения логическому (хорновскому) программированию будущих учителей информатики 11
1.1. Информатика как научная дисциплина 11
1.2. Предмет информатики в вузе и школе 14
1.3. Логическое программирование на языке Пролог 29
1.3.1. Парадигмы программирования 31
1.3.2. Реализации языка программирования Пролог 35
1.3.3. Математические основания логического программирования 42
1.3.4. Сравнительный анализ языков программирования 49
Выводы по Главе 1 ;-. 52
Глава 2. Построение методической системы обучения логическому программированию 55
2.1. Цели обучения 56
2.2. Отбор содержания обучения 59
2.2.1. Аналитический обзор существующих подходов
к обучению логическому программированию 62
2.2.2. Отбор содержания раздела "Математические основания логического программирования" 65
2.2.3. Отбор содержания раздела "Теоретические основы логического программирования" 68
2.2.4. Отбор содержания раздела "Программирование
на языке Пролог" 74
2.3. Методы обучения , 75
2.4. Организационные формы обучения 84
2.5. Средства обучения 87
2.6. Задачи и упражнения в курсе логического программирования 97
2.7. Построение курса программирования на базе языка логического программирования 119
2.8. Логическое программирование в школьном курсе информатики 123
Выводы по Главе 2 125
Глава 3. Организация и проведение педагогического эксперимента 126
3.1. Организация педагогического эксперимента 126
3.2. Использование факторного анализа при отборе содержания обучения 128
3.3. Оптимизация учебной программы по содержанию и по времени методами теории графов 131
3.4. Методика проведения и результаты формирующего этапа педагогического эксперимента 137
Выводы по Главе 3 144
Заключение 146
Библиография 148
Приложения 160
Введение к работе
Одним из наиболее важных направлений развития общества является совершенствование системы образования, с уровнем которой тесно связаны перспективы как конкретного человека, так и общества в целом. Это и определяет требование опережающего развития системы образования, которое заключается в необходимости планирования процесса обучения таким образом, чтобы подготовка специалистов удовлетворяла потребностям общества будущего. Вопросы совершенствования системы образования обсуждались на Всемирной конференции по высшему образованию ЮНЕСКО, проходившей в 1998 году. Высшее образование дает обществу специалистов разной квалификации, кроме того, эта структура в значительной степени обусловливает формирование личности. Основной задачей педагогического вуза является подготовка учителя. Из стен педагогического института выходит человек, от которого зависит каким будет следующее поколение. Он должен быть широко образован, профессионально грамотен, способен к самообразованию, - и, вместе с тем, учитель должен быть всесторонне развитой личностью.
Темпы развития современного общества естественным образом порождают несоответствие подготовки студентов факультета математики педагогического вуза в области информатики требованиям, предъявляемым к учителю информатики. Известно, что фундаментальные знания устаревают достаточно медленно, поэтому повышение уровня образованности может быть достигнуто за счет увеличения доли таких знаний в общей массе знаний специалиста. Различные аспекты фундаментальной подготовки будущего учителя информатики раскрыты в работах А.А. Абдукадырова, Е.В. Барановой, Т.А. Бороненко, В.А. Извозчикова, Э.И. Кузнецова, ИВ. Симоновой, MB. Швецкого.
Одним из направлений обучения в области информатики, как в школе так и в вузе, является изучение языков программирования. Рассмотрение языков различных парадигм позволяет сформировать представление о языках программирования как некоторых формальных системах, предназначенных для решения широкого класса задач. Такое представление дает возможность сформировать определенный стиль мышления. Обучение конкретным языкам программирования чаще всего ограничивается изучением синтаксиса и структур данных языка. Рассматривая язык программирования как язык, представляющий конкретную парадигму, мы выделяем свойства языка и методы программирования, общие для данной парадигмы. Такой подход позволяет сформировать соответствующий стиль мышления. Существуют многочисленные работы, посвященные преподаванию языков программирования императивной парадигмы, большое количество задачников содержит упражнения по программированию для данной группы языков. Обучение языкам императивного программирования формирует алгоритмический стиль мышления.
Однако, всё ещё до конца не изученным является человеческое мышление и способы его моделирования при помощи технических средств. Невозможность решения большинства мыслительных задач методом перебора вариантов порождает стремление создавать интеллектуальные системы, способные решать задачи неалгоритмического характера. Изучение и попытки моделирования разумной деятельности человека дали основу для развития такого направления информатики, как искусственный интеллект. Языки программирования искусственного интеллекта связаны с обработкой символов (в широком смысле слова), поэтому в основу языков программирования искусственного интеллекта положено два принципа: ориентация на символьную обработку и декларативный подход к программированию. Поэтому можно говорить о том, что в области искусственного интеллекта используются определенные парадигмы программирования: функциональная, хорновская, продукционная и объектно-ориентированная.
Данная работа посвящена преподаванию хорновского программирования. Классическим примером языка хорновской парадигмы является язык Пролог. Практическое применение языка проіраммирования Пролог для решения задач искусственного интеллекта и символьной обработки информации, его наглядность при обучении, возможность формирования на его основе логического стиля мышления, позволяет выбрать данный язык в качестве средства обучения логическому программированию.
Пролог основан на формальной логике предикатов, обеспечивающей удобные средства для представления знаний в виде фактов и правил вывода. Программа на Прологе описывает не процедуру решения задачи, а логическую модель предметной области. Пролог является практической и эффективной реализацией многих принципов, относящихся к "интеллектуальному" выполнению программы, таких, как недетерминизм, унификация с образцом. Различным аспектам теории логического программирования и языку Пролог посвящены исследования Р. Ковальского, А. Колмероэ, Д. Уоррена, Дж. Робинсона. Интерес к языку программирования Пролог вызвал появление литературы, описывающей этот язык и его применения. Это книги У Клоксина и К. Меллиша, Л. Стерлинга и Э. Шапиро, К. Хог-гера, И. Братко, Ч. Ченя и Р. Ли, Ц. Ина и Д. Соломона, Дж. Стобо и др.
Вопросам преподавания языка программирования Пролог в вузе и школе посвящены работы И.Л. Братчикова, С.Г. Григорьева, В.А. Каймина, М.Н. Морозова, И.П. Соловьева, Д. Федюшина. Однако, несмотря на значимость языков логической парадигмы, мы можем отметить недостаточное освещение вопросов методики преподавания данного класса языков в педагогическом вузе.
Сказанное выше определяет актуальность данной работы.
Объектом исследования выступает процесс обучения будущих учителей информатики логическому программированию в системе высшего педагогического образования.
Цель исследования состоит в построении методики обучения студентов педагогического вуза логическому программированию на основе языка программирования Пролог.
Данная цель определила предмет исследования, которым является методическая система обучения будущих учителей информатики логическому программированию.
Теперь сформулируем тему исследования: "Методика обучения логическому (хорновскому) программированию будущих учителей информатики".
Гипотеза исследования заключается в том, что методическая система обучения логическому программированию будущих учителей информатики, в основу которой положен фундаментальный подход к обучению, может быть построена, если: . в содержании обучения логическому программированию выделено и обосновано подмножество математических понятий, лежащих в основании логического программирования, отвечающих дидактическим целям учебного курса и соответствующих определенному этапу обучения; выбраны и обоснованы частно-дидактические методы, формы и средства обучения хорновскому программированию студентов педагогического вуза. В соответствии с поставленной целью и выдвинутой гипотезой были определены задачи исследования:
1) провести теоретическое исследование вопросов, связанных с логическим программированием, таких как определение места языка Пролог в системе парадигм программирования, математические основания логического программирования, теоретические основы логического программирования; построить теоретическую модель методической системы обучения логическому программированию: сформулировать цели обучения; отобрать содержание обучения; разработать методы, формы и средства обучения; провести экспериментальную проверку теоретической модели методики обучения логическому программированию.
Для решения задач исследования использовались следующие методы: анализ специальной литературы по математике, информатике, вычислительной технике и методике обучения математике и информатике; анализ научной литературы по философским, социальным, психолого-педагогическим проблемам современной системы образования, анализ школьных и вузовских программ, учебников и учебных пособий; изучение и обобщение педагогического опыта; анкетирование учителей, студентов, преподавателей педвузов; метод экспертных оценок и обработка результатов методом факторного анализа; констатирующие и формирующие эксперименты по проверке отдельных методических положений работы.
Содержание применяемых методов исследования, конкретные задачи, решаемые с помощью каждого из них, а также экспериментальные материалы отражены в соответствующих разделах диссертации.
Научная новизна и теоретическая значимость проведенного исследования состоит в том, что в содержании обучения логическому программированию выделены взаимосвязанные разделы: "Математические основания хорнов-ского программирования", "Теоретические основы языка программирования Пролог", "Программирование на языке Пролог", первый из которых и составляет новизну данной работы; построена теоретическая модель методической системы обучения логическому программированию будущих учителей информатики.
Практическая^начимоста исследования заключается в том, что на основе построенной теоретической модели методики обучения будущих учителей информатики логическому программированию могут быть созданы варианты курса "Логическое программирование" для педагогических вузов с учетом их особенностей. Методика была использована при построении и проведении спецкурса "Основы логического программирования" в РГПУ им. А.И, Герцена.
Структура построения диссертации и логика ее изложения отражает последовательность решения основных задач исследования. Диссертация состоит из введения, трех глав, заключения, библиографии и приложений.
В первой главе приведены теоретические положения, используемые при построении методики обучения логическому программированию. Мы приводим сложившийся взгляд на предмет информатики, на его содержание, выделяем основные тенденции вузовского образования. Производится обзор основных вопросов, связанных с логическим программированием, таких как место языка Пролог в системе парадигм программирования, математические основания логического программирования; описываются существующие реализации языка программирования Пролог.
Вторая глава посвящена построению методической системы обучения, а именно, постановке целей обучения, отбору содержания, методов, организационных форм и средств обучения хорновскому программированию.
В третьей главе описано планирование учебного процесса с использованием математических методов. Приведены материалы и результаты формирующего этапа педагогического эксперимента.
Заключение содержит выводы по результатам диссертационного исследования и рекомендации о возможности реализации теоретических положений, выдвинутых в проведенном исследовании, для подготовки учителей информатики.
На защиту выносятся: . структура содержания обучения логическому программированию, представленная взаимосвязанными разделами "Математические основания хорновского программирования", "Теоретические основы языка программирования Пролог", "Программирование на языке Пролог"; методическая система обучения логическому программированию.
Информатика как научная дисциплина
Информатика как научная дисциплина появилась в вузах в 60-е годы. Одной из первых попыток создания международного стандарта в области информатики был Учебный план 68 [136], в котором были определены основные разделы информатики. Позднее он дополнялся и уточнялся с изменением целей образования в области информатики [135]. Одним из последних международных документов является Модульная программа обучения компьютерной науке [134], подготовленная рабочей группой IFIP под эгидой ЮНЕСКО.
Цель этой программы - дать общее структурированное и иерархическое представление тех областей, которые в настоящее время обычно рассматривают в качестве составных частей информатики, включая самые последние разработки.
Эта программа не является программой обучения информатике, её стоит воспринимать как содержание обучения, которым можно пользоваться для построения различных программ для разных учебных заведений. Авторы представили наиболее широким и исчерпывающим образом полное содержание информатики и предложили университетам и другим заведениям основополагающую информацию, по которой можно конструировать собственные курсы.
Мы также будем использовать данную программу при отборе содержания обучения логическому программированию в 2.2.
Мы будем придерживаться следующего определения [13]: информатика - это фундаментальная естественная наука: объектом которой являются информационные процессы в реальном мире, предметом - формальные системы, моделирующие информационные процессы и отображение формальных систем на архитектуру вычислительных (компьютерных) систем с помощью построения информационных моделей (алгоритмов и структур данных), методологией является вычислительный эксперимент.
Формальная система - математическая модель, задающая множество дискретных объектов путем описания исходных объектов и правил построения новых объектов из исходных и уже построенных. Под информационным процессом понимают процесс взаимодействия между двумя объектами материального мира, в результате которого возникает информация. Под архитектурой компьютерных систем понимают: а) общую схему информационных связей и связей по управлению, способы организации вычислительного процесса в компьютерных системах; б) совокупность свойств и основных характеристик компьютерных систем, наиболее существенных для пользователя.
Таким образом, опишем систему базовых понятий информатики как научной дисциплины: информация, информационные процессы, формальные системы, информационная модель (алгоритм, структуры данных), архитектура компьютерных систем, вычислительный эксперимент.
Предметом информатики как науки являются формальные системы, которые можно понимать как систему неких аксиоматических положений и правил вывода. А это есть ни что иное как формальный язык. Другими словами [95], формальная система, взятая вместе со своей семантической моделью, образует конкретный формальный язык.
Отбор содержания обучения
Уже стала очевидной необходимость изучения языков различных парадигм при обучении будущих учителей информатики. Это отмечается в многочисленных статьях [121; 42; 31; 35; 39], посвященных вопросам преподавания информатики в педагогическом вузе и школе.
Приведем содержание учебного курса "Языки программирования: парадигмы и организация" для будущих учителей информатики, направленного на изучение конкретных языков разных парадигм и организацию языков программирования [128]:
1) классификация парадигм программирования;
2) языки функционального (LISP); продукционного (Рефал), хорнов-ского (Пролог) и "чистою" объектно-ориентированного программирования (Smalltalk);
3) организация языков программирования различных парадигм: данные, операции, управление последовательностью действий, управление данными, управление памятью.
Целью первой части курса, посвященной парадигмам программирования, является знакомство студентов с классификацией парадигм и с основными особенностями функциональной, продукционной, хорновской и объектно-ориентированной парадигм [127; 128].
Целями второй части курса, посвященной организации языков программирования, являются: знакомство с общими принципами, лежащими в основе конструирования языков программирования и методами анализа языков программирования, позволяющими сравнивать и выбирать лучший язык для своих целей; совершенствование мастерства программирования.
В статье Д. Федюшина [121], посвященной обучению программированию, предлагается: "...вузовский курс информатики лучше строить как трехэтапный: на первом этапе изучается логическое программирование (язык Пролог), на втором этапе - процедурное (например, на базе языка
Турбо-Паскаль или Модула-2), на третьем этапе - объектно-ориентированное программирование (в качестве языков "поддержки" можно использовать объектно-ориентированное расширение Турбо-Паскаля или Модулы-2, язык Си++). Дело в том, что смена процедурной парадигмы на объектную — процесс столь же болезненный, как и на логическую, но при цепочке "логическая - процедурная - объектная" смена парадигм у студентов значительно облегчается".
Существует также и другой подход к определению последовательности преподавания языков программирования. Такой подход можно назвать хронологическим [127]. Исходя из последовательности возникновения языков - императивная парадигма (1954 г.), функциональная парадигма (1960 г.), продукционная парадигма (1964 г.), хорновская парадигма (1972 г.), объектно-ориентированная парадигма (1983 г.), парадигма конкурентного программирования (1984 г.), предлагается следующая очередность их преподавания:
- учебный императивный язык высокого уровня (Pascal, Modula-2);
- языки низкого уровня (Макроассемблер, Forth);
- языки функционального, продукционного и логического программирования (LISP, Рефал, Пролог);
- инструментальный императивный язык программирования высокого уровня (например, С или Ada).
Каждый из подходов имеет свои положительные стороны. Если мы ставим основной целью преподавание Пролога, то, конечно, будет выбран первый подход. Но, на наш взгляд, курс информатики педагогического вуза должен отражать реальное состояние современной науки, строиться на основе принципа фундаментальности образования. И поэтому, мы принимаем хронологическую последовательность преподавания языков программирования в педагогическом вузе.
Организация педагогического эксперимента
Педагогический эксперимент содержит ряд этапов [72; 73]: поисковый и констатирующий этапы, основной задачей которых является сбор и анализ необходимой эмпирической информации для уточнения гипотезы исследования, а также формирующий (созидательный) этап, на котором строится теоретическая модель и осуществляется её эмпирическая проверка.
Приведем основные задачи, методы и результаты всех этапов педагогического эксперимента. Важным представляется наличие способов проверки эффективное использованных методов, что облегчает вывод о достоверности полученных в исследовании результатов, а также используемых в педагогическом эксперименте моделей.
Поисковый этап
Задачи этапа: а) определение актуальности темы направления и темы исследования, обозначение путей решения основных проблем исследования; б) формулировка гипотезы о методологии отбора содержания обучения будущих учителей информатики логическому программированию.
Методы исследования: а) теоретический анализ психолого-педагогической и методической литературы с целью определения степени разработанности проблемы; б) изучение и обобщение состояния проблемы в педагогических вузах; в) наблюдения за процессом обучения информатике в педагогических и технических вузах.
Результаты эксперимента: а) выявлена объективная необходимость и определены возможности отбора содержания обучения будущих учителей информатики логическому программированию; б) разработаны первоначальные методические рекомендации по обучению логическому программированию.
Проверка достоверности: а) по полноте круга источников, содержащих необходимую информацию и включенных в изданные библиографические указатели ведущих библиотек России; б) по репрезентативности выборки педагогических вузов и преподавателей информатики; в) формирующим экспериментом.
Констатирующий этап
Задачи этапа: формулировка гипотез о содержании обучения будущих учителей информатики логическому программированию.
Методы исследования: а) интервьюирование преподавателей и студентов; б) анкетирование студентов; в) экспертные оценки преподавателями информатики педагогических вузов; г) методы многопараметрической статистики (факторный анализ).
Результаты эксперимента: выделены основные факторы, влияющие на содержание обучения будущих учителей информатики логическому программированию.
Проверка достоверности: а) сравнением методик работы разных преподавателей информатики; б) длительностью наблюдения; в) интерпретацией результатов, полученных методами многопараметрической статистики.
Формирующий этап
Задачи этапа: а) построение варианта курса "Логическое программирование" для будущих учителей информатики; б) выбор и уточнение критериев экспериментального исследования; в) апробация разработанной методики обучения логическому программированию.
Методы исследования: а) анализ использования представленной методики; б) контрольные работы и изучение деятельности студентов;
в) собеседования и интервьюирование преподавателей и студентов;
г) методы теории графов и сетей; е) методы математической статистики.