Автоматическая генерация и проверка задач по дисциплинам математического цикла в высшей школе
Гилев Павел Андреевич,
аспирант, ассистент научно-образовательного центра математики ИТМО, Университет ИТМО E-mail: [email protected]
Казанков Владислав Константинович,
аспирант, ассистент научно-образовательного центра математики ИТМО, Университет ИТМО E-mail: [email protected]
Табиева Арина Вадимовна,
студент, преподаватель научно-образовательного центра математики ИТМО, Университет ИТМО E-mail: [email protected]
В статье рассматривается способ реализации контрольно-измерительных мероприятий для студентов высшей школы в рамках дисциплин математического цикла с использованием платформы GeoLin. Платформа предоставляет возможность автоматической генерации задач в рамках изучаемой темы, и их автоматическую проверку. Она предоставляет возможность преподавателям выдавать генерируемые автоматически задачи для различных видов контрольно-измерительных мероприятий, проверка которых осуществляется системой. Структура генерации задач, описанная в настоящей статье, предлагается вниманию читателя, чтобы поделиться практикой реализации, а также опытом и наработками научно-образовательного центра. В статье приведены подробные описания метода генерации задач, текста представления, формы ответа и валидации ответа. Также в статье анализируются методические и инженерные задачи, возникающие во время разработки данной системы. Производится разбор нескольких алгебраических задачи, одна из которых принадлежит разделу аналитической геометрии. Анализируются особенности применения платформы для практических занятий.
Ключевые слова: контрольно-измерительные мероприятия, образование высшей школы, дистанционное обучение, образовательный процесс, дистанционное и очное преподавание математики.
о с
CJ
Статья создана при поддержке Университета ИТМО сотрудниками научно-образовательного центра математики.
Введение
В современном мире мы часто сталкиваемся с проблемой дистанционного обучения. В начале 2020-х на мир обрушилась пандемия, вызванная новой коронавирусной инфекцией, которая вынудила нас перевести обучение в школах и вузах на удаленный формат [1]. Современная реальность диктует правила перестройки образовательного процесса, в том числе создает необходимость быть готовыми к безболезненному переходу на онлайн-обучение.
Опыт показал, что дистанционное обучение лучше реализуемо на дисциплинах гуманитарного образовательного цикла. Характер адаптации дисциплины напрямую связан с особенностями формата взаимодействия в рамках предмета [2, 3]. Например, при изучении иностранных языков ключевым фактором является общение с преподаванием: тренировка говорения, слушания и прочих навыков, которые без явных сложностей переносятся в дистанционный формат. Иначе дело обстоит с дисциплинами математического цикла: одной из самых популярных и эффективных стратегий их освоения является применение теоретических знаний на практике, например, в рамках решения задач. На этом этапе возникают трудности, в частности связанные с отсутствием возможности использовать доску или другие средства визуального вывода информации, проверять решения студентов и оценивать уровень освоения дисциплины.
Помимо проблем дистанционного обучения существуют и другие объективные трудности, связанные с преподаванием математики. В частности, на практических занятиях используются задачники с ограниченным набором типовых задач, к части из которых опубликованы решебники. Недостаточность вариантов приводит к усложнению процесса выдачи заданий на домашние и контрольные работы. Есть два известных способа решения: составление новых заданий, что является слишком трудозатратным процессом для преподавателя, или же тиражирование исходного, недостаточного набора заданий на множество работ. Второй метод в явном виде приводит к списыванию и запоминанию единого решения студентом без осмысления задачи.
Также существует проблема неравнозначности вариантов, в которой определенный вариант существенно сложнее или проще остальных. Подход, предлагаемый в рамках настоящей статьи, предлагает набор инструментов для того, чтобы составлять задачи, являющиеся консистентными по слож-
ности вне зависимости от варианта. Ниже будет приведен конкретный пример задачи, которая обладает вариацией с инвариантной сложностью. Для достижения этого эффекта требуется существенная предварительная методическая работа схожая со спецификой, встречаемой в работах [4-8].
Кроме того, нельзя не уделить внимание сложности ручной проверки контрольно-измерительных работ преподавателем. Для решения этой проблемы предлагается использовать более узкий класс задач, называемых вычислительными. Для вычислительной задачи достаточно сравнить введенный символьный набор с эталонным, полученным конструктивным путем из известных вводных данных
Существенная слабость системы заключается в том, что возможность проверки задач графических, на доказательство или с буквенным ответом ограничена, что стоит учитывать при использовании подобных систем.
Научно-образовательным центром математики Университета ИТМО разработана онлайн-платформа GeoLin, помогающая справиться со всеми вышеописанными проблемами дистанционного и очного преподавания математики. Она предоставляет возможность преподавателям выдавать генерируемые автоматически задачи для различных видов контрольно-измерительных мероприятий, проверка которых осуществляется системой. Структура генерации задач, описанная в настоящей статье, предлагается вниманию читателя, чтобы поделиться практикой реализации, а также опытом и наработками научно-образовательного центра.
Методы
Функционально можно выделить четыре блока при реализации: генератор задачи, текст задачи, парсер ответа, валидатор ответа. Такая структура, вообще говоря, не зависит от предметной области и может быть использована не только для задач математического образовательного цикла. Для реализации задач на платформе выбран язык программирования Python, так как он является одним из самых популярных языков мира, а значит программную реализацию произвольной задачи может прочесть большинство людей знакомых с базовыми концепциями программирования.
Наибольшая концентрация методической работы заключается именно в создании правил и эвристик генерации вариантов задачи. Генератор задачи также неразрывно связан с текстом задачи и с ее методической ценностью. Большинство математических дисциплин имеют тематические практики, в рамках которых принято использовать синтетические задачи, опирающиеся на один прием или один метод. Такие задачи являются наиболее эффективными для обучения студентов, поэтому мы используем их при формировании заданий на платформе.
Рассмотрим для начала достаточно простую задачу: решить квадратное уравнение. Для создания вариантов этой задачи изначально можно рассмотреть подход: случайная генерация всех
коэффициентов. При таком подходе возникает ряд проблем: произвольные вещественные коэффициенты, неконтролируемое количество корней, неконтролируемый рост сложности расчетов. Произвольные вещественные коэффициенты могут приводить к тому, что обучающийся воспользуется математическими пакетами вместо того, чтобы решать все самостоятельно. Причиной тому служит вещественная арифметика чисел с большим количеством знаков после запятой, которая увеличивает вычислительную сложность задачи, делая базовый принцип (метод поиска корней через дискриминант или через теорему Виета) менее привлекательным для использованием студента.
Разное количество корней порождает отличающиеся по сложности задачи. Например, при создании задач с квадратичными неравенствами, от количества корней квадратного уравнения зависит тип итоговой задачи. Неконтролируемый рост сложности расчета может быть связан с тем, что при генерации, например, трехзначных коэффициентов дискриминант может быть пятизначным, а извлечение корней из пятизначных чисел также является методологически более сложной задачей, чем нахождение корня из трехзначного числа. Также далеко не каждый дискриминант является квадратом некоторого рационального числа, что индуцирует иррациональность в корне, что увеличивает сложность задачи. В связи с этим нами был выбран подход изначальной генерации не коэффициентов квадратичного полинома, а его корней. Так, сгенерировав два корня х1, х2 и некоторый мультипликатор а, имеет место полином а(х-х1)(х-х2) и, соответственно, его итоговый вид в представлении ах2-а(х1+х2) х + ах1х2=0.
Особенность такого полинома в том, что его корни - это х1 и х2, а его дискриминант в случае целочисленных параметров а, х1 и х2 является квадратом натурального числа. Также в такой ситуации можно контролировать количество корней: их либо два, либо один (в зависимости от того равны ли х1 и х2 или нет).
Вторым элементом любой задачи является текст представления, которые получают обучающиеся. Так если выдать в качестве текста вышеприведенной задачи а(х-х1)(х-х2)=0 вместоах2-а(х1+х2) х + ах1х2=0, то сложность задачи может существенно измениться из-за того, что в первом случае гораздо проще увидеть, какие числа являются корнями квадратного уравнения, чем во втором. Потому выбор итогового представления является важной частью методической работы.
Третьим элементом задачи является форма ответа. Ее основная цель состоит в том, чтобы донести до учащегося требуемый формат ответа. Так студент может написать как просто пару чисел через запятую 3, 5, так и например х1=3, х2=5. В зависимости от формата ответа меняется то, какой ответ будет отправлен в систему, и результат валидации ответа. Для решения этой проблемы необходимо согласование между создателем
сз о со "О
1=1 А
—I
о
сз т; о m О от
З
ы о со
о с
U
задачи и методистом, который создает генератор и параметризует задачу.
Четвертым разделом является валидатор, который проверяет правильность введенного ответа и выносит вердикт о том, принято решение или нет. Валидатор является вторым (после генератора) разделом, требующим решения алгоритмических задач, так как в процессе валидации или генерации происходит решение исходной задачи в параметрическом виде. В случае с квадратным уравнением валидатор будет достаточно прост: он проверяет совпадает ли пара введенных чисел с параметрами х1 и х2. Также стоит обратить внимание, что даже в такой простой валидации числа могут быть введены в другом порядке. Поэтому необходимо ввести требование в третьем разделе на от-сортированность в определенном порядке или проверять все возможные порядки введенных чисел.
Результаты
В качестве результатов предлагается рассмотреть конкретную задачу, которую решали несколько студентов в рамках дисциплины «Линейная алгебра». На рисунке 1 представлены экземпляры одной задачи на двух языках. Задача взята из раздела «Аналитическая геометрия» и соответствует теме: «Прямые и плоскости в пространстве». В дальнейшем на примере этой задачи будет продемонстрировано ее функциональное устройство, которое характерно для каждой задачи на платформе, ввиду специфики предмета [9].
Пример задачи (Вариант 1)
Аналитическая геометрия
Задача 1
Найти уравнение проекции прямой
г х - 7 у + 41 г - 20
-4
43
-27
на плоскость
Р -.Ъх- 2Ьу + 11 г + 262 = 0.
_ х-2 у — 0 з-1
Ответу —-— = —— = —-— соответствует
Пример ввода: [—2, — 0, — I; 1, — 1,4] Задача 2
Find (.he equations of the projection of die line
s + 3 у - 24 г -i-14
L :
-1 27 -1G
on the plane
P ; 15® - Щ) + I2z + 12 = 0.
x — 2 у — 0 g — 1 The answer —- = 1 = - corresponds to
Input example: [-2, -0, —1; 1, —1,4]
Рис. 1. Отображение задачи в формате pdf
Программная реализация задачи является классом, у которого реализованы методы четырех функциональных групп: генерация, отображение задачи, считывание ответа, проверка введенного ответа. Для задачи «Найти уравнение проекции прямой на плоскость» на рисунке 2 можно найти общий вид программного кода задачи на языке Python.
На рисунке 3 представлена программная реализация функциональной группы генерация, в виде метода generate. Для того, чтобы реализовать формулировку условия задачи, необходимо иметь уравнение плоскости и уравнение прямой, не лежащей на этой плоскости.
Для получения уравнения плоскости необходимо получить три точки, не лежащие на одной прямой, поэтому достаточно сгенерировать координаты точки A случайным образом (33-36 строки программной реализации на рисунке 3). Затем сгенерировать случайным образом координаты точки B с учетом, того, что значения для генерации не должны содержать координаты точки B (38-41 строки программной реализации на рисунке 3). Чтобы получить координаты точки C, не лежащей на одной прямой с точками A и B, достаточно сгенерировать случайный параметр r отличный от нуля, и добавить его значение к средней точке на прямой AB (43-49 строки программной реализации на рисунке 3). На основе точек A, B, C вычисляются значения параметров для уравнения плоскости (51-57 строки программной реализации на рисунке 3).
Для построения уравнения прямой не лежащей на плоскости нужно вычислить координаты точки M, не лежащей в плоскости. Достаточно в направление вектора нормали от одной из точек плоскости отойти на значение параметра r (59-62 строки программной реализации на рисунке 3). Вычисление направляющего вектора прямой осуществляется на основе координат точек B и M.
На рисунке 4 представления реализация функционального блока отображение задачи в виде методов: write_question_tex_ru и write_question_ tex_en, отвечающих за отображение формулировки задачи.
На рисунке 5 представлена реализация двух функциональных блоков: считывание ответа (метод parse_attempt_string), проверка введенного ответа (is_attempt_valid). Метод parse_attempt_string считывает строку, которую вводит пользователь, и преобразует в матрицу (115-116 строки программной реализации на рисунке 5). Проверка задания осуществляется тем, что на основе введенной матрицы пользователем строиться уравнение прямой (119-122 строки программной реализации на рисунке 5) и поставляется в нее координаты точки A, B и если эти точки обращают уравнение прямой в тождество, то введение уравнение прямой верно.
-Frotb alll.ijipofta inpart * siass PrablenCeeneiricPrcbleiO:
ДлйЛиТачеСяОЛ йййнетрий. ЛрДйые ci ПЛОСКОСТЬ] fi ПрйС7р0нС7ве. НййТи уРаВНвДий ХЦОи ПрЛМОй
к.в: serde.intO ¥_а: serde.IntO i_a: serde.intO
x_b: serde.intO y_b: surde.IntC] z_b: serde.intO
xji: serde.intO V_n: serde.intO £_H: se.rdc.IntC]
8jc: serde.intO s_y: serde.intO a_z: serde.intO
A: serde.intO
Й; ierd«,IntG
C: e№№.IntQ
D:: serde.intO
pGlaunethed
detf generate (...
de* i*rite_queetian_te*_ryCi:eT j} :, .
def *Tite_que3t±on_te*_enCi-?"i-0 : - - -
detf irrlte.report.teiii! --r attenpt) :___
dp* perie.ettenptCi , atteopt.strings strl;
def is_attenpt_valid(se\f, attenpt: Hatrix):...
Рис. 2. Скриншот программной реализации
flef gererateC . ls]
it делегате cords randan point A an space Jf_a = пр.randon.randintC-10, 11) y_a = np.randon.randintC-lS, n)
ij = прыгайте». rtndlntC-Ur 11)
tt generate cords randon point В i= A
x_b = get_elenimts_frgii_irtt_segnent[t=19j
y.t>5 get_elenents-froii-int-5BgnBntCV>--101 b«i0j riudi , a
zjb s gat_aIe(ients_froii_int_seginentt:iB;-10j t»10j гчч
uss®[y_a]3
it generate randan поп-zero paraneter г
г a iget_e'lenients_ffroii_int_segnentte"-21 excluce_values«[eij
it calc cords randon point C, nhich does, not on line with A and 3 x_c = int(£x_a + *_b}/2) + r y_c = int((y_a + yjj) / 2] * r *_c = intC(i_a + z^b] / 2] + г
# cali tooNi vector nornal plaet, «hith build an ptlnrt* A, 9,С A = (уЛ-у_а)*(*_с-2_а) - (y_c-y_i)*Cz_b-i_a) В s Cx_c-x_a)*(z_b-z_a) - C*.b-*_i)*Cz_c-z_4) С в (xjb-x^ajACv.c-y.a!) - (х_с-ж_а)*Су~Ь'у&а)
tt calc 0 paranater for equation plane D ■ -А*х_а -fl*y_a ■ C*z_a
СЭ
о
CO "O
tr calc cords randon point Mr Mhich does, not on plane with А, в and С
a e*u direction vector fer line L
*_X = Hjt - X.» 8_y = y_b - y_n &_z = - z_a
return Pnbln(AiA, S-B, C"C, D=Dr ж п*х_п, yjnfyjnj ~ "~г_1*, s x»e_X, s y®s_y, s iss_zr x ,зя*_аг у -эяу_аг z iPlJ, x '"B)c_bJ v.b"yjb, z -z_b)
Рис. 3. Программная реализация метода generate
i=i А
—I О
сз т; о
m О
от
З
ы о со
' write.flueitljoii.tei.ruf ']-content ■ f"4iJTT( уразнен^е прежним прямой \\\\ cnnteivt f{{equatl(in-*>>"
fifttiAt ■*=-.. {forma t_nonorie(isel.; .x_o. {i-ulf _i_x} }}
сэп'ипТ += --H 4famat_nnHfliiat У Ii- )-M-l 4 И )■}■ =
*= \ \ ;■!■£ i*4Pn»t_nenB>4 ( -i_n, j J-Hi -I -¥_il- 11 Sn" content f "^fliO-t-toquetion*»' content +■ Сие 1лос<(оеть\\\\" cnnteirt f!-':\\t e а 1 n {(equatian*)}" iontejit += -f'T: {farnit_rianoiie(jelf* r strO> \ {-fifiiit.Banfliitt .а, у ]> \
J .пет;™?-Сг г \
'^ftrrtjlllllgn Csil .D]> S enntent :' WidH^quition*»'
innttirt += "ViWVvW \\taythf^Дтаету ' \
- i>-[i>=\\dfyic-(r - Q>-(-l>=\\dfyc-[z ■ pSH" \
enntnn-t -t» Hv\\ \\\\ пример ппоя?:> s[-гг -e, -i; ■..-■.. «is^n1
raturn content
:ef wrLt«_fliitatlj(ifl_ttK_iii(. )j
cüiitenT = f'PUlfl Ihc equation! Of tht projection Of the linn
t^nt^jrt -t= . п { {:: qu.i t:: ■■
content t= ifernit_aeneneC J-J-f t {t !,!_*]■ l-l-
content *» Wfilffltii -ffomat_nononeCi< -V_n, 'у }> »НИ 1 il .s.yj- »
einteilt += f'^fliHS.'H {farnat_nonoiie(sel.i i }J- fm (aalfiii.i} }} in"
content *= 1 "■w.idi {equation*»1
content ■*= -f"on the pliimWW
Content += ■:; 11{{ ■ . -J-j-'
cnntonl .»= {fgrixet.ngrgiieC'. ■ у . strj}- \
{Vernat.iononeCv .в, l'H \ ■f"■{■fornat_i>onoiie(seii".CF ; Ü} ' \ J,4-foriiat_«rith_aljgn(sel.f¿ft) G . cüüTtnt += f" Wiid{{iquatlon«>}" enntunt += '\\\\\Щ Wlejlb^'Tl: artin г \
■fWÜbt-i* - 2HI®\SÄÜI$& - - ж«' v
" eerreiporOi toi\n" content WW {Input exenple:]- S['2, D, 1; 1, I, ИЖп'
TEtUril sal iE IT
Content
ifljitflnl t =
cünitnt is
Рис. 4. Отображение задачи в формате pdf
d:1 «rite_report_tfKl . attenpt):
d?1 parse_attenpt( ill, atteiipt_rtri.iip: зтг): return Hatrix> parse (attETpt_5tri.il})
def ia_attenpt_VBlid( iel ■ , attenptL ,Ha1rbc)j def eq.LlneCnetrix, р_к. p_y, p_t>:
daVl t [p_y * ■artrJ*nTfl]) f ma1rii[Lj[Jj - tp_2 * natrliLa] [i D ! natri*[l] [г] dalz — Ср_к * ratri*[0][:J} / matriill] [a J - Cp_v + iatriii[Q] [1]] ! natriii[l] [1] return are_aLroit_epual(ilell. dell] and arE_aliM-9t_equalCdaLl, 0]
return eq_Line(.attenpt. liata. i.el ,x_a. м . .■y.aj ы'. and eq_l.ine[
attenpt,Seta. >. ; -
Рис. 5.
о с
u
Обсуждение результатов
Настоящая стратегия реализации задач внедрена в платформу GeoLin, которая прошла апробацию в ИТМО и РТУ МИРЭА. В ИТМО эта система уже третий год используется для реализации дисциплин математического цикла на большинстве образовательных программ. Также в РТУ МИРЭА система прошла тестирование на одной из групп студентов. У платформы есть ряд недостатков, связанных с несовершенством внешнего интерфейса, которые
предполагается исправить в будущем. Также, согласно отзывам преподавателей, пользовавшихся системой, система удобна при выдаче домашних заданий, так как она сразу отсеивает неверные решения и оставляет для проверки только верные. В системе можно прикреплять файлы с описанием решений (в формате картинок), что помогает верифицировать ответы и проверять задания без сбора и транспортировки больших объемов бумажных работ.
Заключение
Настоящая система имеет обширный набор задач, которые можно использовать для выстраивания практического сопровождения дисциплин математического цикла первого и второго года обучения в бакалавриате технических вузов. Система облегчает нагрузку на преподавателей практических занятий, особенно в проверке домашних заданий. Платформа отвечает на все вышеперечисленные вызовы, и будет совершенствоваться с течением времени.
Литература
1. Peng P., Hao Y., Liu Y., Chen S., Wang Y., Yang Q., Wang X., Li M., Wang Y., He L., Wang Q., Ma Y., He H., Zhou Y., Wu Q., Liu T. The prevalence and risk factors of mental problems in medical students during COVID-19 pandemic: A systematic review and meta-analysis, (2023) Journal of Affective Disorders, 321, pp. 167-181
2. Copur-Gencturk Y., Thacker I., Cimpi-an J.R. Teacher bias in the virtual classroom (2022) Computers and Education, 191, art. no. 104627.
3. Aslan A., Ursavas E., Romeijnders W. A Precedence Constrained Knapsack Problem with Uncertain Item Weights for Personalized Learning Systems, (2023) Omega (United Kingdom), 115, art. no. 102779.
4. Посов И.А. Обзор генераторов и методов генерации учебных заданий // ОТО. 2014. № 4.
5. Муханов С.А., Муханова А.А. Проектирование генератора заданий по высшей математике с использованием рекурсивных функций // Современное педагогическое образование. 2022. № 5.
6. Шестаков А.П., Генерация дидактических материалов по математике // 2000.
7. Карнаухов В.М. Компьютерные генераторы контрольных работ в преподавании математики // Природообустройство. 2011. № 3.
8. Кручинин В.В., Магазинников Л.И., Морозова Ю.В. Модели и алгоритмы компьютерных самостоятельных работ на основе генерации тестовых заданий // Известия ТПУ. 2006. № 6
9. Ельцов А.А., Ельцова А.Г., Магазинников Л.И. Об организующей роли линейной алгебры в курсе математики втуза // Известия Томского политехнического университета. Инжиниринг георесурсов. 2005.
AUTOMATIC GENERATION AND VERIFICATION OF TASKS IN THE DISCIPLINES OF THE MATHEMATICAL CYCLE IN HIGHER EDUCATION
Gilev P.A., Kazankov V.K., Tabieva A.V.
ITMO University
The article discusses a method for implementing control and measuring measures for students of higher education within the framework of the disciplines of the mathematical cycle using the GeoLin platform. The platform provides the ability to automatically generate tasks within the framework of the topic being studied, and automatically check them. It provides an opportunity for teachers to issue automatically generated tasks for various types of control and measuring activities, the verification of which is carried out by the system. The task generation structure described in this article is offered to the reader's attention in order to share the implementation practice, as well as the experience and best practices of the research and educational center. The article provides detailed descriptions of the task generation method, view text, response form, and response validation. The article also analyzes the methodological and engineering problems that arise during the development of this system. Several algebraic problems are analyzed, one of which belongs to the section of analytic geometry. The features of using the platform for practical exercises are analyzed.
Keywords: control and measuring measures, higher education, distance learning, educational process, distance and face-to-face teaching of mathematics.
References
1. Peng P., Hao Y., Liu Y., Chen S., Wang Y., Yang Q., Wang X., Li M., Wang Y., He L., Wang Q., Ma Y., He H., Zhou Y., Wu Q., Liu T. The prevalence and risk factors of mental problems in medical students during COVID-19 pandemic: A systematic review and meta-analysis, (2023) Journal of Affective Disorders, 321, pp. 167-181
2. Copur-Gencturk Y., Thacker I., Cimpian J.R. Teacher bias in the virtual classroom (2022) Computers and Education, 191, art. no. 104627.
3. Aslan A., Ursavas E., Romeijnders W. A Precedence Constrained Knapsack Problem with Uncertain Item Weights for Personalized Learning Systems, (2023) Omega (United Kingdom), 115, art. no. 102779.
4. Posov I.A. Overview of generators and methods for generating educational tasks // OTO. 2014. No. 4.
5. Mukhanov S.A., Mukhanova A.A. Designing a task generator in higher mathematics using recursive functions // Modern Pedagogical Education. 2022. No. 5.
6. Shestakov A.P., Generation of didactic materials in mathematics // 2000.
7. Karnaukhov V.M. Computer generators of tests in teaching mathematics. 2011. No. 3.
8. Kruchinin V.V., Magazinnikov L.I., Morozova Yu.V. Models and algorithms for computer independent work based on the generation of test tasks. Izvestiya TPU. 2006. No. 6
9. Eltsov A.A., Eltsova A.G., Magazinnikov L.I. On the organizing role of linear algebra in the course of mathematics at the university // Bulletin of the Tomsk Polytechnic University. Engineering of georesources. 2005.
сз о
CO "O
1=1 А
—I
о
сз т; о
m О
от
З
ы о со