среда, 22 февраля 2017 г.

Об автоматической генерации упражнений

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

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

Кроме того, упражнения могут быть различных типов - от простых (тип "правда-ложь") до сложных (тип "Удаление слов и построение предложения").

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

Конечно, если игра предсталяет собой простой тест, то может быть, достатно десятка два проверочных упражнений, фмксированных в определенном порядке.
Но если говорить о более широком использовании игр как средства закрепления практических навыков и усвоения школьного материала, то тут чем больше упражнений (пусть даже однотипных) тем лучше.
Например, выбирая процентную долю показа упражнений в игре меньше 100% (см. раздел "Дидатическое содержание", закладка "Инструкции"), можно имитировать "неповторяемоть" игры в каждой попытке ее выполнения учеником, т.к. будет показываться случайная выборка упражнений.

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

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

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

Как использовать генераторы упражнений 

описано в разделе "Часто задаваемые вопросы" UI Editor, вопрос 14.
Для удобства здесь воспроизведем ответ снова, что надо делать.

Зайти в раздел "Уровни" секции "Дидактическое содержание игры" и выполнить следующие действия:  

  1. Зайти в подраздел "Генератор", если он доступен. (К настоящему моменту генераторы только для дисциплин "Математика","Арифметика")
  2. Выбрать тип упражнения из предложенного списка.(К настоящему моменту только три типа "Правда-Ложь","Выбор ответа" и "Заполнение текста")
  3. Установить количество упражнений для генерации.
  4. Ввести значение среднего "веса" упражнений для генерации.
  5. Установить количество ответов на вопрос (где это применимо, например для типа "Выбор ответа"). 
  6. Выбрать, если желательно, что сгенерированные упражнения будут добавлены к уже существующим на уровне (или наоборот они перезапишут существующие).
  7. Выбрать алгоритм генерации из предложенного списка алгоритмов.(К настоящему моменту имеется около 18 генераторов для дисциплин "Математика","Арифметика")
  8. Установить параметры выбранного алгоритма, которые как правило специфичны для каждого алгоритма. (Например, диапазон чисел или арифметические операции)
  9. Нажать на кнопку "Выполнить", чтобы запустить генерацию.
  10. Разрешается генерировать упражнения несколько раз с разными настройками и алгоритмами.

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

Посмотрим, какие

Генераторы имеем настоящему моменту.

Дисциплины: "Математика","Арифметика"

Тип упражнений: "Правда-Ложь"

Алгоритмы: 

A3:  A(+,-,*,:)B=C
Создает упражнения с вопросом и двумя ответами "Правда" и "Ложь". Вопрос представляется случайным арифметическим уравнением с двумя целыми операндами. Студент должен выбрать, будет ли спрашиваемое арифметическое уравнение правильным или нет.
Пример:
Вопрос "87-44 = 43"
Ответы: "Правда" (правильно)
        "Ложь"

A12:  A(+, -, *, :)B(+, -, *,:)C= D
Создает упражнения с вопросом и двумя ответами "Правда" и "Ложь". Вопрос представляется случайным арифметическим уравнением с 3 целыми операндами. Студент должен выбрать, будет ли спрашиваемое арифметическое уравнение правильным или нет.
Пример:
Вопрос "87-45: 3 = 72"
Ответы: "Правда" (правильно)
        "Ложь"

Тип упражнений: "Заполнение текста"

Алгоритмы:


A4:  A (+,-,*,:) B = ?
Создает упражнения с вопросом и одним ответом. Вопрос представляется случайным арифметическим выражением с двумя целыми операндами и операцией (+, -, х, :). Ответ содержит число, которое является результатом спрашиваемого выражения.
Пример:
Вопрос "6:2 = ?"
Ответ "3"

A6:  A(+, -,*,:)? = C
Создает упражнения с вопросом и одним ответом. Вопрос представляется случайным арифметическим уравнением в котором один операнд неизвестен. Ответ содержит значение операнда которое должен внести студент.
Пример:
Вопрос "52 -? = 12"
Ответ   "40"

A8:  A(+,-,*,:)B(+,-,*,:)C = ?
Создает упражнения с вопросом и одним ответом. Вопрос представляется случайным арифметическим выражением с 3 целыми операндами и 2 операциями типа (+, -, х, :). Ответ содержит число, которое является результатом спрашиваемого выражения.
Пример:
Вопрос  "6 : 2 + 7 = ?"
Ответ  "10"

A10:  A(+,-,:,*)?(+,-,:,*)C = D
Создает упражнения с вопросом и одним ответом. Вопрос представляется случайным арифметическим уравнением с 3 операндами один из которых неизвестен. Ответ содержит значение операнда которое должен внести студент.
Пример:
Вопрос  "52 -? :4 = 42"
Ответ "40"

A13:  A(+-*:)B=?(+-*:)D
Генерация случайных арифметических уравнений типа A op1 B = C op2 D, где нужно найти операнд отмеченный "?". Операции разные:  op1,op2 = (+, -, х, :).
Пример:
Вопрос 6: 2 = 7 - ?
Ответ: 4

