Tout est algorithme, tout est fonction

Première approche d’une pensée fonctionnelle du programme de première S
lundi 25 février 2019
par  Nathalie CARRIÉ

Des années d’enseignement en classe de première S me font pressentir qu’en mathématiques, tout est algorithme, tout est fonction. Qu’est-ce que la pensée algorithmique ? C’est le fait d’analyser un problème afin de le décomposer en nombreuses petites fonctions ayant des tâches très précises, très réduites. Adopter ce point de vue en classe amène les élèves à penser en termes d’algorithmes épurés des problèmes d’entrées-sorties, pour finalement raisonner en termes de fonctions et développer une pensée mathématique plus claire. En première S, je m’attache à aborder en temps réel toute notion de manière algorithmique, en l’illustrant à l’aide de scripts Snap ! en français, proches de la langue naturelle. Entrée, boîte, résultat : on entre des objets de nature quelconque, la boîte traite ces objets et renvoie un résultat, celui qui est cherché, attendu par l’élève. Cela oblige les élèves à penser les mathématiques en termes d’objets, de comprendre que les fonctions ne sont pas que numériques, les algorithmes non plus, et qu’un résultat n’est pas forcément numérique. [1]

J’adore enseigner en classe de Première S et j’ai eu la chance d’être placée dans cette classe dès ma première année d’enseignement. Depuis, j’ai enseigné en Première S bien plus qu’un an sur deux. C’est à mon sens la seule classe où l’on peut réellement faire des mathématiques, éveiller la curiosité des élèves, montrer la beauté des mathématiques, faire dessiner les élèves et prendre le temps de les faire programmer. La raison en est évidente, pas de pression du baccalauréat au bout, nous n’avons que le bonheur de pratiquer des mathématiques, habituer les élèves à explorer, à raisonner.
Les algorithmes étaient déjà partout présents dans les programmes de lycée en 1991, lorsque j’ai débuté en tant qu’enseignante, après quelques années dans le privé. Il suffisait de lire entre les lignes... On pouvait programmer en Logo ou sur la calculatrice avec les élèves.
Venant du privé avec une formation d’ingénieur, j’ai toujours adoré programmer. D’autant que mon père m’avait offert ma première calculatrice à la boutique du MIT [2] : une HP34C, lorsque nous y avions visité mon oncle, émigré Haïtien aux Etats-Unis, car il y avait une chaire en chimie.

Pas étonnant que tout au long de ma carrière d’enseignante, j’ai essayé de transmettre ce goût pour la programmation à mes élèves…

 [3]

Déplier tous les blocs
Replier tous les blocs

De Snap ! à la pensée algorithmique

Maths en classe en images

PNG - 647 ko
PNG - 535.1 ko

Depuis 2008, année où j’ai acheté ma première tablette graphique, j’écris en classe sur ma tablette, je suis face aux élèves et ai l’écran de l’ordinateur sur ma droite, la tablette sous la main. Le tout est vidéo-projeté en arrière plan décalé sur ma droite sur un mur blanc à côté du tableau noir sur lequel je prends la craie de très rares fois...
Ainsi, j’ai pu écrire en classe le cours, les corrections d’exercices, et j’ai pu annoter les devoirs et documents divers devant les élèves, avec eux, en les faisant participer en permanence, sans jamais leur tourner le dos. Tout ceci a été rendu possible grâce au logiciel Xournal sous Linux, un petit bijou de logiciel libre. [4]
J’effectue ainsi des copies d’écran de tout ce qui est fait en classe, ou des exports en fichiers pdf que je transforme ensuite en fichiers images au format png grâce à The Gimp, logiciel de traitement d’images toujours sous Linux.
Cela m’a servi à alimenter en temps réel mon cahier de textes en images, grâce au logiciel libre de galerie photo Piwigo, développé en PHP, et utilisant des bases de données pour stoker et tagger les pages affichées dans des albums virtuels.

