Page 1 of 29

KhiCAS: rajoute CAS + Python sur ta Graph 90+E

Unread postPosted: 21 Jun 2018, 16:00
by critor
Après avoir corrigé la compatibilité d’Eigenmath, Bernard Parisse sort aujourd’hui KhiCAS pour Casio Graph 90+E, un portage de son propre moteur de calcul formel GIAC utilisé dans le logiciel Xcas.

D’une part, juste à temps pour ton épreuve de Mathématiques du BAC Général, KhiCAS t’apporte un moteur de calcul formel bien plus complet et performant que celui d’Eigenmath, gérant notamment en prime les limites, équations et bien d’autres fonctionnalités encore ! :bj:
Tu pourras dérouler l’ensemble des fonctions disponibles en accédant au catalogue de l’application avec
SHIFT
4
ou encore
F6
.

D’autre part, KhiCAS intègre un interpréteur de scripts utilisant un langage approchant le Python, damant ainsi le pion à Casio. Plus besoin donc d’attendre la mise à jour de la rentrée 2018, avec même ici le support de fonctions graphiques non prévu par le constructeur pour le moment ! :bj:


Depuis plusieurs années, la disponibilité du puissant moteur CAS (calcul formel/symbolique) Giac/Xcas sur les plate-formes de type calculatrice s'étend. Cela a commencé il y a plus de 5 ans maintenant, initialement par l'utilisation officielle, en coopération avec l'auteur Bernard Parisse, de giac comme moteur CAS des calculatrices HP Prime.
Ensuite, ce fut toujours Bernard Parisse qui adapta giac sur TI-Nspire, tout autant sous le nom de KhiCAS. Puis "zardam" porta giac pour la calculatrice NumWorks modifiée matériellement*.
C'est maintenant au tour des Casio Graph 90+E / fx-CG50 de recevoir un portage de giac, toujours sous le nom de KhiCAS. Ceci est un développement très intéressant - on peut même le qualifier d'historique - car c'est la première fois qu'un CAS performant est disponible sur une calculatrice de milieu de gamme, d'une marque populaire, sans modifications matérielles !

* la modification matérielle des calculatrices NumWorks pour les rendre capables de contenir giac consiste à souder un composant de mémoire Flash NOR à l'endroit prévu sur le PCB, ce qui peut se faire sans matériel de pointe. Le composant de 8M de Flash coûte à moins de 1€ à l'unité et le composant de 16M coûte 2-3€ à l'unité.

Voici quelques copies d'écran de KhiCAS pour Casio Graph 90+E:
9623 9624 9625 9626 9627 9628 9629 9630 9631 9632 9633



Motivations
Laissons l'auteur Bernard Parisse nous faire part de ses motivations pour ce projet de longue haleine :

Bernard Parisse wrote:Depuis des années, j'essaie de rendre le calcul formel (CAS) accessible au plus grand nombre d'élèves et étudiants, sous diverses interfaces (calculatrices, PC, tablettes, smartphones). Les calculatrices sont à ce jour le seul moyen d'avoir du CAS à un examen, donc une plateforme essentielle si on veut démocratiser l'accès au CAS.

Les premières calculatrices à disposer d'un CAS furent les TI-92 en 1995 (les HP 28 et 48 disposaient de quelques fonctionnalités de calcul formel, mais trop réduites pour être vraiment qualifiées de CAS).
Mais presque 25 ans après, le CAS n'est disponible que sur des modèles haut de gamme (130 € ou plus). Deux raisons à cela à mon avis:
  • l'hostilité d'une partie des enseignants de mathématiques, qui pensent qu'avoir un CAS à disposition empêche l'acquisition des automatismes du calcul algébrique
  • l'intérêt des fabricants (et distributeurs). Comme il faut un peu plus de puissance et mémoire pour faire tourner un CAS que pour faire une calculatrice graphique d'entrée de gamme, les constructeurs différencient les calculatrices et se font une marge plus importante sur les modèles CAS, parfois avec un matériel identique (cas par exemple de la TI-Nspire CX non CAS ou CAS, le prix pourra varier de 120 à 160 €). Marge faite sur le dos des étudiants qui font des études scientifiques (classes prépas notamment).

Sur le 1er point, mon expérience d'enseignement en 1ère et 2ème année de licence sciences me démontre qu'avoir un CAS à disposition ne peut pas expliquer la faiblesse actuelle des étudiants en manipulation algébrique. En effet, un sondage plusieurs années de suite sur un amphi de 130 étudiants en parcours physique-math-méca fait apparaître que les étudiants équipés sont rares (de 1 à 5 selon les années).

Sur le 2nd point, il faut prendre conscience que les calculatrices a moins de 100 € sur le marché début 2018 ont une architecture avec très peu de mémoire, en général quelques centaines de Ko pour la mémoire vive et 1 à 3 M pour la mémoire flash (là où réside le logiciel de la calculatrice). C'est 3 à 4 ordres de grandeurs de moins que sur un smartphone (pour un prix pas très éloigné). Comme on l'a vu, même en élaguant au maximum, il faut 2M pour faire tourner Giac/Xcas, il était donc impossible de populariser le CAS sur les calculatrices de milieu de gamme.


