Методы визуализации при разработке виртуальной лаборатории по теории алгоритмов и структурам данных
Автор: Хусанов К.А.
Журнал: Экономика и социум @ekonomika-socium
Статья в выпуске: 2-3 (7), 2013 года.
Бесплатный доступ
Короткий адрес: https://sciup.org/140105514
IDR: 140105514
Текст статьи Методы визуализации при разработке виртуальной лаборатории по теории алгоритмов и структурам данных
Курс по теории алгоритмов и структурам данных для будущих специалистов в области прикладной математики, техники призван в первую очередь развивать алгоритмические навыки при решении прикладных задач математики, информатики и других естественнонаучных дисциплин. В связи с этим представляется актуальным рассмотрение вопросов повышения эффективности обучения таким навыкам. Одним из ключевых факторов при этом является разработка дидактических материалов, обладающих высокой интерактивностью.
В данной работе рассматриваются вопросы использования методов визуализации при разработке виртуальной лаборатории по теории алгоритмов и структурам данных для студентов бакалавриата по направлениям «Информатика и информационные технологии», «Прикладная математика и информатика» и магистратуры по естественнонаучным специальностям обучения. В рамках создания такой лаборатории также разрабатывается программное обеспечение для практической работы по курсу.
Методы визуализации при разработке виртуальной лаборатории по теории алгоритмов и структурам данных
Целью разрабатываемой виртуальной лаборатории является создание высоко интерактивного программного обеспечения, позволяющего осуществить академическую поддержку студентов, изучающих данный курс[1].
Среди общих задач, решаемых с помощью виртуальной лаборатории, можно выделить такие традиционные для теории алгоритмов задачи, как:
-
• анализ метрических характеристик алгоритма;
-
• оценка скорости роста алгоритма;
-
• имитационная реализация алгоритма;
-
• проверка правильности работы алгоритма.
Содержание виртуальной лаборатории соответствует программе курса «Теория алгоритмов и структуры данных» для указанных выше специальностей.
Данная виртуальная лаборатория представляет собой дидактический инструментарий для практических занятий по курсу теории алгоритмов. Каждый представленный здесь алгоритм обрабатывается по нижеследующей общей схеме.
-
1. Описание алгоритма – задается представление алгоритма в виде блок-схемы или с помощью псевдокода.
-
2. Описание ввода – определяются режимы ввода данных (ручной или автоматический на основе случайной выборки.
-
3. Описание вывода – определяются основной и детальный режимы. При основном режиме выводятся исходный и обработанный массивы данных, количество сравнений P. При детальном – исходный и промежуточные массивы данных после каждого цикла.
-
4. Аппроксимационная оценка быстродействия методом наименьших квадратов:
-
• ввод : задается число M повторений алгоритма на случайных наборах исходных массивов возрастающей длины N1, N2,…;
-
• счет : задается функция интерполяции (например, квадратичная), определяется минимальная сумма квадратов отклонений для каждого массива - SN1, SN2, …;
-
• вывод : «быстродействие пропорционально Nα», график
-
5. Программирование и проверка правильности алгоритма (программы) – многоэтапная оценка:
скорости, последовательность отклонений для каждого массива - S N1 , S N2 …, график отклонений.
-
• составление программы , компиляция и вывод
результатов p1,p2,… и промежуточных массивов после каждого этапа (цикла) алгоритма на случайном наборе данных (числовой массив длины N);
-
• параллельный счет на том же наборе входных данных, результаты p 01 ,p 02 ,… и промежуточных массивов после каждого этапа;
-
• сравнение результатов p i и p 0i , получение оценки Q ni “netto”: при совпадении – 1 балл, иначе 0, Q n = Q n1 + Q n2 +….
-
6. Оценка работы студента:
-
• Q b “brutto” = Q n * K;
-
• добавление оценки - ввод параметра «весовой коэффициент К»;
-
• получение оценки в журнал студента.
-
7. Визуализация результатов при оценке правильности разработанного алгоритма.
Визуализация при разработке данной виртуальной лаборатории включает следующие возможности:
-
• визуализация ввода данных – студент видит набор
вводимых данных в удобной визуальной форме;
-
• визуализация работы алгоритма – основные этапы
работы алгоритма выводятся на экран в форме таблиц, графиков;
-
• визуализация результатов – итог исполнения алгоритма виден на экране, причем, студент имеет возможность сравнить исходные данные и конечный результат;
-
• оценка правильности алгоритма.
Так, например, при изучении алгоритмов сортировки выполнение заданий из виртуальной лаборатории позволяет студенту видеть не только исходный случайный набор элементов массива и конечный отсортированный массив, но и наблюдать поэтапно за ходом исполнения заданного алгоритма сортировки. Результат каждого этапа сортировки появляется на экране в виде массива данных.
Другим примером визуализации служит возможность интерактивного наблюдения за ходом реализации алгоритма, задаваемого в виде блок-схемы. При этом студент взаимодействует с программой: задаёт необходимые по условию задачи исходные данные, при ручном режиме осуществляет проверку условий и выбирает правильный следующий шаг работы алгоритма. Это касается, в частности, и алгоритмов, содержащих циклы. В циклических алгоритмах имеется возможность выбора различных уровней детализации работы алгоритма: пошаговая, когда можно наблюдать выполнение каждого шага, или циклическая, при которой на экране виден результат работы каждого цикла.
Заключение
Введение элементов визуализации при разработке виртуальной лаборатории по теории алгоритмов и структурам данных позволит повысить эффективность предлагаемого учебного курса за счет его большей интерактивности.
Разрабатываемая на основе методов визуализации виртуальная лаборатория может быть использована в e-learning системе обучения. Соответствующее программное обеспечение разрабатывается на основе web-технологий и может быть использовано также в дистанционном образовании.