Разработка обучающей программы по теме "Обыкновенные дифференциальные уравнения"

Информационные технологии в создании обучающих программ. Принципы построения тестирующих программ. Программы по высшей математике: ODE; Формула; "Математика". Методы решения дифференциальных уравнений в символьном виде. Модульность программного средства.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 08.06.2011
Размер файла 488,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Введение

В последнее время немалая роль в обучении отводится компьютерным информационно-коммуникационным технологиям (ИКТ), так как с их помощью можно по-новому представить содержание учебного материала и организовать его изучение. При этом ИКТ выступают как новые интерактивные средства обучения, обладающие целым рядом дидактических достоинств и позволяющие качественно изменить методы, формы и содержание обучения [15], [26].

В Мурманском государственном техническом университете (МГТУ) внедрение информационных технологий обучения активно происходит в Институте дистанционного обучения (ИДО - это структурное подразделение МГТУ) и в начальной стадии на специальностях очной формы обучения. Использование электронных учебно-методических материалов (УММ), таких как конспект лекции (ЭКЛ), обучающие программы (ОП), модули поддержки изучения отдельных тем, наряду с классическими методами преподавания заметно усиливает учебный процесс и повышает его эффективность. Однако подготовка электронных УММ является трудоемким процессом, требующим совместного участия, как минимум, преподавателей-методистов и программистов-разработчиков программных продуктов.

Кроме этого, при проектировании и разработке электронных учебных ресурсов часто возникают технологические проблемы автоматизации решения учебных задач как следствие небольшого количества разработок в сфере высшего технического образования. Поэтому тема данной дипломной работы является актуальной как для кафедры ПО ВТ и АС МГТУ, так и для выпускника специальности «ПО ВТ и АС», так как в техническом задании к ней поставлена прикладная задача образовательного назначения, для решения которой требуется широкое использование знаний, полученных при изучении ряда дисциплин программистского курса.

Проблемой для разработки электронных учебных материалов по ряду тем дисциплины «Высшая математика» является автоматическое распознавание основных математических структур (выражений, функций, уравнений, неравенств и т.д.) и соотнесение их типа с позициями некоторого списка. Так в теме «Обыкновенные дифференциальные уравнения» выбор метода получения общего решения дифференциального уравнения (ДУ) предваряет позиционирование заданной математической фразы как обыкновенного дифференциального уравнения, определение его порядка, отнесение к одному или нескольким из известных типов ДУ. Эти вспомогательные задачи имеют важное методическое значение для процесса обучения, поэтому программируемый модуль их автоматического решения является основным в данной дипломной работе. Для его проектирования потребовалось решение следующих вопросов:

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

б) выбор и реализация метода синтаксического анализа математического выражения или равенства на основе бинарных деревьев;

в) создание специализированного лексико-грамматического анализатора математических выражений для обеспечения корректного ввода ДУ в обучающую программу.

Цель дипломной работы сформулирована в техническом задании к ней как разработка программного продукта «Обучающая программа по теме «Обыкновенные ДУ», предназначенного для методической поддержки средствами ИКТ учебного процесса в МГТУ по дисциплине «Высшая математика». Обучающие программы (ОП) являются основной формой современных электронных учебных ресурсов по математике, поэтому их структуру можно считать установившейся [5] и обычно включающей в себя следующие компоненты:

а) теоретический - чаще всего это электронный конспект лекций как совокупность структурированной информации с системой навигации и интерактивными обучающими элементами;

б) практический - включает в себя разбор примеров и задач по теме, а также самопроверку и контролирующие тесты;

в) экспериментальный - представляет собой некоторую креативную среду в виде программных модулей, обеспечивающих творческую работу студента с объектами изучения [4].

Для создания заявленной обучающей программы в соответствии с техническим заданием следовало разбить её на следующий комплекс задач:

а) разработка программного модуля распознавания математической информации для синтаксического разбора дифференциального уравнения с целью автоматического определения его порядка, типа, канонической формы и её параметров, метода решения;

б) разработка программного модуля, реализующего в символьном виде решение ДУ сведением их к интегралам;

в) создание программной оболочки, для отображения содержания ЭКЛ и для проведения тренинга и тестирования по основным задачам, связанным с решением ДУ;

г) разработка программного модуля автоматической генерации ДУ для тренинга и тестирования;

д) разработка справочной системы обучающей программы.

Результатом решения этого комплекса задач является программный продукт «Обучающая программа «Обыкновенные ДУ»», в которую теоретический компонент введен как готовый ЭКЛ, а практически-экспериментальный компонент создан полностью в рамках разработки дипломного проекта.

