• Aucun résultat trouvé

ARTheque - STEF - ENS Cachan | La programmation informatique à l'école ? Les exigences de cette activité

N/A
N/A
Protected

Academic year: 2021

Partager "ARTheque - STEF - ENS Cachan | La programmation informatique à l'école ? Les exigences de cette activité"

Copied!
13
0
0

Texte intégral

(1)

LA PROGRAMMATION INFORMATIQUE A L'ECOLE?

LES EXIGENCES DE CETTE ACTIVITE

Jean-Michel HOC

Laboratoire de Psycholgie du Travail

E.P.H.E. - C.N.R.S.

(2)

Jean-Michel HOC

(*)

L'intruduction de l'ordinateur à l'école ouvre de no~br8uses persoec-tives dont il convient d'apprécier correcte~entles enjeux: enseignement prcgr'ar~mél doc::umentation au~c:T]2tiI,;e) sinulations de phénomènes, etc ...

terroger sur les vertus ;J1~<aglJgiquesde la pratique

ce

la proiSrarnrnation lllf:J:rmatiqu8 par l'élève. ['est SJr ~B ~oint que portera ma contritution .

Elle n'8st pas celle d'un spécialiste des proolèmes liés l'intro~

après avoir tra\/ôillt=' 2ur la formation d8~J analystes-prograrcrc-.J;'3 . Il mE semble cil effet que l'on peut rgtirEr de cette étuda quelques enseignE~entsJ en ce qui concerne les prcblèmes posés par la per~:ipecti\jeGe faire progrômmer 18:::'

Tout j'abord, il 80nvient je préciser le terme ~ircgramma~ion, S~iJ-vent utilisé à ~Jr dans un sens trop l'8streint, dans CE -'DfT'.aiii8 • Er:sLrlte, '3-bDrderai deux gr8~~~s de ~luEstions :

dinateur,

- et cel185 qui cGr:cerrlsflt l'exprEssion des procédures.

Je relèverai assentiellem8rt les 8xiçEnces q~i y ~ lt assocl§e~

1 - LA PROGRAMMATION Ou,:JrlC

, LJrl2

(*) ChaY'gé de Reche,cche ,,,' c'N.~.S. - L1hcnt'Jire cie "s'Ichoi del I

E.P.H.E. - '~1, nJe Gr}y-LUSsiC 7,Sn(}5 Pi;PIS.

(3)

forma particuli~rej'expression de procédures: celles qui sont exécutables par les oI'dinateuI'S, tels qu'on les connaIt aujourd'hui. Il existe d'autres expressions ~ossib18s : les modes d'emploi des appareils que l'on achète dans le commerce, les notices pour le montage des meubles vendus en pièces détachées, les algorithmes ex-primés en Algèbre, etc ...

En général, on peut définir la programmation comme une activité d'ex~ pression d'une procédure ( souvent accompagnée de son élaboration) exécutable par ~n dispositif donné: une machine, un être humain, etc ... Puisqu'elle doit être

exprimée, cette procédure va prendre la forme d'un programme dans un langage donné lôi'gu8 nat:..Jf'elle, langage technique, lang3ge de programmation informatique. Algèbre, etc . . . Certains langages sont en étroite relation avec le dispositif d'exécution: ='8st lB cas des langages de programmation. Ceci provient du fait que l'ordinateur