Les élèves en ont tiré le double avantage de pouvoir rattraper le cours lors d’une absence, ou de revoir ce qui a été fait en classe le jour même et compléter leur prise de notes si besoin.
Et moi, j’en ai tiré la réelle satisfaction de voir le rendu de mes cours en permanence, retrouver avec les élèves ce qui a été déjà fait, mais surtout aujourd’hui de voir comment mes cours et les outils utilisés ont évolué au fil des années, en fonction des programmes en cours.
C’est vraiment très instructif de parcourir la galerie selon les classes et les années et de voir comment les outils utilisés en classe ont changé au fil de ces dernières années.

Les albums virtuels y sont organisés
- par classe et par année

PNG - 455.7 ko

- par thèmes (ou logiciels utilisés)

PNG - 531.4 ko
PNG - 218.7 ko

En particulier, voici le lien obtenu en effectuant une recherche avec les mots-clé :
programme, algorithme, code, python, snap, scratch, algobox, calculatrice
nathalierun.net/lycee/piwigo/index.php ?/search/683
Il faut penser à activer l’ordre de Tri Date d’ajout ancien -> récent.
Vous obtenez au moins 766 images, que vous pourrez alors faire défiler sous forme de diaporama.

Au moins 153 images illustrent des algorithmes (avec les mêmes mots-clé) en classe de première S ici :
nathalierun.net/lycee/piwigo/index.php ?/search/684
C’est intéressant de voir d’une part la variété des algorithmes : on peut en voir dans toutes les branches des mathématiques abordées, mais aussi l’évolution des outils utilisés pour les mettre en oeuvre : la calculatrice, les logiciels utilisés en classe tels que :

PNG - 30.9 ko
PNG - 20.2 ko

Snap ! le Scratch qui code du code

PNG - 4.3 ko
Alonzo
Mascotte de Snap !

Ce que je trouve particulièrement intéressant en naviguant sur mon cahier de textes en images, c’est de voir à quel point la découverte du logiciel Snap ! a fait évoluer mes pratiques en classe et ma vision algorithmique des notions abordées. La première utilisation de Snap ! en classe a eu lieu le 30 mars 2016 et depuis, on voit clairement mes pratiques évoluer.

Si vous ne connaissez pas encore Snap !, je vous invite à lire la page « About » de son site père : snap.berkeley.edu/about.html , 
et ce premier article que je lui ai consacré sur le site de l’IREM en avril 2017 :
Programmer des algorithmes avec Snap ! ou la programmation visuelle au lycée

 [5]

Tout est fonction.

PNG - 10 ko

A partir de la première illustration de l’utilisation de Snap ! comme bloc qui renvoie une valeur
tout est toujours programmé grâce à Snap ! sous forme de fonction(s).

PNG - 58.2 ko

Grâce à mes années d’enseignement en classe de première S, je pressens que tout est algorithme en Mathématiques, tout est fonction. Et Snap ! m’a totalement convaincue de cela, tout en m’aidant à l’illustrer, à le confirmer.
images.math.cnrs.fr/Et-si-on-commencait-par-les.html

JPEG - 18.4 ko
Alonzo Church
Mathématicien, Logicien

(14 June, 1903 – 11 August, 1995)

Dans cet article (difficile !), on montre qu’au lieu de fonder les mathématiques sur la notion d’ensemble comme le veut la tradition, on peut mettre la notion de fonction au centre de l’édifice. Et ce raisonnement trouve son origine dans les travaux d’Alonzo Church, connu principalement pour le développement du lambda-calcul qui a débouché sur la programmation fonctionnelle qui est un paradigme de programmation de type déclaratif qui considère le calcul en tant qu’évaluation de fonctions mathématiques.

Never had any mathematical conversations with anybody, because there was nobody else in my field. Alonzo Church.

PNG - 5.9 ko

D’ailleurs, on notera l’anecdote suivante : la mascotte de Snap ! s’appelle Alonzo et ses cheveux sont gominés en forme de Lambda...

PNG - 4.3 ko
Alonzo
Mascotte de Snap !

Petit historique sur le λ-Calcul

