STACK icon

STACK

Maintained by Chris Sangwin, Tim Hunt
The STACK question type adds a sophisticated assessment in mathematics and related disciplines, with emphasis on formative assessment underpinned by computer algebra.
Price option: Free

Supports Moodle 3.5-5.2 See all versions
Latest release: 1 day ago
Installations: 2365
Downloads (last 90 days): 881

Frankenstyle name: qtype_stack
Question types
STACK

Comments

Product ratings and reviews are coming to Moodle Marketplace. Until then, existing comments remain available to read, but new posts have been disabled.

Hi all,
Please let me know wich version can work fine with moodle 3.3!
Thanks!
Yes Stephen, very open to contributions. If you are based in the UK, then getting together to talk about this might be possible and productive. I know CS needs some features we haven't added yet. Maxima has good support for *display* of numbers in other bases, but we might need some input and evaluation functions. Someone else in Edinburgh is working on Boolean algebra, but I'm not sure if that will make its way into STACK!
Please do get involved.
Chris,
Thanks for the quick turnaround on #281 and you're welcome on the bug report.
I teach A level Computer Science and I am hoping to configure / extend STACK to cope with some Computer Science problems e.g. integer, fixed and floating point base 2 and 16 conversions and arithmetic; boolean algebra and anything else I can get it to do. Are you open to some contributions in this area?
Stephen,
Thanks for pointing this out. It is a *change* in Maxima behaviour. There have been quite a few over the years and I have to adapt STACK to them while maintaining the past behaviour. This is on my radar and I'll certainly look at it. It is a very subtle change in associtativity and the rules which govern order of precedence. Basically it is a change from (a*b)/c to a*(b/c). Does this matter? In this case not really at a mathematical level. In some very elementary mathematics it does. It isn't really a bug, more a change in designed behaviour...
It is not exactly a bug. What happens is that different versions of Maxima, or Maxima running on different flavours of LISP, return some expressions in slightly different forms. The question is: is that difference significant in the context of how people want to use STACK. In this case, probably yes, because humans would never write those units with brackets. Therefore, we probably need Chris to tame these differences with some more Maxima code in the STACK libraries.
Anyway, there is an open github issue about this: https://github.com/maths/moodle-qtype_stack/issues/278. Not sure when it will get fixed.
These unit tests fails are very specific. They won't stop your questions from working.
I had to upgrade my server drastically (Ubuntu 14.04 -> 16.04) this weekend, and one of the casualties was Stack. After finding that the version of Maxima (5.37.2 ?) packaged with 16.04 is broken, I built 5.39.0 from source and tested that against Stack all the tests pass except these two:
'''
Units Fail 18*kJ 18000.0*J 2 1 1 ATUnits_compatible_units: (kg*m^2)/s^2. [NOTE expected: ATUnits_compatible_units: kg*m^2/s^2.]
Units Fail 18.1*kJ 18000.0*J 2 0 0
Your answer contains the wrong number of significant digits.
ATUnitsSigFigs_WrongDigits. ATUnits_compatible_units: (kg*m^2)/s^2. [NOTE expected: ATUnitsSigFigs_WrongDigits. ATUnits_compatible_units: kg*m^2/s^2.]
'''
It seems there were unexpected parenths in the units. Is this a bug and if so in Maxima or in Stack please? Thanks.
I have posted an issue on github, including a small patch that fixes the issue - the problem is in `question/type/stack/stack/cas/connector.unix.class.php`; This is where the environment for Maxima is (not) set.
Will post an issue as requested. Yes, I was puzzled why nobody else has raised it. I get the impression a lot of people go for optimized because of advice online regarding other. It is possible to workaround thie issue without even realising it, by pre-running using su / sudo. This only works however if your setup yields the same $HOME when in apache2 STACK and when invoking su / sudo to become www-data. In my case it did not - apache2 STACK was null; sudo try to re-use my own home directory.
I also suspect other version / lisp dialect combinations lack this issue. It's complex.
Sorry, I mean github issue, not pull request.
Please could you open a Pull requestion on githhub for this issue.
Note, that like of code has been there at least since the current incarnation of STACK as a Moodle question type started: https://github.com/maths/moodle-qtype_stack/commit/52a12def06da737e9174dea753d0099097cb6fb0#diff-1fa3d1c516746e0ef28acf0357b7b58fR816, and no-one else has a problem with it. When you open the pull repease, please let us know which LISP variant you are using.
OK, I've found where the error is:
https://github.com/maths/moodle-qtype_stack/blob/master/stack/cas/connector.unix.class.php:58
$env = array('why' => 'itworks');
This clears out the environment, including the path which is needed for compilation. Can we have a fix please?
Hi,
I am running the following setup:
Moodle 3.2.1+ (Build: 20170223) Version 2016120501.09
Ubuntu 14.04
maxima 5.32.1
I have had real problems getting the system to run. It kept falling over during the compilation of draw/grcommon.lisp, with no meaningful error messages. Running from the regular shell either as myself or www-data was working fine (providing $HOME was set correctly). Fortunately I am familiar enough with LISP that with a lot of hacking about I was able to determine the cause at least within draw.lisp. Compiling grcommon.lisp requires access to gcc, but for some reason in STACK maxima, the system path is completely empty (NIL). This causes gcc not to be found and the compilation to fail. I managed to get it working by hacking in a minimal (system::setenv "PATH" ...) in the draw.lisp file, but that is obviously not great. Is there a configuration setting somewhere within STACK that would sort this please?
Yes Andreas,
See https://github.com/maths/stack_util_maximapool
The larger sites using STACK find this very convenient.
Can Stack connect to a Maxima that is running on a different server than the moodle? Or has maxima to be installed on the same server?
Ok Kevin,
Any problems at all let me know and I'll help track them down.