
Информатизация инженерного образования (выпуск 1)
.pdf
Г л а в а 13. Виды, способы и технологии контроля знаний
на вопрос. Если количество просматриваемых записей превышает 15, то производится разбивка на страницы. Количество страниц, а также номер текущей страницы отображаются внизу справа.
Для каждого столбца таблицы предусмотрена сортировка по возрастанию и убыванию. Такой столбец отмечен стрелками или
.
13.5.3. Структура базы вопросов
База вопросов имеет простую структуру, основу которой составляют три таблицы, представленные на рис. 13.19:
•«Courses» («Курсы») включает ключевое поле CourseID (идентификатор курса) и поле CourseName (название курса);
•«Themes» («Темы») включает ключевое поле ThemeID (идентификатор темы), поле ThemeName (название темы) и поле связи с таблице «Courses» CourseID (идентификатор курса);
•«Questions» («Вопросы») является основной таблицей, в которой хранится содержимое вопросов. Она состоит из следующих полей:
•QuestionID — ключ;
•ThemeID — связь с таблицей «Themes»;
•Question_Title — заголовок вопроса;
•Question_Text — текст вопроса;
•Question_Buttons — описание кнопок для панели инструментов с переменными;
•Answer_Mask — перечень правильных ответов;
•QImage — бинарное поле для хранения изображений.
Помимо этой имеются три таблицы, которые носят вспомогательный характер. Их состав представлен на рис. 13.20. Показанные на нем элементы описываются следующим образом.
Таблица «StudyGroup» содержит поля:
•GroupID — идентификатор учебной группы;
•GroupName — название учебной группы; Таблица «Students» состоит из полей:
•StudentID — идентификатор записи о студенте;
•GroupID — поле связи с таблицей «StudyGroup»;
Рис. 13.19. Основная часть структуры БД вопросов
573

Ч А С Т Ь 3. ТЕХНОЛОГИИ ИНФОРМАТИЗАЦИИ ОБРАЗОВАНИЯ
Рис. 13.20. Вспомогательные таблицы
•StudentFullName — фамилия, имя, отчество учащегося. Таблица «Journal» включает поля:
•UserGroup — название учебной группы или «Администратор БД» для преподавателя;
•UserName — совпадает с StudentFullName для учащегося и содержит имя пользователя и компьютера для преподавателя (в случае web-версии — IP адрес);
•ActionResult — результат ответа на вопрос или «Вход» для преподавателя;
•Theme_Name — название темы (совпадает с ThemeName из таблицы «Themes»), для преподавателя остается пустым;
•Question_Title — заголовок вопроса (совпадает с Question_Title из таблицы «Questions»), для преподавателя остается пустым;
•Date_Time — отметка даты и времени появления записи в журнале;
•RecordNumber — идентификатор (номер) записи в журнале.
В заключение можно указать несколько направлений, по которым можно расширить возможности представленной сетевой системы тестирования знаний:
•отказ от жесткого шаблона вопроса (текст, иллюстрация, кнопки формирования выражения). Существующий стандарт на формат HTML обеспечивает широкие возможности при проектировании внешнего оформления с привлечением современных средств повышения интерактивности за счет, например, Flash-анима- ции. На этом направлении потребуется решить несколько задач: создание встроенного редактора HTML страниц, размещение в базе данных исходного текста страницы и бинарных данных, связанных с ней (рисунки, анимация и т.п.), введение типовой формы ответов, повышение уровня требований к знаниям и умениям преподавателей;
•организация поддержки других программ-обозревателей, а не только Internet Explorer;
•расширение возможностей встроенного модуля разбора регулярных выражений, что позволит сделать шаблон ответов более гибким и разносторонним.
574

