L’enseignement de l’informatique avec la nouvelle réforme du bac

Avec la nouvelle réforme du baccalauréat, les élèves peuvent désormais choisir des domaines de spécialisation. L’informatique constitue un de ces domaines qui se nomme selon la nomenclature de l ‘Education Nationale« Numérique et sciences informatique », l’enseignement sera de 4 heures par semaine en première et de 6h en terminale. A noter que les élèves choisissent trois domaines en première et n’en gardent plus que deux en terminale.

Les programmes détaillés

L'organisation des domaines de spécialités

La-voie-generale-premiere-et-terminale

L’enseignement de l’informatique

L’Éducation Nationale a toujours eu beaucoup de problèmes avec l’enseignement de l’informatique. En 2019 il n’y a toujours pas de diplôme d’enseignant en informatique, c’est tout dire… C’est très triste pour une science dont on parle tous les jours et qui est responsable d’une nouvelle révolution technologique. Il faut le reconnaître, c’est une discipline assez étrange, toujours en perpétuelle évolution. Par certains côtés elle ressemble aux mathématiques sans en être vraiment, Il y a un côté artisan avec le programmeur qui travaille sur son ouvrage. On peut aussi lui trouver un côté créatif.

L’Éducation Nationale n’est pas la seule responsable de ce désamour de l’informatique, la France dédaigne de plus en plus toutes les activités technologiques. La situation de l’emploi informatique est catastrophique en France, la plupart des emplois se trouvent dans des sociétés de services où l’emploi est très précarisé même si les salariés ont des CDI.

Le résultat de ce désaveu de l’informatique en France : les meilleurs éléments ne se dirigent pas vers la filière informatique, il y a bien quelques excellents élèves qui sont des véritables passionnés mais ils ne sont pas vraiment représentatifs et d’un autre côte ils font peur aux autres qui s’imaginent que toute sa vie doit être dédiée à la programmation (week-ends et vacances compris). Les programmeurs devraient arrêter ces coding challenges, ces piscines de code en pleine nuit qui les enferment trop dans une niche.

Avec cette nouvelle réforme que va-t-il se passer ?

Pas grand-chose les meilleurs éléments prendront les domaines math/physique comme d’habitude. Ceux qui n’ont pas le niveau prendront l’option informatique. Même si certains élèves sont passionnés par la programmation ils préféreront prendre la voie royale pour aller dans une école d’ingénieurs.

Le programme numérique et sciences informatique en première et terminale

Parlons tout d’abord du langage informatique utilisé.

L’Éducation Nationale a spécifié ses besoins.

« Un langage de programmation est nécessaire pour l’écriture des programmes : un langage simple d’usage, interprété, concis, libre et gratuit, multiplateforme, largement répandu, riche de bibliothèques adaptées aux thématiques étudiées et bénéficiant d’une vaste communauté d’auteurs dans le monde éducatif est nécessaire. »

Quel est ce fameux langage ? … Python bien sûr !

Il est intéressant de sélectionner un seul langage pour tout le monde. On peut néanmoins s’interroger sur le choix de Python.

Python est souvent présenté comme le langage le plus facile pour les débutants. Il est d’après ses promoteurs aussi facile à lire que l’anglais (à l’appui on présente un exemple avec une boucle et un test) Que ne faut-il pas entendre ! Il n’est pas plus facile que les autres langages. De toute façon ce n’est pas véritablement la syntaxe qui pose problème aux étudiants mais la compréhension des principes.

A la fin cela se termine comme cela:

def multiply(x):
    return (x*x)
def add(x):
    return (x+x)

funcs = [multiply, add]
for i in range(5):
    value = list(map(lambda x: x(i), funcs))
    print(value)

Cela ressemble comme deux gouttes d'eau aux autres langages.

Un autre point à signaler pour la plupart des formateurs un langage typé est plus simple à apprendre qu’un langage non typé.

Non, le problème majeur avec Python ce n’est pas la syntaxe, c’est l’utilisation même de Python.

L’utilisation de Python va induire une surreprésentation de l’algorithmique dans les programmes.

Python est le langage le plus utilisé pour l’intelligence artificielle.

Les mots sont lâchés : intelligence artificielle, le programme n’est pas conçu pour les étudiants, il est construit pour faire plaisir aux enseignants de mathématique frustrés d’enseigner des suites et des dérivés toute la journée. Ils vont pouvoir enfin se faire plaisir.

