Programmation Avancée  (P6, sem.8 ;   20h : 6h CM, 7h TD, 7h TP)

URL: http://www.phmartin.info/cours/p6/

Intervenants:   Philippe Martin (4h ; responsable du cours),   Brice Troyano (16h)


Philippe Martin fera une introduction aux programmations fonctionnelles et/ou logiques et donc à
- quelques notions importantes comme celles liées au Currying (closure, continuation(-passing_style), ...) et
- quelques propriétés désirables en programmation comme celles liées à l'idempotence
(question: comment GET peut simplement remplacer POST sans aucun problème ?)


Brice Troyano se focalisera plus sur les notions et pratiques d'environnement de développement
et la mise en œuvre de bibliothèques logiciels complexes.
Ceci inclut les notions de "framework" et de "design patterns" ("patrons de conception" ;
note: ce sont des méthodes d'abstraction décrites indépendamment d'un langage donné mais
souvent liées aux limitations usuelles des langages procéduraux actuels (lisez 1, 2, 3, 4, 5 et éventuellement plus)
et décrites en utilisant le paradigme des langages procéduraux orientés objet ;
pour chaque patron, il vous faut vous demander quel objet il rend "entité du 1er ordre" et
s'il serait nécessaire avec des langages fonctionnels ou logiques, i.e, si ces langages rendent
simples la représentation et gestion directe de ces objets comme des entités du 1er ordre).
Voici le support de cours qu'utilisait Anil Cassam Chenai, le précédent intervenant pour l'enseignement de ces notions en P6.


Ce cours étant divisé en 2 parties, (au moins) le CC final a des questions sur
chacune des parties (celles pour la 1ère partie vaudront environ 4 points sur 20).