Таким образом, объектом исследования в дипломной работе является процесс создания обучающих программ для применения информационно-компьютерных технологий в изучении дисциплины «Высшая математика» в МГТУ, а предметом исследования является автоматизация решения основных задач, связанных с обыкновенными дифференциальными уравнениями.

К использованным методам анализа объекта исследования можно отнести:

а) знакомство с предметной областью применения ИКТ в изучении математических дисциплин (изложено в пункте 1.3-1.5);

б) обобщение и описание программных продуктов автоматизации решения задач, связанных с обыкновенными дифференциальными уравнениями (изложено в 1.6);

в) сравнение поставленных задач по распознаванию типов ДУ с известными задачами создания интеллектуальных систем распознавания образов и методами их решения (описано в 2.1);

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

1. Постановка задачи

1.1 Общая постановка задачи

Необходимо разработать программный продукт «Обучающая программа по теме «Обыкновенные дифференциальные уравнения»», предназначенный для использования студентами и курсантами 1-2 курсов технических специальностей МГТУ различных форм обучения в рамках дисциплин «Высшая математика» или «Математический анализ».

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

Теоретическая часть содержит готовый электронный конспект лекций (ЭКЛ) по теме, который необходимо включить в программную оболочку обучающей программы (ОП); описание ЭКЛ следует включить в «Инструкцию пользователя ОП».

Практическая часть включает в себя автоматическое решение следующих учебных задач.

Задача A. Задание обыкновенного ДУ и определение его порядка: первый второй или выше второго; задание ДУ можно осуществлять как с клавиатуры, так и генерировать автоматически;

Задача Б. Определение типа ДУ первого или второго порядков, определения его канонической формы и её параметров, указание метода решения в соответствии с таблицей признаков этих качеств (Приложение A).

Для ЛНДУ (2.2.1) с постоянными коэффициентами нужно провести анализ правой части f(x) на её принадлежность к специальному виду:

где - полином степени ;

- числа.

Все обозначенные задачи должны решаться в общем рабочем поле и в двух режимах:

а) режим тренинга - студент задает или получает автоматически генерированием ДУ, решает вручную задачи определения его порядка, типа, осознанного выбора канонической формы с указанием её параметров, выбора метода получения общего решения, а затем по своему запросу получает ответы обучающей программы на те же вопросы; эффект обучения создается сравнением ответов и анализом ошибок ручного решения;

б) режим тестирования - студент получает автоматически генерированием последовательно несколько ДУ и для каждого из них последовательно отвечает на следующие вопросы:

- определите тип ДУ;

- определите каноническую форму ДУ;

- укажите параметры канонической формы (если ответ на предыдущий вопрос был верным);

- укажите метод решения ДУ;

По каждому ДУ контрольного тестирования студенту представляется обучающей программой протокол проверки его ответов; в конце тестирования выводится количество заданных вопросов и количество набранных баллов (по одному за каждый верный ответ).

Задача В. Получение общего решения или общего интеграла ДУ в символьном виде с пояснением хода решения. Эта задача обучающей программы относится к её экспериментальным компонентам, хотя и может иметь большое практическое значение в случае её успешной апробации в учебном процессе. В данной дипломной работе задачу нужно решить для ДУ I порядка четырех основных типов, обозначенных в Приложении A, при этом считать ДУ решенным, если оно сведено к интегралам.

1.2 Формальная постановка задачи. Функциональные требования

На основании сформулированной в пункте 1.1 постановки задачи рассмотрим основные компоненты, которые необходимо реализовать при выполнении задания:

- анализ и создание модуля распознавания вводимых математических выражений и равенств;

- анализ и создание модуля распознавания типа ДУ, привязка к его типу метода решения и канонической формы;

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

- задание функциональной возможности решения ДУ первого порядка в символьном виде сведением их к интегралам;

- создание интерфейса и модуля отображения ЭКЛ;

- создание интерфейса и модуля тестирования.

Данные задачи являются комплексными, каждая из них может быть разбита на составные части.

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

Создание модуля распознавания типа ДУ требует разработки такого окружения, которое позволит производить лексический анализ введенного ДУ, выделять некоторые характерные для каждого типа части, на основании присутствия или отсутствия которых производится соотнесение введенного ДУ с одной из канонических форм ДУ I или II порядка.

Разрабатываемый программный продукт должен соответствовать следующим стандартным критериям: наличие интуитивно понятного интерфейса, выполнение основного функционала, удовлетворение основным требованиям надежности, сопровождаемости и мобильности.