A ce propos, voici un petit historique sur le Lambda-Calcul, d’après David Perrin, Le lambda-calcul,le reTour de Babel ?

PNG - 402.2 ko
Petit historique sur le Lambda-Calcul
D’après David Perrin. Le lambda-calcul, le reTour de Babel ?

La pensée algorithmique

Qu’est-ce que la pensée algorithmique ?

Jeanette Wing
Jeanette Wing en donne cette définition en 2011 :
« computational thinking is the thought processes involved in formulating a problem and expressing its solution(s) in such a way that a computer—human or machine—can effectively carry out. » [6]

C’est le mode de pensée qui permet de concevoir ce qu’un calculateur - humain ou machine - peut exécuter.

Avoir une pensée algorithmique permanente peut induire une pensée mathématique plus claire. En effet, observer une pensée algorithmique demande d’analyser un problème afin de le décomposer en nombreuses petites fonctions ayant des tâches très précises, très réduites.
La pensée algorithmique va donc développer chez les élèves l’habitude de raisonner en termes de fonctions.
Je m’attache donc à aborder toute notion en première S de manière algorithmique.
Et Snap ! s’y prête bien. Ainsi, je pratique en classe en temps réel une pensée algorithmique que nous illustrons sans cesse à l’aide de scripts Snap ! en français, proche d’un langage de script illustrant la langue naturelle.

La pensée algorithmique en classe

Recherche d’un algorithme en classe

PNG - 36.3 ko
Recherche d’un algorithme en classe

J’utilise Snap ! en classe pour écrire un algorithme mais aussi pour le programmer et le tester. L’idée est d’ouvrir l’esprit des élèves à une pensée algorithmique indépendante d’un langage précis de programmation.

Bien sûr, j’utilise Python également comme langage de programmation textuel…

Toute pensée est un calcul…

J’essaie d’amener mes élèves à une pensée algorithmique, de les amener à penser fonctions en permanence.

On entre des objets, quelqu’ils soient. Cela constitue l’entrée de la boîte. La boîte traite alors ces objets et renvoie un résultat, celui qui est cherché, attendu par l’élève. Cela oblige mes élèves à penser les Mathématiques en terme d’objets. De comprendre que les fonctions ne sont pas que numériques, les algorithmes non plus. Et qu’un résultat n’est pas forcément numérique. A partir de cet enseignement, leurs remarques me font grandir, je réalise à quel point je suis dans la bonne voie car ils m’apprennent des choses, me font réaliser la puissance de cette vision fonctionnelle de l’algorithmique.

Lorsque j’ai demandé aux élèves, lors d’une activité sur les fractales, quel était l’objet renvoyé par l’algorithme qui dessine un flocon de Von Koch, Aliyah m’a répondu comme une évidence « Et bien, le dessin Madame ! ».
On en a déduit ensemble que cet algorithme était bien une fonction : il en a tous les ingrédients : des entrées traitées dans une boîte, et le dessin qui en résulte.

Penser algorithmes en classe, penser fonctions.

Afin d’amener mes élèves à penser en termes de fonctions, j’ai donné un devoir d’algorithmique à traiter à l’aide de Snap ! . Les élèves devaient transformer une série d’algorithmes de base en fonctions.
Cet article détaille largement le travail donné : L’algorithmique revisitée avec Snap ! et Python

PNG - 56.8 ko

Le projet Snap ! ci-contre constitue la correction de ce travail, mais peut être donné aux élèves afin qu’ils s’habituent à écrire des algorithmes sous forme de fonctions.

Notion universelle de fonction

Ce qui me conforte dans l’idée de notion universelle de fonction, ce sont de petites modifications subtiles apportées aux programmes de mathématiques ces derniers temps.

-> Document d’accompagnement du programme de seconde « Algorithmique et programmation »

On trouvera dans le document d’accompagnement de seconde « Algorithmique et programmation » les extraits suivants.

- Deux idées essentielles : 
la notion universelle de fonction d’une part et la programmation comme production d’un texte dans un langage informatique d’autre part.

- Les notions mathématique et informatique de fonction relèvent du même concept universel.

