formations/algorithmique/abstract.txt

34 lines
1.9 KiB
Plaintext

Initiation à l'algorithmique et présentation de la programmation
================================================================
**Présentation du cours**
- L'accent est mis sur l'approche **algorithmique scientifique**, dite algorithmique
algébrique puisque qu'il s'agit d'un domaine de l'algèbre (comme sous-ensemble de
l'arithmétique modulaire) ;
- Cette approche étant assez exigeante, aucun formalisme fort de l'algorithmique
mathématique ne sera présenté. Aucun symbole mathématique donc, et seulement du pseudo-code.
L'approche mathématique forte utilisant le formalisme de l'algorithmique algébrique est en
général enseignée en France uniquement aux cours des grandes écoles.
- L'algorithmique présentée ici est donc délibérément pseudo-scientifique mais en revanche
ouverte au multi-paradigme. En général l'évocation d'un algorithme en pseudo code est toujours
réducteur car limité au style de programmation le plus à la mode actuellement, c'est-à-dire le
style impératif. Nous présenterons un éventail des plus grands paradigmes de programmation
existants. Nous nous limiterons à la programmation impérative, fonctionnelle, modulaire,
générique et objet. Nous envisagerons les structures de données et les structures de contrôle
spécifique à chacun des styles évoqués.
- Parce qu'un honnête programmeur doit avoir une vue d'ensemble de l'état de l'art,
nous évoquerons un panorama des différents langages existant, historiques et actuels, en les
comparants les uns aux autres.
- Durant tout le cours, nous souhaitons proposer une pédagogie par l'exemple, et nous nous
limiterons l'exposé à deux langages : principalement le Python3 pour la programmation
impérative, modulaire et objet, mais nous évoquerons aussi certains exemples en langage OCaml
à propos de la programmation fonctionnelle et générique.