Иерархическая структура интерфейса ПС приведена в Приложении Б.

1.3 Информационные технологии в создании обучающих программ

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

Прежде чем подойти к определению обучающей программы необходимо определить область, в которой производится постановка понятий и определений. В рассматриваемом проекте основой выступают информационные технологии как совокупность методов, производственных и программно-технологических средств, объединенных в технологическую цепочку, обеспечивающую сбор, хранение, обработку, вывод и распространение информации [22],[26].

В настоящее время не выработано и тем более не закреплено законодательно определение обучающей программы. Большинство авторов, осуществляющих попытки определить данное понятие, сходится лишь в том, что это некоторое программное средство, ориентированное на решение педагогических задач, связанных с определенной тематикой или отраслью знаний. При этом различия в определениях носят зачастую чисто субъективный характер, так как оценка определения производится с позиции применимости его к конкретной области знаний либо дисциплине [13],[7],[16]. Наиболее общее определение обучающей программы приводится авторами Рижского технического университета, где под обучающей программой понимается комплекс информационных, методических и программных средств, предназначенных для изучения отдельного предмета, и обычно включающие вопросы и задачи для самоконтроля и проверки знаний, а также обеспечивающих обратную связь [13]. Однако данное определение несколько скупо затрагивает начальное определение понятия обучение, под которым понимается процесс получения знаний и компетенций (умений) в определенной предметной области, где знания - это результат процесса познания действительности, адекватный ее отображению в сознании человека в виде представлений, суждений, умозаключений, теорий [11].

Таким образом, для реализации любого программного комплекса, ориентированного на поддержку процесса обучения, предполагается использование в ПС возможностей ознакомления с теоретическими аспектами изучаемой тематики посредством использования элементов мультимедиа (рисунков, формул, видеороликов), задач для проверки и самоконтроля и системы обеспечения обратной связи с обучаемым. В целом все перечисленные компоненты представляют собой отдельные учебные элементы или, другими словами, объекты, конкретные методы, отобранные соответственно программе учебной дисциплины [15].

Рассмотренные определения задают базу для классификации обучающих программ. Так в рамках информационных технологий можно выделить несколько классификаций обучающих программ, описанных различными авторами, как зарубежными, так и отечественными [3],[7],[26].

С учетом особенностей учебной деятельности принято выделять следующие четыре типа современных обучающих программ [26]: тренировочные и контролирующие призванные для решения прикладных задач по теоретической и практической части, наставнические - помогающие в освоении материала, путем представления его в удобном виде, с адаптацией по скорости выдачи обучающемуся, подсказывающие наиболее важные, опорные моменты теории и практики; имитационные и моделирующие - демонстрирующие процессы происходящие в некоторых системах; развивающие игры - требующие непосредственного участия обучаемого в ходе игры: при этом действия пользователя приводят к развитию игровой ситуации различными путями.

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

1.4 Принципы создания обучающих программ

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

При разработке дидактических методов, применение которых в компьютерных технологиях обучения формировало бы профессиональную компетентность при подготовке специалистов для различных сфер деятельности, требуется разрабатывать подходы, учитывающие специфику требований к профессиональной деятельности [17]. Так при подготовке специалистов по прикладной математике одним из главных квалификационных требований являются знание и умение применять методы математических дисциплин, в частности, численные методы и символьные методы решения различных задач. Одним из наиболее эффективных средств поддержки изучения этих дисциплин являются обучающие системы, учитывающие специфику предметов [16]. При проектировании программно-методического комплекса согласно теории инструкций Дж. Брунера, следует учитывать, прежде всего, четыре важнейших момента [15]:

а) необходимые условия возможности обучения (стартовый уровень знаний, уровень и структура мотивации);

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

в) способы предоставления материала;

г) способы оценки результатов, подкрепления и наказания.

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

На начальном этапе проектирования программно-методического комплекса планируемый для изучения учебный материал разбивается на отдельные учебные элементы (УЭ) [25]. Под учебным элементом будем понимать объекты - конкретные методы, отобранные соответственно программе учебной дисциплины. Совокупность УЭ представляют в виде структурной схемы - древовидного графа, который называется графом содержания учебного материала и строится по иерархическому принципу. Узлами (вершинами) графа являются УЭ, ребрами - иерархические связи между ними. Систематизированный учебный материал, в котором четко обозначены структурно-функциональные связи между его фрагментами, лучше воспринимается и легче усваивается обучающимися. Располагая таким учебным материалом, студент имеет возможность многократного и легкого обращения к отдельным фрагментам и к системе в целом. При этом обращение к тому или иному фрагменту может осуществляться различными путями, что способствует лучшему пониманию и усвоению взаимных связей между отдельными понятиями, алгоритмами, методами и т.д.

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

