Научная статья на тему 'Проблемы развития математического мышления учащихся на примере обучающей системы «Алгоритмы и анализ сложности»'

Проблемы развития математического мышления учащихся на примере обучающей системы «Алгоритмы и анализ сложности» Текст научной статьи по специальности «Науки об образовании»

CC BY
55
13
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ОБУЧАЮЩАЯ СИСТЕМА / АЛГОРИТМЫ / АНАЛИЗ СЛОЖНОСТИ / АДАПТИВНОЕ ОБУЧЕНИЕ / ДИСТАНЦИОННОЕ ОБУЧЕНИЕ / ТРУДОЕМКОСТЬ / ВЫЧИСЛИТЕЛЬНАЯ СЛОЖНОСТЬ / ОЦЕНКИ ФОРМУЛ / ПРЕОБРАЗОВАНИЕ ФОРМУЛ

Аннотация научной статьи по наукам об образовании, автор научной работы — Ермилова Александра Владимировна, Рублев Вадим Сергеевич

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по наукам об образовании , автор научной работы — Ермилова Александра Владимировна, Рублев Вадим Сергеевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Проблемы развития математического мышления учащихся на примере обучающей системы «Алгоритмы и анализ сложности»»

Ермилова А.В.1, Рублев В.С.2

1 Ярославский государственный университет им П.Г. Демидова, г. Ярославль, магистр

факультета Информатики и вычислительной техники, undead@ neofusion . ru

2 Ярославский государственный университет им П.Г. Демидова, г. Ярославль, к.ф.-м.н.,

профессор кафедры теоретической информатики

Проблемы развития математического мышления учащихся на примере обучающей системы «Алгоритмы и

анализ сложности»

КЛЮЧЕВЫЕ СЛОВА

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

АННОТАЦИЯ

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

Введение

Направление «Алгоритмы и анализ сложности» теории алгоритмов является одним из фундаментальных разделов теоретической информатики. Само понятие трудоемкости, анализа алгоритмов неразрывно с построением программных систем.

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

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

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

Адаптивность обучения

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

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

Известно большое количество программных систем, называющихся обучающими (MOODLE, Claroline, Dokeos, ATutor), но большинство из них не поддерживают полный цикл обучения (методики) — это всего лишь приложения, предоставляющие доступ к текстам, выдающие и проверяющие задания. Обучение же в данном случае должно состоять в поиске гибкого подхода к обучаемому, использование различных методик изменения поведения системы по отношению к конкретному пользователю в процессе работы с ней.

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

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

• построение последовательности курса обучения;

• интеллектуальный анализ решений;

• интерактивная поддержка в решении задач;

• поддержка в решении задач на примерах;

• адаптивная поддержка в навигации;

• адаптивное представление;

• адаптивная поддержка сотрудничества.

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

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

Методология адаптивного обучения отлично ложится на следующие постулаты о процессе обучения:

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

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

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

Проблемы компьютерного обучения математическим оценкам сложности алгоритмов

Часть курса «Алгоритмы и анализ сложности», связанную с определением вычислительной сложности алгоритма, можно разбить на некоторое количество разделов. Каждый раздел (секция) представляет собой набор материала для изучения и серии контрольных упражнений и тестов, которую пользователю необходимо выполнить после прочтения материала. Работа с системой происходит поэтапно: каждая секция, кроме первой, доступна только при успешном прохождении всех предыдущих (линейная схема обучения).

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

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

Контрольные задания в данном случае могут быть трех типов: тесты-определения, вопросы-тесты с выбором ответов и вопросы с открытым ответом. Задачи с открытым ответом подразумевают ввод в

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

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

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

Постановка задачи по оценке вычислительной сложности алгоритма

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

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

• при конструировании по символьной прокрутке неравенств для параметра отдельного цикла, которые и определяют вычислительную сложность этого цикла;

• при символьном преобразовании равенств и неравенств;

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

• при обосновании полученных формул методом математической индукции;

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

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

1. Раскрытие скобок — только в одном месте формулы может быть раскрыта одна пара скобок; при этом порядок членов не должен изменяться.

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

3. Перестановка членов в формуле — замена местами двух членов только в одном месте формулы, где такая перестановка допустима.

4. Перенос в неравенстве — только последнего члена левой части неравенства в правую часть перед первым членом этой части, либо наоборот.

5. Символьные вычисления — только одно или несколько допустимых арифметических операций одного типа (сложение, умножение, вычитание, деление).

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

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

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

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

Итоговое задание обучающей системы

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

Обязательные темы итогового задания:

• Оценивание трудоемкости зависимых и независимых циклов;

• Оценка формул, содержащих дроби и целые части от дробей;

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

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

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

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

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

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

1. Анализ количества циклов, их зависимости.

2. Выявление переменных, от которых зависит количества повторений циклов.

3. Анализ переменных и изменения их значений.

4. Построение таблицы формульной прокрутки.

5. Оценка значений переменных.

6. Оценка числа итерации циклов.

7. Анализ и оценка общей трудоемкости процедуры.

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

Выбор технологии реализации обучающей системы

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

Практическим результатом работы является обучающая система, реализованная на языке Java как веб-приложение с использованием документно-ориентированной СУБД MongoDB для хранения материалов секций, набора контрольных упражнений, сопоставления верных/неверных ответов и генерации возможных режимов системы для реализации принципа гибкости.

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

Литература

1. Ермилова А.В. Компьютерная обучающая система по курсу 'Алгоритмы и анализ сложности"// Шестьдесят седьмая всероссийская научно-техническая конференция студентов, магистрантов и аспирантов высших учебных заведений с международным участием. 23 апреля 2014 г., Ярославль. Ч. 2 : тез. докл. -- Ярославль: Изд-во ЯГТУ, 2014. --С.288

2. Ермилова А.В. Компьютерная обучающая система по курсу 'Алгоритмы и анализ сложности"// Заметки по информатике и математике: сборник науч. статей // отв. ред. А. Н. Морозов; Яросл. гос. ун-т им. П. Г. Демидова. -- Ярославль: ЯрГУ, 2013 — Вып. 5. -- С.35-43

3. Ермилова А.В., Рублев В.С. Компьютерная обучающая система по курсу "Алгоритмы и анализ сложности"// Преподавание информационных технологий в Российской Федерации, Материалы Двенадцатой открытой Всероссийской конференции 15-16 мая 2014 года -- Казань: Казанский (Приволжский) федеральный университет, 2014. -- С.240-242

4. Рублев В.С., Ермилова А.В. Проблемы обучения дисциплине "Алгоритмы и анализ сложности" студентов специальности "Фундаментальная информатика и информационные технологии"// Преподавание информационных технологий в Российской Федерации, Материалы Одиннадцатой Всероссийской конференции 16-17 мая 2013 года -- Воронеж: ВГУ 2013. -- С.74-75

5. Рублев В.С. Проблемы обучения в настоящий период // Преподавание математики и компьютерных наук в классическом университете: материалы 4-й научно-методической конференции преподавателей математического факультета и факультета информатики и вычислительной техники Ярославского государственного университета им. П. Г. Демидова // Отв. ред. М. В. Невский; Яросл. гос. ун-т им. П. Г. Демидова. — Ярославль: ЯрГУ, 2011. 175с.

i Надоели баннеры? Вы всегда можете отключить рекламу.