A15: A+B=?+D,  A-B=?-D, т.д.
Генерация случайных арифметических уравнений типа A op1 B = C op2 D, где нужно найти операнд отмеченный "?". Операции одинаковые:  op1 = op2 = (+, -, х, :).
Пример:
Вопрос 6 + 2 = 7 + ?
Ответ: 1

Тип упражнений: "Выбор ответа"

Алгоритмы:

A1:  A ? B = C
Генерация случайных арифметических неравенств типа  A оп B, где нужно выбрать операцию оп =" <", "=", ">".
Пример:
Вопрос 6 ... 2
Ответы "<",  ">" (правильно), "="

A2:   ? (+,-,*,:) ? = C
Создает упражнения с вопросом и двумя или максимум четырьмя ответами. Вопрос представляется случайным целым числом в диапазоне от нуля до максимального значения. Ответы содержат случайные арифметические выражения. Студент должен выбрать ответ с выражением которое дает в качестве результата спрашиваемое число.
Пример:
Вопрос "36"
Ответы   "24-21 =?"
         "73-16 =?"
         "72-36 =?" (Правильное)

A5:  A (+,-,*,:)B = ?
Создает упражнения с вопросом и двумя или максимум четырьмя ответами. Вопрос представляется случайным арифметическим выражением с двумя целыми операндами и операцией (+, -, х, :). Ответы содержат случайные целые числа в диапазоне от нуля до максимального значения. Студент должен выбрать ответ с числом, которое является результатом спрашиваемого выражения.
Пример:
Вопрос "35: 7 = ?"
Ответы "11", "5" (правильно),"6" ,"7"

A7:  A(+, -, : , *)? = C
Создает упражнения с вопросом и двумя или максимум четырьмя ответами. Вопрос представляется случайным арифметическим выражением в котором один операнд неизвестен. Ответы содержат случайные целые числа в диапазоне от нуля до максимального значения. Студент должен выбрать ответ с числом, которое является операндом спрашиваемого выражения.
Пример:
Вопрос "9 +? = 79"
Ответы  "41", "54", "70"(правильно), "32"

A9:  A (+,-,*,:)B(+,-,*,:)C=?
Создает упражнения с вопросом и двумя или максимум четырьмя ответами. Вопрос представляется случайным арифметическим выражением с 3 целыми операндами и 2 операциями (+, -, х, :). Ответы содержат случайные целые числа в диапазоне от нуля до максимального значения. Студент должен выбрать ответ с числом, которое является результатом спрашиваемого выражения.
Пример:
Вопрос "35 : 7 + 8 =?"
Ответы "11", "13"(правильно), "16", "8"

A11:  A(+, -, : , *)?(+, -, : , *)C=D
Создает упражнения с вопросом и двумя или максимум четырьмя ответами. Вопрос представляется случайным арифметическим выражением в котором один операнд неизвестен. Ответы содержат случайные целые числа в диапазоне от нуля до максимального значения. Студент должен выбрать ответ с числом, которое является операндом спрашиваемого выражения.
Пример:
Вопрос "9 +? - 10 = 19"
Ответы "41", "54", "20" (правильно)," 32"

A14: A(+-*:)B=?(+-*:)D
Генерация случайных арифметических уравнений типа A op1 B = C op2 D, где нужно найти операнд отмеченный "?". Операции разные:  op1,op2 = (+, -, х, :).
Пример:
Вопрос 6: 2 = 7 - ?
Ответы: 5, 4 (верно), 8, 11

A16: A+B=?+D,  A-B=?-D, т.д.
Генерация случайных арифметических уравнений типа A op1 B = C op2 D, где нужно найти операнд отмеченный "?". Операции одинаковые:  op1 = op2 = (+, -, х, :).
Пример:
Вопрос 6 + 2 = 7 + ?
Ответы: 4, 1(верно), 7, 3

A17: A <=> B
Генерация случайных арифметических неравенств типа  A оп B, где нужно выбрать операцию оп =" <", "=", ">".
Пример:
Вопрос 6 ... 2
Ответы "<",  ">" (правильно), "="

A18: A(+-*:)B <=> C(+-*:)D
Генерация случайных арифметических неравенств типа  A(+-*:)B оп C(+-*:)D, где нужно выбрать операцию оп ="<", "=", ">".
Пример:
Вопрос 6 + 5 ... 12 : 3
Ответы "<",  ">" (правильно), "="

A19: A(+-*:)B(+-*:)C <=> D(+-*:)E(+-*:)F
Генерация случайных арифметических неравенств типа  A(+-*:)B(+-*:)C оп D(+-*:)E(+-*:)F, где нужно выбрать операцию оп ="<", "=", ">".
Пример:
Вопрос 6 + 5 * 2 ... 12 : 3 +10
Ответы "<",  ">" (правильно), "="

Лучший способ понять как "работают" генераторы упражнений - это попробовать их в действии.
Например создать простой тренажер на таблицу умножения
А еше лучше посмотреть как используют генераторы другие авторы.

Быстрый счет до 50
Арифметические равенства с числами до 50
Неравенства на деление с числами до 20
Математика 2 класс Демидова Т.Е. Числа от 1 до 20

Комментариев нет:

Отправить комментарий