Кроме того, по необходимости могут быть поставлены дополнительные примеры и упражнения вспомогательного и исследовательского типов.

1.5 Принципы построения тестирующих программ

Одним из важных направлений совершенствования процесса обучения является разработка оперативной системы контроля знаний, умений и навыков, позволяющей объективно оценивать знания обучающихся, выявлять текущие пробелы и определять способы их ликвидации. Обычно принято выделять пять этапов эволюции контроля знаний [19]: традиционный контроль, контроль знаний с использованием бумажных средств, контроль знаний с использованием технических средств, компьютерный контроль знаний, удаленный контроль знаний.

Проблемы компьютерного контроля знаний обычно рассматриваются в двух аспектах [14]: методическом и техническом.

К методическим аспектам относятся:

а) выбор заданий для проверки знаний, умений и навыков обучаемого («что контролировать»); задача контроля позволяет определить соответствие подготовленности обучающегося к тому или иному уровню усвоения учебного материала;

б) планирование проведения контроля знаний («когда контролировать?»);

б.1 исходный контроль знаний - проводится непосредственно перед обучением;

б.2 текущий контроль - осуществляется в ходе обучения, позволяет оценить уровень усвоения обучающимся материала;

б.3 рубежный контроль - проводится по завершении определенного этапа обучения;

б.4 итоговый контроль - позволяет оценить уровень знаний и навыков студента;

в) определение требований к формированию набора контрольных заданий («как контролировать?»); существует ряд методов для формирования контрольных заданий:

в.1 случайная последовательность вопросов и заданий разной сложности;

в.2 специальный набор заданий различной сложности (для комплексной проверки уровня подготовки), предъявляемый в строгой последовательности;

в.3 набор заданий, предъявляемых в порядке нарастания уровня сложности;

в.4 группа заданий, последовательность выполнения которых выбирает обучающийся.

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

а) формирование набора контрольных заданий на основе выбранного подхода, подразумевающее автоматическую подготовку набора заданий для контроля;

б) выбор и использование в системе контроля параметров контроля знаний; принято выделять три основные группы параметров контроля:

б.1 параметры, характеризующие выполнение одного задания и выполнение теста (количество обращений к справочной информации, время выполнения задания, тип задания);

б.2 параметры, характеризующие работу обучаемого с набором контрольных заданий (количество заданий, количество ответов и т.д.);

б.3 параметры, используемые для настройки алгоритма, обычно задаются преподавателем, но могут иметь и заранее установленные значения (максимальный балл или оценка; граничные значения для выставления оценки и др.);

в) выбор алгоритма для оценки знаний студентов; любой алгоритм оценки знаний предусматривает сбор, анализ и/или преобразование данных, получаемых в процессе контроля, и непосредственно формирование самой оценки [19]; выделяют алгоритмы, которые применяются для:

в.1 выставления оценки по завершению контроля;

в.2 выставление оценки за отдельно взятое задание.

Для проведения компьютерного контроля знаний необходимо наличие методов проведения контроля, а также методов оценки знаний, умений и навыков студентов по результатам выполнения контрольных заданий. В литературе выделяется, как правило, следующие методы проведения контроля знаний, которые получили наибольшее распространение [12]:

а) неадаптивные методы компьютерного контроля знаний (КЗ); в процессе контроля все студенты проходят одну и ту же, заранее определенную автором, последовательность кадров; эта последовательность не зависит от действий обучаемого во время контроля; всем студентам выдаются контрольные вопросы одинаковой трудности либо в виде фиксированного набора, либо случайным образом; число заданий является постоянным для всех студентов, независимо от их уровня подготовленности;

б) частично адаптивные методы, в которых последовательность и число контрольных заданий различны для сильных, средних и слабых студентов; количество проверочных вопросов зависит от уровня подготовленности студентов и всегда будет переменным числом [1];

в) полностью адаптивные методы компьютерного контроля знаний, которые используют данные из модели студента (например, уровень подготовленности студента, уровень беспокойства-тревоги, правильность ответа и др.) и/или модели учебного материала (например, взаимосвязи между проверяемыми понятиями) и позволяют организовать контроль индивидуально для каждого студента, поддерживая, например, оптимальный для студента уровень трудности выдаваемых контрольных заданий или формируя индивидуальные стратегии контроля по отдельной теме, разделу или курсу в целом [9].

