1985, la micro-informatique est en pleine effervescence et les élèves en Europe et Amérique du Nord développent leur esprit logique tout en exerçant leur créativité en programmant en langage interprété
Basic,
LSE ou
Logo sur le micro-ordinateur de l'école.
Au Royaume-Uni c'est le micro-ordinateur
BBC Micro de 1981, ancêtre du nano-ordinateur contemporain
BBC micro:bit, qui équipe les écoles. Elèves et enseignants sont accompagnés dans cette aventure par des émissions éducatives à la télévision sur les chaînes de la
BBC.
En Amérique du Nord on peut citer
Texas Instruments qui a équipé plusieurs écoles de son ordinateur
TI-99/4A de 1979 dans le cadre de projets pilotes. Dès 1980 ce sont 50 machines à Dallas
(Lamplighter school) ainsi que 12 à New York. Le langage
TI-Basic était directement intégré à la machine, le langage
TI Logo nécessitait quant à lui l'utilisation d'une cartouche mémoire amovible, comme sur les consoles de jeux. Toutefois l'aventure ne fut que de courte durée,
Texas Instruments décidant de se retirer du marché de la micro-informatique dès décembre 1983.
En France cela se passe essentiellement sur micro-ordinateur
Thomson MO5 ou
TO7-70, dans le cadre du plan
IPT (Informatique Pour Tous) présenté le 25 janvier 1985 par Laurent Fabius, Premier Ministre de François Mitterrand.
Afin de permettre la distribution aisée des supports numériques de travail, ces micro-ordinateurs étaient de plus interconnectés dans un
nanoréseau, un réseau développé par
Léanord pouvant accepter jusqu'à 31 machines client. La tête de réseau était un ordinateur compatible
IBM PC muni d'une carte réseau
ISA dédiée, bien souvent un ordinateur
Bull (Micral 30 ou Micral 90) même si on pouvait également rencontrer des ordinateurs
Goupil (3),
Leanord (Sil'z 16),
Matra (X20),
Logabax (Personna 1600) ou encore
Excelvision, société justement créée en août 1983 par trois ingénieurs quittant
Texas Instruments France alors qu'ils sentaient le vent tourner.
Le langage
Microsoft Basic 1.0 venait intégré sur
MO5, alors qu'il devait être rajouté via une cartouche mémoire sur
TO7. Le
Logo quant à lui nécessitait dans tous les cas l'utilisation d'une cartouche mémoire.
Dans une interaction féconde élèves et enseignants ont pu rivaliser d'ingéniosité pour tracer les figures les plus belles et complexes en un minimum de lignes de code
Logo : maisons, étoiles,
rosaces, fleurs...
... et même des clothoïdes plus connues dans le monde anglophone sous le nom de spirales d'Euler, retranscrites ci-dessous pour l'occasion dans le langage
Python turtle plus contemporain :
- Code: Select all
try:
import turtle
except: # TI-83 Premium CE
from ce_turtle import turtle
def spi(a, s, d):
x0, y0 = turtle.position()
h0 = turtle.heading()
x, y, h = 0, 0, h0 - 1
while (x - x0)**2 + (y - y0)**2 >= 1 and h != h0:
turtle.forward(d)
turtle.right(a)
a += s
x, y = turtle.position()
h = turtle.heading()
Claude Durand-Prinborgne wrote:[...] l'informatique sera un outil pédagogique. Nous pouvons laisser, pour l'instant, le problème de l'introduction de celle-ci dans les programmes en tant que discipline. [...]
Ainsi s'exprimait dans sa préface enthousiaste Claude Durand-Prinborgne, directeur général des enseignements scolaires de 1984 à 1986. Si il avait su... Un programme ambitieux et avant-gardiste qui n'eut d'égal que le manque coupable d'ambition et d'anticipation des gouvernements et ministres successeurs. Plus question de créer la moindre ligne de code, juste au mieux d'utiliser de bêtes logiciels fournis. Tableur / feuille de calcul, géométrie dynamique, etc. Une traversée du désert de près de deux décennies, il fallut attendre 2009 avant que les choses ne recommencent à bouger avec le nouveau programme de Mathématiques en Seconde et ne conduisent, non sans difficultés et oppositions, à la situation que nous connaissons aujourd'hui.
Le
Logo est donc un langage permettant entre autres de contrôler les déplacements à l'écran d'un robot que l'on appelle tortue. C'est comparable à ce que tu réalises au collège en
Scratch ou sur ta
Casio fx-92+ Spéciale Collège.
Le module
turtle pour
Python disponible sur les calculatrices graphiques suivantes t'offre des possibilités similaires :
- TI-83 Premium CE Edition Python / TI-84 Plus CE-T Python Edition
- Casio Graph 35+E II / fx-9750/9860GIII
- Casio Graph 90+E / fx-CG50
De quoi s'appuyer temporairement sur les acquis de collège dans le contexte de la transition vers le
Python en Seconde, ou réinvestir de façon plus pérenne ces acquis lors du codage de projets !
Problème, le module
turtle n'est à ce jour pas disponible pour le langage
Python de ta
TI-Nspire CX II.
Mais le langage
Python de la
TI-Nspire CX II dispose toutefois d'une bibliothèque de tracé par pixels
ti_draw.
Et si il était possible de coder intégralement
turtle en
Python, de façon similaire à ce qu'a fait
Casio ?
Et bien non, aujourd'hui ce n'est pas la sortie de
turtle pour le
Python TI-Nspire CX II, mais de quelque chose d'encore mieux :
Raumigel, littéralement en allemand
"hérisson spatial" !
Raumigel. Mais déjà, que vient faire un hérisson là-dedans et où est donc passée la tortue ?
Il faut déjà se demander pourquoi on parle de tortue en
Logo et désormais en
Python, après tout le
Scratch a bien opté pour un chat à la différence.
La tortue renvoie en fait à celle de la culture populaire, avec sa victoire dans sa course contre le lièvre telle que narrée dans la fable
La tortue et le lièvre attribuée au philosophe grec
Esope (VIIe-VIe siècle av. J.-C).
En France nous avons droit depuis
1668 à une version légèrement enrichie par
La Fontaine et rebaptisée
Le Lièvre et la Tortue dont nous te parlions encore l'
année dernière. Ici le lièvre perd la course car il
"s'amuse à toute autre chose", et non pas juste parce qu'il s'est endormi.
Mais voilà, en Allemagne l'histoire et la culture populaire sont différentes. Les frères
Grimm se sont inspirés de cette fable pour la 5
ème édition de leurs célèbres contes en
1843, rebaptisée pour l'occasion
Der Hase und der Igel soit
Le Lièvre et le Hérisson. Une version très différente. Le hérisson qui remplace donc ici la tortue ne s'appelle pas
Sonic et ne court donc pas plus vite que cette dernière. Il réussit toutefois à gagner la course lui aussi, mais ici en trompant le lièvre.
Dans le contexte du langage
Logo, il est ainsi courant en Allemagne de parler aussi bien de tortue que de hérisson
(Igel) pour désigner le robot piloté.
Raumigel. Mais pourquoi donc un hérisson spatial ?
Raumigel apparaît en 1985 dans le 7
ème numéro de
Informatik und Datenverarbeitung in der Schule (informatique et traitement des données à l'école), un périodique publié par la
Pädagogische Hochschule de
Ludwigsburg (en France pour parler à tout-le-monde nous dirons IUFM, ESPE ou encore INSPE, soit tout établissement destiné à former les futurs enseignants).
Raumigel est en fait une extension du langage
Logo par
H. Wölpert et
S. Wolpert, élargissant les possibilités de déplacements du hérisson-tortue. Les 3 dimensions sont ici autorisées et le hérisson-tortue peut donc tracer des solides !
Raumigel permettait une approche ambitieuse de la géométrie dans l'espace à la fois facile et ludique dès le plus jeune âge. En effet, pas besoin ici d'avoir en prérequis étudié les coordonnées à 3 dimensions et toutes les formules qui vont avec, une innovation pédagogique majeure !
Raumigel1 pour ta
TI-Nspire CX II est donc une adaptation par
Veit Berger et
Hans-Martin Hilbig, formateurs
T3 pour
Texas Instruments, de la 1
ère version de
Raumigel !
Tu peux si tu le souhaites l'utiliser pour remplacer le module
turtle à ce jour manquant, comme par exemple ici pour tracer un carré :
- Code: Select all
from raumigel1 import *
set_window(-159, 160, -105, 106)
igel = raumigel()
for i in range(4):
igel.vw(100) # avance (vorwarts)
igel.re(90) # tourne droite (rechts)
igel.darstellen() # présenter
Transformons maintenant ce carré en cube, il suffit juste de rajouter 2 lignes :
- Code: Select all
from raumigel1 import *
set_window(-159, 160, -105, 106)
igel = raumigel()
for i in range(4):
for i in range(4):
igel.vw(100) # avance (vorwarts)
igel.re(90) # tourne droite (rechts)
igel.vw(100) # avance (vorwarts)
igel.kvo(90) # basculement vers l'avant (kippe vorne)
igel.darstellen() # présenter
Petite problématique, le réglage des bornes de la fenêtre d'affichage. Pas toujours évident de deviner les valeurs convenables en 2D, alors en 3D encore moins.
Et bien rajoutons de quoi faire tourner le cube après affichage. Pour cela nous déplaçons son code d'affichage dans une fonction qui sera appelée à chaque transformation :
- Code: Select all
from raumigel1 import *
def draw(obj, l):
for i in range(4):
for i in range(4):
igel.vw(l)# avance (vorwarts)
igel.re(90) # tourne droite (rechts)
igel.vw(l) # avance (vorwarts)
igel.kvo(90) # tourne droite (rechts)
obj.darstellen() # présenter
set_window(-159, 160, -105, 106)
igel = raumigel()
key = ""
use_buffer()
rot_angle = 5
while key != "esc":
draw(igel, 100)
paint_buffer()
key = get_key(1)
if key == "left":
igel.y_rotation(-rot_angle)
igel.clear()
if key == "right":
igel.y_rotation(rot_angle)
igel.clear()
if key == "up":
igel.x_rotation(-rot_angle)
igel.clear()
if key == "down":
igel.x_rotation(rot_angle)
igel.clear()
Attention, si tu souhaites pouvoir importer Raumigel depuis un autre classeur, veille bien à enregistrer son fichier dans le dossier racine /PyLib/.