Bon ! Voici vos premiers pas dans l'algorithmique et Python ! Avant d'apprendre à coder, voici une introduction sur ce que sont ces deux choses, histoire de savoir de quoi on parle. Ce chapitre n'est cependant pas obligatoire et vous pouvez le survoler...
L’algorithmique (attention dans les dictées) est un domaine des mathématiques qui étudie les algorithmes (vous suivez toujours ?), qui sont en fait des suites d’instructions simples permettant d’obtenir un résultat. L'algorithmique étudie par exemple comment résoudre des problèmes, voir l'efficacité d'un algorithme, etc. L'algorithmique est un domaine essentiel pour la programmation.
Pourquoi apprendre les bases de la programmation au lycée ? En vrai, vous n’avez surement pas envie de faire du code plus tard et il vous suffit d’avoir des logiciels qui eux seront faits par d’autres que vous, au pire ! La question fait débat et je ne suis pas ici pour dire que mes arguments sont les plus valables ou autre. Je vais cependant donner mon idée sur la question pour élever le débat.
L'informatique est un domaine en pleine expansion depuis les années 70, et accessible au grand public depuis les années 80 grâce aux ordinateurs personnels et à Internet. Du développement Web aux systèmes embarqués en passant par l'intelligence artificielle et les jeux vidéos, de plus en plus d'applications sont trouvées aux ordinateurs et savoir ce qu'est l'informatique est primordial, c'est tout l'intérêt de la "Culture Numérique". Cependant, la programmation est un incontournable, car c'est la seule manière d'utiliser les ordinateurs pour effectuer une série de tâches. Ainsi, connaitre les bases de la programmation est essentiel car il permet de montrer en quelque sorte comment un programme est écrit et ainsi montrer que l'ordinateur n'a aucune intelligence en elle-même et que seul le programme, créé par un humain, permet de faire quelque chose. Cela va surement permettre aussi de potentiellement lancer des carrières ou, plus modestement, donner une manière de penser un problème. Enfin, la programmation a des avantages pédagogiques, car elle permet de relier les matières entre elles. Par exemple, au lycée, j'ai utilisé la programmation non seulement en mathématiques, mais aussi en physique et en sciences de l'ingénieur.
Pour moi, la programmation dans l'enseignement a été une opportunité. En effet, tout a commencé pour moi en sixième, avec l'utilisation de Scratch. J'ai alors appris quelques instructions de bases et bidouillé quelques programmes, et puis ma professeure de mathématiques, voyant que j'aimais bien ça, m'a montré un site enseignant la programmation, France-IOI, et un concours, Algoréa. Une révélation. Le premier langage que j'ai alors appris est le Python. Ceci a tout lancé. J'aimais la programmation, car c'était pour moi essayer de trouver la solution la plus belle à un problème avec un ensemble d'opérations de base. C'est un jeu !
Je suis donc pour l'enseignement de la programmation à l'école. Par contre, la principale question est: comment l'enseigner ? Il existe des centaines de langages ! C'est là que Python rentre en jeu...
Python est un langage créé par Guido van Rossum en 1989 pour faciliter son travail sur le système d’exploitation Aboeme. Il a été nommé non pas en l’honneur des reptiliens, mais d’un groupe de comédiens humoristiques, Monty Python.
C’est un langage interprété, c’est-à-dire qu’un programme, un interpréteur, va traduire pas-à-pas chaque ligne au fur et à mesure de l’exécution en langage-machine, fait de 1 et de 0, que la machine va, elle, pouvoir exécuter. Il existe un autre type de langage, les langages compilés, où le fichier du programme est totalement traduit par un compilateur en langage machine dans un autre fichier, un exécutable. Par exemple, C ou Ada sont des langages compilés. Il existe des nuances, comme avec Java, mais l'idée est là. Dans le cas de Python, il existe de nombreux interpréteurs comme Jython, IronPython, PyPy, mais le plus utilisé est nommé CPython.
Python est l'un des langages les plus populaires au monde. Voici par exemple les classements de TIOBE, Stack Overflow et en nombre de projets publiés sur Github, un site de partage open source. Il est très utilisé dans le big data et le domaine scientifique, mais aussi dans le développement web et les logiciels open source (où tout le monde peut voir le code et en proposer des modifications). Ainsi, Instagram, Google, YouTube utilisent Python.
S'il est aussi populaire que ça, c'est de par sa rapidité, mais aussi sa lisibilité et sa simplicité. L'une des grandes idées de la "philosophie pythonesque" est d'optimiser le langage non seulement pour qu'il soit efficace, mais aussi pour qu'il soit très compréhensible et ouvert. Python ne s'intéresse pas qu'à l'exécution des programmes, mais aussi à sa facilité d'utilisation, ce qui en fait un langage nécessitant pas d'être un expert et donc très populaire. De nombreuses personnes ont cette vision de la liberté de la programmation et ont contribué à l'améliorer. Ainsi, Python était vu comme un jouet à ses débuts, mais est maintenant un langage tout à fait respectable ! Voici une interview de Guido von Rossum dans le Monde.
Python est donc un langage adapté à l'enseignement, car il est lisible mais tout à fait efficace et polyvalent. Il surpasse ainsi Scratch qui, même si il est un logiciel idéal pour l'enseignement aux enfants, n'est pas fait pour être utilisable ailleurs. Python est aussi plus recommandable à mon goût que d'autres langages plus populaires car il est très intuitif. Désolé donc à tous ceux qui croient en Java et en C pour l'enseignement, mais même si j'aime ces langages, je conseille Python pour commencer.