numworks / epsilon

Modern graphing calculator operating system.
https://www.numworks.com/resources/engineering/software/
1.75k stars 463 forks source link

[Test Mode] Make Python togglable #1920

Open LemmusLemmus opened 2 years ago

LemmusLemmus commented 2 years ago

Problem you'd like to fix

Sometimes teachers do not allow the ability to write Python code during tests.

Screenshots

python

Describe the solution you'd like

The Python app should be togglable in the test menu. test

Describe alternatives you've considered

Being able to uninstall the Python app.

Additional context

It is quite common for the act of programming during tests to be forbidden and since Python code can be more capable than BASIC it is often seen as a greater risk.

Stephan-P commented 2 years ago

If I may object here? Allowing the test mode to be user configurable, is like opening a can of worms. One can no longer be sure if one student has got benefits over the other. Testing Math abilities and programming abilities are quite different and should not be mixed.

LemmusLemmus commented 2 years ago

If I may object here? Allowing the test mode to be user configurable, is like opening a can of worms. One can no longer be sure if one student has got benefits over the other. Testing Math abilities and programming abilities are quite different and should not be mixed.

The test mode is already configurable to a certain extent, you can for example disable the equation solver, as seen in the image of the post. I am not suggesting that the test mode should be configurable using Python, rather that in the test mode settings, there should be an additional option to disable the Python app entirely. This would only make the test mode potentially more restrictive (so no can of worms in my opinion). Currently only the Python scripts are removed when you enter test mode, but it is still entirely possible to write a new piece of code during the test.

It is true however that there shouldn't be too many togglable features, as it may lead to confusion.

LukasMFR commented 2 years ago

Hi, may I ask you why you would disable Python app ? As far as I know Exam Mode wipes scripts completely and restores the OS from one slot to the other. Plus press to test is not available on older firmware. And so the Python app can not even be used as a way to store data. And if there is a question in a test about programming why would you disable it ? I mean as far as I know people don't code on paper (even though for whatever reason the French education system decided it was a good idea to do so 🤦‍♂️).

LemmusLemmus commented 2 years ago

@LukasAppleFan As you have correctly noted, storing data is not the problem here. When for, example, taking a math test there are several possible points of abuse if the student is able to write Python code during the exam. Say for example that there is a combinatorics problem, with Python it could be an easy task to find a solution through mere iteration.

Regarding tests about programming, although not my primary cause of concern since I've never been allowed to use a calculator on a programming test, I'm afraid people do code on paper on tests (at least it appears to be going out of fashion). Even when you are allowed to write code digitally, as long as you are not able to execute the code on your PC but are able to do so on your calculator, you have an unfair advantage.

LukasMFR commented 2 years ago

Same here in France calculator is not allowed during "Digital and computer science" tests so we have to code on paper 🤧. I mean at least we have digital and computer science as a school subject that is new. And for maths, I don't know what combinatorics is (I am in High School). But for example there was a test "expert mathematics" (a subject where we do more advance stuff like complex) and one of the student just coded an algorithm to find a solution to an advanced problem and he copied the algorithm he used on the paper and the professor said it was ok (and very smart) as it was "still math". Of course other students didn't know how to code the algorithm. But I mean the student "knew" so why not using that knowledge as irks by no mean cheating (but if he had it already coded then yes it would be). Just out of curiosity, what country what do you live in ?

LemmusLemmus commented 2 years ago

@LukasAppleFan I live in Sweden.

Here is an example of a combinatorics problem which can be solved almost effortlessly programmatically: "How many integers between 500 and 50 000 are not divisible by 32 or 48?" You could solve this by understanding and utilizing set theory, the inclusion–exclusion principle and the least common multiple or by simply writing a program that loops through all the numbers and checks if they are not divisible by 32 or 48 (in this case even the BASIC language present on TI and Casio calculators would suffice to solve the problem programmatically, but being able to program in Python can nonetheless give you an unfair advantage since it has a lot more commands).

LukasMFR commented 2 years ago

I see, btw is CAS allowed in Sweden ? So I think that problem is that not all calculators have Python and the ones who do are more expensive so it's unfair. It's a bit like CAS, it's allowed in France but it's present natively on more expensive models and it's definitely an advantage being able to check what you do. That's why projects that added CAS to NW were really useful and allowed students to have it for less money. But of course it's not allowed in Portugal or the Netherlands and because NumWorks has one model they had to block it (understandable but disrespectful to his customers).

LemmusLemmus commented 2 years ago

@LukasAppleFan CAS is generally not allowed in Sweden, but on some exams you are allowed to use computer programs (for example GeoGebra or MATLAB).

So I think that problem is that not all calculators have Python and the ones who do are more expensive so it's unfair.

Because of calculators such as NumWorks, that's not true. For example, a TI-84 is far more expensive than a NumWorks calculator. But it is certainly true that few people own calculators with Python, and they are not particularly common in stores either.

Generally speaking, achieving "complete" fairness in terms of calculator regulation is not possible, since all calculators have their pros and cons. I personally like the approach employed in Swedish high school, where all students borrow a specific model of calculators from the library.