Г л а в а 1 4
МАТЕМАТИЧЕСКИЕ ПАКЕТЫ И САЙТЫ УЧЕБНОЙ НАПРАВЛЕННОСТИ В ИНТЕРНЕТЕ
Математические пакеты, Интернет-реализация одного представителя которых будет описана в данной главе книги, предназначены не только для расчетов, но и для создания полновесных Интернет-приложений (сайтов) в том числе и учебной направленности. В этом плане математические пакеты выгодно отличаются от других средств создания Интернет-приложений тем, что они оборудованы, во-пер- вых, мощными средствами решения задач отдельных учебных дисциплин (математика, физика, химия, специальные дисциплины и др.) и, во-вторых, удобными инструментами визуализации исходных, промежуточных и рассчитанных данных: цветной двух- и трехмерной графикой, анимацией и др.
Кроме того, в настоящее время математические пакеты очень хорошо известны преподавателям и студентам. В среде математических пакетов разработано большое количество библиотек решений прикладных задач, в том числе и учебного плана, которые с минимальными доработками можно открыть в Сети.
Далее в тексте под словом «расчет» будут подразумеваться не только расчеты, но и полновесные Интернет-приложения, в том числе и учебного плана — интерактивные лекции, лабораторно-практические занятия, системы контроля знаний и т.д.
14.1. Математические пакеты в учебном процессе
История использования компьютеров, в том числе и для расчетов учебного плана, условно разбивается на три этапа:
•работа с машинными кодами;
•программирование на языках высокого уровня;
•использование математических пакетов типа Mathcad, Maple, MatLab, Mathematica и др.*
Четких границ между перечисленными этапами (технологиями) нет, работая, например, в среде Mathcad (а именно об этом пакете пойдет речь в данной главе книги), можно при необходимости вызывать собственные функции, написанные на языке Cи, в код которых вкраплены фрагменты Ассемблера. Здесь скорее следует говорить не об этапах развития средств решения задач, а о некой тенденции, которая, в частности, приводит к резкому сокращению времени создания и реализации на компьютере и в Интернете расчетных методик и математических моделей, к исключению программиста как дополнительного и часто бестолкового (с точки зрения специалиста-прикладника или преподавателя, создающего компьютерный обучающий курс) звена между исследователем и компьютером.
* В этом списке нет электронных таблиц Excel — самых популярных средств реализации расчетов на компьютере. Excel занимает промежуточную позицию между языками программирования и математическими программами. Сайт в Интернете перечисленных математических пакетов www.exponenta.ru.
575

