tite fractale

Test de Numworks sans doc et leurs réponses

Le 25 octobre 2017.

1. Statut de ce document

Suite à l’envoi d’un simple email, l’équipe de maths de mon établissement a reçu la fameuse calculatrice et j’ai pu tester la bête.

Pour la tester vous-même, vous trouverez tout en bas de la page d’accueil du site officiel un simulateur en ligne qui est très fidèle à la version installée sur l’original puisque c’est exactement le même code qui sert aux deux. Mieux si vous êtes enseignant : vous pouvez demander un exemplaire en vous inscrivant ici.

1.1. Réconciliation

Au fil de cet article, vous allez parfois sentir que je râle, mais globalement, je suis très impressionné par le travail de cette jeune équipe.

Cette calculatrice ouverte et conviviale me réconcilie avec le concept de calculateur de poche. En effet, je n’ai pas acheté de calculatrice depuis ma CASIO FX-8500g (aux alentours de 1990, il y a donc 27 ans) car :

Si j’arrive à la bidouiller, il y a de fortes chances qu’on me voit avec au lycée ou ailleurs. Et en plus, elle est belle.

1.2. Documentation

Comme j’étais « en mode nomade » au moment du test, je n’avais pas accès à la documentation. Selon le principe de la « bonne foi pédagogique » (plus de détails dans un futur article), ce malencontreux détail s’est retourné en idée : tester la capacité de Numworks à accueillir un néophyte qui n’a pas pris le temps de lire la doc.

1.3. Réponses

Ayant participé aux Journées Nationales de l’APMEP de 2017, j’ai eu la chance de rencontrer une partie de l’équipe qui a fait le déplacement.

équipe Numworks aux journées nationales de l’apmep

Sur la photo : Romain (boss et dev), Émilie (dev), Clothilde (comm) et Léo (chef produit). Non présents ce week-end : Léa (dev, privée de sortie), Audrey (interfaces et visuels), et il doit me manquer quelqu’un, sous réserve d’avoir bien compris ce qu’on ma dit.

J’ai donc pu avoir des réponses à mes interrogations et même, tenez-vous bien, à une formation expresse sur le code de Numworks.

En effet, repensant à l’idée d’implanter MicroAlg (le bientôt célèbre langage de programmation pédagogique) dans la calculatrice libre LibreCalc, je me suis dit que je pourrais faire de même dans Numworks. Mais depuis la recommandation ferme d’utiliser Python, j’ai gelé tout travail concernant MicroAlg. Comme je me concentre désormais sur le Club des Expressions (voir un article descriptif sur Sesamath), je me suis dit que je pourrais en faire une mini-version sur Numworks.

Émilie a donc gentiment pris sur son temps pour me faire faire le tour du propriétaire. A posteriori, je me suis rendu compte qu’il y avait :

2. Mes impressions

Je reprends mes notes en conservant plus ou moins l’ordre chronologique.

2.1. Taper des lettres

2.2. Affecter une valeur à une variable

Déception lors de mon premier test :

2 -> n
n
undef

mais heureusement :

2 -> N
N
2

L’équipe travaille sur ce point : les variables, sachant qu’ils veulent faire faire quelque chose de cohérent avec le mode interactif de Python (les >>>).

2.3. Courbes représentatives

Mais que peut bien signifier « abscisses entières » ?

Le chef de produit Léo m’a répondu que cela forçait le point de parcours de la courbe à avoir ses abscisses entières, mais était un peu embarassé car le test en direct n’a pas été concluant. À améliorer donc, si possible avec un peu de documentation embarquée.

2.4. Suites de nombres

Une collègue avait testé avant moi la suite $\frac{1}{5} \left( 36 - \frac{1}{6^{n-2}}\right)$ qui n’affichait pas de terme pour $n > 50$.

Je n’ai pas pu reproduire le bug avec une des caltos en démo sur le stand. La nouvelle version du logiciel installée sur ces modèles n’ont sans doute plus ce bug. À vérifier plus tard…

2.5. Mode examen

Facile d’y entrer, mais difficile d’en sortir ! Je comprends plus tard que c’est fait exprès. Pour les néophytes, un petit message aurait été bienvenu.

