drlippman / IMathAS

IMathAS Online Math Assessment
Other
110 stars 98 forks source link

Revised Update to Logic Answerformat and New Setexp Answerformat #340

Closed rubberdrop closed 2 years ago

rubberdrop commented 2 years ago

May 19, 2022 by Avery Flowers

Changes to 'logic' answerformat:

New 'setexp' answerformat:

New 'logic' library

New 'setexp' library

KNOWN ISSUES:

drlippman commented 2 years ago

Your issue with 'xor' and 'ominus' in the question text is because we use MathJax's implementation of Asciimath for rendering, which don't include those symbols, and there's not a great way to extend it with new symbols.

How essential is the symmetric difference operator, or for that matter the xor operator? I've only taught basic set theory, so never have had need for either.

ingodahn commented 2 years ago

Xor is an essential operation in circuit design. It can be used as a single basis to define all other propositional operators.

rubberdrop commented 2 years ago

They're fairly common symbols in the first-year undergraduate courses I've taught and attended, but if it can't be done easily then perhaps it's not too big of an issue. Personally, I could live without it if needed. The two libraries I submitted ("logic" and "setexp") both have functions to enable the display of these operations in question text (but unfortunately "setexp" does this by literally replacing 'ominus' with it's unicode symbol). So there are workarounds...

On Thu, May 19, 2022 at 7:33 PM David Lippman @.***> wrote:

Your issue with 'xor' and 'ominus' in the question text is because we use MathJax's implementation of Asciimath for rendering, which don't include those symbols, and there's not a great way to extend it with new symbols.

How essential is the symmetric difference operator, or for that matter the xor operator? I've only taught basic set theory, so never have had need for either.

— Reply to this email directly, view it on GitHub https://github.com/drlippman/IMathAS/pull/340#issuecomment-1132394162, or unsubscribe https://github.com/notifications/unsubscribe-auth/AYUNXVBH33ON2BW452UUAWDVK32YTANCNFSM5WNBIC4A . You are receiving this because you authored the thread.Message ID: @.***>

drlippman commented 2 years ago

This has been merged. I made a few revisions while merging, including fixing the randomization functions in logic.php and setexp.php to use the repeatable randomizer functions.

Thanks for the contribution!