formations/algorithmique/abstract.txt

36 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. L'algorithmique est un sous-domaine de l'algèbre et des
approches modulaires (arithmétique modulaire...)
- Le point de vue mathématique étant assez exigeant, 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 mathématique 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écifiques à chacun des styles évoqués.
- Et parce qu'un honnête programmeur doit avoir une vue d'ensemble de l'état de son art,
nous évoquerons un panorama des différents langages existants -- historiques et contemporains --
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.