Projet éditorial

Pourquoi apprendre à programmer ?

Si vous avez ce livre entre les mains, c’est que vous avez envie d’apprendre à programmer. Comme je ne vous connais pas, j’ignore vos motivations, mais j’aimerais dans ces quelques lignes vous montrer que les raisons qui peuvent pousser à se lancer dans cette aventure sont vraiment nombreuses et dépassent sans doute ce que vous aviez imaginé. Bien entendu, je souhaite aussi convaincre les indécis qui pensent que cette entreprise n’est vraiment pas pour eux et qui hésitent encore à sauter le pas. Prenez le temps de lire ces lignes et vous déciderez après si un tel projet peut vous enrichir intellectuellement. Mais avant toute chose, vous devez savoir que ce livre a été conçu pour tous ceux qui n’ont jamais écrit une seule ligne de programme informatique de leur vie et qu’il s’adresse vraiment aux débutants, les prérequis pour bénéficier de cet ouvrage étant minimalistes.

Aujourd’hui, tout le monde apprend à coder !

L’apprentissage du codage informatique est devenu obligatoire au collège depuis la rentrée 2016, et les élèves du cycle 4 (de la 5e à la 3e) reçoivent « un enseignement d’informatique, dispensé à la fois dans le cadre des mathématiques et de la technologie. Celui-ci n’a pas pour objectif de former des élèves experts, mais de leur apporter des clés de décryptage d’un monde numérique en évolution constante. Il permet d’acquérir des méthodes qui construisent la pensée algorithmique et développe des compétences dans la représentation de l’information et de son traitement, la résolution de problèmes, le contrôle des résultats. »[1] Dans la mesure où le codage figure désormais dans les programmes de la scolarité obligatoire, il paraît donc intéressant que les parents et les grands-parents aient une idée de ce qui est enseigné à leur progéniture et ne se sentent pas complètement largués par la nouvelle génération. Apporter des clés pour décrypter un monde numérique en constante évolution est véritablement un objectif socialement et politiquement louable et c’est aussi l’ambition de ce livre de vous faire comprendre le monde dans lequel nous vivons et où l’informatique a pris tant de place.

Apprendre à programmer est très formateur pour l’esprit

Dans les années 1960, on vantait les mérites de l’apprentissage du latin dont la grammaire était censée faire des merveilles pour le développement de l’esprit. Même si cette discipline était sans doute plus un marqueur social important dans la reproduction des élites, il n’en reste pas moins que certaines matières sont extrêmement formatrices et la programmation en fait partie. Outre la logique, qui est une part importante de la programmation, la recherche de solutions, leur formalisation ainsi que leur modélisation sont des éléments capitaux du codage, qui mettent en œuvre des mécanismes cognitifs que l’on retrouvera d’ailleurs dans de nombreux aspects de la vie quotidienne. Il est par conséquent indubitable que l’apprentissage de la programmation a un effet bénéfique sur la formation de l’esprit.

Apprendre à coder permet de trouver du travail

Même si la finalité de cet ouvrage n’est pas de former des informaticiens professionnels, il est indéniable que l’on manque de codeurs en France et qu’avoir des compétences en ce domaine peut ouvrir des portes. Aujourd’hui, bon nombre de diplômés en sciences humaines de l’enseignement supérieur se reconvertissent avec succès dans l’informatique après une formation initiale qui n’a aucun rapport avec cette discipline. Si ce livre peut susciter quelques reconversions, il aura atteint son but. Il est également nécessaire de ne pas insulter l’avenir. En effet, de nombreuses études prédisent qu’une bonne part des emplois qualifiés qui vont émerger dans une dizaine d’années n’existent pas encore et qu’une partie non négligeable de ces emplois relèvera du secteur de l’activité numérique.

Programmer fait gagner du temps

On a parfois un peu tendance à l’oublier, mais un programme permet de gagner du temps et de faire l’économie de tâches parfois très fastidieuses. La fonction première des ordinateurs a été d’accroître la productivité, et la programmation, même à un niveau modeste, va vous permettre de gagner un temps précieux, surtout si vous accomplissez des tâches répétitives. En effet, l’automatisation des tâches va augmenter votre productivité, parfois dans des proportions que vous n’imaginez même pas. En plus du gain de temps, vous allez également vous affranchir des tâches pénibles et pouvoir ainsi vous consacrer à des tâches plus nobles. Enfin, vous constaterez que l’amélioration est non seulement quantitative, mais également qualitative.

Coder permet de mieux utiliser un ordinateur

Apprendre à programmer, c’est devenir acteur du processus informatique. Quand on programme, on est moins passif devant sa machine et on acquiert une meilleure connaissance du fonctionnement matériel et logiciel de l’ordinateur. Quand on veut comprendre la culture d’un pays étranger, il est nécessaire de connaître les rudiments de la langue parlée par ses habitants. Il en va de même pour l’informatique : vous devez apprendre un langage de programmation pour mieux comprendre la culture informatique qui, au fil du temps, a pénétré tous les secteurs de la société.

Il vaut mieux programmer qu’être programmé !