Проверка знаний может быть осуществлена с учетом различных критериев формирования оценки. Методы оценки знаний можно разделить на три основных класса [2]:

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

б) на основе вероятностных критериев (модели, учитывающие вероятность правильного ответа; модели, учитывающие неопределенность ответа)

в) на основе классификационных критериев (модели на основе алгоритма вычисления оценок; модели на основе нечетких множеств).

Таким образом, для проверки знаний студентов применяются разнообразные модели и алгоритмы оценивания [20], а также большое количество методов проведения компьютерного контроля знаний, часть из которых в той или иной мере можно считать адаптивными.

1.6 Программы по высшей математике

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

1.6.1 Программа ODE

Программа ODE - это предметно ориентированная среда, предназначенная для решения и исследования решений обыкновенных дифференциальных уравнений. Данный программный продукт разработан на кафедре высшей математики МЭИ (ТУ) авторами которой являются Кириллов А.И., Морозов К.А., Сливина Н.А.[17].

К основным возможностям данного учебного пакета относятся:

- возможность численно решать обыкновенные ДУ и системы до шестого порядка;

- строить графики численного решения;

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

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

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

1.6.2 Программа ФОРМУЛА

ФОРМУЛА - компьютерная программа учебного назначения, предназначенная помочь при изучении математического анализа. Основными возможностями программы являются следующие:

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

- производить всевозможные вычисления, дифференцировать функцию в аналитической форме, численно интегрировать, вычислять значения многих специальных функций и т.п.;

- а также предоставляет возможности для построения линии уровня функции нескольких переменных и поля направлений обыкновенного ДУ первого порядка;

Программный продукт разработан лабораторией кафедры высшей математики МЭИ (ТУ) авторами Сливиной Н.А., Морозовым А.А., Морозовым К.А., Вороновым Р.С. [24], работает под управлением операционной системы MS-DOS, использует режимы отображения VGA и SVGA, и имеет интерфейс, сходный с интерфейсом программного средства ODE.

Программный продукт ФОРМУЛА является менее ориентированным на решение задач, связанных с дифференциальными уравнениями, однако предоставляет широкий спектр возможностей численного решения различных подзадач, связанных с дифференциальными уравнениями. Сложность использования данного продукта в рамках обучения теме «ДУ» состоит в необходимости не только численно решить задачу, но и предоставить студентам возможность пользоваться справочным материалом, поясняющим ход решения некоторой задачи. Таким образом, данный продукт может применяться на более поздних этапах для решения сложных вычислительных задач.

1.6.3 Программа «Математика»

Авторами данного программного продукта являются Грутовой А.В., Нелюбин С.В., Строков А.В., Кремнёв М.В., Тверьянович Д.Ю., правообладателем программного средства является компания Mentor Soft Ltd [8]. Система предназначена для приобретения навыков решения задач по курсу «Высшая математика». Данное ПС может работать в двух режимах: обучения и контроля; предоставляет возможности работы с тремя уровнями знаний: школа, абитуриент, студент. Программный продукт разработан на основе системы Computer Mentor, позволяющей осуществлять генерацию заданий на выбранную пользователем тему.

Программный продукт позволяет решать генерируемые задачи выбранного типа. Система автоматически решает сгенерированное задание и может предоставить пользователю ход решения задачи.

В режим контроля преподаватель формирует билет, выбирая, сколько заданий на какую тему должно в него войти, и задает необходимое количество билетов. Программа генерирует билеты, каждый из которых отличается от остальных, при этом типы и сложность заданий везде одинаковы.

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

Для решения задачи обучения студентов по теме «Обыкновенные ДУ» нужно разработать локально-ориентированное приложение, предназначенное для использования в аудиториях и на домашних компьютерах. Это обусловлено тем, что в соответствии с заданием разрабатываемый ПП не предназначен для доступа к информации по локальным или глобальным сетям, не требует отправки результата тестирования преподавателю по сети и рассчитан на высокую степень мотивации обучающегося.

При реализации системы тестирования будет использоваться модуль автоматической генерации тестовых заданий с использованием частично адаптивных методов контроля. В качестве модели оценивания знаний используем метод на основе количественных критериев с выполнением пяти заданий, в каждом из которых выделяется четыре подзадачи.

Адаптивный метод контроля подразумевает создание вложенности заданий. Такой подход позволяет при верном выборе канонической формы перейти к решению задачи о выделении её параметров, в противном случае данный этап не доступен для пользователя.

