Интернет-журнал «Мир науки» 2018, №3, Том 6 ISSN 2309-4265 World of Science. Pedagogy and psychology 2018, No 3, Vol 6 https://mir-nauki.com
Страница 10 из 15 56PDMN318
Издательство «Мир науки» \ Publishing company «World of science» http://izd-mn.com
Интернет-журнал «Мир науки» 2018, №3, Том 6 ISSN 2309-4265 World of Science. Pedagogy and psychology 2018, No 3, Vol 6 https://mir-nauki.com
Страница 10 из 15 56PDMN318
Издательство «Мир науки» \ Publishing company «World of science» http://izd-mn.com
ФГБОУ ВПО «Омский государственный университет путей сообщения»
Проблема создания и использования генераторов и решателей математических задач
Окишев Сергей Владимирович
Кандидат технических наук, доцент
Аннотация
Генераторы и решатели математических задач создаются и используются в высшем образовании уже несколько десятилетий. Они стали основой систем компьютерной математики и комплексов дистанционного обучения. Автором представлено краткое описание основных направлений деятельности по созданию генераторов и связанных с ней технологических, воспитательных и социальных проблем. Генерация карточек контрольных работ для традиционного обучения во многом отличается от создания генератора клонов задач для электронного учебника или генерации тестов в контролирующих системах аттестации обучающихся. Предлагаемые другими исследователями классификации генераторов носят, как правило, глобальный характер и основаны на различиях шаблонов формул от систем искусственного интеллекта или от абстрактных исчислений на базе теории алгоритмов. Автор сделал попытку классифицировать простейшие генераторы математических задач по характеру и последовательности выполняемого построения, не претендуя на полноту такой классификации. В статье выдвигается идея генератора как творческого настольного инструмента преподавателя-энтузиаста. Таким генераторам не требуется штамповать тысячи задач в секунду, но требуется «очеловеченное» построение задач под контролем квалифицированного методиста. Генератор не должен заменять преподавателя при создании задач. Он должен только помочь преподавателю в этом своими графическими построениями и рутинными вычислениями. При таком подходе скорость построения задач все равно увеличивается в несколько раз по сравнению с ручной разработкой, качество задач оказывается выше, чем при ручном построении и сохраняется непосредственный визуальный контроль за каждой созданной задачей.
Ключевые слова: генератор; решатель; задача; алгоритм; математика; студент; преподаватель; проблема; карточка; контрольная работа; тест; программное обеспечение; язык программирования
Abstract
генератор математический задача воспитательный
The problem of creating and using generators and solvers of mathematical exercises
Generators and solvers of mathematical problems have been created and used in higher education for several decades. They became the basis of computer mathematics and distance learning systems. The author presents a brief description of the main activities for the creation of generators and related technological, educational and social problems. The generation of test cards for traditional training is much different from the creation of a clone generator for an electronic textbook or the generation of tests in controlling systems of attestation of students. The classifications of generators offered by other researchers are, as a rule, global in nature and are based on differences in the patterns of formulas from artificial intelligence systems or from abstract calculi based on the theory of algorithms. The author made an attempt to classify the simplest generators of mathematical problems by the nature and sequence of the construction performed, without claiming for completeness of such classification. In the article the idea of the generator as a creative desktop tool of an enthusiastic teacher is put forward. Such generators do not need to stamp thousands of tasks per second, but it requires "humanized" task construction under the supervision of a qualified methodologist. The generator should not replace the teacher when creating tasks. He should only help the teacher in this with his graphical constructs and routine calculations. With this approach, the speed of building tasks still increases several times compared to manual development, the quality of tasks is higher than with manual construction and direct visual control of each created task is preserved.
Keywords: generator; solver; exercise; algorithm; mathematics; student; teacher; problem; card; control work; test; software; programming language
Введение
Генераторы и решатели математических задач создаются и используются в высшем образовании уже несколько десятилетий. Они стали основой компьютерной математики и комплексов дистанционного обучения, столь популярных в настоящее время. При традиционном обучении преподаватели многих вузов создают программы автоматической генерации вариантов контрольных работ и типовых расчетов по математическим дисциплинам. Первой и основной целью статьи является краткое описание главных направлений создания генераторов с попутной формулировкой возникающих в образовательной среде проблем технологического, воспитательного и социального плана. Второй целью публикации является попытка классификации простейших генераторов математических задач по характеру и последовательности выполняемых построений. Автор не претендует на полноту подобной классификации. Третья цель статьи - сформулировать подход к генератору как к творческому настольному инструменту преподавателя-энтузиаста, позволяющему создавать небольшие по объему качественные наборы задач для традиционного обучения математике. Автор формулирует требования к такому генератору, отличные от общепринятых (быстродействие, дешевизна базового программного обеспечения (ПО), совместимость отдельных частей ПО, возможность применения дистанционных технологий и так далее).
Генераторы и решатели
В начале исследования полезно сформулировать основные рассматриваемые понятия.
Ключевое понятие данной статьи - понятие генератора. Большинство современных авторов не формулируют в своих работах понятие генератора, а описывают сложные технологии или программные комплексы, в которых генераторы (и решатели) являются лишь встроенными элементами продвинутых технологий. Определения генератора имеются в явном виде в работах В.В. Кручинина [1, 2], но они являются недостаточно универсальными. Наиболее близкими к идеалу представляются определения из исследований И.А. Посова [3, 4]. В автореферате [4] своей диссертации Илья Александрович Посов предложил следующее определение: «Под генератором понимается программный модуль, результатом работы которого является условие и ответ к некоторому заданию». Автор статьи будет понимать под генератором математических задач программу, получающую в автоматическом режиме условия и ответы таких задач, либо создающую такие задачи в автоматизированном режиме диалога с преподавателем.
Обоснованием необходимости создания генераторов задач некоторые авторы [5, 6, 7] считают проблему «списывания», которой придают слишком большое значение. Бороться с этой проблемой они предполагают исключительно «технически», штампуя сотни и тысячи неповторяющихся вариантов задач и контрольных работ. Автор совершенно не согласен с подобным подходом. Обучающиеся давно перешли от технологий срисовывания решений у соседа к технологиям использования сотовой связи и Интернета. Борьба со «списыванием» предполагает разнообразные меры в первую очередь организационного и воспитательного характера. Во-первых, не следует выдавать контрольные работы «на дом». Выдаваемые для домашнего выполнения задания следует считать лишь тренировочными вариантами для студентов, и не начислять за них больших баллов в рейтинг. Во-вторых, после выдачи группе вариантов контрольной работы не следует уходить из аудитории на кафедру и «путешествовать» по Интернету. Подобное поведение преподавателей побуждает студентов к нечестному выполнению работ. При воспитательных беседах со студентами следует объяснить им, что «списывание» является разновидностью коррупции (получения незаконными способами благ) и недопустимо в правовом государстве. Для многих молодых людей важным является понятие престижа, поэтому стоит намекнуть им, что поведение с получением результатов решения задач со стороны характерно для «лузеров», «аутсайдеров» и понижает их престиж до самой низкой отметки. Следует предусмотреть и меры наказания студентов, пытающихся (несмотря на строгий контроль) заниматься списыванием. Возможно введение системы «желтых» и «красных» карточек (как в футболе). Получение красной карточки может означать для студента невозможность переписать последующие контрольные работы на более высокую оценку, отказ преподавателя от индивидуальных консультаций таких студентов или более строгий прием экзамена. Многолетний педагогический опыт автора показывает, что уже в первом семестре удается полностью ликвидировать «списывание», и в дальнейшем эта проблема более не возникает. Таким образом, более подходящим обоснованием необходимости разработки генераторов может служить «обновление наборов типовых расчетов, задач для проведения контрольных и самостоятельных работ», как справедливо отмечено в статье [8].
Под решателем математических задач обычно понимается ПО, предназначенное для автоматического решения таких задач. На вход решателю поступают краткие описания задач в определенном формате, на выходе получаются решения (ответы). Например, системы компьютерной математики MathCAD, MatLab, Mathematica являются, по сути, интегрированными решателями математических задач. В современной образовательной среде ушли в прошлое попытки создания универсального решателя задач (General Problem Solver). Разрабатываются решатели под конкретную учебную дисциплину или даже под конкретное учебно-методическое пособие. К сожалению, понятие решателя имеет и другое толкование. Решателями именуют себя группы специалистов, готовых в online-режиме выполнять за нерадивых студентов и школьников задания по различным дисциплинам, в первую очередь по математике. По сути дела, такая деятельность является преступной, хотя и не подпадает под статьи уголовных законов. Кроме того, в Интернете предлагается выполнение курсовых и дипломных работ, рефератов и контрольных работ по вполне доступным ценам. Возникает новая социальная проблема. С одной стороны, нагромождаются все более совершенные системы генерации заданий и компьютерного тестирования, а с другой - совершенствуются средства борьбы с этими системами с помощью современных технологий. В этой усложняющейся борьбе почти не остается места тому, что априори необходимо: изучению студентом соответствующей математической дисциплины, формированию тех самых знаний, умений и навыков, которые прописаны в образовательных программах.
Интересен вопрос о соотношении между генераторами и решателями задач. Очевидно, что решатель, как правило, не требует генерации заданий. Условия задачи в заданном формате просто вводятся в него пользователем. Считать решатель обязательной частью генератора также неверно. Вполне возможны генераторы задач без встроенного решателя. Таковыми являются генераторы задач по шаблонам, в которых через набор переменных «записаны» как исходные формулировки задач, так и получаемые формулы ответов. При подстановке конкретных значений переменных получаются сразу как постановка задачи, так и ответ без каких-либо процедур решения. Пример простейшего генератора задач без решателя описан в работе [9]. Генерировались системы линейных алгебраических уравнений (СЛАУ) с квадратной матрицей коэффициентов. Для генерации задавалось решение системы в виде набора целых чисел. Матрица коэффициентов СЛАУ генерировалась случайным образом по специальному алгоритму, после чего свободные члены вычислялись как суммы левых частей системы. При этом отсутствовал этап решения СЛАУ каким-либо алгоритмом. Таким образом, в предложенном генераторе решатель отсутствует. Более сложен вопрос комбинирования генераторов и решателей при создании электронных учебников [7] или компьютерных тестирующих систем [10]. Организация диалога с обучающимся (или поэтапного контроля выполнения тестовых заданий) требует наличия не только ответов к задачам, но и пошаговых решений задач. Поэтому решатели используются здесь внутри разветвленной схемы диалога неоднократно. Вначале же, разумеется, должен выполнить свои функции генератор задания или теста. Из-за того, что в большинстве случаев генераторы включают в себя и решатели задач, большинство авторов не упоминают о решателях вообще. Часть авторов подчеркивает это единство использованием дефиса: генераторы-решатели математических задач.
История и основные направления разработки генераторов
Программы-генераторы возникли как одно из направлений использования компьютеров в организации учебного процесса. В 60-е и 70-е годы ХХ века ЭВМ представлялась устройством решения вычислительных задач, а студентов в основном обучали языкам программирования и численным методам. С появлением и развитием в 80-х годах персональных компьютеров ЭВМ стала представляться обучающим устройством для демонстрации алгоритмов и иллюстрации изучаемых дисциплин. Первые «персональные» компьютеры (например, типов БК или «Кедр») были весьма примитивны, и преподавателю приходилось думать, как можно сделать хоть что-то с помощью такого оборудования. Компьютеры типа «Ямаха» с цветным дисплеем породили массу методик обучения школьников и студентов рисованию и созданию игровых программ с цветной графикой, не улучшая обучение основным дисциплинам. Обучающие и демонстрирующие программы получили свое развитие еще на базе больших машин серии ЕС ЭВМ. В 1985 году автор был на длительной стажировке в киевском Институте Кибернетики и присутствовал на многочисленных лабораторных занятиях студентов по «Методам оптимизации и исследованию операций». Уже тогда преподавателями были реализованы демонстрационные программы, наглядно показывающие на экранах терминалов изучаемые алгоритмы (симплекс-метод, метод потенциалов, построение критического пути).
Отдельное направление создания генераторов задач возникло где-то на рубеже 80-х и 90-х годов ХХ века. Преподаватели многих вузов стали пытаться автоматизировать процесс составления типовых задач, в первую очередь - по математике. Автор статьи был в числе этих «первопроходцев», но его разработки [11, 12] не получили должного развития. Здесь следует обрисовать огромную технологическую проблему, помешавшую первому поколению программ-генераторов стать настоящим инструментом работы преподавателей. Проблема эта - примерно 15-летнее отставание компьютерной техники в СССР (а далее - и в России) от мирового уровня. В конце 80-х годов программное обеспечение кандидатских и докторских диссертаций часто представляло собой огромные колоды перфокарт, которые сам диссертант набивал на перфораторе, за невозможностью использовать вспомогательный персонал. В начале 90-х годов персональные компьютеры в периферийных вузах исчислялись единицами, и добиться работы на них было нереально. Например, на нашей кафедре первый персональный компьютер появился лишь в конце 90-х и использовался в основном для оформления документации. Несколько облегчали положение домашние компьютеры преподавателей. В начале 90-х они имели уже систему MS DOS, надстроенную NORTON-коммандером, и неплохие версии языка BASIC. Вот на этом-то обеспечении и создавались первые программыгенераторы. А мир в это время уже пользовался системой WINDOWS, современными языками программирования и Интернетом! Естественно, что внедрение новых операционных систем и языков программирования «поставило крест» на первом поколении генераторов. Наиболее упорные сторонники прежних технологий создавали целые системы генераторов задач, таких как система генераторов Карнаухов-Commander, описываемая в статье [13] в 2011 году. Большинство разработчиков, тем не менее, перешли на более высокие уровни осмысления проблемы и ее реализации.