PF INFO4

Documents du cours

Attention, les polycopiés suivants sont "vivants" ! Ils seront complétés au fur et à mesure du semestre. Il est donc recommandé de consulter la version en cours directement sur écran. Si vous préférez tout de même une version papier, pensez à imprimer régulièrement les pages nécessaires (et seulement celles-là).
Consignes pour installer l'environnement de travail
Poly de TP
Poly de TD

Programme du module

Outils

Interpréteur Ocaml en ligne
AVL applet
Conventions de programmation en Ocaml:
https://ocaml.org/learn/tutorials/guidelines.html
http://www.seas.upenn.edu/~cis500/cis500-f06/resources/programming_style.html

Équipe enseignante

Planning

Les dates des séances étant très irrégulières, il est impératif de consulter ADE pour s'y retrouver. Les documents publiés ici seront regroupés par ordre thématique plutôt que chronologique.
Enseignement Contenu Fichiers à récupérer
C1 Introduction à OCaml
types de base, type somme, type enumere, let, match, fun
Transparents du cours

TD1 Typage simple, premières fonctions
TP1 Interpréteur, premiers programmes, construction d'une hiérarchie de types
C2 Programmation en OCaml, filtrage
programmation et raisonnement par récurrence structurelle
Transparents du cours

TD2 Manipulation de structures récursives
TP2 Parcours et manipulation de listes
C3 Évaluation, let et let rec, exceptions Transparents du cours

TD3 Preuves, Exceptions
TP3 Génération et manipulation de grandes listes
Preuves d'équivalence
C4 Typage, polymorphisme, ordre supérieur Transparents du cours

TD4 Typage, Ordre supérieur et combinateurs de listes
TP4 Arbres binaires de recherche, Quadtrees Fichiers fournis
C5 Effets de bord, tableaux, analyse lexicale et syntaxique Transparents du cours
Exemples exécutés
TD5 Flots, analyse lexicale d'un entier
TP5 Analyse syntaxique
C6 Flots, parser, références Transparents du cours
Exemples exécutés
TD6 et TP6 Construction d'un mini-interpréteur basé sur l'analyse syntaxique et la Sémantique Opérationnelle Structurée Énoncé de TD et de TP
C7 Lambda-calcul
TD7 et TP7 Implémentation fonctionnelle de files (et files à priorité) Énoncé de TD
C8 Lambda-calcul suite
TD8 Lambda-calcul
TP8 Implémentation d'un foncteur
C9 et 10 Modules, foncteurs et compilation en OCaml Transparents du cours
Exemples exécutés
TD9 et 10 Construction et exploitation d'un module
TP9 et 10 Suivi de projet


Annales

Avertissement : les examens présentés ici sont ceux d'une UE historiquement présentée en 3è année, pas très différente de PF mais un peu quand même...

Livres et sites web

Divers

De 2010 à 2012 ce cours fut enseigné par Pascal Lafourcade.
Avant 2010 ce cours fut enseigné par Jean-Francois Monin.