Le soir quand ils rentreront chez eux après avoir commandé leurs burgers sur Uber Eats et avant de regarder leur série sur Netflix ils pourront fanfaronner devant leur famille : « Chéri j’ai programmé une intelligence artificielle avec mes élèves ».

Il faut aussi rappeler que Python est aussi très utilisé comme langage de script (Google l’utilise beaucoup). Il sert à automatiser les builds, les tâches, les tests… Activités qui font beaucoup moins rêver les élèves et les enseignants.

Analyse du programme « Numérique et sciences informatique »

On s’intéresse ici plus au programme de terminale.

La démarche de projet

Un tiers au moins de l’horaire total de la spécialité est réservé à la conception et à l’élaboration de projets conduits par des petits groupes d’élèves.

Bien sûr en 2019 dans tout les programmes le projet est prépondérant. Le projet a quasiment des propriétés magiques, il est censé motiver tous les élèves autour d’une même idée à réaliser. Les meilleurs entraînant les moins bons. Il serait la solution pédagogique ultime où les élèves seraient les moteurs de leur enseignement et l’enseignant ne serait plus qu’un guide qui indiquerait le (bon) chemin à suivre.

Dans la réalité, si vous n’avez pas de bons élèves, après l’excitation du départ « Super on va créer un jeu » il n’y a plus que le meilleur élève qui travaille tout seul et qui ne veut plus des autres.

En plus il faut voir le niveau technique des projets car des exemples sont donnés dans le programme. Accrochez-vous à votre siège :

La programmation

Le programme est articulé autour de 6 grand axes.

Il faut le dire tout de suite la majorité des étudiants de niveau Bac+5 en informatique n’ont pas vu toutes les notions abordées dans ce programme. Les étudiants de BTS SIO n’abordent même pas les notions les plus difficiles de ce programme.

Le point le plus important

Il très (trop) orienté programmation et algorithmie en particulier.

Des domaines sont complètements éludés comme la sécurité informatique., les tests… Il y a bien quelques phrases sur les tests mais on voit tout de suite que ce n’est pas la priorité. Rien sur la création des contenus, le design...

La partie réseau ne semble pas aussi beaucoup intéresser les concepteurs du programme.

La priorité c’est bien sûr l’algorithmie. Le Graal a atteindre.

La partie « Structures de données » du programme n’est qu’un sous-ensemble de la partie « Algorithmique ». Histoire d’en faire deux fois plus.

Le plaisir à l’état pur :

Et on recommence dans l’autre partie du programme !

Le plus amusant est la partie programmation ramenée à sa plus simple expression.

Au fait où est passée la partie programmation objet ? Elle se situe dans la partie « Structure des données » et bizarrement pas dans la partie programmation.

Vocabulaire de la programmation objet : classes, attributs, méthodes, objets. That’s all !

Il y a très nettement une survalorisation de la partie algorithmique par rapport à la partie programmation.

Ce programme est néanmoins très intéressant car il est totalement axé sur les bases plutôt théoriques de la programmation. Il fait complètement abstraction des interfaces graphiques. Les élèves qui suivent ce cursus auront de très bonnes bases pour l’avenir.

Les concepteurs du projet n’ont malheureusement pas été assez cohérents, ils proposent des projets avec des interfaces graphiques ou des creations de sites web. Il fallait continuer dans la même voie et ne proposer que des projets basés sur l’algorithmie en mode console. Malheureusement cela ne fait pas rêver les étudiants et les enseignants.

J’espère que les concepteurs du programme n’ont pas pensé que la réalisation d’une interface graphique allait de soi.

Nous remarquons tous que tout le monde dédaigne HTML/CSS et qu’à la fin personne ne sait réaliser une page web.

En plus, on peut s’interroger sur la place de ce programme pour les études supérieures. C’est clairement ce qui est demandé à un étudiant de niveau Bac+2.


Ce qui va se passer :

Le programme ne sera jamais réalisé complètement car il est trop difficile. Seul une minorité d’élèves est capable de suivre ce cursus. La majorité des projets seront des sites web ou des petits jeux.

Il sera intéressant de voir le nombre d’élève qui choisissent cette option et le taux d’abandon l’année suivante.

Il serait bon d'arrêter de considérer l'informatique seulement comme un sous-ensemble des mathématiques, c'est tellement plus que cela.