Ч А С Т Ь 3. ТЕХНОЛОГИИ ИНФОРМАТИЗАЦИИ ОБРАЗОВАНИЯ
Но «нет роз без шипов». Главный недостаток математических пакетов состоял в том, что они, как правило, не могли генерировать так называемые exe-файлы, которые можно запускать без программы-прародительницы. Это, в частности, существенно мешало такому прогрессивному явлению, как разделение сидящих за компьютером на пользователей и разработчиков. Люди, работающие с математическими пакетами, как правило, ведут «натуральное хозяйство» — разрабатывают учебные и прочие расчетные методики сугубо для личного употребления либо для передачи узкому кругу обучаемых. Передать их можно было только тому, у кого на компьютере стоит Mathcad. А этот человек покупать файл не будет, а постарается (норовит, как скажет продавец) воссоздать нужный расчет сам*. Передать же (продать) файл тому, кто не знаком с пакетом Mathcad и не имеет его на компьютере, можно было только с большой нагрузкой — с условием установки на компьютере самого пакета Mathcad нужной версии, что часто влечет за собой необходимость обновления не только операционной системы Windows, но и «железа». Да и поучиться обращаться c Mathcad тоже необходимо…
Фирма Mathsoft Engineering & Education, Inc. (www.mathsoft.com — разработчик пакета Mathcad) делала ряд попыток для исправления этого ненормального положения.
Во-первых, были попытки запуска с очередной (восьмой, если быть точным) версией пакета Mathcad его бесплатного** и укороченного варианта — Mathcad Explorer, который позволял открывать Mathcad-файлы и считать по ним, но не редактировать и не сохранять на дисках документы (так называемая read-only версия).
Во-вторых, интенсивно развивались средства публикации Mathcad-документов в Интернете. Ведь основной потребитель математических программ — это сфера образования, где важен не сам результат расчета, а путь к результату, изучение расчетных методик, заложенных в расчет. На это была нацелена, в частности, версия Mathcad 2001i, где буква i означала «интерактивный» (interactive).
Но все это были неполные решения. Mathcad Explorer нужно было скачивать из Сети и устанавливать на свой компьютер. А тут уж лучше поставить сам пакет Mathcad, а не его укороченную версию (см. сноску **). Mathcad-документы, вернее их html или MathML-копии, открытые в Сети, хочется не только разглядывать, но и «пощупать» — изменить исходные данные и увидеть (распечатать, сохранить на диске) новый ответ. И не просто «хочется», а «надо» — дано такое задание преподавателем.
Решение этой проблемы, но уже не частичное, а почти полное опять пришло со стороны Интернета.
В конце 2003 г. фирма Mathsoft запустила в эксплуатацию так называемый Mathcad Application Server (MAS — http://mas.mathsoft.com/mas), позволяющий запускать на нем Mathcad-документы и обращаться к ним дистанционно через Интернет.
* Речь идет, конечно, о небольших расчетных программах, в которых время их создания и отладки сопоставимо со временем поиска их готового варианта, установки на компьютер и освоения. Но и объемные расчеты с трудом пробивают себе путь на рынке, так как собственный расчет всегда можно расширить и модернизировать, чего не скажешь о чужих программах.
** Здесь не затрагиваем финансовую сторону проблемы, т.е. не говорим о том, сколько стоят сами математические пакеты в их легальных и нелегальных версиях.
576

Г л а в а 14. Математические пакеты и сайты учебной направленности в Интернете
Технология MAS позволяет решить следующие задачи:
• нет необходимости ставить на компьютеры пользователей саму программу Mathcad нужной версии*, где-то искать, проверять на отсутствие вирусов и запускать прикладные файлы — достаточно подключить компьютер к Интернету и обратиться к MAS через браузер Internet Explorer (5.5 и выше). При этом сохраняется полная иллюзия того, что на компьютере открыт Mathcad-документ, в котором можно изменить исходные данные и считать (распечатать, сохранить на диске) ответ. Но сама расчетная методика (набор формул в традиционной математической нотации, а не в виде компьютерных программ — особенность, за которую так любят Mathcad) может быть либо открыта, либо закрыта полностью или частично (продажа или просто передача результата расчета, а не самого расчета);
•новые расчетные методики становятся моментально доступны всем пользователям Интернет-сообщества, т.е. достаточно только сообщить будущим пользователям Интернет-адрес расчета. При этом можно дать возможность пользователям выбора языка общения (русский, английский и др.). Чтобы эти расчеты стали товаром и организовывать на их основе платное, например, образование, можно администрировать доступ к сайту — сделать его платным (умеренно платным, частично платным), окружить ссылки на них баннерами и т.д.;
•любые ошибки, опечатки, недоработки и допущения в расчете, замеченные как самим автором (разработчиком), так и пользователями, могут быстро (и незаметно для пользователей) исправляться. Незаметно для пользователей можно также модернизировать и расширять расчеты;
• технология |
MAS не исключает традиционной возможности скачивания |
|
с сервера самих |
Mathcad-документов |
для их расширения и модернизации. |
Для этого достаточно в расчете сделать |
соответствующую ссылку на FTP-сервер. |
Технология MAS кардинально решает проблему лицензирования работы с программой: пользователю нет необходимости покупать дорогостоящую программу Mathcad или ставить на компьютер пиратскую копию программы, а также постоянно обновлять их и дополнительно заменять и(или) обновлять саму операционную систему Windows, делать «upgrade» компьютеру — достаточно только обратиться к MAS. Покупать дорогостоящие программы должен будет только разработчик — создатель расчетных методик.
Не нужно также учиться обращаться (редактировать) с Mathcad-документами, бояться испортить их. Изменение исходных данных в MAS-документе ведется приемами, которые люди (в том числе и студенты) давно уже освоили, засвечиваясь на различных сетевых форумах, болтая на чатах.
В этой главе книги не пойдет |
речь о |
том, |
как |
создавать Mathcad-докумен- |
ты учебной направленности. На |
этот |
счет |
есть |
обширная отечественная |
(http://www.exponenta.ru/soft/Mathcad/mathcad_book.asp) и зарубежная литература. Будет рассказано только о том, как готовые документы подстроить для публикации в Сети и какие изменения нужно вносить в создаваемые расчеты, чтобы они были пригодны к выполнению как на рабочей станции, так и в Сети.
* Под словом «нужный» подразумевается не только последняя версия Mathcad, но и старые («древние») версии, необходимые именно для данного файла.
577

ЧА С Т Ь 3. ТЕХНОЛОГИИ ИНФОРМАТИЗАЦИИ ОБРАЗОВАНИЯ
14.2.Подготовка Mathcad-документов к публикации в Интернете
Как правило, Mathcad-документы имеют структуру, состоящую из трех частей: ввод данных, расчет и вывод результатов. Эта структура документа в предельно упрощенном виде показана на рис. 14.1, где эти части выведены в три области — Areas, в которых возможны сепаратные действия — защита от редактирования (Lock-Unlock) и(или) скрытие (Collapse-Expand).
Структура реального документа, как правило, не имеет четких границ между этими тремя областями: ответ может выдаваться сразу после расчета по формуле, а входные данные могут быть продублированы в сводной таблице и т.д. Если область расчета занимает несколько страниц, то при отладке ее «захлопывают» (команда Collapse) для того, чтобы одновременно видеть входные данные и результат. Можно разбить расчет на несколько областей и открывать их поочередно.
В документе, показанном на рис. 14.1, пользователь изменяет значения переменных а и(или) b и считывает результат — значение переменной с. Пользователь может также усложнить и развить этот документ — ввести новые переменные и формулы, построить графики и т.д. Но это будет уже не пользователь, а разработчик (технология MAS четко делит людей на эти две категории). Первый этап подготовки документа и публикации на MAS — это выделение операторов присваивания. Это не только операторы := или ≡ (глобальное присваивание), но и так называемые Controls, введенные в Mathcad-2001, через которые будущий Интернетпользователь может менять входные данные. Эти операторы присваивания должны быть заменены на так называемые WebControls — «сетевые элементы интерфейса» (рис. 14.2), с аналогами которых читатель давно ознакомился, вводя информацию по различным Интернет-запросам.
Рис. 14.1. Структура простей- |
Рис. 14.2. Вызов диалогового окна вставки |
шего Mathcad-документа |
сетевых элементов интерфейса Mathcad |
578

Гл а в а 14. Математические пакеты и сайты учебной направленности в Интернете
14.3.Web Controls — сетевые элементы интерфейса
Web Controls появились у Mathcad 11.1 Enterprise Edition и у Mathcad 12 (все реализации).
Web Controls отличаются от своих несетевых аналогов (Controls — см. их список над словом Web Control в центре рис. 14.2, а также панель правее слова Go) главным образом тем, что для функционирования Web Controls не надо писать или редактировать программы на языках, поддерживающих технологию Active Scripting (JScript и VBScript — см. рис. 14.15). Такие программы в сети нежелательны, так как через них в основном переносятся компьютерные вирусы. Из-за этого многие разработчики в среде Mathcad не вставляют в свои программы Controls, а по-прежнему используют только операторы := или ≡. В среде Mathcad 2001i появилась возможность фиксации таких «скриптов» в открываемом документе, как это делается в среде Word или Excel. По этой причине (боязнь вирусов, а также то, что Controls сильно увеличивают размер файлов) можно рекомендовать вставлять Web Controls не только в Mathcad-документы, подготавливаемые к открытию в сети (будем называть их WebSheets), но и в обычные, несетевые (WorkSheets) документы.
Документ, показанный на рис. 14.1, после подготовки и публикации на MAS должен выглядеть так, как показано на рис. 14.3.
Из рис. 14.3 видно, что операторы а:= и b:= заменены на текстовые окна (поля) Textbox. Дополнительно вставлена кнопка Submit, которой дали имя «Пересчитать». При открытии на MAS этого документа линии и комментарии, отмечающие границы областей, не будут видны. Но при необходимости их можно прописать комментарием — цепочкой тире, например, чтобы будущий пользователь расчетного документа, знал, что тут находится область с закрытым расчетом. Границы областей, маркированных как «Исходные данные», «Расчет» и «Вывод ответа», на MAS не будут видны. Можно «захлопнуть» область «Расчет», и оператор с:= a + b также не будет виден. Это очень важно, потому что разработчик может скрыть от пользователя часть Mathcad-документа, опубликованного в сети, предоставляя возможность только расчета. А можно, наоборот, открыть и выделить цветом наиболее интересные и важные части расчета, например, для проверки как самой методики расчетов, так и входных данных.
Если в примере на рис. 14.1 и 14.3 переменные а и(или) b могут принимать значения только в оговоренных интервалах (0 < a < 3, например), то будет полезно вставить в Mathcad-документ некий контрольно-пропускной пункт: a := if(0 < a < 3, a, «Ошибка!»), блокирующий дальнейшие вычисления, если пользователь задал неверные входные данные. Такие же проверки хорошо установить перед выводом ответа. Они должны блокировать вывод результата, если входные данные дают несовместимое сочетание.
По адресу http://twt.mpei.ac.ru/mas/worksheets/Calc_Q_VPU.mcd хранится программа расчета проектной производительности водоподготовки для электростанции, которая возвращает не число, а текст «Ошибка в данных!», если пользователь ввел ошибочное сочетание параметров проектируемой станции.
Название «Text box» не совсем правильное. Через этот элемент интерфейса можно вводить не только (и не столько) текстовые константы, но и числа как простые (рис. 14.3), так и комплексные (–5 + 3i, например). При этом приходится
579

Ч А С Т Ь 3. ТЕХНОЛОГИИ ИНФОРМАТИЗАЦИИ ОБРАЗОВАНИЯ
опираться на старую (DOS-ю) запись формата чисел: не 103, а Е3 (е3) — см. рис. 14.4. Если введенная строка символов не «похожа» на число, то она воспринимается как текст. В несетевом аналоге текстового окошка любая цепочка символов воспринимается как текст, который нужно было конвертировать в число встроенной функцией num2str из группы String (рис. 14.15).
Автором совместно с Томом Гудманом (Tom Gudtman — tom_gutman@compuserve.com) разработана методика ввода через текстовое окошко массивов (векторов и матриц), а также функций пользователя, что отображено на рис. 14.5—14.7.
На рис. 14.5 показано, как цепочка символов, введенная в текстовое окошко, преобразуется в вектор с помощью пользовательской функции Str2VMat. Разделителями чисел в текстовом окошке могут быть любые символы, отличающиеся от 0…9, точки (десятичный разделитель) и знака «минус». В нашем случае разделителями чисел служат пробелы.
Матрицу можно ввести построчно или по столбцам, несколько усложнив метод, показанный на рис. 14.5. Но если матрица квадратная и произвольного размера, то можно ввести ее в виде вектора размером n2, а затем «упаковать» в квадратную матрицу (рис. 14.6).
По адресу http://twt.mpei.ac.ru/mas/worksheets/lsolve.mcd можно открыть в Интернете решатель системы линейных алгебраических уравнений вида А·х = В, где массивы А (квадратная матрица коэффициентов при неизвестных) и В (вектор свободных членов) вводятся по технологии, показанной на рис. 14.5 и 14.6.
Частично решена и проблема ввода через текстовое окошко функции пользователя. Так, на рис. 14.7 показан текстовый ввод функции пользователя с одним аргументом, по которой строится график. Сам алгоритм перевода текста в формулу довольно громоздок и на рис. 14.7 не показан (спрятан в захлопнутой области). Этот же алгоритм может быть использован и для ввода значения переменной не константой (например, 1.25), а арифметическим выражением (45/12 + 11),
Рис. 14.4. Ввод констант через текстовые окошки
←Рис. 14.3. Простейший Mathcad-документ, подготовленный к публикации на MAS
580

Г л а в а 14. Математические пакеты и сайты учебной направленности в Интернете
Рис. 14.5. Ввод вектора через текстовое |
Рис. 14.6. Ввод квадратной матрицы |
окно |
через текстовое окно |
Рис. 14.7. Ввод функции через текстовое окно
581

Ч А С Т Ь 3. ТЕХНОЛОГИИ ИНФОРМАТИЗАЦИИ ОБРАЗОВАНИЯ
включающим и ранее введенные и встроенные переменные (например, PI/4d^2). Если необходимо, чтобы у пользовательской функции аргументы были собраны в вектор, то прибегают к дополнительному оператору f(X) := f(X0, X1, …). Так,
реализован расчет глобального минимума по генетическому алгоритму — см. http://twt.mpei.ac.ru/MAS/Worksheets/Minimum.mcd.
Пример работы с функцией, введенной через текстовое окно, можно увидеть по адресу: http://twt.mpei.ac.ru/mas/worksheets/F_X_Y_Plot.mcd. Частичность этого решения состоит в том, что к данной функции нельзя применить символьную математику и использовать в ней переменные, заданные ранее, хотя список аргументов функции y можно изменять и расширять (пример расположен по адресу http://twt.mpei.ac.ru/mas/worksheets/Fit_f_x_a_b_c.mcd).
Полезной особенностью Mathcad является его работа с физическими величинами. На рис. 14.8 показано, как оператор Р:= 123·mm заменяется на текстовое окно.
Через текстовое окно на рис. 14.8 в переменную Р вводится безразмерная величина, но при этом справа от окна стоит комментарий, указывающий, что переменная Р станет размерной — Р := Р·mm. Радиокнопки (или списки), о которых подробнее будет сказано чуть ниже, позволяют выбирать единицы измерения (рис. 14.9 и 14.10).
Аргумент у радиокнопок (UnitP) показан на рис. 14.9. Но его можно и нужно скрыть, что сделано на рис. 14.10. Для этого вызывается соответствующая команда из меню «правой кнопки».
Рис. 14.8. Ввод размерной величины |
Рис. 14.9. Ввод размерной величины с выбо- |
через текстовое окно |
ром единицы измерения (область открыта) |
Рис. 14.10. Ввод размерной величины с выбором единицы измерения (область «захлопнута»)
582