Subject: Re : Re : [EDUC]Proposition de loi visant à rendre obligatoire l’enseignement du codage informatique à l’école
From: [email-masked]
To: Vincent-Xavier JUMEL <[email-masked]>
Cc: [email-masked]
Date: Wed, 18 Jun 2014 18:11:38 +0200 (CEST)
List-Id: <educ.april.org>

----- Vincent-Xavier JUMEL <[email-masked]> a écrit :
> Le 17 juin à 09:09 [email-masked] a écrit
> > Une réponse de l'April s'impose. 
> > […snip…]
> > L'April en tant qu'elle est censée porter les valeurs du mouvements du logiciel
> > libre doit répondre, tant sur le projet de loi des députés UMP que
> > sur l'enjeu des programmes.
> > 
> Libre à toi de commencer par mettre des points clefs sur
> https://pad.april.org/p/PL_UMP_EDUC_2014
>

Bonjour Vincent-Xavier,

J'étais en train de te répondre quand fut publié le message de Jean-Pierre
Archambault auquel j'ai préféré immédiatement répondre. Puis est arrivé celui
de Demko.

> À titre personnel, je ne suis pas convaincu par l'apprentissage du code
> pour tous les élèves, mais je suis favorable à une sensibilisation
> complète et structurée de l'informatique, en tant que sciences et en
> tant qu'outil/technique sans parti pris logiciel.

Je partage ton point de vue modulo un ou deux détails, dont un léger
différend sémantique.

1/ Pour ce qui concerne "pour tous les élèves"
----------------------------------------------

Il faut distinguer les élèves en collège qui se passionnent pour la
programmation de ceux qui développent d'autres passions, par exemple
pour la danse, les moteurs de voiture ou la musique... 
L'école devrait donc offrir un cadre permettant à chaque personnalité,
dans la mesure du possible, de s'épanouir.

Pour autant, l'informatique est au coeur des enjeux de notre société.

Il est donc nécessaire de répondre à un triple enjeu :

a) une sensibilisation complète et structurée de l'informatique, pour tous,
en tant que science et en tant que technologie (je récuse la notion
de technique et d'outil) 

Mais également :

b) une initiation *pour tous* à la programmation intégrée à cette  
sensibilisation  

Les deux premiers aspects étant, entre autre, réalisés au sein du cours
de technologie.

Et aussi :

c) l'ouverture d'options en quatrième et troisième, purement dédiées
à la science informatique et à la programmation pour permettre aux
élèves passionnés de développer leur talent 

C'était la position officielle de l'April notamment exprimée dans
le cahier Education de Candidats.fr
http://www.candidats.fr/category/Cahiers-2012/%C3%89ducation

b) Sémantique sur les termes "code", "outil" et "technique"

Pour enseigner une science, une connaissance, un savoir ou savoir-faire,
il est d'usage d'en dresser l'épistémologie, le corpus, de mettre des 
définitions devant les notions, d'établir une progression.

Aucun bouquin d'informatique ne parle d'apprentissage du code dans le sens
de programmation. En revanche code est utilisé pour désigner l'encodage
des données, le code ASCII, l'UTF8, le codage d'un pixel, un code source, 
un codage numérique...

Idem pour les rédacteurs de Wikipédia où code, dans son sens informatique,
 désigne principalement :

"l'ensemble des règles de représentation des données élémentaires par des codets."

mais aussi le terme "codage" dans :

- le codage de caractères permet de représenter informatiquement des lettres
- un code source permet de compiler un logiciel
-  un code correcteur permet de détecter des erreurs de transmission et éventuellement 
de les corriger.

http://fr.wikipedia.org/wiki/Code

Le danger du glissement sémantique de programmation vers codage est de créer
un écran de fumée, une boîte noire, un obscurantisme privateur sur les sens
traditionnels de code/codage/encodage qui doivent être impérativement enseignés
en tant que tels, en ce qu'ils participent de la sensibilisation informatique
complète et structurée que tu évoquais.

Un exemple : l'interopérabilité. 

Comment rendre intelligible la notion d'interopérabilité que les lobbies
de l'apprentissage du code se gardent bien de promouvoir sans, à un moment
donné ou un autre du curriculum aborder la représentation des données,
leur *codage* sous une forme binaire, leur stockage dans un fichier sous
la forme d'un format de fichiers ?

Certes, il existe un usage familier du terme "coder" qui n'apparaît pas
dans les ouvrages académiques : "pisser du code",  pour exprimer 
par exemple la division sociale du travail dans une SS2i entre le travail
d'exécution d'un analyste programmeur et celui de chef de projet 
consistant à traduire les demandes du client en cahier des charges...

Dans ce sens là, certes pisser du code, nécessité un minimum de 
compétences comme traduire dans un langage de programmation un/des
algorithmes. Mais tout un chacun peut observer qu'il ne s'agit là que
de la version post-moderne de l'ouvrier spécialisé qui exécute des
tâches partielles...

Gardons donc les termes code/codage/encodage dans leur acception académique
et récusons l

Il importe, avant de donner un avis personnel dans le débat en cours, de se
mettre d'accord sur ce que l'on entend par enseigner le "code".

Pour ma part, je m'en tiens aux acceptions des bouquins d'informatique dont
les définitions sont similaires aux contextes que donne Wikipédia.

Il ne s'agit pas pour moi d'une pinaillerie sémantique. 

Derrière un certain nombre de termes médiatiques comme "numérique",
"apprentissage du code" portés désormais par Microsoft, l'Afdel, Syntec
informatique et tutti frutti, en embuscade, une logique obscurantiste
et privatrice.

Je refuse, sous prétexte de promouvoir le libre, d'utiliser un vocabulaire 

2/ 

--
Pour gérer votre abonnement à la liste educ et vos informations personnelles :
http://listes.april.org/wws/info/educ