- Notions d’entrées-sorties

PNG - 380.2 ko

-> Évolution de l’écriture des algorithmes au baccalauréat (A partir de juin 2018)

Dans un objectif de simplicité et de cohérence, il a été proposé une évolution de l’écriture des algorithmes dans les sujets de baccalauréat obéissant aux principes suivants :
- suppression de la déclaration des variables, les hypothèses faites sur les variables étant précisées par ailleurs
- suppression des entrées-sorties (en cohérence avec le nouveau document d’accompagnement en 2nde – p5)
- simplification de la syntaxe, avec le symbole ← pour l’affectation.


S ← 0
U ← 900
Pour N allant de 1 à 10
  S ← ...
  U ← 0.75 U + 12
FinPour
PNG - 43 ko
PNG - 60.7 ko
PNG - 16.1 ko

-> Recherche de l’occurence du mot algorithme dans les pages du B.O.
Programme officiel de mathématiques de la classe de première S, paru au BO le 30 septembre 2010

Je vous invite tout d’abord à parcourir le programme de mathématiques de première S en cours et de trouver des exemples d’algorithmes puis de les écrire sous forme de fonctions...

L’image suivante présente un extrait du B.O. concernant l’algorithmique.

Qu’est-ce qu’une fonction ?

Construisons le programme de Première S…

- …sous une vision algorithmique
- …par une approche fonctionnelle

Le but ultime est de se consacrer à l’essentiel : comprendre les mathématiques grâce aux algorithmes.

Car les algorithmes sont la sève des mathématiques ! [7]

 
Posons-nous la même question que Gilles Dowek dans Une deuxième révolution galiléenne ? :
À quelles questions la réponse est-elle « Un algorithme » ?
À laquelle il répond :
Les questions Qu’est-ce qu’un aéroport ?, Qu’est-ce que la synthèse d’une protéine ?, Qu’est-ce qu’une réaction chimique ?, Qu’est-ce qu’une grammaire ? reçoivent donc une même réponse : Un algorithme. Et cette réponse est également une réponse possible aux questions : Qu’est-ce qu’un agent économique ?, Qu’est-ce qu’un nombre entier ?, Qu’est-ce qu’un nombre réel ?, Qu’est-ce qu’une démonstration mathématique ?, Qu’est- ce qu’une théorie ?...
Ainsi, les algorithmes, qui ont toujours été présents à travers l’histoire, permettent de décrire non seulement les mathématiques, mais le monde réel [8]. Tout algorithme pouvant s’écrire à l’aide d’une fonction, je voudrais insuffler à mes élèves la graine d’une pensée fonctionnelle afin de les aider à mieux appréhender le monde qui les entoure.

Fonctions numériques

-> Définition de la fonction valeur absolue
Commencer l’année par définir la fonction valeur absolue nous fait rentrer dans le vif du sujet. C’est une définition purement algorithmique du type Si...Alors...Sinon !

Définition algorithmique Définition en Python
fonctionValeurAbsolue(x):
        Si x>=0
            renvoie x
        Sinon
            renvoie -x
       FinSi
 def ValeurAbsolue(x):
    if (x>0 or x==0):
        return x
    else:
        return -1*x

 [9]

Ce lien vous mènera à ce qui a été présenté en classe sur le sujet.

-> Enchaînement de fonctions
Comprendre comment se forme une fonction numérique est essentiel.

PNG - 163.7 ko

Voici un exercice Wims illustré avec Snap ! donné en devoir Wims puis en interrogation écrite.

A partir des fonctions de référence vues en seconde, les élèves doivent agencer les blocs dans le bon ordre afin d’obtenir la fonction demandée.

Voici comment réaliser l’appel d’une fonction avec Snap !

PNG - 37 ko
PNG - 55.7 ko
PNG - 35.2 ko
PNG - 44.1 ko
PNG - 37 ko
PNG - 44 ko


-> Le second degré