В целом разрабатываемый программный продукт предоставит возможности:

- изучения теоретического материала;

- проведения тренинга и тестирования;

- обучение методам решения вводимых дифференциальных уравнений;

- поддержку в освоении выявления параметров канонической формы;

- предоставит возможности генерации тестовых заданий и многие другие.

Такие возможности позволяют охватить большое количество выделяемых в литературе классов обучающих программ. Данные системы принято называть автоматизированные обучающие комплексы.

2. Обоснование метода решения (аналитическая часть)

2.1 Методы распознавания типа ДУ

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

Задачи распознавания лексических особенностей текста, математического выражения или другого объекта относятся к задачам создания интеллектуальных систем распознавания образов. Известно несколько методов, которые доступны для решения задач символьного анализа: методы с использованием бинарных деревьев, методы построения нейронных сетей и методы, использующие экспертные самообучающиеся системы. Рассмотрим, каким образом используются данные методы для распознавания математических выражений.

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

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

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

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

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

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

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

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

- выявление взаимосвязей, характеризующих типы дифференциальных уравнений и частей вводимого выражения, указывающих на принадлежность к типу;

- создание программных модулей для дальнейшего обучения системы.

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

Из рассмотренных методов наиболее простым в реализации и вполне удовлетворяющим требованиям задач А и Б из постановки задачи (пункт 1.1) является использование синтаксического анализа бинарного дерева. Дополнительным основанием в пользу использования данного метода решения является его ориентированность на работу с математическими выражениями и равенствами, а также предоставление данным методом средств для анализа в виде хорошо зарекомендовавших себя методов обхода.

2.2 Методы решения ДУ в символьном виде

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

В целом методы решения математических задач можно разделить на два подтипа: точные и численные методы решения. Особенностью точных методов решения ДУ является необходимость задания таких последовательностей и алгоритмов работы программного средства, которые на основании установленного типа ДУ будут выбирать наиболее адекватный метод решения, описанный в теории дифференциальных уравнений. Аналоги решения данной задачи существуют в таких математических пакетах как Mathematica, MatLab и других пакетах символьной математики. Однако главным недостатком, который затрудняет использование данных программных продуктов при обучении студентов по теме, является тот факт, что в качестве решения приводится только ответ, и студент не имеет возможности освоить метод, приводящий к такому ответу.

Численные методы позволяют также построить символьное решение за счет выполнения процедур приближенного решения дифференциальных уравнений методами Эйлера, Рунге-Кутта и другими. Программа, позволяющая задать возможности вычисления широкого набора таких решений, может быть использована с той точки зрения, что полученные численные решения являются численными значениями некоторой функции. Построение аналитического выражения по заданному набору значений этой функции можно производить посредством использования интерполяционных методов Ньютона или Лагранжа, аппроксимирующих данную функцию, методов сплайн-интерполяции и других методов, приводящих к символьной записи функции, заданной точками. Хотя данный метод и позволяет построить символьное приближенное решение поставленной задачи, однако не позволяет прийти к точному решению, и тем более полученная в результате функция не будет являться результатом применения метода решения, преподаваемого в теории.

Для получения решения задачи В из общей постановки задачи (пункт 1.1), удовлетворяющего целям обучения, можно предложить способ заполнения параметризированных шаблонов. Суть данного метода сводится к тому, что для решения ДУ ранее определенного типа необходимо выполнить ряд следующих шагов:

- выявить параметры канонической формы ДУ установленного типа;

- заполнить шаблон решения ДУ указанного типа параметрами рассматриваемого ДУ;

- считать ДУ решенным, если оно сведено к интегралам.

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

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

3. Описание программного решения

3.1 Обоснование выбора программной среды и инструментов разработки

Начиная разработку программного продукта, необходимо определить основной инструментарий, призванный помочь программисту в выполнении поставленной задачи. В настоящее время для разработки локально-ориентированных приложений используются такие среды разработки как Visual Studio, JAVA, Borland C++.

Рассмотрим преимущества и недостатки использования каждого из данных средств разработки программных продуктов.

Среда разработки С++ Builder предназначена для визуальной разработки приложений в сочетании с высокой степенью соответствия стандарту ANSI C++. Использование широкого спектра компонентов для визуального оформления интерфейса разрабатываемых продуктов позволяет сконструировать интерфейс при помощи технологии Drag-and-Drop. Отладка сложных приложений осуществляется за счет использования возможностей системы CodeGuard, установки точек останова, просмотра локальных переменных в любой момент исполнения программы.