[-l'est sensible qu'à la prés8iltation physique des programmes ( des chaînes de

carac-tères. par ailleurs en nombre limité) : la face " expression " du langage pour les séDiologues . D'autres langages sont moins directement orientés vers le dispositif Ainsi, puur un même utilisateur hunlain, le mode d'emploi a'un appareil peut être axprimt da Diverses manièras et pourtant aboutir au même comportement. C'est que le SlJjet humain ne va pas réagir directement è " l'expression" mais au " conterlG "

'el1s cede. Il intarprètera le message: de nomtr8uX messages différents pourrorlt donner liEU ~ la même interprétation . En outre. i ' sera capable de procéder ~ des inf~rences q~i IIJi perm6ttront de lever des ambi~uiTés, de c~mplèter un message le--C:lJiiÔire~ EtC . . .

l'ACQlJ:SITIDN DES RCGlFS DE FDNCTTDNNEMÇNT DU Dr5F'OSITIF

:~an~ on cunçoit programme infGI·';~atiqu8, est le r1LE souva~t

(4)

La procédure dB résolution n'est pas unique: tout dépend du dispositif qui va l'exé-cuter . ~éanmoins, i l en est une qui va revêtir un côrectsre privilégié: celle qui s'appuie sur les rsorésentations et les traitements associés au domaine du problème pour le sujet

A ce propos. il est utile de considérer qu'un même sujet a construit, au cours de son expérience. divers Systèmes de Représentation et de Traitement associéE è divers domaines de problèmes . Ainsi. devant un problème donné, toutes les connais-sances dont il dispose ne seront pas évoquées. mais. dans un premier temos. celles qui sont contenues dans l'un de ces systèmes: celui cui est le plus proche de la forme de présentation du problème [ HOC, 1977 ] .

Certains travaux expérimentaux ont montré que des modifications de la forme de présentation dJun problème. visant à construire des problèmes isomorphes, donnaient lieu à des résultats très différents ( par exemple, SIMON et HAYES, 1976 S'agissant de construire un programme informatique. les observations que j'ai recueillies ont montré que le débutant Était conduit à adapter une procé-dure (associée au demaine du problème) aux règles de fonctionnement de l'ordinateur Dans cette adaptation, le transfert joue un rôle important. Il peut s'agir du trans-fert d'une procédure détaillée qui est. en quelque sorte, • traduite· mot-à-mot dans le langage de programmation. Mais ce qui est transféré peut être un plan d'en-semble de la procédure. ['est ce mécanisme que favorisent les méthodes de program-mation informatique actuellement enseignées [ méthodes de programmation structurées ) . Ces transferts peuvent conduire à des échecs difficilement surmontés. du fait de l'incompatibilité entre le dispositif sous-jacent à la procédure transférée et l'or-dinateur . Souvent même, on demande au débutant de construire des programmes informa-tiques avant même qu'il n'ait entièrement acquis ces règles de fonctionnement de l'or-dinateur ( HOC, 1979 ] .

(5)

Cet ta acquisition est d'autant plus difficile qu'on le laisse dans l'environnement habituel de la programmation informatique. Dans ce dernier, on sait en effet qu'on ne peut faire fonctionner l'ordinateur qu'avec un programme La connaissance des résultats est alors différée. Souvent même, cette connaissance n'est que très partielle, puisque la compréhension des messages d'erreurs à l'exécu-tian nécessite déjà que soit bien connu le fonctionnement de l'ordinateur Notam-ment, ne sont détectés que les symptômes des erreurs : leurs manifestations de surface ou périphériques. L'activité de remontée aux causes exige une connaissance que n'a pas encore le débutant ( YOUNGS, 1974 ) .

A la suite de plusieurs expériences portant sur des sujets débutants, j'ai été amené à suggérer que ces règles soient acquises dans des situations de commande ( pas à pas

ternes de la machine

de l'ordinateur, en figurant, pour le sujet. les états in-Ainsi, on accélère doublement l'acquisition: en excluant momentanément les difficultés spécifiques de l'expression des procédures et en in-troduisant une connaissance immédiate des résultats ( HOC, 1980 )

Cette méthode d'apprentissage a déjà été exploitée en faisant comman-der des machines avec des assembleurs. L'inconvénient de ce choix me paraît être le caractère trop élémentaire des commandes utilisées . Généralement, le sujet sera amenÉ, par la suite ... à programmer dans un langage rI évolué" dont les instructions sont

d'un niveau plus élevé. Le dispositif· minimal· ( au sens de CUNY et OERANSART, 1972 ) sous-jacent à un langage évolué est d'un niveau supérieur à celui de l'as-sembleur : il paraît préférable d'y avoir recours.

En outre, il est utile de distinguer les règles de fonctionnement ( élèITGntairss ) d'un dispositif donné [ même s'il est assucié è un langage évolué et ses règles d'utilisation. Ces dernières traduisent les cor:traintes introduites

(6)

par les règles de fonctionnement au niveau de l'organisation d'ensemble des procé-dures [ c'est-à-dire au niveau des plans) . Le débutant doit aussi être guidé dans l'acquisition de ces règles d'utilisation. En d'autres termes, l'élaboration d'un Système de Représentation et de Traitement compatible avec le dispositif in-formatique à programmer doit être guidé non seulement" par la base

fonctionnement J, mais aussi Il par le haut " ( règles d'utilisation

règles de Ce dernier guidage ne peut être opéré que par une analyse approfondie des conséquences du fonctionnement à ces niveaux plus élevés . On peut donc suggérer :

- d'associer à l'acquisition de chaque instruction élémentaire les

con-traintes qu'elle est susceptible d'introduire au niveau des plans de programmes, - de constituer des suites de problèmes qui favorisent des transferts de plans,

- et de concevoir, au besoin, des dispositifs dérivés, pour des problèmes complexes, dont les règles de fonctionnement traduisent explicitement les règles d'utilisation du dispositif de base.

La conception d'un tel apprentissage doit évidemment s'appuyer sur l'établissement d'une typologie des problèmes susceptibles d'être programmés par l'étudiant.

Mais l'introduction de ces contraintes informatiques dans la program-mation peut être discutée . Même chez les professionnels, on conçoit actuellement des outils d'aide à la programmation qui peuvent profondément changer cette activité. Certes, ces aides ne sont pas partout disponibles, loin de là . Ainsi, oette discus-sion ne peut que préparer le futur .

Certains pensent, en effet, qu'il serait souhaitable de concevoir et de distinguer deux types de langages ( voir par exemple, JACKSON, 1980 J :

(7)

- des langages vraiment dirigés vers les problèmes, c'est-à-dire

permet-proprement dits

tant d'exprimer des procédures appartenant à des domaines spécifiques: on pourrait ) ;~)

les qualifier de langages de programmation

- et des langages dirigés vers les machines, c'est-à-dire prenant en compte leurs contraintes de fonctionnement: on les qualifierait de langages d'exécution

Cette distinction permettrait de rapprocher la programmation des spécialistes des domaines de problème, sans les obliger à un apprentissage approfondi de l'informatique. Ils pourraient concevoir eux-mêmes leuœprogramm~:

l'informati-cien n'interviendrait que pour la mise en oeuvre sur une machine donnée Mais~ même

lorsque l'informaticien intervient dès la conception de la procédure, une telle distinction peut être souhaitable . En effet, dans les premières étapes de la concep-tian, il peut se produire des conflits entre des contraintes liées au problème [ par exemple le format de présentation des données ) et des contraintes informatiques [ par exemple le mode d'accès aux données) On peut être alors tenté de privilégié les contraintes informatiques pour résoudre un tel conflit . On aboutit alors à une solution peu satisfaisante pour l'utilisateur.

Une question doit donc être sérieusement discutée : faut-il nécessai-rement apprendre à l'élève la programmation informatique ou une programmation dans un langage qui lui soit accessible plus directement?

3 - LES EXIGENCES LIEES A LA PROGRAMMATION.

Duel que soit le langage utilisé pour l'expression des procédures, la programmation introduit des exigences que je vais maintenant décrire, dans leurs grandes lignes

Deux cas peuvent se présenter

r. ) .

Selon le même JACKSON, les langages actuels. qualifiés de " olrlges vers le problème '~ sont loin d'être indépendants de la machine. Notamment, ils supposent

(8)

il n'au~~ donc ~l mettl8 en OBIJvre ~;u'une dctivité d'expression - le 5ujBt ne dispose ~a3 8ncore d'une procédure exéc~[dble don~ l'élaborer ( r6snlutio~ te problèME] et l'exprimer.

En ~ttJciant l'appy'antissage de la progra~matiJninformatique. J8 suis ess8ntiellem8n~centré sur dES situations dans lesquellGs

- le sujet disposait d'une procédure exécutable,

- mais devait l'adapter aux règles de fonctionnement de l'or'dinateur . Par conséquent, même si une procédure était disDonible, elle n'était pas adéquate le sujet devait malgré tout procéder è une élabGration de pI'océdure [ compatiole avec le oispositif J • Il s'agissait donc bien d'une situation de réso-lution de problèmB .

En revanche, dans le cadre de l'introduction de l'informatique è l'E-cole, il parait raisonnable de co~sidér8rque les deux 8BS que j'ai cités peuvent se présenter: expression seule, expression et élaboration. En t::::ffst, si l'on cherc.he è concevoir des intel'faces antI'G l'ordinateur et le sujet, ori pEut erlvisager des dis-pos!tlfs compatibles avec les procé;jures Due le sujet exécute ccuraPlment . Er' ce cas, on peut limiter la programmation ~ l'expression de ces proc0dlJres, avant d'envisager que 18 sujet e1~ G~Dr'im8rces procédures qu'il n'a pes encore élaborées.

A Exoression oe ~r~cédlJres connues.

A2/ar!t analysé pr'~~ sL~emmerlt }'apprentissar;8 CB 1,] programmaticr

infür-2ctivité d'exrression

S!"t.:!.j,'jTî.O c:iSPCisitiT

(9)

_:c.itJ3ti ~T>~i-;.- justifL par IG ~Gi~ cu'i~ est sains le .;: S,::·,J:;':,-- iace:-It ~'_~,,:,:S:::c.J~8S soit lE:: rnêr~{ ~'.=-,ur tOLS :;'85 :;-ule-i:s, afin de 11ir jes 8XPI'Essions scient COInparatlE5 ( i~O~, LEPlAT,

C6 ~arajig;nG Q éti utilis~ :2ns ~lu~ie~rssituatiors ( dispositifs et '':',=:J~ '';5 \/ari6t::;s J • Dans tous les cas, on a cOiifirm( les hYP:Jtllèses sui\/ôntes :

Bien qu'on soit assuré que le sujet exécute correctement la procédure, lri -'prBss~o~ G'est Das imm~diate . Le sujet Bxprine d'abord une exécution de cette

sur- des cas particuliers, avant 'êtrs mesure d'en exprimer la structure enterldu non séquentielles i 81185

Ai~5i. le sujet Exécute mentalemer,t

~=:~ ~~:P:::;>~"CUI'2Ùv'ant de pouv'C"lir l'exprimer. 1-8 :-;jécarÜsme est évidemment compatit,IE ~Jec

:e

rrocessus de prisa de conscience décrit par ~IAGET 1974) qui met la prise ··S conf~iencE jas coordina~ionsdes actions ~ un niveau supéri8llr è celui de

l'exécu-N~3n~oins, Jour étudier la programmation, l'analyse doit être poussée Glus lcjn . En exécutant une procédure. le sujet se représente éventuellement les états

' i l p~rcourt pendant une axécutiorl, mais il n'est pas nécessaire qu'il se représerlte le pro~èd~r8elle-même. C'est une telle représentation que nécessite l'expression et l'élaooratior de cette représentation doit être étUDiée de plus près.

Dans la str~cturede contrôle~ l'expression des structures itératives bst ~l~s ais~8 q~8 celle ~es structures conditionnelles. La struct~re itérative est compatible avec Ln enchalnement au cours d'urie exécution et la mise en relèti8n des itér'i3tions successives peut être assez aisée. En revanche, la ~iS8 en relation qU'Q-pB['e une strucTure conditi8!~nel18 entre plusi8Lrs traitements est ~trangèr8 ~ l'exé-cution . On oeut m§me se d8ma~d2r, dans certairls cas, si les procédures qui font a~paraltradES s:ructurs5 ~~nditionnellespl'és8ntsnt toujours. pour lE suje:. les

(10)

peut souvent être mise en question : la mise en relation de procédures dont les

exécutions sont exclusives paraît alors arbitraire. Notons qu'en Algèbre,

l'itéra-tion a des expressions consacrées, tandis que la structure conditionnelle n'en a

pas : elle est exprimée dans un autre langage

- 3. Les structures de bas niveau sont exprimées avant les structures de haut niveau, d'autant plus que la procédure est peu familière. Ceci peut se noter lorsque la procédure a une structure de contrôle hiérarchiquement décomposable ( em-boîtement de structures telles que celles que j'ai évoquées J • On pour~a encore évoquer ici PIAGET. C'est cette question que j'étudie plus particulièrement à l'heure actuelle, chez des programmeurs professionnels. Notamment, il s'agit de savoir dans quelles conditions il leur est possible d'exprimer et d'évaluer des structures de haut niveau, avant d'introduire des structures de plus bas niveau. Les premières sont des plans d'ensemble par rapport aux secondes qui sont des plans plus locaux Les méthodes de programmation actuelles, qui sont enseignées dans les centres de formation, préconisent cette manière de faire que l'on peut qualifier de planification descendante. Elle s'oppose à une planification ascendante qui suit le chemin de la prise de conscience . Mon sentiment est que les deux stratégies présentent des carac-tères heuristiques, mais dans des conditions qui sont différentes. Il est notamment clair que la planification descendante permet de limiter l'espace de la conception du programme, en transférant des structures de programmes résolvant des problèmes que l'on suppose analogues et que l'on connaît. L'autre stratégie est sans doute plus adéquate lorsque le problème est relativement nouveau. Mais j'anticipe ici sur le second type d'activité dont je voulais discuter et par lequel j'achèverai cet

ex-posé: l'expression d'une procédure. conjointement à son élaboration

B . Expression et élaboration de procédures

Il s'agit évidemment du cas le plus courant chez les sujets que j'ai

(11)

dit plus haut, le problème consistait toujours pour eux à adapter une procédure connue aux règles de fonctionnement de l'ordinateur. Par conséquent, les données obtenues me paraissent trop spécifiques pour être généralisées .

Chez les débutants, on trouve essentiellement deux types de straté-gies de programmation :

- 1. Des stratégies d'exécution mentale: le sujet définit mentalement des données particulières, à partir desquelles il élabore des séquences d'instructions élémentaires qui produisent les résultats correspondants. Les séquences peuvent être ensuite restructurées dans des plans d'ensemble: il s'agit d'une planification as-cendante . On retrouve donc là une caractéristique des situations de pure expression

- 2. Des stratégies de planification par analogie: le sujet transfère le plan d'ensemble d'une procédure connue, mais conçue pour un dispositif d'exécution différent de l'ordinateur. Après que le plan ait été quelque peu détaillé ( planifi-cation descendante l, son inadéquation au dispositif que constitue l'ordinateur ap-paraît: il est alors, soit abandonné, soit remis en question localement. On retrouve le problème de l'acquisition des règles d'utilisation de l'ordinateur.

Les données recueillies sur l'apprentissage de la programmation in-formatique me paraissent impropres à la généralisation à toutes les situations de programmation. Si le programmeur ne dispose pas toujours d'un algorithme complet et détaillé avant de construire son programme, il dispose en général de bon nombre d'éléments de cet algorithme.

Les stratégies de résolution de problème, sans nécessité d'expression de la procédure, diffèrent déjà d'un domaine à l'autre. Il Y a donc lieu de procéder à des analyses domaine par domaine, avant de vouloir conclure d'une façon générale.

(12)

~uint ;je

1,1 :"J'sgit bieri 8s1

cJev 1er: 7 l 8 ' e , de la modifier" 8'": lr-Idilt .

oCIJ;-:,lème.

rimentatior;s dirETCe'1F.J:t c:ent.r.s2::i sur 1':'::E>t tB i]'J8Stic'i lBS sujets qu'on OJlig~ t plus vi te lr::'::c

dans certains cas} JLres . Mais c'ast

(13)

isati~~ pour' servir j l'arlôlY58 ~sy-l!JgiquB ~'url travail de contrôle. L.B Travail ~Iumain, 1972, [1]J :--1fJ.

r_~. .J. ;~ole uf rL8r-ltal rep!""'858ntatiDn iri lsarnir,g a programr':ling language ic,nal J~~i-:al cf Man-n:-=~..:<nt:; S~~~~2~' '1977, 9 (1l, 7-"0':;

2r'o~léme jE 13 ~ianificat

J~B . LB Travail Humairl. 1 j, Url f:->:emple

jë:Jn~: 42 (

la P'j~/c;h[;r_é'(jago~jL:J8 de ~13 prcig:r,~]rnmëlti[J·l • Iilfc.I"'iT!::Jtiqu8 et ~)cj.8nc;85 urloirl85,

4ê. 6:;"-65

KUA~ [A.J Etude de stratégies dB résolutiDrl cr =,t.,lèiT!8 dans CS2 2,i.~:uGtions di':; c:c;rr:mande et ,je programmation ~8 dis~;'sitiT'3 ~nformatiClJe3 . Rapoor'I des corventionc ue Recherche 78153-154 . ADI-EPHE-PAF'L3 \j .

[M. l, TriS design and US2 of conventioflôl ~rogramminglanguages in SMIT'H (H.T.l,

~REE>J [T.R.l~•.i, eds, Human interactior-l '",'ith COmpJt8rs . Londor-I, fI.C:àderrdc

FT8SS, 321-347

F-'l.A,I~EI (J.J, LEj pri'38 de conscience, Paris. P.U.F., 1974 .

~Ir':O~J (H . J, Hi\YE::, (J.;'~.J, The understanding prc:cesses : prob18m isomorpils . .Cogniti\/E

Fsy'cho1CJgy, 197C, E l2j, '165-1

rOUNGS [C.A.], Human errora in ~rogrammins International Journal of Man-Machine (.~,t'J:jies, 4974-,

Références

Documents relatifs

La température est liée à l’agitation moléculaire du liquide donc finalement à son énergie interne. Ici on a donc eu un transfert d’énergie interne, appelé transfert thermique.

L’application rigoureuse des règles d’hygiène tout au long du processus de fumage et de la mise en vente réduirait de façon significative la flore microbienne de contamination

Therefore, the present investigation was carried out to study the effect of breed (Uda and Balami) and non-genetic factors (sex of lamb, parity of dam, year

Objectif : Évaluer la qualité physico-chimique et microbiologique des eaux de source du village de Mangouin-Yrongouin dans la localité de Biankouman (Côte d’Ivoire).. Méthodologie

Dans un tube à essais, versez 1mL de solution de diiode puis à la burette, versez lentement quelques mL de solution de thiosulfate de sodium.. Refaites le même test en ajoutant 2 à

Ce principe actif, insoluble dans la solution gastrique (pH=2) sous sa forme acide AH, est lentement assimilé par la muqueuse gastrique, ce qui a un effet corrosif pour

La Ministre confirme sa positon et réaffirme l’exclusivité de l’exercice professionnel rappelé dans le Code de la Santé Publique. Celui-ci permettra de prolonger pour

 L’hypothermie thérapeutique s’est élargie vers le concept plus large de contrôle ciblé de la température, impliquant soit un maintien d’une normothermie stricte,