PNG - 186.8 ko
PNG - 291.6 ko
J’ai demandé aux élèves de créer un logiciel Snap ! qui permet de résoudre tous les problèmes abordés lors de cette leçon : étant donné une fonction trinôme f, calcul de son discriminant, résolution de l’équation f(x)=0, signe de f, factorisation etc...
PNG - 145.3 ko


PNG - 193.2 ko

Voici un script Snap ! qui renvoie les solutions d’une équation du second degré.

En voici une interprétation en Python Le script du programme Python [10]
PNG - 111.7 ko
 
from math import *
def discriminant(a,b,c):
    return b**2-4*a*c
def racines(a,b,c):
    delta = discriminant(a,b,c)
    if delta < 0:
        return []
    else:
        x1 = (-b-sqrt(delta))/(2*a)
        x2 = (-b+sqrt(delta))/(2*a)
        return [x1,x2]
 


Fonctions en trigonométrie

-> Alonzo et ses amis Sinus et Cosinus
Lorsque Alonzo décrit le cercle trigonométrique, son ami Cosinus (qui a la même abscisse qu’Alonzo) décrit la fonction cosinus et son ami Sinus (qui a la même ordonnée que Alonzo) décrit la fonction sinus.

Voici ce que l’on a pu dire de cette animation en classe.

PNG - 326.3 ko

L’animation en ligne est visible sur ce projet Snap !.

-> Mesure principale d’un angle orienté

PNG - 130.2 ko


Essence de la programmation fonctionnelle

Amener les algorithmes aux données

Amener les algorithmes aux données est l’essence de la programmation fonctionnelle…
En programmation fonctionnelle, on utilise le duo map/reduce pour traiter un grand nombre de données, que l’on peut traduire par appliquer/réduire ou combine .

PNG - 207.5 ko

L’outil est extrêmement puissant, utilisable tel quel par les élèves, en chargeant la bibliothèque outils de Snap !.

Amener les opérateurs aux données

C’est une méthode que je propose à mes élèves. Une fois qu’ils la connaissent, ils trouvent cela beaucoup plus simple que de faire appel à une boucle...

PNG - 312.7 ko

Jouer avec les fonctions

De quelle fonction s’agit-il ?

PNG - 366.3 ko
Jeu sur les fonctions avec Python Le script du programme Python
PNG - 118.8 ko
from math import *
from random import *
a = 2.
b = 5.
def u1(x):
    return x*x
def u2(x):
    if x!=0:
        return 1/x
def u3(x):
    if x>=0:
        return sqrt(x)
def u4(x):
    return a*x+b
def u5(x):
    return abs(x)
liste_fonctions = [u1,u2,u3,u4,u5]
def f(x):
    u = choice(liste_fonctions)
    v = choice(liste_fonctions)
    return u(v(x))
def jeu(liste = [1,2,3,4,5,6,7,8,9,10]):
    return map(f,liste)



 [11]

Lancement du jeu, quelques exemples d’exécution dans le terminal :
>>> jeu()
[1, 16, 0.09090909090909091, 5.0, 1.4953487812212205, 36, 7, 8.0, 529.0, 100]
>>> jeu([1,2,3,4,5])
[7.0, 23.0, 3, 4.0, 9.47213595499958]
>>> jeu([1,7])
[0.14285714285714285, 0.0]



 [12]

Tout est fonction en classe de première S

Courbes de fonctions associées

Sur les courbes suivantes, les élèves devaient reconnaître les fonctions associées, en partant d’une fonction trinôme.

PNG - 89.4 ko
PNG - 94.6 ko
PNG - 61.3 ko
PNG - 80.7 ko

J’adore donner ce genre d’exercices chaque année en première S car il permet de voir si les élèves ont compris la notion de valeur(s) interdite(s), de signe d’une fonction, etc...

PNG - 351.7 ko

Dessin et algorithmes en géométrie

Programmer des fractales permet à mes élèves de s’initier au raisonnement récursif.

PNG - 133.1 ko
PNG - 50.4 ko

On pourra lire mon article Pourquoi faire des fractales en classe ?. [13]

Exemples de suites numériques

