33 lines
1.9 KiB
Plaintext
33 lines
1.9 KiB
Plaintext
Avant propos
|
|
-------------
|
|
|
|
**Présentation de ce 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 d'implémentation des algorithmes : le **Python** pour la programmation
|
|
impérative, modulaire et objet, et nous évoquerons aussi certains exemples en langage **OCaml**
|
|
à propos de la programmation fonctionnelle, modulaire et générique.
|