Visial Studio.NET - это среда разработчика, позволяющая значительно существенно увеличить производительность труда разработчиков, предоставляя им широкий выбор средств для автоматизации рутинных операций и минимизации написания кода. Для создания клиентских приложений в Visual Studio.NET используются Windows-формы, поддержку котроых обеспечивает ядро.NET [27].

Sun Java Studio Enterprise 8 компании Sun - это унифицированная инструментальная платформа для разработки приложений масштаба предприятия, интегрированная с серверами Sun Java Enterprise System.

Sun Java Studio представляет собой полное решение для разработчиков, включающее интегрированные инструменты, наборы для разработки ПО (SDK, software development kit), интерфейсы создания приложений (API), библиотеки и сервисы для разработчиков. Java Studio позволяет быстро создавать приложения и Web-сервисы для различных платформ и сред.

При разработке приложений среда разработки предоставляет средства аналогичные средствам представленным в двух ранее описанных средах: выделение синтаксических конструкций и их подсветка, редакторы интерфейса посредством использования стандартных компонент и многие другие.

Таким образом, необходимо отметить, что современные средства, специализированные для разработки приложений, в целом используют одинаковые методы ускорения работы программиста. Для ускорения разработки немаловажен факт наличия открытых библиотек и простота их использования и освоения для различных подзадач, а также наличие специализированных визуальных компонентов вывода HTML-шаблонов (TCppWebBrоwser). Такими свойствами и компонентами обладает среда разработки С++ Builder, с помощью которой разработан программный продукт.

В качестве вспомогательного инструмента разработки шаблонов функции и наглядного вывода на экран математических выражений широко используются XML подмножества, в частности MathML. MathML - это утвержденное W3C расширение языка HTML, разработанное для кодирования математических выражений. Использование связки HTML и MathML позволяет использовать различные элементы оформления страниц: рисунки, таблицы, формулы.

Для корректного и отображения формул в браузере Internet Explorer различных версий необходимо установить специализированный пакет MathPlayer, разработанный компанией Design Science и позволяющий браузеру трактовать теги MathML. Данный программный продукт распространяется бесплатно, не требуя лицензирования.

3.2 Описание входной и выходной информации

Использование программного средства предполагает взаимодействие пользователя с ПП посредством использования различных манипуляторов и систем ввода информации.

Разработанный ПП посредством взаимодействия пользователя с интерфейсом позволяет осуществлять ввод информации с помощью следующих средств: использование манипуляторов типа мышь; использование средств ввода символов, например, с клавиатуры; использование средств взаимодействия с элементами управления: кнопки, переключатели, раскрывающиеся списки; использование средств автоматической генерации тестовых заданий в режиме тренинга и контроля; использование файлов шаблонов для воспроизведения алгоритма решения ДУ.

Таким образом, основными типами входной информации являются:

- внешняя информация, исходящая от пользователя путем манипуляции мыши или с использованием клавиатуры;

- внутренняя информация в виде набора HTML документов, средств генерации дифференциальных уравнений, средств формирования шаблонов для генерации хода решения.

В качестве средств вывода информации для данного продукта характерно использование интерфейса пользователя. Таким образом, единственным средством вывода является экран монитора.

3.3 Архитектура и модульность программного средства

Разработка программного продукта предполагает создание специальной иерархии объектов и способов взаимодействия интерфейса пользователя с программными модулями. Разработанный ПП представляет собой совокупность двух частей: теоретической и практической, в которой используются экспериментальные компоненты. При дальнейшей разработке этой обучающей программы экспериментальные модули могут быть выделены в самостоятельную часть.

Таким образом, общая структура программно средства может быть представлена в виде изображенном на Рисунке 1.

Размещено на http://www.allbest.ru/

Рисунок 1 - Общая структура программного средства

Теоретическая часть представляет собой модуль, предназначенный для вывода и отображения конспекта лекций и его обучающих элементов на экране монитора. Данный модуль использует HTML файлы, содержащие страницы электронного конспекта лекций (ЭКЛ). Основными обучающими элементами данного модуля являются такие характерные для ЭКЛ средства, как структурированное изложение материала, краткое содержание, контрольные вопросы самопроверки, глоссарий, список формул, элементы навигации и гиперссылки.

Следующим элементом обучающей программы является «Практическая часть», которая дает возможность использования полученных при изучении ЭКЛ теоретических знаний на практике за счет использования таких обучающих элементов, как возможность ввода любого ДУ, тренинг и тестирование по задачам определения типа, канонической формулы и её параметров, указания метода решения заданного ДУ.

