maths / moodle-qtype_stack

Stack question type for Moodle
GNU General Public License v3.0
142 stars 149 forks source link

Algebraic Input Checking for Units #663

Closed jmbragg closed 1 week ago

jmbragg commented 3 years ago

I've had this question working in STACK for a couple years now. As students have gotten to this in the course this year, I've found that its not working correctly after upgrading to the latest version over the summer.

The first input is an algebraic input, but seems to be checking for units in it when I'm not expecting it to. The k there is just a constant. The second input is a Units input and appears to be working correctly. image

Here is the question XML export (zipped up so that GitHub will let me upload it). questions-APChem-1st Order 0.350M k=6.10E-3-20201207-1604.zip

Am I doing something that isn't by design?

mkraska commented 3 years ago

I also observed that it is dangerous to mix unit and algebraic input in multipart questions. If you want the students to first establish the model and then to solve a numeric example, you have to split this into two questions. Alternatively, use numeric input (there you need to give away the unit/dimension of the result).

jmbragg commented 3 years ago

Eh... Its been working fine since 2016.

Chemical kinetics are tricky with mixed sorts of things. The question here is a series of 3 graphs that students need to figure out which order the reaction represents, write an appropriate equation for the Rate law based on that order, interpret the slope of the appropriate graph as the rate constant, make sure to get the sign right (since the slope is sometimes negative but the rate constant is always positive) and then determine which units the constant has because it varies depending on the order in the earlier part. So in short, I'd really rather not split the question up. This is the sort of thing that they need to do all together on a regular basis on the AP Chemistry exam.

sangwinc commented 1 week ago

I'm really sorry it's taken me so long to respond to this. If you use units in the question then we assume all inputs need units. Use the extra option "nounits" in the algebraic input to turn that off.