Aujourd’hui, l’informatisation de la société est poussée à l’extrême et c’est finalement un enjeu social et politique que de comprendre comment les programmes fonctionnent. Nous sommes un certain nombre à penser que la chose informatique ne doit pas être l’apanage des informaticiens professionnels, parce qu’à l’heure actuelle l’informatique concerne tout le monde. On fête cette année les quarante ans de la loi Informatique et libertés et il apparaît de plus en plus urgent de faire respecter le premier article de la loi du 6 janvier 1978 dont l’énoncé semble aujourd’hui un idéal lointain :

« L’informatique doit être au service de chaque citoyen. Son développement doit s’opérer dans le cadre de la coopération internationale. Elle ne doit porter atteinte ni à l’identité humaine, ni aux droits de l’homme, ni à la vie privée, ni aux libertés individuelles ou publiques. »

Il y a enfin aujourd’hui une demande sociale forte pour que les algorithmes qui gouvernent nos vies soient plus transparents (cf. notamment le projet TransAlgo[2]). L’apprentissage des rudiments de la programmation et de l’algorithmique permet ainsi de mieux cerner les conséquences sociales de la transformation de nos vies qui deviennent de plus en plus dépendantes du numérique[3].

À la lecture de cet argumentaire, on voit bien que l’apprentissage de la programmation procède à la fois d’enjeux culturels, intellectuels et citoyens.

À qui est destiné cet ouvrage ?

Ce livre est destiné à tous ceux qui n’ont aucune expérience de la programmation et qui veulent s’initier aux joies du codage. Je pense bien entendu à tous les parents et grands-parents qui aimeraient discuter avec leurs enfants de ce qu’ils font en cours d’informatique au collège. J’ai en tête également toutes les personnes qui n’ont pas eu la chance de bénéficier d’un enseignement de la programmation au cours de leur scolarité et qui se rendent bien compte que quelques notions de codage ne seraient pas superflues dans leur pratique professionnelle quotidienne. Je vise aussi toutes les personnes qui utilisent un smartphone ou une tablette et qui aimeraient bien pouvoir créer leurs propres applications. Le dernier chapitre de cet ouvrage présente une application en ligne utilisant les techniques enseignées dans ce livre et qui permet de créer facilement des programmes tournant sur smartphone ou tablette.

Toute personne motivée, quels que soient son âge et ses compétences en mathématiques, peut apprendre à programmer. Il est nécessaire de déculpabiliser et désinhiber tous ceux qui ont envie d’apprendre à coder en leur disant que les seules qualités requises pour ce faire sont la rigueur, l’imagination, la persévérance et la logique. On peut parfaitement apprendre à coder quand on a plus de soixante-dix ans et que l’on n’a pas de grandes compétences en mathématiques. Même si je le confesse rarement, je peux ici avouer que j’ai arrêté d’étudier les mathématiques à la fin du premier trimestre de la classe de seconde et que j’enseigne pourtant l’informatique… Bien entendu, ce livre va vous proposer de faire des calculs car c’est une activité où l’ordinateur excelle, mais la maîtrise des quatre opérations arithmétiques de base suffit amplement pour réaliser tous les programmes de cet ouvrage.

Organisation de cet ouvrage

Ce livre est composé de dix chapitres qui permettent de découvrir progressivement les principaux concepts de la programmation et il est conseillé de lire les chapitres dans l’ordre. Un chapitre par semaine est le rythme idéal pour bien maîtriser toutes les notions. Comme toute science, l’informatique a son vocabulaire spécialisé et j’ai attaché un soin tout particulier à définir tous les termes techniques la première fois où ils sont employés. J’ai pris le parti d’utiliser un outil de programmation visuelle intitulé Blockly (qui est proche de Scratch, le logiciel sélectionné pour l’apprentissage de la programmation au collège) car il s’agit d’une application à la fois simple et puissante. À la fin de chaque chapitre sont proposés des exercices pratiques pour s’entraîner et vous trouverez les corrigés en ligne.

Prérequis pour l’utilisation de cet ouvrage

Pour pouvoir profiter pleinement du contenu de ce livre, vous devez disposer d’un ordinateur ainsi que d’une connexion à Internet, et savoir utiliser un navigateur (Chrome, Safari, Firefox, Edge, etc.). Si vous n’avez pas d’ordinateur, vous pouvez employer une tablette ou un smartphone tournant sous le système Android[4].


[1] Extrait des programmes du cycle 4 dont on peut retrouver l’intégralité dans le Bulletin officiel spécial n° 11 du 26 novembre 2015 qui détaille les nouveaux programmes de l’école et du collège (http://www.education.gouv.fr/pid285/bulletin_officiel.html?pid_bo=33400).

[2] https://www.inria.fr/actualite/actualites-inria/transalgo

[3] Toutes nos recherches sur le Web passent par le filtre de Google, mais sommes-nous bien certains de connaître la nature exacte de l’algorithme de classement des pages du célèbre moteur de recherche ?

[4] Une version pour iOS est en cours de développement et devrait sortir à l’été 2019.