Je me demandais pourquoi de temps en temps apparaissait un béret, et bien c’est l’indicateur du mode examen. Info récupérée en discutant avec l’équipe, je n’aurais pas deviné sinon !

2.6. Python

Tout d’abord un petit mot sur l’implantation de Python.

Malgré l’avertissement assez clair :


             BETA VERSION

     You are using a pre-release and
    feature-limited version of Python.

         You may encounter some
            unexpected bugs.

…j’ai pu entendre quelques critiques, certes justifiées, mais ne laissant paraître que de la déception, alors que ce POC est plein de promesses !

Donc ici, je soulève humblement quelques points, tout en restant admiratif et patient.

Comme on dit parfois : « Release early, release often ». Cette phrase provenant plutôt du monde des développeurs est aussi très efficace commercialement parlant !

2.6.1. Programmes

Pour l’instant, un seul programme à la fois peut être stocké dans la calculatrice. L’équipe y travaille.

2.6.2. Erreur à l’exécution

En cas d’erreur, la calculatrice n’est pas prolixe : le message Error est un peu sec ! Idem, l’équipe y travaille.

2.6.3. Accents

Dans le menu Python (et dans les autres en général), on voit Editer au lien de Éditer et Executer au lieu de Exécuter.

L’équipe m’explique qu’ils y travaillent. Les accents sont dans le code, mais la police utilisée ne permet pas encore leur affichage (si j’ai bien tout compris).

Aussi, la question « Comment taper les accents ? » m’est venue. Dans le futur, la touche « Boîte à outils » (qui ressemble plutôt selon moi à une imprimante) servira à taper des accents et des mots-clés comme while. Idem pour le symbole #.

2.6.4. Indentation

Un petit truc qui n’a rien à voir avec Numworks : pour indenter, une espace suffira. C’est plus rapide et ça rentrera plus facilement dans l’écran.

2.6.5. Rôle des touches mathématiques

Carré

La touche $x^2$ produit dans l’éditeur Python le code ^2. 9^2 donne 11, ce qui peut surprendre ceux qui connaissent bien leurs tables de multiplication !!!

En fait en Python, ^ est l’opération XOR (ou exclusif), effectuée sur les bits de la représentation binaire des opérandes.

>>> 0^0
0
>>> 1^1
0
>>> 1^0
1
>>> 0^1
1

Ce qui explique mon exemple :

>>> 9^2
11

En effet :

1001  #  9 en binaire
0010  #  2 en binaire
----  # on applique XOR verticalement
1011  # 11 en binaire

Les autres touches

Idem avec les touches suivantes :

Solutions

Première idée : désactiver les touches ;
Deuxième idée : générer le code Python correspondant, par exemple, je propose d’écrire à l’écran **2 lors de l’appui sur $x^2$. Pour $i$, on obtiendra j. Attention, pour entrer $i$ dans un programme en Python, il faut taper 1j.

>>> i**2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'i' is not defined
>>> j**2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'j' is not defined
>>> 1j**2
(-1+0j)

L’équipe est bien sûr au courant de ces problèmes et la discussion a basculé sur une question importante : les modules, car pour une touche comme $ln$, on a besoin du module math.

2.6.6. Charger des modules par défaut

Ma première idée : avoir import math en entête d’un programme par défaut. Un peu plus tard, je pense à une liste d’options à cocher :

[x] import math
[ ] from math import *

Du coup, l’appui sur $ln$ produirait, selon le choix de configuration de l’utilisateur math.ln(|) ou simplement ln(|).

Je pense que l’équipe doit ici faire très attention au respect des pratiques de tous les profs.

2.6.7. Copier-coller

En cherchant à copier-coller, je n’ai pas reconnu une touche qui ressemble à une imprimante. Et comment sélectionne-t-on du texte ?

Léo m’explique que l’on peut seulement copier les résultats donnés par les applications : une moyenne donnée par l’application Statistiques peut être copiée et réutilisée dans l’application Calculs. Pour l’instant rien n’est fait concernant le copier-coller dans l’édition d’un programme Python.

3. Conclusion

Le retour du fun dans la calto !!!










Page générée le 25/10/2017, 12h38'50" (source).
historique global

 TogetherJS