PNG - 47.7 ko
PNG - 9 ko

-> Les puissances de 2

PNG - 73.3 ko

Script Snap ! programmant une suite géométrique.

-> Sommes de suites

PNG - 91.9 ko

- sommes d’entiers naturels

PNG - 103.1 ko

- sommes de carrés d’entiers naturels

PNG - 126.4 ko

- sommes de cubes d’entiers naturels

Fonctions en géométrie analytique

-> Vues en seconde

De nombreux algorithmes de géométrie analytique ont été vus en seconde, entre autres :
- calcul des coordonnées du milieu d’un segment
- condition de colinéarité de 2 vecteurs
- équation d’une droite passant par 2 points dont on connaît les coordonnées.

PNG - 224.3 ko

-> Produit scalaire de 2 vecteurs

PNG - 171.4 ko
PNG - 226.4 ko

Un peu d’arithmétique

L’arithmétique est un des domaines des mathématiques les plus appropriés pour commencer la programmation.

PNG - 129.3 ko
PNG - 60.5 ko


Calcul du pgcd par l’algorithme d’Euclide

PNG - 91.8 ko
Égalité de Bézout

La notion de fonction en images

-> Résolution approchée d’une équation par la méthode de dichotomie

PNG - 50.4 ko
PNG - 296.3 ko
PNG - 63.5 ko



PNG - 48.3 ko
PNG - 376.3 ko

-> Probabilités et loi binomiale

Factorielle

PNG - 18.2 ko
script avec boucle
PNG - 95.6 ko
script récursif
PNG - 70.4 ko


Coefficients binomiaux

PNG - 29 ko
PNG - 68.2 ko

Loi binomiale

PNG - 45.8 ko



PNG - 103.5 ko

-> Une activité sur le codage de la couleur et les pourcentages

PNG - 154.3 ko
PNG - 155.8 ko
PNG - 88.6 ko

Cet exercice peut être réalisé en accompagnement personnalisé et mener à un travail sur les pourcentages.

PNG - 54.2 ko

-> Fractale de Von Koch aléatoire

PNG - 79.2 ko
PNG - 101.2 ko

Magie des mathématiques...

PNG - 105.4 ko

Et pour terminer, voici des citations qui me tiennent à coeur.

La première sur l’imagination est d’Albert Einstein. Imagination sans laquelle les mathématiques ne seraient pas ce qu’elles sont aujourd’hui.

  • Logic will get you from A to B. Imagination will take you everywhere. [14]

Les suivantes sont toutes de Seymour Papert, le père du langage Logo.

  • The role of the teacher is to create the conditions for invention rather than provide ready-made knowledge.
  • The reason most kids don’t like school is not that the work is too hard, but that it is utterly boring.
  • My basic idea is that programming is the most powerful medium of developing the sophisticated and rigorous thinking needed for mathematics, for grammar, for physics, for statistics, for all the « hard » subjects.... In short, I believe more than ever that programming should be a key part of the intellectual development of people growing up.  [15]