Такую возможность предоставляет набор модулей практической части (рисунок 2).

Размещено на http://www.allbest.ru/

Рисунок 2 - Набор модулей практической части обучающей программы.

Функциональные диаграммы данных модулей и теоретической части ОП будут приведены в Приложении В «DFD-диаграмма программного средства».

Для лучшего понимания принципов функционирования и алгоритмов работы данных модулей рассмотрим их более подробно.

3.3.1 Модуль лексико-грамматического анализа выражения и равенства

Модуль лексико-грамматического анализа выражения или равенства позволяет проверять корректность ввода ДУ. Данный модуль в качестве входной информации принимает значение строки с формулой в виде равенства, производит её разбиение на лексемы, каждая из которых представляет собой знак «=», один из знаков арифметических операций, обозначение переменной или константы. Это необходимо для дальнейшего проведения анализа корректности ввода ДУ, в котором используются автоматные грамматики, построенные на идее построении КС-грамматик языка, а также построении на их основе LL(1)-грамматик языка и построение модели нисходящего LL(1)-анализатора [10]. Процесс разработки нисходящего LL-анализатора можно подразделить на следующие этапы:

- формальное описание синтаксиса с помощью нормальных форм Бекуса-Наура;

- формальное описание синтаксиса конструкции языка программирования в форме КС-грамматик;

- выполнение эквивалентных преобразований КС-грамматики с целью устранения недостижимых и бесплодных нетерминалов;

- описание множества классов лексем исходной конструкции и построение модели лексического анализатора;

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

- приведение КС-грамматики к виду LL(1)-грамматики;

- построение нисходящего LL(1)-анализатора.


Подобные документы

  • Разработка программы на языке Turbo Pascal 7.0 для преобразования кинетической схемы протекания химических реакций при изотермических условиях в систему дифференциальных уравнений. Ее решение в численном виде методом Рунге-Кутта четвертого порядка.

    курсовая работа [929,7 K], добавлен 06.01.2013

  • Появление дифференциальных уравнений при описании систем управления. Элементы теории дифференциальных уравнений. Определитель Вронского. Формула Лиувилля. Дифференциальные уравнения при описании непрерывных систем. Понятие пространства состояний.

    реферат [1,0 M], добавлен 29.09.2008

  • Система программирования Delphi, ее характеристика. Основные требования к обучающей программе. Составление блок-схемы алгоритма программы "Математика. 1 класс". Виды задач для решения в обучающей программе. Описание работы системы, инструкция к ней.

    курсовая работа [2,0 M], добавлен 17.06.2015

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

    курсовая работа [462,8 K], добавлен 05.04.2014

  • Решение дифференциальных уравнений первого порядка. Варианты методов Рунге-Кутта различных порядков. Основные методы численного решения задачи Коши. Повышение точности вычислений и итерационный метод уточнения. Дискретная числовая последовательность.

    лабораторная работа [33,3 K], добавлен 14.05.2012

  • Использование обучающих программ для формирования знаний и умений по информатике. Главное окно среды программирования Delphi, окна дерева объектов и кода программы. Требования к оборудованию и описание обучающей программы "Информатика в играх и загадках".

    курсовая работа [1,3 M], добавлен 03.05.2012

  • Исследование арифметических выражений и разработка простых программ. Таблица переменных для алгоритма и программы. Алгоритм решения, текст программы на языке С. Разработка программы вычисления значений выражений, сравнение результатов с ручным подсчетом.

    лабораторная работа [282,7 K], добавлен 30.01.2015

  • Требования к обучающим электронным материалам, особенности использования программы "Осирис". Ее возможности, построение обучающих, тестирующих блоков. Просмотр результатов тестирований. Изучение электронного учебного материала по физике в среде "Осирис".

    контрольная работа [2,5 M], добавлен 08.01.2010

  • Реализация решения нелинейного уравнения с заданными параметрами в виде процедуры-подпрограммы. Графический метод отделения корней уравнения. Основные методы уточнения корней уравнения. Описание процедур и функций, общий алгоритм и текст программы.

    курсовая работа [1,7 M], добавлен 27.03.2011

  • Общие сведения о миномётах, их конструкция, боевые качества и классификация. Структурное построение обучающих программ, их алгоритмы. Жизненные циклы программного продукта. Реализация функционирования программы и разработка пользовательского интерфейса.

    курсовая работа [1,2 M], добавлен 06.11.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.