Contenu du module

Depuis plus de quatre mille ans, nous connaissons des algorithmes qui permettent d'effectuer des opérations arithmétiques, calculer des intérêts composés, déterminer l'aire de surfaces agricoles, dériver des expressions fonctionnelles, résoudre des systèmes d'équations linéaires, fabriquer des tissus, préparer des aliments,... Exécuter ces algorithmes ne demandant que d'effectuer, systématiquement et sans réfléchir, une suite d'opérations, l'idée est vite apparue de s'aider d'outils pour le faire: les baguettes à calculer, les bouliers, les échiquiers, les métiers à tisser, les machines mécanographiques,...Une révolution s'est cependant produit au milieu du XXème siècle, quand la technique des tubes à vide a permis de réaliser les premiers ordinateurs, c'est-à-dire les premières machines à calculer universelles, capables d'exécuter tous les algorithmes opérant sur des données symboliques.

Dans les toutes premières années de l'informatique, deux nouveaux concepts sont venus s'ajouter aux deux concepts structurant d'algorithme et de machine. Tout d'abord est apparue la nécessité de décrire les algorithmes que nous souhaitons voir excutés dans un langage de programmation compréhensible à la fois par la machine qui exécute l'algorithme et par l'être humain qui le décrit. Le second concept est celui d'information. En effet, un ordinateur ne peut opérer que sur des données symboliques, c'est-à-dire des données qui, tels des nombres entiers ou des textes, peuvent s'exprimer par des suites finies de symboles, chiffres ou lettres, pris dans un ensemble fini. De telles données symbolique s'appellent des informations et sont conventionnellement exprimées en informatique par les symboles 0 et 1.

Ce module a pour but d'apprendre les bases d'un langage de programmation au travers d'exercices à difficulté progressive. Un accent particulier sera mis sur l'implémentaton d'algorithmes et la réalisation de projets d'envergures diverses.

Les explications données en classe seront complétées par un support de cours adapté du livre Apprendre à programmer avec Python 3 de Gérard Swinnen. Ce document présente les fondements théoriques majeurs du cours illustrés par des exemples résolus. Chaque fin de chapitre comportera un glossaire énumérant l'ensemble des termes importants du chapitre ainsi qu'une liste d'exercices d'apprentissage.