L'informatique et son enseignement
Conférence invitée à la première conférence mondiale
sur les ordinateurs et l'éducation, Amsterdam 1970
Jacques Arsac
Présentation par Georges-Louis Baron
Le texte qui suit est une traduction depuis l'anglais de l'intervention invitée de Jacques Arsac, un des premiers pionniers et promoteurs de l'enseignement de l'informatique, à la première conférence internationale sur les ordinateurs en éducation organisée par l'IFIP (International Federation for Information Processing) à Amsterdam en 1970 [1].
Cette conférence, organisée la même année que le fameux séminaire de Sèvres du CERI-OCDE marque la naissance de l'informatique comme sujet d'intérêt prioritaire pour l'éducation au niveau mondial. Parmi les autres interventions invitées à cette conférence, on note en particulier celles de Seymour Papert sur le langage LOGO (teaching children thinking) et celle de Jacques Hebenstreit (l'impact social des informaticiens (computer scientists)).
http://www.ifip-tc3.net/IMG/pdf/Conf-1970-part-1.pdf
Le texte de J. Arsac est intitulé « informatics and computer education », ce qui correspond au vocabulaire courant de l'époque. Le point de vue exprimé frappe par sa modernité et, aussi, par sa conception affirmée de l'informatique comme discipline scientifique majeure, se situant en opposition par rapport au domaine technique.
Nous avons laissé la plupart des petites erreurs repérées dans la publication (dont celle affectant la numérotation des sections) car elles n'affectent pas la compréhension du texte.
1. Introduction
Je suis professeur d'informatique depuis 1964 et j'ai été membre du comité technique de l'IFIP pour l'éducation de 1964 à 1968. Jusqu'à présent, je doute qu'une solution générale au problème des programmes d'enseignement de l'informatique ait été trouvée et, en outre, qu'elle fasse l'objet d'un accord universel. On peut s'étonner d'une telle situation. En fait, le problème est lié à la conception de l'informatique en tant que science ou en tant qu'ensemble de techniques. Chaque curriculum est une définition de l'informatique et chaque professeur évalue ce programme en fonction de sa propre définition.
Je ne connais pas d'alternative pour résoudre le problème que de définir l'informatique et, à partir de la définition qui en découle, à concevoir un programme d'études.
Je n'espère pas apporter ici une solution à une telle question, mais je souhaite simplement lancer une discussion.
2. L'informatique en tant que science
2.1. L'information
Plusieurs définitions de l'informatique ont été données, mais aucune n'est entièrement satisfaisante. Certains affirment qu'il n'existe pas de science informatique. Il existe des mathématiques et des techniques de traitement de l'information qui permettent d'exécuter les algorithmes définis par les mathématiques [2]. Il y a des partisans de « computer science ». Cette science ne concerne que les ordinateurs et leurs applications. On peut se demander si une telle science peut exister. Le professeur Perlis m'a fait un jour quelques remarques sur le fait que les ordinateurs relèvent effectivement de la science.
J'utiliserai le terme « INFORMATIQUE » au lieu de « SCIENCE DE L'ORDINATEUR », pour insister sur l'information qui est l'objet de cette science, et non sur les ordinateurs qui ne sont que des outils de traitement de l'information.
Il me faut maintenant définir plus précisément ce qu'est l'information. Les grandes lignes d'une telle définition sont bien connues. Soit V une variable, et E un ensemble fini. L'information est l'indication de la valeur prise par V dans E. Cette définition est classique et peut être acceptée par tous.
Néanmoins, elle a des conséquences importantes. En disant que l'information est l'indication de la valeur, et non la valeur elle-même, on fait de l'information une simple marque, ou une étiquette. Je dissocie complètement la chaîne de caractères utilisée pour réaliser l'information du sens qu'elle peut porter et qui est la valeur elle-même.
En d'autres termes, je peux dire que l'information est une chaîne de caractères, prise dans un alphabet donné : une chaîne capable d'apporter une connaissance ou un sens. Je distingue donc soigneusement l'aspect formel ou syntaxique que j'appelle information de l'aspect signifiant ou sémantique, que j'appelle connaissance. Je n'ai pas d'autre raison de le faire que de constater que cela se produit effectivement dans certains domaines (dans la mémoire centrale d'un ordinateur, dans la programmation, la compilation, la traduction automatique, la reconnaissance des formes...). Je me contente de généraliser cette idée en tant que principe (ou axiome) fondamental de l'informatique.
2.2. L'informatique
Je définis l'informatique comme la science du traitement de l'information, mais j'ai distingué l'information de la connaissance. Le cerveau humain effectue beaucoup de « traitement des connaissances » ; chaque fait qu'il obtient est comparé et associé à d'autres connaissances. Il peut être ignoré ou intégré dans des ensembles coordonnés. Ceux qui m'écoutent encore peuvent comparer mes idées à leur propre opinion et conclure qu'elles sont évidentes, sans intérêt ou tout à fait stupides.
Un tel traitement des connaissances ne relève pas de l'informatique, selon ma définition de l'information. Cette science ne s'intéressera qu'à la manipulation de chaînes de caractères, sans aucune référence à leur signification. On peut se demander si une telle manipulation a un intérêt pour le cerveau humain. L'expérience nous montre que nous pouvons utiliser efficacement ce traitement pour obtenir de nouvelles connaissances. Il existe des liens entre le traitement de l'information et le traitement des connaissances.
Dans de nombreux cas, nous pouvons trouver des règles grammaticales suffisamment fortes pour garantir que la forme syntaxique d'un texte implique son sens. Cela revient alors à manipuler la chaîne de caractères ou le sens qui lui est attaché. Un traitement de l'information apporte de nouvelles connaissances.
On ne peut donc pas concevoir une méthode de traitement de l'information qui ne serait pas automatique ; l'informatique ne peut pas faire référence au sens d'un texte. Toutes les structures grammaticales possibles doivent être prévues et ce qu'il faut faire dans chaque cas doit avoir été énoncé au préalable. Nous ne pouvons pas prendre la bonne décision en cas de difficulté sans examiner ce que cela signifie. C'est la raison pour laquelle la définition que je donne ici implique cette autre définition : l'informatique est la science du traitement automatique des données. Selon moi, le mot « automatique » est redondant. Les seuls traitements possibles de l'information sont les traitements automatiques.
Le traitement automatique des données peut être effectué sur une machine appropriée. C'est la raison pour laquelle les ordinateurs sont si importants en informatique.
Théoriquement, tout traitement de l'information peut être effectué sur une telle machine. Mais certains sont trop sophistiqués pour être effectués sur de vrais ordinateurs. Néanmoins, il ne s'agit là que d'un problème technique. D'un autre point de vue, l'ordinateur n'est pas un outil indispensable pour le traitement de l'information. Certains enregistrements peuvent être effectués avec un papier et un crayon : le policier qui inscrit dans son carnet le numéro d'une voiture en stationnement illégal fait du traitement d'information : il ne fait que noter une chaîne de caractères, sans aucune signification. C'est une raison pour laquelle je ne pense pas que l'ordinateur soit le fait essentiel de l'informatique ; ce n'est qu'un outil, mais un outil particulièrement bien adapté.
2.3. La méthode informatique
Soit un problème de traitement des connaissances ; la résolution de ce problème par l'informatique se fait généralement en trois étapes.
2.3.1. Analyse
Nous voulons traiter des connaissances. Il faut d'abord transformer ces connaissances en informations en choisissant un codage bien adapté, ou un langage approprié, si l'on veut faire apparaître les structures de connaissances par des structures de langage. La codification ou le langage doivent être choisis de manière à ce que la forme des textes implique la connaissance qu'ils produisent. Dans de nombreux cas, la codification numérique est utilisée. Cette codification est si ancienne et si fréquente qu'elle ne ressemble pas à une codification et que l'étape de l'analyse n'est pas apparente dans ce cas ; elle existe pourtant.
2.3.2. Algorithme
En second lieu, il faut définir une procédure de traitement de l'information et la rendre utile à l'informatique ; elle doit toujours être exprimée par un nombre fini d'opérations sur des caractères finis. Dans de nombreux cas, les considérations mathématiques donnent un algorithme abstrait ou théorique ; il faut le transformer en algorithme concret, comme je viens de le dire. C'est le problème majeur de l'analyse numérique (approximation).
La transformation d'un problème en un problème numérique est une façon de faire de l'analyse. Les mathématiques disent quelque chose sur l'existence et l'unicité d'une solution et donnent des méthodes pour approcher cette solution. Il reste à construire un algorithme concret capable de donner la solution en un nombre raisonnable d'opérations, avec une précision suffisamment connue. Il s'agit parfois d'un problème très difficile dans lequel les mathématiques n'apportent qu'une petite aide.
Dans certains cas spécifiques (tels que les structures en ensembles finis : graphes, combinatoire, analyse syntaxique...), un algorithme concret est identique à un algorithme abstrait. Dans ces cas, la conception d'algorithmes est purement mathématique.
Dans d'autres cas (gestion par exemple), l'algorithme concret est une conséquence directe de l'analyse ; aucune préparation mathématique n'est nécessaire.
2.3.3. Traitement
Après avoir construit un algorithme, il faut l'exécuter avec des moyens appropriés : papier et crayon, ordinateur, calculateur analogique ou hybride... Nous devons prouver que ce traitement permet effectivement d'exécuter l'algorithme requis. Conformément à ce qui a été dit sur l'information et la signification, la programmation consiste à écrire un algorithme, conçu au niveau sémantique, sous une forme suffisamment précise pour être utilisable sur un ordinateur, quel que soit le langage de programmation. Il est nécessaire de vérifier l'accord entre la forme syntaxique du programme et la signification qu'il porte, la correction syntaxique n'étant qu'une preuve partielle.
2.4.1. L'informatique fondamentale
L'informatique est une science dont l'objet est spécifique : le traitement de l'information. Elle est en elle-même un objet d'études et de recherches. Elle peut être considérée dans une indépendance partielle des applications possibles. Elle doit toujours améliorer ses méthodes, rendre plus efficaces et plus faciles ses outils : programmation, logiciels, ordinateurs... Comme les autres sciences, elle doit reconnaître dans les applications pratiques des structures universelles et formaliser des situations concrètes pour en donner des schémas descriptifs abstraits, afin d'élargir le champ d'application.
2.4.2. L'Informatique appliquée
Le traitement de l'information peut être adapté à des situations très variées. C'est un outil pour d'autres sciences. Nous connaissons de nombreux exemples d'applications informatiques. Certaines sont reconnues sans contestation, comme l'informatique médicale, l'enseignement assisté par ordinateur et la recherche d'informations. D'autres applications sont parfois considérées comme faisant partie intégrante de l'informatique. Cela est dû à une définition insuffisante de cette science.
Il y a une application de l'informatique quand la méthode de cette science, telle que je l'ai décrite dans le paragraphe précédent, est utilisée dans un domaine spécifique pour obtenir un résultat intéressant dans ce domaine. Dans une application donnée, ce qui est intéressant n'est pas l'amélioration des méthodes informatiques, mais les résultats fournis par cette méthode. Par exemple, le problème de l'analyse est, au niveau fondamental, un problème de propriétés du codage ou des langages.
Au niveau appliqué, c'est le choix d'un codage spécifique, ou la conception d'une nouvelle grammaire adaptée à un champ de significations particulier qu'il faut d'abord définir. C'est le cas de la collecte de données en gestion, de la transformation d'une grammaire naturelle pour la traduction automatique, de la conception d'un langage de formes pour la reconnaissance de formes... Pour ces raisons, je dis que l'analyse numérique est un chapitre des mathématiques utilisant l'informatique ; de la même manière, la recherche opérationnelle et la gestion sont des domaines spécifiques de l'informatique appliquée.
2.4.3. Liens entre l'informatique fondamentale et l'informatique appliquée
Cette situation n'est pas nouvelle. Il existe des mathématiques pures et des mathématiques appliquées, de la physique fondamentale et de la physique appliquée. Leur confusion peut être préjudiciable aux étudiants. Les applications sont infiniment variées et diversifiées. Chaque application suppose la connaissance du contexte spécifique dans lequel elle est développée. À l'opposé, l'informatique fondamentale ne nécessite pas une connaissance précise de ces contacts. Cela donne des aspects très différents aux cours dans les deux domaines.
La distinction entre ces deux aspects est fondamentale pour l'enseignement, mais ne conduit pas à une séparation profonde entre eux, comme cela s'est produit en France pendant plusieurs années entre les mathématiques pures et les mathématiques appliquées. Les applications peuvent devenir de plus en plus efficaces seulement si on fait progresser l'informatique fondamentale. Cette dernière peut trouver de nouvelles idées et de nouveaux problèmes à résoudre uniquement par l'étude de diverses applications.
L'informatique fondamentale et l'informatique appliquée sont comme les deux faces d'une même pièce ; elles sont absolument distinctes et indivisibles sans pour autant tuer l'informatique elle-même.
2.5 Connexions avec d'autres sciences
L'informatique a un objet spécifique qui n'appartient à aucune autre science : l'information, selon la définition précédente et le traitement de l'information ; mais elle n'est pas indépendante des autres. La comparaison avec d'autres sciences permettra de préciser les liens entre l'informatique et les mathématiques ou la physique.
La physique observe les phénomènes, construit des modèles abstraits de ces phénomènes et utilise les mathématiques pour leur étude. De la même manière, l'informatique construit des modèles, crée des structures pour l'information et son traitement. Les mathématiques sont utiles pour l'étude des modèles ou des structures. Certains physiciens peuvent eux-mêmes réaliser une étude mathématique de modèles, mais ils le font toujours avec un « esprit physique » et les résultats sont parfois suspects (souvenez-vous de la fonction delta de Dirac).
Les mathématiciens s'intéressent à certains problèmes extraits de la physique : potentiel ou relativité... Quelques livres de méthodes mathématiques pour physiciens ont été publiés, par exemple Courant et Hilbert, Morse et Feshbach, etc.
Nous disposons déjà de quelques livres de mathématiques pour l'informatique (mathématiques finies, etc.). La théorie des langages est un chapitre difficile des mathématiques et nous devons être prudents par rapport à la vraie difficulté qui est d'avoir de bonnes mathématiques utiles à l'informatique. Mais la physique n'est pas un chapitre des mathématiques. Pour ces raisons, je dis que l'informatique n'est pas un chapitre des mathématiques.
La connexion de l'informatique avec d'autres sciences peut être comparée à celle des mathématiques. Comme les mathématiques pures, l'informatique est un sujet de recherche en soi... Comme les mathématiques appliquées, l'informatique est un sujet de recherche en soi. Comme les mathématiques appliquées, elle est un outil pour les autres sciences. Elle n'apporte pas les mêmes services que les mathématiques, car elle est davantage que du calcul automatique.
La simulation est une méthode très puissante, différente de la modélisation mathématique. La manipulation de fichiers est une autre application importante de l'informatique. Dans de nombreux cas, le calcul pratique est une chose difficile sans aucun problème mathématique. L'utilisation correcte d'un ordinateur relève de l'informatique, pas des mathématiques.
3. L'enseignement de l'informatique
3.1. Situation générale
À l'heure actuelle, la situation de l'informatique dans les écoles et les universités n'est pas très bien définie : elle varie d'un pays à l'autre. Je n'aborderai que ce qui se fait en France.
Au début, nous avions des cours d'analyse numérique, avec des détails techniques sur les ordinateurs et la programmation : ils étaient donnés comme des cours de mathématiques appliquées. Aujourd'hui, le département d'informatique, quand il existe, fait toujours partie du département de mathématiques appliquées.
Néanmoins, il était dès le début évident que l'informatique ne pouvait pas être réduite à un chapitre de mathématiques. Par exemple, de nombreuses thèses en informatique ne peuvent pas être considérées comme des thèses mathématiques et appréciées selon les critères de cette science. Nous ne pouvons pas demander à tous nos étudiants de connaître les espaces de Hilbert ou les théories des espaces vectoriels topologiques.
Nous avions des cours de FORTRAN ou d'ALGOL pour les utilisateurs d'ordinateurs. Il s'est avéré que cela n'avait aucune valeur en tant que cours d'informatique. C'est juste une aide pour ceux qui sont capables d'analyser un problème et de construire un algorithme. Même dans ce cas, cela conduit à une mauvaise utilisation des ordinateurs. L'essentiel est de donner aux utilisateurs un moyen de comprendre ce qu'est l'informatique et l'aide qu'elle peut apporter.
C'est pour ces raisons que nous avons développé l'informatique en tant que science autonome. Dans certaines universités, il existe un enseignement d'informatique, distinct des cours de mathématiques ou d'électronique. Il s'agit en fait d'un enseignement fondamental de l'informatique.
En octobre 1968, nous avons commencé à développer des cours de mathématiques appliquées (Université de Paris) pour quelques milliers d'étudiants de diverses disciplines (des mathématiques à la géographie ou à l'économie).
Cette situation n'est pas conforme à ce que je viens de dire à propos de l'informatique. Cette nouvelle science doit être enseignée en tant que telle à différents niveaux, par des professeurs spécifiques comme c'est le cas pour les mathématiques. Ce n'est que pour des raisons historiques que de nombreux professeurs d'informatique sont, à l'heure actuelle, des mathématiciens ou des physiciens. C'est en fait une difficulté pour le bon développement de cette science.
J'examinerai brièvement trois niveaux d'enseignement de l'informatique.
3.2. l'informatique pour tous
Toutes les autres sciences sont présentes dans l'enseignement secondaire (mathématiques, astronomie, géologie, physique, etc.) et c'est une raison suffisante pour introduire l'informatique dans ces écoles, mais je pense qu'il y a des arguments plus sérieux. Le problème n'est pas de parler d'une technique importante : il y a trop de techniques pour parler de chacune. D'un autre point de vue, il n'est pas nécessaire de commencer immédiatement à préparer la formation d'informaticiens. L'expérience montre que l'on peut obtenir de bons résultats avec les seuls cours universitaires.
L'informatique est une manière spécifique de considérer et de traiter l'information. Il s'agit d'une discussion très importante sur les langages, en tant que représentation de la connaissance et lien entre la syntaxe et la sémantique. Elle contribue certainement au développement de la pensée et de l'expression.
Selon le schéma précédent, il est nécessaire de commencer par des exemples dans lesquels l'aspect sémantique est simple et bien connu, afin de mettre l'accent sur l'aspect syntaxique. L'important n'est pas que dire, mais comment. Des algorithmes de calcul (multiplication, division, racine carrée). Algorithme d'Euclide, numération binaire ou octale) peuvent donner lieu à des exercices très efficaces dans le cadre des cours de mathématiques. Il s'agit essentiellement d'exercices concrets et pratiques. La lecture d'organigrammes ou de petits programmes dans des langages appropriés est une chose aisée même pour de jeunes élèves. Il n'est pas évident que l'écriture de tels programmes soit possible. Certains organigrammes dans le champ de l'analyse syntaxique d'expressions simples pourraient donner des idées ou des relations entre les structures syntaxiques et la sémantique, tout comme le faisaient les cours de latin. Je ne sais pas si des cours sur les ordinateurs sont nécessaires à ce niveau.
À un niveau plus élevé, tout étudiant universitaire doit avoir des cours généraux d'informatique appliquée, puisqu'il peut devenir un utilisateur de cette science, l'informatique étant au moins aussi utile que les mathématiques dans d'autres sciences. Ces cours ne doivent pas se limiter au calcul numérique, qui n'est qu'une partie particulière du traitement de l'information. Ils doivent montrer la nature exacte de l'informatique et présenter le difficile problème de l'analyse. Des cours sur les ordinateurs sont indispensables pour donner une vision juste de ce qu'ils peuvent faire.
3.3. Informatique appliquée
Pour des applications spécifiques, l'informatique doit être enseignée dans les disciplines principales aux étudiants intéressés par cette nouvelle discipline. C'est le cas en médecine, en économie, en linguistique, en histoire et, naturellement, en physique, en chimie, en biologie, en mathématiques (pourquoi pas ?). Les cours d'informatique appliquée ne doivent pas se limiter à l'analyse numérique, mais inclure des éléments sur l'information et ses représentations, les structures de données, les ordinateurs et leurs langages (langage machine ou langage d'assemblage), les langages algorithmiques. Ces ouvrages constituent une introduction à l'analyse, puisqu'il semble impossible à l'heure actuelle de donner des cours dans cette matière. Ces travaux sont une introduction à une analyse, puisqu'il semble impossible à l'heure actuelle de donner des cours sur ce sujet. L'importance du langage d'assemblage ne doit pas être minimisée. Une bonne intelligence de ce qu'est l'informatique et de ce qu'elle peut faire est impossible sans une bonne connaissance des ordinateurs qui ont donné naissance à cette science. Même si les étudiants n'utiliseront jamais un tel langage, ils doivent en connaître un. L'expérience acquise à Paris en 1968-1969 a été très fructueuse.
La gestion est, à mon avis, une question d'informatique appliquée. Elle consiste en la conjonction de deux types de cours. D'une part, il y a des cours d'économie, de gestion, d'administration. D'autre part, il y a un très vaste domaine d'informatique appliquée. Aux cours généraux décrits précédemment, il faut ajouter des cours sur les grands ordinateurs : systèmes d'entrée-sortie, supports de stockage (bandes, tambours, disques...), fichiers, et tous les problèmes qui y sont liés (étiquetage, maintenance, contrôle d'accès et sécurité...), systèmes de programmation (overlay, systèmes orientés fichiers, langages commerciaux, banques de données, accès à distance...). Il s'agit d'une partie très importante de la gestion, même si l'aspect mathématique est très réduit. Il s'agit d'un cas particulier d'informatique appliquée.
3.4. Informatique fondamentale
L'informatique fondamentale concerne un public plus restreint que l'informatique appliquée. Nous avons une expérience plus approfondie de ce domaine, qui est enseigné en France depuis plusieurs années (Paris, Grenoble, Toulouse). Son cursus actuel consiste de :
3.4.1 L'information et sa représentation.
3.4.2 Contexte mathématique : structures algébriques (théorie des ensembles finis, monoïdes..) combinatoire, arithmétique, théorie du codage. Certains cours d'analyse numérique, de recherche opérationnelle, sont des exemples typiques d'études mathématiques apportant des algorithmes.
3.4.3 Théorie des langages formels.
3.4.4 Méthodes algorithmiques et leurs langages : Algol, Lisp, simulation...
3.4.5 Les ordinateurs et leurs langages du point de vue fonctionnel.
3.4.6 Matériel (considérations générales. Il ne s'agit pas d'un cours avancé).
3.4.7 Logiciels et systèmes d'exploitation. Superviseurs d'entrée-sortie.
3.4.8 Problèmes de compilation. Analyse syntaxique. Allocation de mémoire.
Il ne s'agit là que des principales lignes directrices d'un curriculum. Chaque point est donné à un niveau général. Il peut être développé pour des spécialistes. L'importance d'une formation mathématique dépend de la spécialisation. L'informatique en est au stade de l'observation et de l'expérimentation. Nous devons recueillir des expériences concrètes dans divers domaines (les logiciels par exemple) à partir desquelles nous pouvons reconnaître des structures ou des concepts généraux, puis concevoir des modèles abstraits donnant de nouvelles réalisations. C'est le processus général de croissance de toute science. Au début, la spectroscopie consistait à photographier des spectres. À partir de collections de spectres, des lois générales ont été déduites et vérifiées par de nouvelles expériences. Aujourd'hui, la spectroscopie est un moyen puissant pour étudier la structure de la matière.
En fait, nous avons besoin d'expérimentateurs très familiers avec les ordinateurs, travaillant sur des problèmes de programmation difficiles : fichiers, gestion de la mémoire de sauvegarde, systèmes d'exploitation, multiprocessing, tests de programmes... Leurs connaissances mathématiques peuvent être assez faibles, comme pour les chimistes par exemple (elles sont différentes, essentiellement basées sur l'algèbre). Les choses vont changer. Comme toute autre science, l'informatique fera de plus en plus appel aux mathématiques.
Le curriculum que j'ai présenté ici ne correspond pas exactement à ce que j'ai dit de l'informatique. Il n'y a que peu de choses sur sa nature précise, la partie des langages qui transforme les données en informations (cela est seulement donné pour certaines applications spécifiques, comme la reconnaissance des formes, l'intelligence artificielle, la traduction automatique).
3.5. Points critiques
Certains points sont encore très difficiles à enseigner : l'analyse, le logiciel, la programmation pratique, telle qu'elle apparaît dans diverses applications.
Pour tous ces problèmes, nous n'avons pas de description mathématique, pas de concepts généraux ni de structures. À mon avis, la nature exacte de ces problèmes n'était pas assez claire, mais elle est apparaît mieux avec la définition de l'informatique que je l'ai donnée ici.
L'analyse n'est généralement pas présentée comme une transformation de la sémantique en une forme syntaxique écrite. On parle de collecte de données en gestion. En fait, ce qui est recueilli n'est pas de l'information, mais des éléments de connaissance, codifiés à l'aide de fiches spécifiques, la réponse aux questions étant la codification transformant la connaissance en information. Dans tous les cas, il s'agit toujours d'un problème de codification, comme pour la programmation au début.
L'utilisation d'un langage spécifique avec une grammaire appropriée pourrait simplifier la collecte des données et réduire le taux d'erreurs.
La difficulté avec le logiciel est la même. Nous n'avons pas mis en évidence les concepts sémantiques et la syntaxe associée. Une description plus précise des entités manipulées par les systèmes pourrait en permettre une présentation plus efficace. Il existe quelques expériences de langages orientés système. Ils ne sont conçus que pour simplifier leur programmation . Nous avons besoin d'une sémantique correcte des systèmes.
Les problèmes les plus difficiles de la programmation efficace sont du même type. L'utilisation des langages d'assemblage rend inapparents les concepts fondamentaux de chaque application et la manière de leur donner une représentation formelle adéquate. Nous n'avons pas la possibilité de décrire toutes les applications possibles aux étudiants. Nous n'avons pas de façon générale d'aborder ces problèmes.
Je pense que la solution à de telles difficultés est d'étudier la représentation de la connaissance par l'information. Si ce que j'ai dit sur l'informatique est correct (je n'en suis pas du tout sûr), nous avons une ligne générale de recherche pour l'analyse. Elle peut conduire à d'importantes améliorations dans l'enseignement de l'informatique. Elle peut aussi ne mener nulle part. L'avenir nous dira où se trouve la vérité.
Jacques Arsac
Professeur d'informatique
Cet article est sous licence Creative Commons Attribution 4.0 International.
https://creativecommons.org/licenses/by/4.0/deed.fr
NOTES
[1] Jacques Arsac, décédé en 2014, a joué un très important rôle dans la création d'une discipline informatique :
https://www.epi.asso.fr/revue/lu/l1402j.htm.
[2] J. Kuntzmann. Ou vont lcs mathemntiqucs ? Paris.Hermann 1967.
|