Электронные учебники
Компьютерное учебное пособие "ТМЦДО. Высшая
Математика. Введение в анализ. Дифференциальное
исчисление."
“TCDE. Higher mathematics. Analysis preface. Differential
calculus” computer textbook
С.И. Борисов (S.I. Borisov), ведущий программист лаборатории инструментальных
систем моделирования и обучения (ЛИСМО) при ТУСУР,
тел. (902) 951-91-68; e-mail: [email protected].
В.В.Кручинин (V.V. Kruchinin), к.т.н., доцент зам. директора Томского межвузовского центра дистанционного образования (ТМЦДО) при ТУСУР тел. (3822) 42-30-67, доп. 170; e-mail: [email protected] www.tcde.ru М.А. Песков (M.A. Peskov), программист ЛИСМО ТУСУР.
тел. (3822) 42-30-67, доп. 170; e-mail: [email protected] В.А.Томиленко (V.A. Tomilenko), к.ф.-м.н., доцент каф. Высшей математики, ТУСУР.
тел. (3822) 41-34-73; e-mail: [email protected].
Аннотация В этой статье рассказывается о второй части компьютерного учебного пособия по высшей математике, охватывающей разделы: «Введение в анализ» и «Дифференциальное исчисление». Изложена технология построения данного учебного пособия, его структура, и описаны реализованные тренажеры. Предложена оригинальная инструментальная система.
Abstract This article is about a second part of a computer textbook on higher mathematics. This textbook covers the issues: “Analysis preface” and “Differential calculus”. Development technology, textbook structure and realized trainers are stated within the article. Original development system also proposed.
Введение Компьютерные учебные программы являются эффективным инструментом обучения студентов [1]. На протяжении ряда лет в Томском межвузовском центре дистанционного образования (ТМЦДО) разрабатываются компьютерные учебники и учебные пособия по курсу высшей математики. Созданное в 2001 году и внедренное в учебный процесс компьютерное учебное пособие (КУП) «ТМЦДО. Высшая Математика-1» показало ее важную роль в дистанционной технологии обучения студентов [2].
В настоящее время внедряется компьютерное учебное пособие по высшей математике для студентов 2-го семестра, обучающихся по дистанционной технологии в ТМЦДО. При разработке этой части авторы продолжали реализовывать принципы, заложенные в первой части учебного пособия и старались учесть все недостатки, которые были выявлены в процессе эксплуатации первой части. Предлагаемое к рассмотрению КУП «ТМЦДО. Высшая Математика. Введение в анализ.
Дифференциальное исчисление» охватывает следующие разделы курса высшей математики: «введение в анализ» и «дифференциальное исчисление».
Технология, по которой разрабатываются КУП, обычно оказывается незаслуженно оставлена за рамками обсуждения. Однако зачастую эта тема становится Электронные учебники краеугольной при разработке КУП. В идеале хотелось бы обеспечить минимальную зависимость КУП от конкретных конфигураций аппаратно-программного комплекса персонального компьютера пользователя. О технологиях разработки КУП и об инструментальной системе, разработанной в ТМЦДО для реализации этого КУП, кратко рассказано в двух следующих параграфах статьи.
Остальные параграфы статьи описывают общую концепцию тренажеров и более подробно рассказывают о некоторых из них.
Структура компьютерного учебного пособия На рисунке 1 показано главное окно учебного пособия. Как видно навигация по учебному материалу предельно простая: оглавление учебного пособия представленное в виде дерева (1), кнопки «предыдущий кадр» (2), «следующий кадр» (3) и «назад» (4).
В основном окне (5) показывается текущий кадр теоретического материала или тренажеры. Важно заметить, что ни в одном кадре теоретического материала или тренажеров не появляются полосы прокрутки, которые вносят дополнительные сложности в навигацию.
Рис. 1. Общий вид учебного пособия Учебное пособие включает нижеследующие разделы.
Теория. В этом разделе кратко излагается теория по материалу, охватываемому учебным пособием. Информация в этих разделах изложена сжато, без доказательств.
Теоретический материал состоит из текста (6), формул (7), рисунков (не показано) и сопровождается гиперссылками-переходами и гиперссылками-подсказками (8). Под первыми мы понимаем ссылки на другие кадры в этом же разделе или на тренажеры, которые студенту необходимо проработать для усвоения этой темы. А под вторыми – понимаем небольшие всплывающие окна, в которых кратко излагается объяснение отдельных терминов и (или) справочная информация. Теоретический материал состоит из семи нижеследующий глав.
1. Арифметическое пространство.
2. Предел последовательности.
3. Предел отображения.
4. Непрерывные отображения.
5. Дифференциальное исчисление функции одной переменной.
6. Дифференциальное исчисление функций многих переменных.
7. Дифференциальное исчисление отображений.
Электронные учебники Великие математики. В этом разделы приведены краткие биографии и основные научные достижения ученых-математиков, внесших наиболее заметный вклад в разделы математики, затрагиваемые в данном учебном пособии.
Тренажеры. Здесь собраны все тренажеры, на которые есть ссылки в разделе «Теория». Тренажеры систематизированы по темам. А по последовательности, повторяют структуру теоретического материала. Этот раздел нужен для более быстрого доступа к тренажерам учебного пособия. Подробнее о тренажерах в нижеследующем параграфе.
Словарь. Здесь, в алфавитном порядке, собраны гиперссылки-подсказки, которые встречаются в текстах теории и тренажеров.
Технологии разработки КУП Наиболее гибкий способ построения КУП является использование Интернет технологий. В этом случае, мы можем получить систему совершенно независимую от аппаратно-программной платформы пользователя. Неважно, использует ли пользователь Персональный компьютер типа PC или Apple, ОС Windows или Linux, главное, чтобы у него была программа просмотра Web содержимого (Internet Explorer, Mozilla, Netscape Communicator, Konquer и т.д.). В этом случае мы также получаем наиболее простой способ обновления содержимого, которое будет необходимо при исправлении ошибок, добавлении нового материала и т.д. Однако, есть два существенных недостатка при использовании данной технологии: 1) сложности с созданием динамического содержимого и 2) дополнительные затраты у пользователя на доступ в Интернет.
Поэтому чаще всего приходится разрабатывать локальные программные системы, то есть, те, которые пользователь сможет использовать на своем локальном компьютере. И первым вопросом становится независимость от системного программного обеспечения (ОС, специальное программное обеспечение и т.д.). К сожалению, трудно обеспечить полную независимость. В любом случае приходится делать некоторые предположения о платформе, на которой будет работать данная программа. Чаще всего приходиться ориентироваться на то, что у пользователя установлена ОС Windows. Остановимся именно на этом предположении.
Однако, более сложные предположения делать опасно. То есть, например, нельзя предполагать, что у пользователя на его персональном компьютере установлен MS-Word, или тем более, программа MS-Equation. Тем более нельзя предполагать у него наличия систем управления базами данных (СУБД) или других более сложных программ. Все это программное обеспечение является довольно дорогим и, ратуя за лицензионную чистоту и цивилизованный рынок программного обеспечения (ПО), разработчик должен стараться оградить себя и своего пользователя от возможных преследований со стороны владельцев лицензий или совести. Поэтому желательно обеспечить работоспособность КУП на только что установленной ОС, без установки каких бы то ни было дополнительных программ. По тем же самым причинам необходимо стараться не поставлять вместе со своим КУП стороннего ПО, во всяком случае, не будучи уверенным в лицензионной чистоте этого ПО.
То же самое касается и аппаратной части компьютера. Например, студенты ТМЦДО разбросаны от Краснодара и Подмосковья на Западе до ПетропавловскаКамчатского и Анадыря на Востоке и от Дудинки и Салехарда на Севере, до Шимкента и Бишкека на Юге. Действительность такова, что диапазон компьютерной техники у студентов ТМЦДО очень разный. По одну сторону могут оказаться очень старые компьютеры, построенные на базе процессора Pentium или даже 486, не способные работать с разрешающей способностью дисплея больше, чем 800х600. По другую сторону могут оказаться вполне современные персональные компьютеры на базе процессора Pentium-IV и с разрешающей способностью дисплея, скажем, 1280х Электронные учебники или более. Этот разброс технических средств приводит к необходимости разрабатывать программное обеспечение, максимально гибкое, способное работать с любыми техническими средствами.
ТМЦДО при разработке КУП «ТМЦДО. Высшая Математика-1» взяла курс на неиспользование стороннего ПО. Эта программа полностью самодостаточна и не требует наличия никакого дополнительного ПО на компьютере пользователя. Более того, не требуется никакой специальной инсталляции, и программа может работать непосредственно с компакт диска.
Но одним из важных технических недостатков, выявленных при эксплуатации этого КУП, оказалось невозможность его использования при разных разрешениях экрана. Этот учебник жестко привязан к разрешающей способности экрана 800х600, что приводит к уменьшению видимой области при более высоких разрешениях экрана.
С технологической точки зрения КУП «ТМЦДО Высшая математика. Введение в анализ. Дифференциальное исчисление» выполнено на более высоком технологическом уровне. Но при этом сохранила старые традиции, то есть программа работает под любой версией Windows (однако, рекомендуется использовать ОС, построенные на базе технологии NT – NT4.0/2000/XP), с любым разрешением экрана, с любыми настройками размера шрифтов. При этом корректно отображается текст и все элементы управления. Более того, при необходимости можно c минимальными затратами времени и средств создать версию КУП в другой комплектации, с другим набором тренажеров и разделов лекций.
Инструментальная система Всего выше перечисленного мы добились за счет использования оригинальной специальной инструментальной системы (ИС), построенной на группе языков представления данных. Кратко опишем структуру этой ИС.
Модуль формул, реализованный еще для первой части КУП [1], был модифицирован в сторону большего соответствия типографским стандартам на представление математического текста. В целом текст стал выглядеть похожим на текст, формируемый известными фирменными программами, ориентированными на представление математического текста и стал ближе к тому, что можно увидеть в качественном типографском учебнике по математике. В качестве исходного вида используется представление формулы в виде строки ASCII текста.
Добавился модуль графики [3], предназначенный для отображения иллюстраций. Принципиальная необходимость в этом модуле возникает при использовании динамически генерируемых иллюстраций в тренажерах. Аналогично предыдущему модулю исходный вид рисунка – ASCII текст на специальном языке.
Модуль лекций. В отличие от первой части учебника для представления теоретического материала был разработан специальный язык представления лекций и тренажеров (ЯПЛТ). Использование этого языка позволило полностью отвязаться от координатной привязанности текста, а также обеспечить оперативное форматирование и масштабирование текста. При этом форматирование статического текста (лекций и подсказок) производится на инструментальной машине. Появился дополнительный вид кадров – «всплывающая подсказка», это позволило ввести дополнительный тип гиперссылок, о котором рассказывалось вначале. Помимо раздела «Теория» на базе этого же модуля построены разделы «Словарь» и «Великие математики».
Такое представление исходного текста позволяет использовать средства предварительной обработки (препроцессор), роль которого в нашем случае выполняет усеченный вариант С препроцессора для простых задач и язык php для наиболее сложных задач генерации текста. Это позволяет использовать один и тот же исходный текст лекций для разных вариантов комплектации учебного пособия (например – полный вариант, вариант для гуманитариев, демонстрационный вариант, компактный Электронные учебники вариант, вариант для медленных компьютеров и т.д.), что приводит к упрощению редактирования и исправления ошибок и опечаток. Также появляется возможность автоматической генерации оглавления, списка последовательности кадров, списка теорем, определений, аксиом и многого другого, что пожелает разработчик. Эти списки также могут зависеть от комплектации учебного пособия.
Модуль тренажеров. Построен на базе того же самого языка, который используется для записи теории, но семантическая нагрузка некоторых его элементов смещается в сторону представления алгоритмов поведения тренажера. В частности, появляются так называемые, активные элементы, которые позволяют интерактивно взаимодействовать с пользователем. Появляется специальный механизм для поддержки работоспособности таких элементов. Форматирование динамически генерируемого текста непосредственно на компьютере пользователя позволяет гибко подгонять кадры учебника к разрешающей способности экрана на компьютере пользователя. В основе этого модуля лежит идея представления тренажера в виде конечного автомата [4]. При помощи данного модуля можно относительно легко сделать большую часть тренажеров, необходимых при разработке КУП по Высшей математике и аналогичным дисциплинам.
Существенные сложности возникают лишь при вводе информации от студентов.
При простом выборе действий такой ввод организовать легко. Но даже наличие ввода вещественного числа вызывает ряд сложностей: необходимо задать точность, с которой будут сравниваться числа, диапазон вводимых чисел, возможность указания числа в инженерной форме и т.д. Еще большие сложности вызывает ввод математических выражений, который очень часто встречается при разработке программ обучению решению задач по математике. И верхом сложности являются тренажеры доказательства теорем, где студент должен вводить сложные математические выражения.
Однако, есть некоторые ситуации, когда разработка тренажеров при помощи специального языка неоправданна из-за излишней сложности и/или непроизводительных затрат при работе модуля. В этом случае приходится разрабатывать специальные тренажеры. Эти тренажеры реализуются при помощи любой системы разработки программ для Windows и представляются в виде внешних модулей. В этом случае весь этот тренажер рассматривается как один активный элемент, имеющий широкий круг возможностей.
Тренажеры По технологии работы с тренажерами их можно разбить на два типа: кнопочные тренажеры и сценарные тренажеры. Кнопочные тренажеры построены на идее ввода сложных математических выражений при помощи так называемой «дополнительной клавиатуры» [5]. Во всех тренажерах такого типа есть некоторая исходная постановка задачи (обычно в верхней части экрана), поле для ввода выражения и клавиатура, при помощи которой производится ввод выражения.
Сценарные тренажеры состоят из последовательности кадров с динамически генерируемой информацией, сменяющих друг друга, в зависимости от действий пользователя, по заданному сценарию. В некоторых случаях, для ввода сложных математических выражений пользователю предоставляются инструменты аналогичные тем, что применяются в кнопочных тренажерах.
В настоящий момент реализовано более 100 тренажеров, которые можно объединить в следующие группы:
- тренажер «Определение предела функции»;
- тренажер «Производная функции»;
- тренажер «Частные производные»;
- тренажер «Доказать сходимость последовательности»;
Электронные учебники - тренажер «Выделить доминанту последовательности»;
- тренажер «Найти предела функции»;
- тренажер «Точки разрыва функции»;
- тренажер «Решение неравенства вида ax 2 + bx + c < d »
Начальные параметры для всех тренажеров можно сформировать одним из нижеследующих способов. Параметры могут быть сгенерированы по определенным алгоритмам программой. Эти параметры может ввести пользователь. Параметры могут быть переданы из другой программы (другого тренажера), по ходу работы с которым, возникла потребность помочь пользователю сделать очередной шаг.
Два последних варианта мы называем инструментами. То есть, фактически, в нашем учебном пособии есть два типа инструментов. Первый тип аналогичен инструментам из [2], когда начальные данные студент вводит самостоятельно. Второй вариант инструментов – когда начальные параметры генерируются другим тренажером или инструментом.
Для примера рассмотрим по одному тренажеру из каждой группы.
Тренажер «Производная функции»
Задача данного тренажера научить студента правильно находить производные функции. Для этого нами была разработана программа, которая сама берет производную в общем виде, то есть, занимается символьными преобразованиями.
Причем, эта программа не просто находит производную, как это делает, например MathCAD, а формирует последовательность операций для взятия производной и текущее выражение для каждого шага данной последовательности, упрощая его по мере возможности.
На кнопках дополнительной клавиатуры находятся правые части правил производная от суммы, произведения, частного и производные от фундаментальных функций.
Очередная операция, которую должен выполнить студент, помечена в выражении, отображаемом на рис. 2 красными квадратными скобками с красным штрихом. Работа студента на тренажере «производная функции» показана на рис. 2.
Фактически, работа тренажера сводится к тому, чтобы потребовать от студента ввода при помощи дополнительной клавиатуры последовательности сформированной программой взятия производной. Данная программа может найти производную от любой элементарной функции. В том числе можно предложить студенту вводить собственную элементарную функцию, производную от которой он хотел бы найти.
Есть также вариант демонстрационный – когда программа берет производную в автоматическом режиме.
Следует особо отметить, что функции, от которых студенту предлагается взять производные, генерируются тренажером по шаблонам. Например, для функции, показанной на рисунке, шаблон выглядит следующим образом: f ( x) = sin k (ax + b).
В настоящий момент в учебное пособие включены шаблоны лишь тех функций, которые с методической точки зрения необходимы для изучения техники вычисления производных. Они расположены в следующем порядке:
- степенные функции - тригонометрические функции - обратные тригонометрические функции - логарифмические функции - показательные функции - произвольные функции Электронные учебники Рис. 2. Действия студента на тренажере «Производная функции»
Тренажер «Определение предела функции»
Задача данного тренажера – научить студента формулировать определение Коши предела функции.
Это кнопочный тренажер (рис. 3), в котором, начальные условия формулируются в окне (7). Задача студента – продолжить формулировку определения при помощи дополнительной клавиатуры (2), на клавишах которой нанесены специальные математические символы, используемые для набора определения. Если студент нажимает правильную кнопку, то в окне текста определения (6) добавляется очередная запись и движок (4) передвигается в следующую позицию. Если же неправильную, то выдается реплика, которая, в текущий момент представлена простым звуковым сигналом компьютера. Когда студент наберет все определение флажок (5) перекрасится из красного в зеленый. В процессе формулировки определения сопровождающий рисунок (8) в правой части тренажера меняется в соответствии с набранным текстом определения. В любой момент времени студент может нажать на кнопку (3) и начать формулировку определения заново. В нижней части тренажера записана краткая информация (1) для студента о работе с тренажером.
Электронные учебники Последовательность команд, вводимая студентом, не жестко задана, а может варьироваться, в зависимости от ситуации. Так, например, в качестве переменной, обозначающей радиус окрестности в области определения функции, может быть обозначен, как буквой, так и буквой. В соответствии с сделанным выбором, для обозначения радиуса окрестности в области значений функции используется оставшаяся буква. Последовательность вводимых студентом команд и рисунки, сопровождающие формулировку определений, зависят от этого выбора.
По данному принципу реализовано 44 тренажера.
Тренажер «Доказательство сходимости последовательности»
Этот тренажер подобен решению задач по сценарию из первой части учебного пособия [2]. На рис. 4 показан алгоритм доказательства. На шаге (1) студенту предлагается ввести или сгенерировать параметры. В данном случае параметр всего один – показатель степени k – примем его равным 2. На шаге (2) студенту предлагается ввести формулировку определения бесконечно малой последовательности для его конкретной ситуации. В качестве xn используется значение 2. Все остальное вводится аналогично строке в окне подсказки. Следующим шагом (3) студент должен сказать может ли он по имеющимся данным указать точную левую границу интервала решений неравенства 2 <. Если студент отвечает «Да», то ему предлагается ввести эту границу. В данном примере этой границей будет являться значение. Если студент успешно справился с данным вопросом, то на следующем шаге (4) студенту предлагается указать натуральное число, удовлетворяющее определению. Для ввода этого числа студент должен набрать на дополнительной клавиатуре целую часть от выражения, введенного на предыдущем шаге и прибавить к нему любое натуральное число. Анализ данного ввода заставляет прибегать к нетривиальным контекстносвободным грамматикам [4]. Собственно, это есть последний шаг доказательства.
В процессе доказательства формируется полный текст доказательства сходимости последовательности (5).
Рис.4. Последовательность шагов для доказательства сходимости Электронные учебники Тренажер «Найти предел функции»
Этот тип тренажеров во многом похож на тренажеры доказательства из предыдущего параграфа, но конечным результатом этих тренажеров является некоторое число или выражение.
На рис. 5 показан алгоритм работы тренажера «Найти предел функции раскрытие которой обычно сводится к первому замечательному пределу.
Рассмотрим более подробно решение этой задачи. На первом этапе студенту предлагается начальное условие задачи в общем виде (1) и предлагается ввести самостоятельно или сгенерировать все переменные (параметры) задачи (2), которых в данному случае семь. Генератор начальных параметров построен таким образом, чтобы с высокой степенью вероятности получать задачу, с неопределенностью типа.
На следующем шаге (3) собственно начинается решение задачи и студенту предлагается выбрать тип неопределенности, которая присутствует в указанном выражении. В данной задаче возможны лишь два варианта правильных ответов – «неопределенность типа » или «нет неопределенности». Во втором случае (если, конечно, действительно неопределенности нет) студенту сразу предлагается ввести ответ, то есть, фактически, производится переход в окно (10).
При правильном указании типа неопределенности студенту предлагается аналогичным образом выбрать метод решения (4). Из всех предложенных методов нужно выбрать метод «Первый замечательный предел» ( lim при x ). Затем студенту предлагается ввести бесконечно малую функцию (x) при x 2 с помощью дополнительной клавиатуры (5). Для примера, изображенного на рис. 5 это функция 2 x2 8. Если студент правильно указал бесконечно малую, то выделим ее красным цветом (6).
Следующий шаг метода «Первый замечательный предел» связан с большими трудностями набора и контроля длинного математического выражения, поэтому это действие выполняет программа по нажатию кнопки «Организовать» (7). Появляется окно (8). Так как первый множитель стремится к единице при x 2, то студенту предлагается найти предел второго сомножителя при x 2 + 0 (см. (9)). Если студент находит этот предел неправильно, то ему предлагается воспользоваться подходящим инструментом (на рис.5 не показано). В окне (10) с помощью дополнительной клавиатуры вводится окончательный ответ, который равен ответу на предыдущем шаге.
По ходу решения задачи в левой части тренажера формируется полный текст решения (11). В случае неправильных действий студента ему выдаются реплики и, если возможно, подсказки для выполнения очередного шага (на рисунках не показано).
Аналогичным образом построены все тренажеры «Найти предел …».
Электронные учебники Рис. 5. Последовательность шагов для нахождения пределов функции Заключение Вторая часть компьютерного учебного пособия «ТМЦДО. Высшая Математика.
Введение в анализ. Дифференциальное исчисление» реализована с учетом всех недостатков, выявленных в процессе пятилетней эксплуатации первой части – «ТМЦДО. Высшая Математика-1». В рамках данного проекта представлены краткие теоретические сведения, тренажеры и инструменты, биографическая информация и словарь терминов.
Особую значимость данного КУП обуславливает наличие более 100 тренажеров, обучающих практическим навыкам решения математических задач, доказательства утверждений, а так же тренажеры, позволяющие освоить новые понятия. Каждый тренажер имеет генератор параметров, решатель и подсистему, обеспечивающую пользовательский интерфейс.
Также в рамках данного проекта была частично реализована ИС построенная на серии языков представления учебных данных и алгоритмов математическим тренажерам. На базе данной ИС можно реализовывать компьютерные учебники и учебные пособия по другим дисциплинам естественнонаучного цикла.
Литература 1. Кручинин В.В. Разработка компьютерных учебных программ. – Томск: Изд-во ТГУ, 1998. 211с.
2. Борисов С.И., Долматов А.В., Кручинин В.В., Томиленко В.А. Компьютерный учебник «ТМЦДО. Высшая Математика-1.». // «Открытое образование» №3 (44)’2004.
С.12-17.
3. Борисов С.И., Молочко М.Ф. Язык представления графической информации.
// Тезисы докладов международной научно-практической конференции «Природные и интеллектуальные ресурсы Сибири – 7 – 2001». Томск: изд-во Томского университета.
С. 181-182.
4. Ахо А., Ульман Дж, Сети Р. Компиляторы: принципы, технологии и инструменты. М.: издательство "Вильямс" 2001 г. 768 с.
5. Борисов С.И., Томиленко В.А. О Дополнительной клавиатуре в обучающих программах.// Тезисы докладов научно-методической конференции. – Томск. Томский государственный университет систем управления и радиоэлектроники. 2000. c.91-92.