автореферат и диссертация по педагогике 13.00.02 для написания научной статьи или работы на тему: Методика обучения бакалавров физико-математического образования математическим основаниям парадигм программирования
- Автор научной работы
- Кудрявцева, Ирина Андреевна
- Ученая степень
- кандидата педагогических наук
- Место защиты
- Санкт-Петербург
- Год защиты
- 2005
- Специальность ВАК РФ
- 13.00.02
Автореферат диссертации по теме "Методика обучения бакалавров физико-математического образования математическим основаниям парадигм программирования"
На правах рукописи УДК 378.016: 004
КУДРЯВЦЕВА ИРИНА АНДРЕЕВНА
МЕТОДИКА ОБУЧЕНИЯ БАКАЛАВРОВ ФИЗИКО-МАТЕМАТИЧЕСКОГО ОБРАЗОВАНИЯ МАТЕМАТИЧЕСКИМ ОСНОВАНИЯМ ПАРАДИГМ ПРОГРАММИРОВАНИЯ
13.00.02 — теория и методика обучения и воспитания (информатика, уровень профессионального образования)
Автореферат
диссертации на соискание учёной степени кандидата педагогических наук
Санкт-Петербург 2005
Работа выполнена на кафедре информатики государственного образо вательного учреждения высшего профессионального образования "России ский государственный педагогический университет им. А.И Герцена".
Научный руководитель:
доктор педагогических наук, профессор Михаил Владимирович Швецкий
Официальные оппоненты:
доктор педагогических наук, профессор Наталья Владимировна Макарова
кандидат технических наук, профессор Александр Г еоргиевич Степанов
Ведущая организация:
Московский педагогический государственный университет
Защита состоится 17 ноября 2005 года в 13 часов на заседании Диссертационного Совета Д 212.199.03 по защите диссертаций на соискание учёной степени доктора педагогических наук в Российском государственном педагогическом университете им. А.И. Герцена по адресу: 191186, Санкт-Петербург, наб. р. Мойки, д. 48, корп. 1, ауд. 237.
С диссертацией можно ознакомиться в фундаментальной библиотеке РГПУ им. А.И. Герцена.
Автореферат разослан 17 октября 2005 г.
Учёный секретарь Диссертационного Совета
И.В Симонова
ПУ947
3
ОБЩАЯ ХАРАКТЕРИСТИКА ИССЛЕДОВАНИЯ
Актуальность исследования. В условиях непрерывного развития техники современное общество нуждается в формировании личности, способной жить в новых, неожиданных для неё обстоятельствах, ибо стремление к созданию искусственного интеллекта предполагает изменение мира, существование в котором потребует от человека способности к творческим, индивидуальным решениям. Поэтому, необходимо заложить в студентов "механизм развития", чтобы по окончании университета они могли расширять и обновлять свои знания, а не быть заложниками той практической подготовки в области информатики, которая была дана им в рамках программы их обучения.
Образование формирует у человека определённую культуру, понимаемую (по ЮМ Лотману), как единое информационное пространство с функционирующими внутри него различными знаковыми системами Мы сталкиваемся с проблемой существования в этом пространстве, где требуется гибкость в переходе от одной знаковой системы к другой.
В связи с этим формирование культуры у студентов в области формальных языков, составляющих фундамент теоретической информатики, видится нам в проведении и демонстрации связей между этими формальными системами (которые, естественно, являются знаковыми).
В Государственном образовательном стандарте высшего профессионального образования по направлению "Физико-математическое образование" дисциплины профильной подготовки "Информатика" одним из базовых разделов изучения дисциплины "Языки и методы программирования" являются парадигмы программирования.
Учитывая тот факт, что гносеологические корни информатики уходят в математику, нам представляется важным раскрытие парадигм программирования через рассмотрение источников их возникновения - математические основания. Формирование представления о математических основаниях парадигм программирования позволит студентам не только увидеть связи между изучаемыми им дисциплинами в области информатики, но и получить инструмент для рассмотрения, изучения и построения языков программирования разных парадигм.
С другой стороны, актуальность исследования подтверждают следующие противоречия:
(1) несоответствие формирования у бакалавров физико-математического образования представлений о парадигмах программирования должному уровню, позволяющему свободно воспринимать любые алгоритмические конструкции разных языков программирования;
(2) отсутствие методики обучения бакалавров физико-математического образования математическим основаниям парадигм программирования;
(3) недостаточное количество учебных и методических пособий, в которых проводятся связи между языками программирования и формальными языками дискретной математики (математи1
программирования).
Отметим ряд изданий, в которых затрагиваются вопросы математических оснований парадигм программирования: "Языки программирования. Практический сравнительный анализ" (М Бен-Ари, 2000), "Универсальные языки программирования Семантический подход" (А.Г Калинин, И В Мацкевич, 1991), "Языки программирования Концепции и принципы" (В.Ш Кауфман, 1993), "Лекции по теории программирования" (С С. Лавров, 1999), "Языки программирования: разработка и реализация" (Т. Пратт, М Зелковиц, 2002), "Основные концепции языков программирования" (Р.У Себеста, 2001), "Стили и методы программирования" (Я Я Непейвода, 2005), "Осйовакия программирования" (Я.Я Непейвода, И Я Скопин, 2003). Существуют также исследования, посвященные методике обучения Языкам программирования, в которых поверхностно указываются связи языков программирования с соответствующими языками дискретной математики, например, И.С. Косовой (2001) (функциональное программирование), И.П Самойловой (2001) (логи- |
ческое программирование).
Сказанное выше определяет актуальность исследования и позволяет сформулировать научную проблему исследования: отбор содержания и построение методики обучения бакалавров физико-математического образования математическим основаниям парадигм программирования.
Охарактеризованная проблема с учётом актуальности её рассмотрения обусловила выбор следующей темы исследования: "Методика обучения бакалавров физико-математического образования математическим основаниям парадигм программирования". Решение научной проблемы исследования отражено в содержании данной работы.
Цель исследования состоит в разработке методической системы обучения бакалавров физико-математического образования математическим основаниям парадигм программирования в рамках дисциплины специализации "Информатика".
Объектом исследования явился учебный процесс обучения бакалавров физико-математического образования языкам и методам программирования, а также элементам дискретной математики: "Формальные языки, грамматики, автоматы", "Математическая логика", "Теория алгоритмов".
Предметом исследования явилась методическая система обучения бакалавров физико-математического образования математическим основаниям парадигм программирования.
Гипотеза исследования заключается в том, что методическая система обучения бакалавров физико-математического образования математическим основаниям парадигм программирования может бьпь построена, если:
(1) принять в качестве базовых понятий "алгоритм" и "исчис пение", трактуемых как способы задания конструктивных процессов;
(2) воспользоваться методом межпарадигмальной рефлексии как принципом отбора содержания (по И А Колесниковой);
(3) опираться на предложенную классификацию парадигм программирования. построенную с учётом определённой структуры парадигмы программирования;
(4) воспользоваться логико-семиотическим анализом предполагаемого содержания как принципом его корректирования и структурирования.
Таким образом, для достижения поставленной цели и проверки достоверности гипотезы исследования былй поставлены такие задачи.
I. Задачи методологического характера - определение исходных методологических принципов -построения методической системы обучения бакалавров физико-математического образования математическим основаниям парадигм программирования:
(1) выбрать методологию исследования в области методики обучения математическим основаниям парадигм программирования;
(2) выделить принципы построения методической системы обучения математическим основаниям парадигм программирования;
(3) провести анализ классификации формальных языков теоретической информатики, описывающих способы задания конструктивного процесса;
(4) провести классификационное исследование парадигм программирования;
(5) сформировать линию математических оснований парадигм программирования на основе существующих концептуальных линий в обучении математическим основаниям информатики (построенных проф. Н.И. Рыжовой и проф. М.В. Швецким)-,
II. Задачи теоретического характера - построение методической системы обучения бакалавров физико-математического образования математическим основаниям парадигм программирования:
(1) уточнить содержание понятия "парадигма программирования";
(2) раскрыть содержание понятия "математические основания парадигм программирования";
(3) осуществить отбор содержания обучения математическим основаниям парадигм программирования;
(4) определить цели обучения разделам содержания, посвящённого обзору математических оснований парадигм программирования;
(5) произвести отбор целесообразных методов, форм и средств обучения студентов математическим основаниям парадигм программирования с учётом поставленных целей.
III. Задачи практического характера - частичная практическая реализация теоретических положений исследования:
(1) проверить и уточнить разработанные теоретические положения в условиях констатирующего и формирующего экспериментов;
(2) разработать систему учебных пособий по языкам программирования различных парадигм, в которых описание языка программирования будет начинаться с представления математических оснований той парадигмы, к которой он принадлежит. В дополнение к этому, разработать методические рекомендации для преподавателей вузов по планированию и проведению учебных занятий по языкам программирования, направленных на обучение студентов парадигмам программирования.
Для решения задач исследования применялись следующие методы, анализ философской, научно-мегодической, психолого-педагогической литературы по проблемам информатизации системы образования; анализ научной литературы по математике, информатике, методике преподавания математики и информатики; анализ вузовских стандартов, зарубежных и отечественных программ подготовки бакалавров физико-математического образования, учебных пособий по языкам программирования, учебников по информатике и вычислительной технике; метод межпарадигмальной рефлексии, логико-семиотический анализ отобранного содержания обучения; констатирующие и формирующие эксперименты по проверке отдельных теоретических положений работы: метод экспертных оценок и обработка результатов методами факторного и кластерного анализа, анализ контрольных работ и метод статист ической обработки результатов формирующего эксперимента; моделирование содержания обучения математическим основаниям парадигм программирования с помощью графов.
Положения, выносимые на защиту:
(!) структура парадигмы программирования, элементами которой являются' математические основания, составляющие неизменное ядро парадигмы программирования; языки программирования, являющиеся представителями данной парадигмы и отражающие характер операционной семантики; технологии программирования, определяющие процесс сборки программы посредством определённой инструментальной единицы декомпозиции программы, которая выражает логически завершенную элементарную часть действия алгоритма на языке программирования.
(2) классификационное исследование парадигм программирования, проведённое на трйх уровнях в соответствии с предложенной структурой парадигмы программирования: математические основания, языки программирования, технологии программирования;
(3) структура содержания обучения бакалавров физико-математического образования математическим основаниям парадигм программирования, полученная в результате анализа, отбора содержания разделов "Элементы теории формальных языков", "Введение в теорию абстрактных автоматов", "Введение в теорию формальных (рамматик", "Теория рекурсивных функций", "Представительные вычислительные модели", "Представительные порождающие модели", "Элементы ¿.-исчисления и исчисления комбинаторов", "Логические языки нулевого и первого порядка", "Элементы языка программирования (ассемблер, Perl, LISP, Рефал. PROLOG)" и последующего синтеза содержания этих разделов;
(4) содержание обучения бакалавров физико-математического образования математическим основаниям парадигм программирования.
Научная новизна исследования состоит в том, что:'
(1) на основе анализа научной и учебно-методической литературы в области математических основ информатики выделена новая в методике обучения парадигма программирования - "программирование от состояний" ("автоматное программирование")',
(2) построена классификация парадигм программирования на основе предложенной структуры парадигмы программирования;
(3) установлены связи между языками программирования и математическими моделями, лежащими в основе существующих парадигм программирования, на уровне синтаксиса и семантики формальных языков;
(4) на основе связей, упомянутых в п.З, сформулированы и обоснованы теоретические положения, опираясь на которые произведён отбор содержания обучения бакалавров физико-математического образования математическим основаниям парадигм программирования
Проведённое исследование и предложенные подходы к выявлению математических оснований парадигм программирования могут послужить основой для рассмотрения ещё неисследованных в методическом смысле и вновь образующихся парадигм программирования.
> Теоретическая значимость исследования определяется:
(1) научной новизной и методологическим характером работы, демонстрирующим вариант методического моделирования взаимосвязей языков математики с языками программирования, состоящий в моделировании связей между соответствующими методическими системами обучения;
(2) уточнением содержания понятия "парадигма программирования". состоящим в определении структуры парадигмы программирования, компонентами которой являются: (а) математические основания парадигмы, (б) языки программирования, являющиеся представителями данной парадигмы, (в) технологии программирования;
(3) формированием содержательной линии "Математические основания парадигм программирования" в теоретической информатике;
(4) построенной методической системой обучения студентов математическим основаниям парадигм программирования, которая может являться теоретическим прототипом для организации связей методических систем обучения.
Практическая значимость исследования состоит в том, что:
(1) на основе построенной методической системы может быть скорректировано содержание обучения бакалавров физико-математического образования парадигмам программирования, что значительно усилит их фундаментальную подготовку в области парадигм программирования;
(2) разработанная методическая система обучения может найти практическое воплощение либо в дисциплинах по изучению какого-либо языка программирования. либо в разделах дискретной математики, либо в спецкурсах:
(3) на основе построенной методической системы могуч быть созданы учебные пособия и методические рекомендации, направленные в широком смысле на моделирование межпредметных связей математики и информатики, а з узком смысле - на обучение студентов математическим основаниям парадигм программирования.
Достоверность и обоснованность полученных результатов обеспечена: методологией исследования, теоретическим обоснованием положений исследования и частичной практической реализацией построенной методической
системы обучения; количественным и качественным анализом результатов исследования, полученным на основе использования методов исследования, адекватных предметным задачам и этапам исследования.
Апробация результатов исследования осуществлялась через публикации и выступления на научно-методическом семинаре "Вопросы теории и методики обучения информатике" кафедры информатики факультета математики РГПУ им. А.И. Герцена (2004-2005).
Структура диссертации. Диссертация состоит из введения, страницы условных обозначений, трёх глав, заключения, библйографии и приложений Основной текст занимает 183 с. Диссертация иллюстрирована схемами, рисунками и таблицами.
ОСНОВНОЕ СОДЕРЖАНИЕ ИССЛЕДОВАНИЯ
В качестве модели наиболее полного представления диссертационной работы нами была выбрана структура методической теории, предложенная Н И. Рыжовой (2000).
Во введении обоснована актуальность исследования, сформулирована его проблема, объект и предмет, высказана гипотеза исследования, определены задачи и методы исследования, раскрыта новизна, теоретическая и практическая значимость работы, изложены основные положения, выносимые на защиту.
В первой главе "Теоретические основы построения методической системы обучения математическим основаниям парадигм программирования" изложены основные методологические положения, способствующие построению методической системы обучения математическим основаниям парадигм программирования.
В §1.1 представлен терминологический аппарат, соиавляющий концептуальный базис диссертационного исследования: "парадигма программирования", "философские основания природы математических знаний", "математические основания парадигм программирования", "метаязык"'.
Анализ существующих определений понятия "парадигма программирования", рассмотрение смысла терминов, составляющих данное понятие, а также обращение к философским концепциям Т. Куна и И Лакатоса о развитии научного знания сформировало у нас определённые взгляды на исследуемое понятие.
Парадигма программирования - это образец мышления по отображению класса задач в алгоритмы их решения средствами языков программирования, представляющий собой систему со следующей структурой:
(1) математические основания (формальные языки), позволяющие определить особенности синтаксиса и семантики языков программирования рассматриваемой парадигмы:
(2) средства, в качестве которых рассматриваются языки программирования, представляющие возможность передать алгоритм решения задачи автомату для выполнения:
(3) технологии программирования, упрощающие реализацию алгоритма, учитывая: архитектурную платформу; операционную систему, систему программирования.
При этом возникновение новой парадигмы программирования предполагает переопределение её основ, отображающих методы решения определённого класса задач. Оставив неизменными математические основания и меняя только средства и технологии программирования, мы будем находиться в рамках исследовательской программы.
В §1.2 отражён концептуальный каркас исследования, представляющий собой обобщённую модель методических систем обучения (предложенных ТА Боронгнко (1997) и И Б Готской (1999)) для изложения нашей методики обучения и светскую модель образования (по А Ж. Кусжановой) - "формирование универсальной деятельности и мышления", в рамках которой мы будем осуществлять построение методики.
В §1.3 изложена логика исследования, в которой обозначены принципы построения методической системы обучения математическим основаниям парадигм программирования: философские, общедидактические (по В.И За-гвязинскому), принципы отбора содержания и ведущие принципы.
Обратим внимание на ведущие принципы, выделенные нами как особо значимые при построении нашей методической системы: (I) учёт объекта и предмета исследования; (2) столкновение двух научных областей (математика и информатика) приводит к использованию метода межпарадигмальной рефлексии при отборе содержания; (3) корректирование и структурирование содержания обучения в области информатики помогает проведение над ним логико-семиотического анализа.
Во второй главе "Построение методической системы обучения математическим основаниям парадигм программирования" осуществлено построение методической системы на основе методологических положений, приведённых в первой главе.
В §2.1 описана содержательная надстройка методической системы обучения математическим основаниям парадигм программирования, содержащая: классификацию формальных языков (предназначенных для описания исчислений и алгоритмов - форм представления информационных процессов), предложенную Н.И Рыжовой и М В Швецким (2003); содержательную линию магматических оснований парадигм программирования, представляющую собой объединение совокупности девяти устоявшихся концептуальных линий в теоретической информатике, предложенных Н И Рыжовой и М В, Швецким (2003); классификацию парадигм последовательного программирования, проведённую нами на трёх уровнях (математические основания; языки программирования; технологии программирования), в соответствии с выделенной структурой парадигмы программирования и с опорой на классификацию парадигм, представленную В В Лаптевым и М.В. Швецким (2000).
Отметим, что в представленных ниже классификациях (схемь» 1-3) парадигмы программирования располагаются слева направо в порядке уменьше-
ния их связи с понятием "алгоритм" и увеличением связи с понятием "исчисление"
В §2.2 сформулированы цели обучения математическим основаниям парадигм программирования Внешняя, по отношению к методической системе, цель обучения - установление связей иежду языками программирования и математическими моделями, лежащими в основе существующих парадигм программирования, что обеспечит студента фундаментом развития всей вычислительной техники. Внутренние цели обучения как ожидаемые результаты методической системы обучения математическим основаниям парадигм программирования оформлены в виде требований к знаниям и умениям студентов по каждой парадигме.
В §2.3 на основе принципов отбора содержания, сформулированных в первой главе, произведён отбор содержания обучения математическим основаниям пяти парадигм программирования: императивной, функциональной, продукционной, логической и "программирования от состояний".
Схема /
Математические основания парадигм программирования
—Алгоритм Ц—|
По способу задания конструктивного процесса По способу описания
Теоретико-множественное
Понятие «функция»
Конструктивное
Конструктивное
По средству описания
Вычислительные Порождающие
модели модели
Рекурсивные функции
...комбинаторной логики
Функциональная парадигма
Теоретико-множественное
Формальные языки
...математической логики
Логическая парадигма
Условные обозначения по схемам 2 и 3' МТ - машина Тьюринга, МПУ -машина Поста-Успенского, РАМ - равнодоступная адресная машина, РАСП -равнодоступная адресная машина с хранимой программой. МНР - машина с неограниченными регистрами, НАМ - нормальные алгорифмы Маркова; КА - конечные автоматы, МА - магазинные автоматы, КС-грамматики - контекстно-свободные грамматики.
Схема 2
Вычислительные модели
По типу модели
Предстиви
тельные
-
По степени локальности преобразуемой информации
Непредставительные_
колмогоровского типа
с нелокальными шагами _
МТ
МПУ
г РАМ
'РАСП|[НАМ )
Гмнр £
Императивная парадигма
I]
Порождающие модели
Непредставительные
Представительные
По степени покальности преобразуемой информации
с нелокальными шагами
с локальными
шагами
..1
Ассоциативные исчисления
Продукционная парадигма
Цолусистемы Туз_
Формальные грамматики
Схема 3
[КА]
Непредставительные вычислительные модели
НИ
Непредставительные порождающие модели
Автоматы
КС-грамматики
Клеточ- Автоматы (МА} Помечен-
ные ав- Уотсоиа- ные сети
томяты Крикя Петри
1 г 1 1 1 м____
Парадигма «программирование от состояний»
Формальные грамматики
Пряволиней-няя грамматика
Далее проведена классификация парадигм программирования на уровне языков программирования, т. е в качестве основания деления представлена операционная семантика формальных языков.
Схема 4
Языки программирования
По характеру операционной семантики
[Императивные \
По степени близости к языку, воспринимаемому компьютером
I Декларативные ^ I
По отношению к равенствам
Эмоциональные
Машинные
Машинно-ориентированные
Проблемно-ориентиро-
ванные_
I |
По уровням языков программирования
Резолюционные (хорновские)
Сверхнизкий уровень языков
Промежуточный уровень языков
Высокий
уровень
языков
Сверхвысокий уровень языков
Схема 5
Следующий уровень построения классификации парадигм программирования отмечен технологией программирования.
Под технологией программирования мы понимаем процесс сборки программы посредством определённой инструментальной единицы декомпозиции программы, выражающей логически завершённую элементарную часть действия алгоритма на языке программирования (схема 7). Данные технологии включаются в технологии программирования, ориентированные на "серийное" производство программ (схема 6).
Схема б
Схема 7
Структура разделов по каждой парадигме программирования следующая: специфика парадигмы; основное синтаксическое понятие языков программирования рассматриваемой парадигмы; выбор языка программирования для последующего установления с ним связи языков математических моделей, лежащих в основании парадигмы, которую он представляет; предъявление математических оснований парадигмы и обоснование этого факта через ус-
тановку связей между ними и языком программирования (на уровне синтаксиса и семантики), представляющим данную парадигму.
В п.2.3.1 установлена связь языка ассемблера с языками следующих представительных вычислительных моделей: машина с неограниченными регистрами, равнодоступная адресная машина, равнодоступная адресная машина с хранимой программой.
В п.2.3.2 приведено содержание обучения разделам комбинаторной логики ("Элементы Х-исчисления", "Элементы комбинаторного исчисления") и теории рекурсивных функций, составляющим математические основания функциональной парадигмы программирования. Представлен логико-семиотический анализ раздела "Элементы Х-исчисления", в ходе которого раскрыто основное содержание данного раздела и показана связь формальной системы бестипового ^.-исчисления с языком программирования LISP.
Обозначен метаязык (язык индуктивных определений) для: (1) выработки у студента "рекурсивного" типа мышления; (2) демонстрации операционной семантики языка функционального программирования; (3) представления индуктивных (рекурсивных) определений на функциональном языке программирования LISP для их тестирования; (4) перевода программы, записанной на языке LISP, на язык индуктивных определений для доказательства правильности её работы.
Построена классификация рекурсивных определений.
В п.2.3.3 установлена связь между языком программирования Рефал и языком представительной вычислительной модели - нормальные алгорифмы Маркова. Также, в данном разделе отмечена связь нормальных алгорифмов Маркова с машиной Тьюринга, которую мы отнесли к математическим основаниям продукционной парадигмы.
В п.2.3.4 проведена связь между логическим языком программирования Prolog и формальным языком первого порядка посредством сопоставления элементов структуры обозначенного языка программирования с понятиями формального языка логики; произведён отбор содержания обучения основам логического-программирования.
В п.2.3.5 представлена новая в методике обучения парадигма - "программирование от состояний" ("автоматное программирование"), основанная на: (1) построении (если это удаётся) для исследуемого объекта или процесса модели, представляющей собой совокупность математических структур, называемых автоматами; (2) построении программной модели этой совокупности на инструментальном языке программирования.
ТакжЬ, в этом разделе уделено внимание регулярным выражениям, являющихся превосходным средством представления языков в алфавите, по которым можно строить автоматы и которые можно легко восстанавливать по автоматам, распознающим язык в алфавите.
Для полноты картины приведено содержание разделов, тесно связанных с данной парадигмой- "Теория формальных грамматик" и "Теория автоматов"
В §2.4 приведены и описаны методы обучения, которые, на наш взгляд, будут способствовать эффективности обучения математическим основаниям
парадигм программирования: метод перевода как метод обучения формать-ным языкам; семантический подход к изучению языков программирования; метод демонстрационных примеров в обучении языкам программирования; метод целесообразно подобранных задач, точнее, его частный случай - "обучение через задачи".
В §2.5 охарактеризованы формы обучения математическим основаниям парадигм программирования, которые совпадают с ведущими формами организации учебного процесса в вузе: лекции, практические занятия и самостоятельные работы.
В §2.6 выделены и описаны характерные для заявленной темы средства обучения: знаково-символические, предназначенные для описания и изучения всех языков программирования и выделенных в работе парадигм программирования (формальные языки дискретной математики, составляющие математические основания парадигм программирования); информационные; программные и технические.
В третьей главе "Организация и проведение педагогического эксперимента" приводятся материалы, полученные в ходе сбора и анализа эмпирической информации для уточнения гипотезы исследования, а также эмпирическая проверка некоторых результатов исследования с помощью аппарата математической статистики, что свидетельствует о частичной апробации построенной методической системы обучения математическим основаниям парадигм программирования.
В §3.1 представлена общая характеристика исследования, в которой раскрыты основные этапы педагогического эксперимента (по И Я Паниней и В В Лаптеву), сопровождавшего построение методической системы обучения бакалавров физико-математического образования математическим основаниям парадигм программирования.
В §3.2 описан фрагмент констатирующего этапа педагогического эксперимента, в котором используется кластерный анализ для формулирования гипотезы, относящейся к классификации парадигм программирования.
В §3.3 описан фрагмент поискового и констатирующего этапа педагогического эксперимента, в котором с помощью факторного анализа, а также метода главных компонент были выделены основные факторы, влияющие на содержание обучения бакалавров физико-математического образования математическим основаниям парадигм программирования.
В §3.4 произведена оптимизация отобранного учебного материала по содержанию и по времени методами теории графов.
Перечислим темы обучения, составляющие учебный материал по математическим основаниям парадигм программирования:
1. Основа изучения языков
1.1. Элементы семиотики.
2. Метаязыки
2.1. Язык канторовской (наивной) теории множеств.
2.2. Элементы теории категорий.
3. Формальные языки
3.1. Языки в алфавите
3.1.1. Слова в алфавите.
3.1.2. Индуктивные определения операций и предикатов, заданных на множествах слов: построение и доказательство правильности.
3.1.3. Языки в алфавите. Операции над языками в алфавите. Перевод языков.
3.1.4. Исчисления на словах в алфавите. Формальные доказательства в исчислениях на словах в алфавите.
3.1.5. Ассоциативные исчисления в алфавите. Канонические и нормальные системы Поста.
3.2. Языки комбинаторной логики
3.2.1. Элементы Х-исчисления.
3.2.2. Элементы комбинаторного исчисления.
3.3. Логические языки
3.3.1. Логический язык нулевого порядка.
3.3.2. Логический язык первого порядка.
3.4. Логико-математические языки
3.4.1. Формальная арифметика первого порядка (теория S).
3.4.2. Формальная арифметика второго порядка (теория S2).
3.4.3. Формальная канторовская (наивная) теория множеств (М+).
3.5. Алгоритмические языки
3.5.1. Машина Тьюринга.
3.5.2. Машина Поста-Успенского.
3.5.3. Машина с неограниченными регистрами.
3.4.4. Равнодоступная адресная машина.
3.5.5. Равнодоступная адресная машина с хранимой программой.
3.5.6. Нормальные алгорифмы Маркова.
3.5.7. Язык рекурсивных функций.
3.6. Языки программирования
3.6.1. Ассемблер.
3.6.2. Pascal, Modula-2, С++, Java.
3.6.3. Perl.
3.6.4. LISP.
3.6.5. Рефал Плюс.
3.6.6. PROLOG.
3.7. Модельные языки императивного программирования
3.7.1. Н (система Хоара), D (система Дейкстры), М (модельный императивный язык).
4. Методы задания языков в алфавите
4.1. Элементы теории формальных языков
4.1.1. Регулярные языки в алфавите. Регулярные выражения над алфавитом.
4.2. Теория формальных грамматик
4.2.1. Формальные грамматики. Классификация формальных грамматик и языков. Классификация КС-грамматик.
4 2 2. Обобщение КС-грамматик для увеличения детерминированности процесса вывода и для формализации семантики. Синтаксически управляемый перевод.
4.2.3. Алгоритмы преобразования грамматик.
4.3. Теория автоматов
4.3.1. Конечные автоматы Рабина-Скотта.
4.3.2. Клеточные автоматы.
4.3.3. Автоматы Уотсона-Крика.
4.3.4. Автоматы с магазинной памятью как распознаватели.
4.3.5. Автоматы: как преобразователи. Элементы алгебраической теории автоматов.
4.3.6. Помеченные сети Петри.
5. Формальный синтаксис языков программирования
5 1. Нормальная форма Бэкуса-Наура. Расширенная нормальная форма Бэкуса-Наура.
5.2. Синтаксическая диаграмма.
6. Парадигмы программирования
6.1. Императивная парадигма программирования.
6.2. "Функциональная парадигма программирования.
6.3 Продукционная парадигма программирования.
6.4. Логическая парадигма программирования.
6.5. "Программирование от состояний" парадигма программирования.
!
В результате проведения топологической сортировки представленных выше тем, был получен граф (логическая структура) содержания обучения математическим основаниям парадигм программирования (рис.1).
Условные обозначения. На исходную вершину графа направлен указатель Начало. Вершины графа, обведённые двойной рамкой, обозначают парадигмы программирования как результат пути движения по графу. Знак вопроса, обведённый в двойную рамку, обозначает парадигму программирования, которую условно назовём "программирование от шаблона" (этим мы выразили только идею, которая подлежит рассмотрению и анализу как перспективное расширение нашего исследования). Штриховыми линиями указаны переходы, с помощью которых можно варьировать содержание обучения в зависимости от условий учебного процесса.
Отметим некоторые недостатки в полученном графе содержания:
(1) из вершины со значением 3.57 (язык рекурсивных функций) не следует никаких путей, хотя рекурсия является базовой операцией, применяемой практически во всех перечисленных Ьыше темах;
(2) из вершин со значением 5.1 и 5.2 были проведены стрелки к вершинам, имеющим значения 3.62, 3.63 и 3.53. Но, субъективно оценивая полученные связи, мы решили не отображать их на графе, а провести более логичные пути - к языкам программирования, не нарушая линейную упорядоченность тем. Вершина со значением 3.6 (языки программирования) обведена рамкой с тенью и введена нами для того, чтобы не загромождать рисунок дугами.
Рис 1 Логическая структура содержания обучения математическим основаниям парадигм программирования
Построенная модель представляет собой лишь исходный образец графа содержания обучения математическим основаниям парадигм программирования. который можно и следует модифицировать (в силу достаточно субъективной исходной информации) не только в плане проведения дополнительных связей между существующими элементами графа, но и расширения графа за счёт введения дополнительных элементов и установления новых связей.
В §3.5 приведен фрагмент формирующего эксперимента, в котором обозначена гипотеза о реализации содержания обучения бакалавров физико-математического образования математическим основаниям парадигм про-
граммированця. В рамках проводимого эксперимента (2002-2005) подтверждена гипотеза более узкого содержания - реализация содержания обучения бакалавров физико-математического образования математическим основаниям функциональной и продукционной парадигм программирования на основе проведённого анализа контрольных работ с использованием методов параметрической статистики
Заключение содержит основные выводы и рекомендации о возможности реализации теоретических и практических положений, выдвинутых в проведённом исследовании, для подготовки бакалавров физико-математического образования в области программирования и теоретических оснований информатики.
В приложениях приведены: логические структуры содержания некоторых тем исследования, тематические планы, варианты контрольных работ, ответы к одной из контрольных работ, результаты эксперимента, образец структуры лабораторной работы и структуры размещения рабочего материала на компьютере, пример выполнения логико-семиотического анализа темы.
ОСНОВНЫЕ ВЫВОДЫ И РЕЗУЛЬТАТЫ ИССЛЕДОВАНИЯ
Выводы. Проведённое исследование показало, что в условиях непрерывного развития техники, являющегося следствием стремления человека к расширению возможностей автомата и созданию искусственного интеллекта, необходима подготовка студентов к восприятию и довольно быстрому овладению новыми языками программирования. Известно, что все языки программирования основаны на математических моделях, поэтому предлагается обучать бакалавров физико-математического образования математическим основаниям парадигм программирования.
Разработанная модель методической системы представляет собой "открытую" систему, доступную для корректировки с учётом развития вычислительной техники, появлением новых языков программирования и. соответственно, парадигм. Её реализация в учебном процессе сложна, т к. гребуег определённых предварительных знаний и времени. Однако, возможно проведение спецкурсов, частичное внедрение в дисциплины по теоретической информатике и Языкам программирования.
Таким образом, в рамках поставленных задач выполненное диссертационное исследование йожно считать законченным.
Перспективные направления развития предложенной методической Системы обучения математическим основаниям парадигм программирования нам видятся в следующем: (1) внедрение в учебный процесс технологии обучения бакалавров физико-математического образования математическим основаниям парадигм программирования; (2) развитие содержания обучения математическим основаниям парадигмы "программирование от состояний"; (3) рассмотрение идеи образования парадигмы "программирование от шаблонов" с поспедующим отбором содержания обучения её математическим основаниям; (4) отбор содержания обучения математическим основаниям па-
радигмы многопоточного и параллельного программирования; (5) совершенствование имеющихся и разработка новых методов, форм и средств обучения математическим основаниям парадигм программирования.
Основные результаты исследования нашли отражение в следующих публикациях:
1. Кудрявцева И.А . Рыжова Н И, Сазонова Н.В , Швецкий М В Система лабораторных работ по обучению программированию на языке ассемблера для микропроцессоров Intel: Учебное пособие к курсу "Архитектура вычислительных систем". - СПб.: Изд-во "Интерлайн", 2002. - 20,75 п.л. ' 9,44 п.л авт.
2. Кудрявцева И А. Об одном из способов описания операционной семантики индуктивных определений // Телекоммуникации, математика и информатика - исследования и инновации. Выпуск 7. Межвузовский сборник научных трудов. -СПб.: ЛГОУ им. А.С.Пушкина, 2003. -0,13 п.л.
3. Кудрявцева И.А Концепция построения линии метаязыков, описывающих связи языков математики и программирования // Теоретические и методические проблемы обучения в школе и вузе (математика и информатика). Межвуз. сб. научн. трудов. СПб., Мурманск, 2004. - 0,09 п.л.
4. Кудрявцева И.А. Конечные автоматы как основания парадигмы программирования "программирование от состояний" // Математическое моделирование: естественно-научные, технические и гуманитарные приложения. Сб. научных трудов. СПб.: ЛГУ им. А.С.Пушкина, 2004. - 0,31 п.л.
5. Короткое A.B., Кудрявцева И.А., Стефанова Т.С, Швецкий М.В. Язык функционального программирования LISP: лабораторные работы и упражнения. Часть I. Учебное пособие. - СПб.: Изд-во "Интерлайн", 2004. - 24,75 п.л. /12,5 п.л. авт.
6. Кудрявцева И А., Сазонова Н В., Швецкий М.В. Система лабораторных работ по обучению программированию на языке ассемблера для микропроцессоров Intel: Учебное пособие к курсу "Архитектура вычислительных систем". - СПб.: Изд-во "Интерлайн", 2004. - 21,00 п.л. / 14,88 п.л. авт.
7. Галанова A.B., Короткое А.В , Кудрявцева И А., Стефанова Т.С, Швецкий MB. Язык функционального программирования LISP: лабораторные работы и упражнения. Часть II. Учебное пособие. - СПб.: Изд-во "Интерлайн", 2005. - 25,25 п.л. / 5,25 п.л. авт.
8. Короткое А В, Кудрявцева И А К определению понятия "парадигма программирования" // Теоретические и методические проблемы обучения в школе и вузе (математика, информатика). Межвуз. сб. научн. трудов. СПб., Мурманск, 2005. - 0,31 п.л. / 0,13 п.л. авт.
i
fi
Подписано в печать /3.&£. Формат бумаги 60x84/16 Бумага офсетная. Объем печ. л. Тираж экз. Заказ №
191023, Санкт-Петербург, наб. р. Фонтанки д.78. Ризограф НОУ «Экспресс»
I
р 19 9 8 ?
РЫБ Русский фонд
2006-4 22774
Содержание диссертации автор научной статьи: кандидата педагогических наук, Кудрявцева, Ирина Андреевна, 2005 год
ВВЕДЕНИЕ
Условные обозначения
Глава 1. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ ПОСТРОЕНИЯ МЕТОДИЧЕСКОЙ СИСТЕМЫ ОБУЧЕНИЯ МАТЕМАТИЧЕСКИМ ОСНОВАНИЯМ
ПАРАДИГМ ПРОГРАММИРОВАНИЯ
§1.1. Концептуальный базис методической теории обучения математическим основаниям парадигм программирования
1.1.1. Понятие "парадигма программирования"
1.1.2. Философские основания природы математических знаний
1.1.3. Понятие "математические основания парадигм программирования"
1.1.4. Метаязык как средство порождения смыслов
§1.2. Концептуальный каркас методической теории обучения математическим основаниям парадигм программирования
§1.3. Логика методической теории обучения
Выводы по главе
Глава 2. ПОСТРОЕНИЕ МЕТОДИЧЕСКОЙ СИСТЕМЫ ОБУЧЕНИЯ МАТЕМАТИЧЕСКИМ ОСНОВАНИЯМ ПАРАДИГМ ПРОГРАММИРОВАНИЯ
§2.1. Содержательная надстройка методической теории * обучения математическим основаниям парадигм программирования
2.1.1. Классификация формальных языков
2.1.2. Классификация парадигм программирования
2.1.3. Линия математических оснований парадигм программирования
§2.2. Цели обучения как результат построения методической теории
§2.3. Содержание обучения как результат интерпретации методической теории обучения математическим основаниям парадигм программирования
2.3.1. Математические основания императивной парадигмы программирования
2.3.1.1. Машина с неограниченными регистрами (МНР) и язык программирования ассемблер
2.3.1.2. Равнодоступная адресная машина (РАМ), равнодоступная адресная машина с хранимой программой (РАСП) и ассемблер
2.3.2. Математические основания функциональной парадигмы программирования
2.3.3. Математические основания продукционной парадигмы программирования
2.3.3.1. Нормальные алгорифмы Маркова, машина
Тьюринга и язык программирования Рефал
2.3.4. Математические основания логической парадигмы программирования
2.3.4.1. Язык первого порядка (логический язык) и язык программирования Prolog
2.3.5. Математические основания парадигмы программирование от состояний"
2.3.5.1. Регулярные выражения как средство автоматного программирования
§2.4. Методы обучения
§2.5. Формы обучения.
§2.6. Средства обучения
Выводы по главе 2.
Глава 3. ОРГАНИЗАЦИЯ И ПРОВЕДЕНИЕ ПЕДАГОГИЧЕСКОГО
ЭКСПЕРИМЕНТА
§3.1. Общая характеристика исследования
§3.2. Использование кластерного анализа для классифицирования парадигм программирования на уровне операционной семантики
§3.3. Использование факторного анализа при отборе содержания обучения математическим основаниям парадигм программирования
§3.4. Применение методов теории графов для последующего отбора содержания обучения математическим основаниям парадигм программирования
§3.5. Исследование влияния разработанной методики на образование бакалавров информатики
Выводы по главе 3.
Введение диссертации по педагогике, на тему "Методика обучения бакалавров физико-математического образования математическим основаниям парадигм программирования"
Актуальность исследования. В условиях непрерывного развития техники современное общество нуждается в формировании личности, способной жить в новых, неожиданных для неё обстоятельствах, ибо стремление к созданию искусственного интеллекта предполагает изменение мира, существование в котором потребует от человека способности к творческим, индивидуальным решениям. Поэтому, необходимо заложить в студентов "механизм развития", чтобы по окончании университета они могли расширять и обновлять свои знания, а не быть заложниками той практической подготовки в области информатики, которая была дана им в рамках программы их обучения.
Образование формирует у человека определённую культуру, понимаемую (по Ю.М. Лотману), как единое информационное пространство с функционирующими внутри него различными знаковыми системами. Мы сталкиваемся с проблемой существования в этом пространстве, где требуется гибкость в переходе от одной знаковой системы к другой.
В связи с этим формирование культуры у студентов в области формальных языков, составляющих фундамент теоретической информатики, видится нам в проведении и демонстрации связей между этими формальными системами (которые, естественно, являются знаковыми).
В Государственном образовательном стандарте высшего профессионального образования по направлению "Физико-математическое образование" дисциплины профильной подготовки "Информатика" одним из базовых разделов изучения дисциплины "Языки и методы программирования" являются парадигмы программирования.
Учитывая тот факт, что гносеологические корни информатики уходят в математику, нам представляется важным раскрытие парадигм программирования через рассмотрение источников их возникновения -математические основания. Формирование представления о математических основаниях парадигм программирования позволит студентам не только увидеть связи между изучаемыми им дисциплинами в области информатики, но и получить инструмент для рассмотрения, изучения и построения языков программирования разных парадигм.
С другой стороны, актуальность исследования подтверждают следующие противоречия:
1) несоответствие формирования у бакалавров физико-математического образования представлений о парадигмах программирования должному уровню, позволяющему свободно воспринимать любые алгоритмические конструкции разных языков программирования;
2) отсутствие методики обучения бакалавров физико-математического образования математическим основаниям парадигм программирования;
3) недостаточное количество учебных и методических пособий, в которых проводятся связи между языками программирования и формальными языками дискретной математики (математическими основаниями парадигм программирования).
Отметим ряд изданий, в которых затрагиваются вопросы математических оснований парадигм программирования: "Языки программирования. Практический сравнительный анализ" (М. Бен-Ари, 2000), "Универсальные языки программирования. Семантический подход" (Л.Г. Калинин, И. В. Мацкевич, 1991), "Языки программирования. Концепции и принципы" (В.Ш. Кауфман, 1993), "Лекции по теории программирования" (С.С. Лавров, 1999), "Стили и методы программирования" (Я. Я. Нетгеивода, 2005), "Основания программирования" (Я.Я. Непейвода, И.Я. Скопин, 2003), "Языки программирования: разработка и реализация" (Т. Пратпт, М. Зелковиц, 2002), "Основные концепции языков программирования" (Р.У. Себеста, 2001). Существуют также исследования, посвященные методике обучения языкам программирования, в которых поверхностно указываются связи языков программирования с соответствующими языками дискретной математики, например, И. С. Косовой (2001) (функциональное программирование), И.П. Самойловой (2001) (логическое программирование).
Сказанное выше определяет актуальность исследования и позволяет сформулировать научную проблему исследования: отбор содержания и построение методики обучения бакалавров физико-математического образования математическим основаниям парадигм программирования.
Охарактеризованная проблема с учётом актуальности её рассмотрения обусловила выбор следующей темы исследования: "Методика обучения бакалавров физико-математического образования математическим основаниям парадигм программирования". Решение научной проблемы исследования отражено в содержании данной работы.
Цель исследования состоит в разработке методической системы обучения бакалавров физико-математического образования математическим основаниям парадигм программирования в рамках дисциплины специализации "Информатика".
Объектом исследования явился учебный процесс обучения бакалавров физико-математического образования языкам и методам программирования, а также элементам дискретной математики: "Формальные языки, грамматики, автоматы", "Математическая логика", "Теория алгоритмов".
Предметом исследования явилась методическая система обучения бакалавров физико-математического образования математическим основаниям парадигм программирования.
Гипотеза исследования заключается в том, что методическая система обучения бакалавров физико-математического образования математическим основаниям парадигм программирования может быть построена, если:
1) принять в качестве базовых понятий "алгоритм" и "исчисление", трактуемых как способы задания конструктивных процессов;
2) воспользоваться методом межпарадигмальной рефлексии как принципом отбора содержания (по И.А. Колесниковой);
3) опираться на предложенную классификацию парадигм программирования, построенную с учётом определенной структуры парадигмы программирования;
4) воспользоваться логико-семиотическим анализом предполагаемого содержания как принципом его корректирования и структурирования.
Таким образом, для достижения поставленной цели и проверки достоверности гипотезы исследования были поставлены такие задачи.
I. Задачи методологического характера - определение исходных методологических принципов построения методической системы обучения бакалавров физико-математического образования математическим основаниям парадигм программирования:
1) выбрать методологию исследования в области методики обучения математическим основаниям парадигм программирования;
2) выделить принципы построения методической системы обучения математическим основаниям парадигм программирования;
3) провести анализ классификации формальных языков теоретической информатики, описывающих способы задания конструктивного процесса;
4) провести классификационное исследование парадигм программирования;
5) сформировать линию математических оснований парадигм программирования на основе существующих концептуальных линий в обучении математическим основаниям информатики (построенных проф. Я. И. Рыжовой и проф. М. В. Швецким);
II. Задачи теоретического характера - построение методической системы обучения бакалавров физико-математического образования математическим основаниям парадигм программирования:
1) уточнить содержание понятия "парадигма программирования";
2) раскрыть содержание понятия "математические основания парадигм программирования";
3) осуществить отбор содержания обучения математическим основаниям парадигм программирования;
4) определить цели обучения разделам содержания, посвященного обзору математических оснований парадигм программирования;
5) произвести отбор целесообразных методов, форм и средств обучения студентов математическим основаниям парадигм программирования с учётом поставленных целей.
III. Задачи практического характера - частичная практическая реализация теоретических положений исследования:
1) проверить и уточнить разработанные теоретические положения в условиях констатирующего и формирующего экспериментов;
2) разработать систему учебных пособий по языкам программирования различных парадигм, в которых описание языка программирования будет начинаться с представления математических оснований той парадигмы, к которой он принадлежит. В дополнение к этому, разработать методические рекомендации для преподавателей вузов по планированию и проведению учебных занятий по языкам программирования, направленных на обучение студентов парадигмам программирования.
Для решения задач исследования применялись следующие методы: анализ философской, научно-методической, психолого-педагогической литературы по проблемам информатизации системы образования; анализ научной литературы по математике, информатике, методике преподавания математики и информатики; анализ вузовских стандартов, зарубежных и отечественных программ подготовки бакалавров физико-математического образования, учебных пособий по языкам программирования, учебников по информатике и вычислительной технике; метод межпарадигмальной рефлексии, логико-семиотический анализ отобранного содержания обучения; констатирующие и формирующие эксперименты по проверке отдельных теоретических положений работы: метод экспертных оценок и обработка результатов методами факторного и кластерного анализа, анализ контрольных работ и метод статистической обработки результатов формирующего эксперимента; моделирование содержания обучения математическим основаниям парадигм программирования с помощью графов.
Положения, выносимые на защиту:
1) структура парадигмы программирования, элементами которой являются: математические основания, составляющие неизменное ядро парадигмы программирования; языки программирования, являющиеся представителями данной парадигмы и отражающие характер операционной семантики; технологии программирования, определяющие процесс сборки программы посредством определённой инструментальной единицы декомпозиции программы, которая выражает логически завершённую элементарную часть действия алгоритма на языке программирования.
2) классификационное исследование парадигм программирования, проведённое на трёх уровнях в соответствии с предложенной структурой парадигмы программирования: математические основания, языки программирования, технологии программирования;
3) структура содержания обучения бакалавров физико-математического образования математическим основаниям парадигм программирования, полученная в результате анализа, отбора содержания разделов "Элементы теории формальных языков", "Введение в теорию абстрактных автоматов", "Введение в теорию формальных грамматик", "Теория рекурсивных функций", "Представительные вычислительные модели", "Представительные порождающие модели", "Элементы ^-исчисления и исчисления комбинаторов", "Логические языки нулевого и первого порядка", "Элементы языка программирования (ассемблер, Perl, LISP, Рефал, PROLOG)" и последующего синтеза содержания этих разделов;
4) содержание обучения бакалавров физико-математического образования математическим основаниям парадигм программирования.
Научная новизна исследования состоит в том, что:
1) на основе анализа научной и учебно-методической литературы в области математических основ информатики выделена новая в методике обучения парадигма программирования - "программирование от состояний" ("автоматное программирование");
2) построена классификация парадигм программирования на основе предложенной структуры парадигмы программирования;
3) установлены связи между языками программирования и математическими моделями, лежащими в основе существующих парадигм программирования, на уровне синтаксиса и семантики формальных языков;
4) на основе связей, упомянутых в п.З, сформулированы и обоснованы теоретические положения, опираясь на которые произведён отбор содержания обучения бакалавров физико-математического образования математическим основаниям парадигм программирования.
Проведённое исследование и предложенные подходы к выявлению математических оснований парадигм программирования могут послужить основой для рассмотрения ещё неисследованных в методическом смысле и вновь образующихся парадигм программирования.
Теоретическая значимость исследования определяется:
1) научной новизной и методологическим характером работы, демонстрирующим вариант методического моделирования взаимосвязей языков математики с языками программирования, состоящий в моделировании связей между соответствующими методическими системами обучения;
2) уточнением содержания понятия "парадигма программирования" , состоящим в определении структуры парадигмы программирования, компонентами которой являются: (а) математические основания парадигмы, (б) языки программирования, являющиеся представителями данной парадигмы, (в) технологии программирования;
3) формированием содержательной линии "Математические основания парадигм программирования" в теоретической информатике;
4) построенной методической системой обучения студентов математическим основаниям парадигм программирования, которая может являться теоретическим прототипом для организации связей методических систем обучения.
Практическая значимость исследования состоит в том, что:
1) на основе построенной методической системы может быть скорректировано содержание обучения бакалавров физико-математического образования парадигмам программирования, что значительно усилит их фундаментальную подготовку в области парадигм программирования;
2) разработанная методическая система обучения может найти практическое воплощение либо в дисциплинах по изучению какого-либо языка программирования, либо в разделах дискретной математики, либо в спецкурсах;
3) на основе построенной методической системы могут быть созданы учебные пособия и методические рекомендации, направленные в широком смысле на моделирование межпредметных связей математики и информатики, а в узком смысле - на обучение студентов математическим основаниям парадигм программирования.
Достоверность и обоснованность полученных результатов обеспечена: методологией исследования, теоретическим обоснованием положений исследования и частичной практической реализацией построенной методической системы обучения; количественным и качественным анализом результатов исследования, полученным на основе использования методов исследования, адекватных предметным задачам и этапам исследования.
Апробация результатов исследования осуществлялась через публикации и выступления на научно-методическом семинаре "Вопросы теории и методики обучения информатике" кафедры информатики факультета математики РГПУ им. А. И. Герцена (2004-2005).
Структура диссертации. Диссертация состоит из введения, страницы условных обозначений, трёх глав, заключения, библиографии и приложений. Основной текст занимает 183 е., в том числе 10 схем, 15 рисунков, 15 таблиц, библиография (145 наименований) - 13 с., приложения - 47 с.
Заключение диссертации научная статья по теме "Теория и методика обучения и воспитания (по областям и уровням образования)"
ВЫВОДЫ ПО ГЛАВЕ 3
1. В §3.1 представлена общая характеристика исследования, в которой раскрыты основные этапы педагогического эксперимента (по И.Я.Лапшой и В.В.Лаптеву), сопровождавшего построение методической системы обучения бакалавров информатики математическим основаниям парадигм программирования.
2. В §3.2 описан фрагмент констатирующего этапа педагогического эксперимента, в котором используется кластерный анализ для формулирования гипотезы, относящейся к классификации парадигм программирования. Полученная гипотеза была частично использована в теоретическом анализе, проведённом в §2.1 п.2.1.2.
3. В §3.3 описан фрагмент поискового и констатирующего этапа педагогического эксперимента, в котором с помощью факторного анализа, а также метода главных компонент были выделены основные факторы, влияющие на содержание обучения бакалавров информатики основаниям парадигм программирования.
4. В §3.4 произведена оптимизация учебного материала по содержанию и по времени методами теории графов: с помощью алгоритма топологической сортировки получена вполне упорядоченная последовательность тем обучения математическим основаниям парадигм программирования; с помощью модифицированного алгоритма топологической сортировки выделены разделы содержания, которым можно обучать параллельно. В результате построен граф содержания обучения математическим основаниям парадигм программирования.
5. В §3.5 приведен фрагмент формирующего эксперимента, в котором обозначена гипотеза о реализации содержания обучения бакалавров информатики математическим основаниям парадигм программирования. В рамках проводимого эксперимента (2002-2005 гг.) подтверждена гипотеза более узкого содержания - реализация содержания обучения бакалавров информатики математическим основаниям функциональной и продукционной парадигм программирования на основе проведённого анализа контрольных работ с использованием методов параметрической статистики.
ЗАКЛЮЧЕНИЕ
Проведённое теоретическое исследование показало, что в условиях непрерывного развития техники, являющегося следствием стремления человека к расширению возможностей автомата и созданию искусственного интеллекта, необходима подготовка студентов к восприятию и довольно быстрому овладению новыми языками программирования.
Как известно, все языки программирования основаны на математических моделях. Математические основания той или иной парадигмы программирования являются своеобразной "лакмусовой бумажкой", позволяющей существовать и действовать в программистском (мульти-парадигмном) мире, содержащем множество парадигм. Поэтому предлагается обучать бакалавров физико-математического образования математическим основаниям парадигм программирования.
Отметим основные результаты исследования, выраженные в построенной методической системе обучения бакалавров физико-математического образования математическим основаниям парадигм программирования:
1) уточнено содержание понятия "парадигма программирования" с помощью описания структуры парадигмы программирования;
2) раскрыто содержание понятия "математические основания парадигм программирования";
3) выделена новая в методике обучения парадигма программирования - "программирование от состояний" ("автоматное программирование");
4) построена классификация парадигм программирования на основе предложенной структуры парадигмы программирования;
5) обозначена содержательная линия "Математические основания парадигм программирования";
6) установлены связи на уровне синтаксиса и семантики между языками программирования и формальными языками математических моделей, лежащих в основе существующих парадигм программирования;
7) на основе связей, упомянутых в п.6, сформулированы и обоснованы теоретические положения, опираясь на которые произведён отбор содержания обучения бакалавров физико-математического образования математическим основаниям парадигм программирования.
8) в рамках выделенной нами светской парадигмы образования, где образование рассматривается как формирование методологической культуры субъектного мышления, сочетающей в себе универсальное мышление и деятельность, построена методическая система обучения.
9) продемонстрировано: использование кластерного анализа для формулировки гипотезы, относящейся к построению классификации парадигм программирования на уровне операционной семантики; использование факторного анализа для выявления основных факторов, влияющих на отбор содержания; применение методов теории графов для отбора учебного материала, а также оптимизации его по содержанию и по времени; проведение математической статистики для проверки гипотез, выдвинутых в ходе исследования, и анализ контрольных работ, проводимых в рамках экспериментального исследования.
Разработанная модель методической системы представляет собой "открытую" систему, доступную для корректировки с учётом развития вычислительной техники, появлением новых языков программирования и, соответственно, парадигм. Её реализация в учебном процессе сложна, т.к. требует определённых предварительных знаний и времени. Для выхода из этой ситуации возможно проведение спецкурсов, частичное внедрение в дисциплины по теоретической информатике и языкам программирования.
Таким образом, в рамках поставленных задач выполненное диссертационное исследование можно считать законченным.
Перспективные направления развития предложенной методической теории обучения математическим основаниям парадигм программирования нам видятся в следующем:
1) внедрение в учебный процесс технологии обучения бакалавров физико-математического образования математическим основаниям парадигм программирования;
2) развитие содержания обучения математическим основаниям парадигмы "программирование от состояний";
3) рассмотрение идеи образования парадигмы "программирование от шаблонов" с последующим отбором содержания обучения ее математическим основаниям;
4) отбор содержания обучения математическим основаниям парадигмы многопоточного и параллельного программирования;
5) совершенствование имеющихся и разработка новых методов, форм и средств обучения математическим основаниям парадигм программирования.
Список литературы диссертации автор научной работы: кандидата педагогических наук, Кудрявцева, Ирина Андреевна, Санкт-Петербург
1. Агафонов В. К. Спецификация программ: понятийные средства и их организация. Новосибирск: Наука, 1987. - 240 с.
2. Алфёрова 3. В. Теория алгоритмов. М.: Статистика. 1973.- 164 с.
3. Амамия М., Танака Ю. Архитектура ЭВМ и искусственный интеллект. М.: Мир, 1993. 400 с.
4. Антипенко Я.Г. Проблемы неполноты теории и её гносеологическое значение. М.: Наука, 1986.
5. Ахо А., Сети Р., Ульман Дж. Компиляторы: принципы, технологии и инструменты. М.: Издательский дом "Вильяме", 2003.- 768 с.
6. Батурина Г. И. К вопросу о сущности критериев эффективности обучения // Новые исследования в педагогических науках, 1973, Ж7. С.44-47.
7. Батурина Г. И., Байер У. Цели и критерии эффективности обучения // Советская педагогика, 1975, М. С. 41-49.
8. Беляев Е.А., Перминов В.Я. Философские и методологические проблемы математики. М.: МГУ, 1981.
9. Бен-Ари М. Языки программирования. Практический сравнительный анализ. М.: Мир, 2000. - 366 с.
10. Бестгалько В. П. Слагаемые педагогической технологии. М.: Педагогика, 1989. - 192 с.
11. Бирюков Б.В. Кибернетика и методология науки. М.: Наука, 1974. - 414 с.14. Бобровский С.а) Русский Пролог // PC Week/RE, 1997, 21 января.б) Технологии Пентагона на службе российских программистов. Программная инженерия. СПб.: Питер, 2003. - 222 с.
12. Болтянский В. Г. Как устроена теорема? // Математика в школе, 1973, М. С. 41-50.
13. Бороненко Т. А. Методика обучения информатике (теоретические основы): Учебное пособие. СПб.: Высшая административная школа мэрии Санкт-Петербурга, 1997. - 99 с.
14. Братиков И. Л. Синтаксис языков программирования. М.: Наука, 1975. 232 с.
15. Брауэр В. Введение в теорию конечных автоматов. М.: Радио и связь, 1987. - 392 с.
16. Вербицкий А. А. Активное обучение в высшей школе: контекстный подход: Метод, пособие. М.: Высш. шк., 1991. - 208 с.
17. Вольфенгаген В.Э. Комбинаторная логика в программировании: учебное пособие. М.: МИФИ, 1993. 204 с.
18. Гилл А. Введение в теорию конечных автоматов. М.: Наука, 1966. - 272 с.
19. Глушков В.М., Цейтлин Г.Е., Ющенко Е.Л. Алгебра. Языки. Программирование. Киев: Наукова думка, 1978. - 320 с.
20. Голанова А.В. Методика обучения теории алгоритмов будущих учителей информатики. Автореф. . кандид. пед. наук. СПб., 2003. - 18 с.
21. Галанова А. В., Короткое А.В., Кудрявцева И. А., Стефано-ва Т.е., Швецкий М.В. Язык функционального программирования LISP: лабораторные работы и упражнения. Часть II. Учебное пособие.- СПб.: Изд-во "Интерлайн", 2005. 404 с.
22. Горский Д.В. Определение. М.: Мысль, 1974. - 312 с.
23. Готская И. Б. Маркетинговое проектирование методической системы обучения информатике студентов педвузов: Монография.- СПб.: Изд-во РГПУ им. А.И.Герцена, 1999. 114 с.
24. Грис Д. Конструирование компиляторов для цифровых вычислительных машин. М.: Мир, 1975. 544 с.
25. Грэй П. Логика, алгебра и базы данных. М.: Машиностроение, 1989. - 368 с.
26. Дедков А.Ф. Абстрактные типы данных в языке АТ-Паскаль. М.: Наука, 1989. 200 с.
27. Дейтел Х.М., Дейтел П.Дж. Как программировать на С. М.: Бином-Пресс, 2002. - 1168 с.
28. Елисеева И. И., Рукавишников В.О. Группировка, корреляция, распознавание образов. М.: Статистика, 1977. 144 с.
29. Загвязинский В. И. Теория обучения: Современная интерпретация: Учебн. пособие для студ. высш. пед. учеб. заведений. М.: Издательский центр "Академия", 2001. - 192.
30. Загвязинский В. И., Гриценко Л.И. Основы дидактики высшей школы. Тюмень: Изд-во Тюмен. гос. ун-та, 1978. 91 с.
31. Загузов Н.М., Писарева С.А., Тряпицина А.П. Современные диссертационные исследования по педагогике: книга для эксперта. Монография. М.: ИРПО, 2003. - 168 с.
32. Заморин А.П., Марков А.С. Толковый словарь по вычислительной технике и программированию. М.: Русс.яз., 1987. - 221 с.
33. Ивин А. А., Никифоров А. Л. Словарь по логике. М.: Гума-нит. изд. центр ВЛАДОС, 1997. - 384 с.
34. Калинин А.Г., Мацкевич И.В. Универсальные языки программирования. Семантический подход. М.: Радио и связь, 1991.- 400 с.
35. Канке В.А. Основные направления и концепции науки. Итоги XX столетия. М.: Логос, 2000. - 320 с.
36. Карпенко А. С. Логика на рубеже тысячелетий // Логические *• исследования. Вып. 7. М.: Наука, 2000. - С. 7-60.
37. Карпов Ю.Г. Теория и технология программирования. Основы построения трансляторов. СПб.: БХВ-Петербург, 2005. - 272 с.
38. Касьянов В. Е., Пошосин И. В. Методы построения трансляторов. Новосибирск: Наука, 1986. - 344 с.
39. Кауфман В.Ш. Языки программирования. Концепции и принципы. М.: Радио и связь, 1993. - 432 с.
40. Колесникова И. А. Педагогическая реальность: опыт межпара-дигмальной рефлексии. Курс лекций по философии педагогики.- 2-е изд. СПб.: Детство-пресс, 2001. - 288 с. - (Серия "Педагогическое образование").
41. Колягин Ю.М. Задачи в обучении математике. 4.1. Математические задачи как средство обучения и развития учащихся. М.:1. Просвещение, 1977. 110 с.
42. Кондаков Н.И. Логический словарь-справочник. М.: Наука, 1976. - 720 с.
43. Короткое А.В., Кудрявцева И.А., Стефанова Т. С., Швец-кий М.В. Язык функционального программирования LISP: лабораторные работы и упражнения. Часть I. Учебное пособие. СПб.: Изд-во "Интерлайн", 2004. - 396 с.
44. Кудрявцева И. А., Сазонова Н.В., Швецкий М.В. Система лабораторных работ по обучению программированию на языке ассемблера для микропроцессоров Intel: Учебное пособие к курсу "Архитектура вычислительных систем". СПб.: Изд-во "Интерлайн", 2004.- 336 с.
45. Кук Д., Бейз Г. Компьютерная математика. М.: Наука, 1990. - 384 с.
46. Кун Т. Структура научных революций. М.: Прогресс, 1977.
47. Кусжанова А. Ж. Социально-философские проблемы теории образования. Монография. СПб.: Изд-во Синтез-Полиграф, 2003.- 472 с.
48. Лавров С.С., Слисенко А.О., Цейтин Г. С. Проект плана-программы по специальности "Информатика и системное программирование" // Микропроцессорные средства и системы. N4. 1985. С. 20-28.
49. Панина И. Я. Методика формирования познавательного интереса школьников в процессе обучения физике: Автореф. докт. дис. Л., 1986.
50. Лаптев В. В. Теоретические основы методики использования современной электронной техники в обучении физике в школе: Автореф докт. дис. Л., 1989. 35 с.
51. Лаптев В.В., Рыжова Я.И., Швецкий М.В. Методическая теория обучения информатике. Аспекты фундаментальной подготовки. СПб.: Изд-во С.-Петерб. ун-та, 2003. - 352 с.
52. Лаптев В.В., Швецкий М.В. Методическая система фундаментальной подготовки в области информатики: теория и практика многоуровневого педагогического университетского образования. СПб.: Изд-во Санкт-Петербургского университета, 2000. - 508 с.
53. Лекции лауреатов премии Тьюринга. М.: Мир, 1993. 560 с.
54. Лихачёв Б. Т. Педагогика. Курс лекций: Учеб. пособие для студентов педагогических учебных заведений и слушателей ИПК и ФПК. М.: Юрайт, 1998. - 464 с.
55. Логическое программирование. М.: Мир, 1988. - 368 с.
56. Лотман Ю.М. Воспитание души. Санкт-Петербург: "Искусство-СПБ", 2003. - 624 с.
57. Льюис Ф., Розенкранц Д., Стирнз Р. Теоретические основы проектирования компиляторов. М.: Мир, 1980. - 654 с.
58. Лященко Е.И. Лабораторные и практические занятия по методике преподавания математики. Метод, реком. для студ. Л.: ЛГПИ им. А.И.Герцена, 1988. - 52 с.
59. Майерс Г. Архитектура современных ЭВМ: В 2 кн. Кн. 1. М.: Мир, 1985. 384 с.
60. Малпас Дж. Реляционный язык пролог и его применение. М.: Наука, 1990. - 464 с.
61. Марков А. А., Нагорный Н.М. Теория алгорифмов. М.: ФАЗИС, 1996. - 448+48 с.
62. Марков А.С., Лисовский К.Ю. Базы данных. Введение в теорию и методологию. М.: Финансы и статистика, 2004. - 512 с.
63. Маслов С.Ю. Теория дедуктивных систем и её применения.- М.: Радио и связь, 1986. 136 с.
64. Математический энциклопедический словарь. М.: Сов. энциклопедия, 1988. - 847 с.
65. Мордкович А. Г. Профессионально-педагогическая направленность специальной подготовки учителя математики в педагогическом институте: Автореф. докт. дис. М., 1986.
66. Мусинова Е.В. Методика обучения будущих учителей информатики дискретной математике. Автореф. . канд. пед. наук.- Санкт-Петербург, 2001.
67. Нейман Дж.фон. Теория самовоспроизводящихся автоматов.- М.: Мир, 1971. 384 с.
68. Непейвода Я. Я. Стили и методы программирования: курс лекций. М.: Интернет-Университет Информационных Технологий, 2005. - 320 с.
69. Непейвода Я.Я., Скопин И.Я. Основания программирования.- Москва-Ижевск: Институт компьютерных исследований, 2003.- 868 с.
70. Одинцов И.О. Профессиональное программирование. Системный подход. СПб.: БХВ-Петербург, 2002. - 512 с.
71. Опалева З.А., Самойленко В.П. Формальные грамматики и распознающие автоматы. СПб.: ЛЭТИ, 1991. - 68 с.
72. Пальчикова И. Я. Совершенствование подготовки будущих учителей информатики по вычислительной математике. Автореф. . кандид. пед. наук (13.00.02). СПб., 1999. - 19 с.
73. Першиков В.И., Савинков В.М. Толковый словарь по информатике. М.: Финансы и статистика, 1995. - 543 с.
74. Пидкасистый П. И. Самостоятельная деятельность учащихся. М.: Педагогика, 1972. - 184 с.
75. Плоткин Б. И., Гринглаз Л.Я., Гварамия А. А. Элементы алгебраической теории автоматов. М.: Высш.шк., 1994. - 191 с.
76. Прашп Т. Языки программирования: разработка и реализация. М.: Мир, 1979. - 576 с.
77. Пратт Т., Зелковиц М. Языки программирования: разработка и реализация. СПб.: Питер, 2002. - 688 с.
78. Примерная программа дисциплины "Основы искусственного интеллекта" по специальности 030100 "Информатика". - М.: Мин. образ. РФ, МПГУ (интернет публикация), 2000.
79. Рейнгард И. А., Ткачук В. И. Основы педагогики высшей школы. Днепропетровск: Изд-во Днепр, госуд. ун-та, 1980. 95 с.
80. Репин С.В., Шеин С. А. Математические методы обработки статистической информации с помощью ЭВМ. Минск.: Университетское, 1990. 128 с.
81. Роберт И.В. Современные информационные технологии в образовании: дидактические проблемы; перспективы использования. М.: "Школа-Пресс", 1994. 205 с.
82. Рогова А.В. Идеи становления человека культуры в философс-ко-педагогической мысли России и русского зарубежья (вторая половина XIX начало XX вв.): Монография. - Чита: Изд-во ЗабГПУ, 2003. - 176 с.
83. Рыжова Н.И., Голанова А.В., Швецкий М.В. Упражнения по теории алгоритмов. Учебное пособие для студентов математического факультета. СПб.: Изд-во "Дмитрий Буланин", 2000. - 304 с.
84. Рыжова Н.И., Семёнова Н.И., Швецкий М.В. Упражнения по основам дискретной математики: формальные языки. Часть I. Учебное пособие для студентов математического факультета. СПб.: Изд-во "Интерлайн", 2002. - 337 с.
85. Салмина Н.Г. Знак и символ в обучении. М.: Изд-во МГУ, 1988. - 288 с.
86. Себеста Р. У. Основные концепции языков программирования. М.: Издательский дом "Вильяме", 2001. - 672 с.
87. Самойлова И. П. Методика обучения логическому (хорновскому)программированию будущих учителей информатики. Автореф.канд. пед. наук. Санкт-Петербург, 2001. - 18 с.
88. Ситаров В. А. Дидактика: Учеб. пособие для студентов высших педагогических учебных заведений. М.: Издательский центр "Академия", 2004. - 368 с.
89. Смирнов В. А. Логические методы анализа научного знания.- М.: Эдиториал УРСС, 2002. 264 с.
90. Смирнова Е.Д., Таванец П.В. Семантика в логике / Логическая семантика и модальная логика. М.: Наука, 1967. - С.3-53.
91. Соломоник А. Семиотика и лингвистика. М.: Молодая гвардия, 1995. 352 с.
92. Сотникова О.А. Методологический подход к изучению теоретического материала курса алгебры и теории чисел в педвузе: Авто-реф. канд. дис. СПб., 1996. 18 с.
93. Теория и практика педагогического эксперимента / Под ред.
94. A.И.Пискунова, Г.В.Воробьева. М.: Педагогика, 1979. 208 с.
95. Толковый словарь по вычислительным системам / Под ред.
96. B.Иллингуорта, Э.Л.Глейзера, И.К.Пайла. М.: Машиностроение, 1989. 568 с.
97. Турчин В.Ф. Базисный РЕФАЛ. Описание языка и основные приемы программирования. М.: ЦНИПИАСС, 1974. 258 с.
98. Успенский В. А. Семенов А. Л. Теория алгоритмов: основные открытия и приложения. М.: Наука, 1987. - 288 с.
99. Факторный, дискриминантный и кластерный анализ / Дж.-О.Ким, Ч. У.Мьюллер, У. Р.Клекка и др. М.: Финансы и статистика, 1989. 215 с.
100. Федюшин Д. Парадигмы программирования // Информатика и образование. N4, 1991. С.11-15; N5, 1991. - С.13-17.
101. Фёдоров А. Языки программирования // КомпьютерПресс. N7, 1993. С.3-4.
102. Фияд А. , Харрисон П. Функциональное программирование.- М.: Мир, 1993. 637 с.
103. Философия образования для XXI века: Сб. статей. М., 1992.
104. Философский словарь. М.: Политиздат, 1987. - 590 с.
105. Фомина А. А. Перевод как метод обучения формальным языкам и метаязыкам // Телекоммуникации, математика и информатика исследования и инновации. Выпуск 7. Межвузовский сборник научных трудов. - СПб.: ЛГОУ им. А.С.Пушкина, 2003. - С.188-190.
106. Френкель А., Бар-Хиллел И. Основания теории множеств. М.: Мир, 1966. 555 с.
107. Хендерсон П. Функциональное программирование: Применение и реализация. М.: Мир, 1983. - 349 с.
108. Хиндли Дж.Р. Комбинаторы и лямбда-исчисление. Краткий обзор / Математическая логика в программировании: Сб.статей 1980-1988 гг. М.: Мир, 1991. - С.119-140.
109. Хоггер К. Введение в логическое программирование. М.: Мир, 1988. - 348 с.
110. Хювенен Э., Сеппянен Й. Мир Лиспа: В 2 т. Т.1. Введение в язык Лисп и функциональное программирование. М.: Мир, 1990. - 447 с.
111. Чери С., Готлоб Г., Танка J1. Логическое программирование и базы данных. М.: Мир, 1992. - 352 с.
112. Чёрч А. Введение в математическую логику. Т.1. М.: ИЛ, 1960. 486 с.
113. Шабунин Л. В. Комбинаторные исчисления. Чебоксары: ЧГУ, 1984. - 87 с. . .
114. Шалыто А. А. Логическое управление. Методы аппаратной и программной реализации алгоритмов. СПб.: Наука, 2000. - 780 с.
115. Швецкий М.В. Язык профессионала-программиста и пользователя ЭВМ: Учебное пособие для студентов физ.-мат. факультетов педагогических институтов. Самара: Изд-во Самарск. госуд. пед. ин-та, 1993. - 405 с.
116. Шурыгин В. А. Основы конструктивного математического анализа. М.: Едиториал УРСС, 2004. - 328 с.
117. Элиенс А. Принципы объектно-ориентированной разработки программ. М.: Издательский дом "Вильяме", 2002. - 496 с.
118. Энгелер Э. Метаматематика элементарной математики. М.: Мир, 1987. - 128 с.
119. Энциклопедия кибернетики. Т.2. Киев: Гл. ред. Укр. Сов. энциклопедии, 1974. 624 с.
120. Юров В.И. Assembler. СПб: Питер, 2002. - 624 с.
121. Aiken R., Balasubrahmanian А., Brauer VI., Buckingham D., Hebenstreit J., Khviion E., Levrat В., Lovis F., Murray-Lasso M., Turner J., Vleert van T. A Modular Curriculum in Computer Science, UNESCO-IFIP, 1994. ED/94/WS/13.
122. Bridgman P. VI. The nature of some of our physical concepts. N. Y., 1952.
123. Komiski R. A. Algorithm=logic+control // Comm. ACM, 1979, 22, pp.424-431.
124. McCarthy J. A basis for a Mathematical Theory of Computation // Proceedings of the Western Joint Computer Conference, 1961.- 197