Mais la situation change pour cette rentrée 2018: poussée par la concurrence de la startup NumWorks et la hiérarchie du ministère de l'Education Nationale qui recommande très fortement Python comme langage de programmation pour l'enseignement de l'algorithmique, Casio a décidé simultanément de porter MicroPython sur sa Graph 90+E et de baisser son prix en-dessous de la barre des 80 €. Ce modèle disposant de 16M de flash et 8M de RAM (cela dit, seulement 2M sont disponibles par addin), j'ai décidé d'essayer de porter Giac/Xcas dessus. Cela fut nettement plus difficile que je ne le pensais au départ, heureusement avec l'aide de membres actifs de la communauté (ici sur TI-Planet, ainsi que Planète Casio) et un travail acharné de 4 semaines, le résultat est là.

Pour la première fois, il est donc possible d'avoir un CAS performant sur une calculatrice de milieu de gamme d'une marque populaire. Mais cela reste fragile, la menace du mode examen qui empêche l'accès aux addins pèse sur KhiCAS, et ce dès le Bac 2019.

J'espère que suffisamment d'élèves et enseignants attachés à l'équité entre les candidats se mobiliseront pour que le mode examen ne soit pas activé aux prochaines sessions, ou que Casio fera le nécessaire pour laisser certains addins en mode examen. J'espère aussi que d'autres constructeurs augmenteront suffisamment la mémoire flash et RAM de leurs modèles de milieu de gamme pour que Giac/Xcas puisse y être porté, afin que les élèves qui envisagent de faire des études de sciences ne soient pas discriminés par le prix d'achat de leur calculatrice.


En raison des contraintes (entre autre mémoires) de la calculatrice, un certain nombre de fonctionnalités ont été enlevées:
  • géométrie et instructions de tracé (plot, paramplot, implicitplot, odeplot, ...)
  • le calcul de certaines intégrales et sommes définies avec bornes infinies
  • la plupart des fonctions de statistiques (sauf moyenne et écart-type) et une partie des fonctions de proba (chaînes de Markov, par contre les lois de distribution sont incluses)
  • une partie de l'aide intégrée, devenant du coup limitée aux fonctions du catalogue (90 sur un peu plus de 600)

Tests, comparaisons, etc. prochainement!

Téléchargement : KhiCAS pour Casio Graph 90+E

Re: KhiCAS: rajoute CAS + Python sur ta Graph 90+E

Unread postPosted: 21 Jun 2018, 16:51
by Lephe
Bravo, bravo, bravo ! C'est un très beau résultat technique mais surtout une super avancée pédagogique ! :#top#:

On a maintenant tout intérêt à écrire des tutoriels sur la résolution des exercices classiques de lycée avec χCAS. Autant avec Eigenmath, on n'était jamais trop sûrs que la réponse allait sortir (encore que la version pour Graph monochromes était limitée pour d'autres raisons), autant là c'est de belles perspectives.

Je vais faire de mon mieux pour que ce port serve de référence au calcul formel sur Casio. Bon courage pour la suite !

Re: KhiCAS: rajoute CAS + Python sur ta Graph 90+E

Unread postPosted: 23 Jun 2018, 17:28
by parisse
Je viens de rendre l'instruction debug() fonctionnelle. On peut donc executer un programme en pas a pas.

Re: KhiCAS: rajoute CAS + Python sur ta Graph 90+E

Unread postPosted: 24 Jun 2018, 10:19
by AC
La commande ifactor paraît absente du catalogue.

Re: KhiCAS: rajoute CAS + Python sur ta Graph 90+E

Unread postPosted: 24 Jun 2018, 12:36
by parisse
Voila, rajoutee. J'ai aussi fait en sorte qu'on puisse y acceder rapidement au clavier, par exemple 12=>* (ou => est la touche sto ->).

Re: KhiCAS: rajoute CAS + Python sur ta Graph 90+E

Unread postPosted: 24 Jun 2018, 17:02
by AC
Merci pour tout ce travail.

Re: KhiCAS: rajoute CAS + Python sur ta Graph 90+E

Unread postPosted: 24 Jun 2018, 17:50
by majestyofgaia
Je viens de découvrir cette application, et elle est vraiment convaincante ! J'aime beaucoup.

Re: KhiCAS: rajoute CAS + Python sur ta Graph 90+E

Unread postPosted: 26 Jun 2018, 17:57
by parisse
Petite mise a jour cosmetique, avec l'icone de Xcas pour le menu. Merci a amazonka pour le temps qu'il a passe a m'aider a corriger le probleme. Au passage, j'ai aussi corrige l'icone d'Eigenmaths.

Re: KhiCAS: rajoute CAS + Python sur ta Graph 90+E

Unread postPosted: 26 Jun 2018, 21:40
by Lephe
J'ai vu que l'icône avait le problème typique posé par mkg3a (un unique pixel turquoise). Ma solution habituelle est d'utiliser du PNG et d'éviter le BMP. J'ai déjà regardé les sources sans voir de problème évident. Est-ce que vous avez trouvé le fin mot de l'histoire ?

Re: KhiCAS: rajoute CAS + Python sur ta Graph 90+E

Unread postPosted: 27 Jun 2018, 05:12
by parisse
Dommage que je ne l'ai pas su avant! Je n'ai pas regarde le source vu que j'ai un workaround, j'ai d'autres urgences...