[1Cet article est la version écrite d’une intervention dans le cadre du séminaire de l’IREM le mercredi 13 février 2019 de 14h à 15h30 au campus universitaire du Tampon. Vous trouverez au bas de cet article la version PDF du diaporama présenté ce jour-là.

[2MIT : The Massachusetts Institute of Technology

[3Cet article, les images et tous les contenus nathalierun.net et Snap ! vers lesquels il mène sont sous license CC BY-NC-SA 3.0 FR.

[4J’avais écrit cet article :
Xournal, logiciel de prise de notes manuscrite pour présenter ce petit bijou en novembre 2009 sur le site de l’IREM.

[5Snap ! en chiffres...
Le cloud de Snap ! héberge actuellement :

- 2.5 millions de projets,
- dont environ 800,000 projets partagés,

- et quelques projets d’exemples
Une version plus réseau social du cloud de Snap ! est en cours de test et devrait être opérationnelle avant la fin de l’année 2019.

[7- Merci Yves Martin pour cette jolie phrase !
- On pourra lire ou relire par exemple le merveilleux livre Histoire d’algorithmes. Du caillou à la puce.

[8On pourra lire ou relire Simulacron 3 de Daniel Galouye paru en 1964. Le livre se trouve ici au format numérique. De nombreux autres livres de SF invitent à se poser la question Qu’est-ce que le réel ?. Et de nombreux films (Matrix et bien d’autres) illustrent des théories selon lesquelles le monde réel serait en fait une simulation...

[9Le script Python précédent peut évidemment être beaucoup plus conçis :

 def ValeurAbsolue(x):
    if (x>=0):
        return x
    else:
        return -x

C’est volontaire pour insister sur 2 choses :
- le sens du booléen (x>0 ou x==0)
- comment obtenir l’opposé de x ?
Et bien sûr la fonction abs(x) existe déjà en Python, à condition d’avoir chargé la bibliothèque math.

[10En ce qui concerne le contenu de l’image du script sur le second degré, une chose me gênait, j’effectuais des retours qui n’étaient pas de même nature, selon les cas. C’est contraire à la notion de fonction en mathématiques. J’ai donc demandé son avis à mon fils, développeur Java. Il m’a expliqué qu’il n’était pas cohérent de retourner dans un cas une chaîne de caractères et dans l’autre une liste.
J’ai donc changé cela. Ainsi, le script Python proposé retourne tout le temps une liste (une liste vide lorsque le discriminant est négatif). Du point de vue du programmeur, c’est beaucoup mieux. Il pourra par exemple tester la longueur de la liste pour savoir dans quel cas on est, ou modifier le programme et renvoyer également la valeur du discriminant.

[11Le script précédent peut être amélioré sachant qu’il ne gère pas les retours lorsqu’une valeur interdite d’une fonction a été passée en argument...

[12Les valeurs renvoyées étant dépendantes du choix aléatoire des fonctions u et v pour chaque appel, ne pas essayer d’obtenir les mêmes résultats avec les mêmes arguments...Par ailleurs les choix de u et de v ne sont pas forcément uniques.

[13Pourquoi faire des fractales en classe ? Cet article a fait l’objet d’une présentation au séminaire IREM de la Réunion à l’université du Tampon le 10 avril 2019.

[14La logique vous mènera de A à B. L’imagination vous mènera partout.
https://www.azquotes.com/author/4399-Albert_Einstein


Documents joints

Diaporama. Séminaire IREM.
Diaporama. Séminaire IREM.
Cet article a été présenté au séminaire de l’IREM le 13 février 2019.
Programme de Mathématiques de Première S (...)
Programme de Mathématiques de Première S (...)
Quelques passages étayant mes propos ont été surlignés, notamment le mot algorithme.

Portfolio

PNG - 704.5 ko PNG - 245.6 ko PNG - 234.1 ko PNG - 587 ko PNG - 187.3 ko PNG - 291.1 ko

Commentaires

Annonces

Prochains rendez-vous de l’IREM

Séminaire EDIM-IREM

- Mercredi 29 mai 2019, 14h-18h, campus du Tampon, amphi 120D.

Colloque EDIM-IREM

- Mercredi 5 juin 2019, 9h-12h et 14h-17h, salle S23.6, PTU, Saint-Denis.


Brèves

Elwyn Berlekamp

jeudi 18 avril

Elwyn Berlekamp, connu des lecteurs de ce site pour son jeu des interrupteurs, était un spécialiste du jeu de Go ainsi que de la Pipopipette, d’Édouard Lucas que Berlekamp admirait énormément.

Notation au bac

lundi 11 décembre 2017

Une nouvelle notation sera pratiquée à partir de la session 2018 pour les algorithmes au bac. Elle est décrite avec de nombreux exemples, ici.

Décès de Roger Mohr

mardi 27 juin 2017

On sait bien que Nicolas Bourbaki n’était pas le nom d’une personne mais le pseudonyme d’un groupe. L’équivalent en informatique théorique est Claude Livercy, auteur de la théorie des programmes. Roger Mohr était un des membres de Claude Livercy.

À travers les labyrinthes : algorithmes et fourmis

dimanche 1er septembre 2013

Quand les chercheurs mettent au point des modèles d’optimisation et de recherche de plus court chemin qui s’inspirent du comportement de masse de colonies de fourmis...
À écouter : Sur les Épaules de Darwin, émission diffusée sur France Inter samedi 31 août 2013.

Rencontres Mondiales du Logiciel Libre à St-Joseph

mardi 20 août 2013

Les RMLLd se dérouleront pour la 2e fois à Saint-Joseph du 22 au 25 août.
C’est une opportunité pour les élèves qui suivent la spécialité ISN et les passionnés d’informatique.

Voici pour le samedi et le dimanche quelques interventions choisies :
- http://2013.d.rmll.info/Raspberry-votre-ordinateur-au-format-carte-de-credit?lang=fr
- http://2013.d.rmll.info/Materiel-libre-et-DIY?lang=fr
- http://2013.d.rmll.info/Arduino-de-l-electronique-libre?lang=fr

Noter aussi les conférences Art et Culture du dimanche, ainsi qu’une conférence plus engagée.

Le programme complet se trouve ici. Une radio sera ouverte pour l’occasion.
Des plaquettes à distribuer se trouvent ici.

Hyper-vidéos pour l’algorithmique au lycée

dimanche 19 août 2012

Olivier Roizès, à la demande de l’ADIREM, a réalisé une collection d’hyper-vidéos de présentation de logiciels et environnements de programmation. Ces hyper-vidéos, c’est-à-dire des vidéos contenant des éléments clicables, devraient être utiles aux enseignants désireux de se familiariser avec Python, CaRMetal, R, Rurple, Scilab ou Xcas.

Ouverture du SILO

mardi 1er novembre 2011

Le SILO (Science Informatique au Lycée : Oui !) est un espace collaboratif documentaire de partage et de formation collégiale, à destination des professeurs appelés à enseigner l’informatique au lycée.

Une initiative du CNDP, de l’INRIA et de Pasc@line, à laquelle se sont associés SPECIF, fuscia, EPI et ePrep.

Sur le Web : Site du SILO

Introduction à la science informatique

lundi 12 septembre 2011

Le CRDP de Paris publie le premier ouvrage destiné aux professeurs chargés d’enseigner la nouvelle spécialité « Informatique et sciences du numérique » en Terminale S à la rentrée 2012. Cet ouvrage a été coordonné par Gilles Dowek, directeur de recherche à l’INRIA.

Sur la création de la spécialité ISN, on pourra également consulter l’interview donnée au Café pédagogique par l’inspecteur général Robert Cabanne.

Sur le Web : CRDP de Paris

Deux publications sur l’algorithmique

samedi 17 octobre 2009

L’IREM d’Aix-Marseille publie une brochure de 73 pages, téléchargeable librement, intitulée Algorithmes et logique au lycée. Ces notions sont illustrées et déclinées sur des exercices du programme de spécialité mathématique en série L, mais sont adaptables aux programmes à venir.

Le hors série thématique n° 37 du magazine Tangente, disponible actuellement en kiosque, s’intitule « Les algorithmes. Au cœur du raisonnement structuré ». Extrait de l’éditorial : « La rédaction de Tangente a conçu la quasi-totalité de ce hors série thématique pour qu’il puisse être lu par des élèves de Seconde ».

Une carte mentale pour l’algorithmique

jeudi 10 septembre 2009

Sur son site, Jean-Jacques Dhénin a publié une carte mentale géante qui renvoie vers plus de 30 documents en ligne sur l’algorithmique. Tout ce qu’il faut — et même davantage — pour faire face au nouveau programme de Seconde !

Statistiques

Dernière mise à jour

dimanche 26 mai 2019

Publication

833 Articles
Aucun album photo
139 Brèves
11 Sites Web
145 Auteurs

Visites

93 aujourd'hui
1183 hier
2834148 depuis le début
25 visiteurs actuellement connectés