Programmation Avancée en Scheme (PF2)

Début des cours le lundi 6 février. Installez la toute dernière version 5.2.1 de Racket ! Les étudiants retenus pour ce semestre sont :
HADDAD, RINALDI, LOZACH, LANTERI, HARBULOT (L2M), MACANOVIC, SARROCHE, MASSA, BERLIOZ, MALEVAL, NAIT OUSLIMANE, AFSHARI, MARCO (L2M), ALLENA, EL HAJAMI, DRAVET, MANNOCCI, BOND.
Les autres formeront un groupe PF2 au semestre 3.

Cours le lundi 10h15-11h45, en salle M3.7, un seul TP le jeudi 15h15-16h45, en salle 312. Vous pouvez télécharger un document d'introduction à l'usage d'un Mac... Présence en TP obligatoire !

Examen final en amphi [1h30, avec le polycopié du cours]. Le contrôle continu consistera en un partiel à mi-semestre en amphi [1h30, avec le polycopié du cours] ainsi qu'un projet logiciel par binôme à faire en deux mois, et à rendre sur CD avec sa documentation papier, au cours du dernier TP.

Le sommaire ci-dessous est provisoire et donné à titre indicatif seulement ! Nous étudierons grosso modo les chapitres 11, 12, 13 et 14 de PCPS et en effleurant du bout du code les chapitres 15 et 16. Le livre est à la B.U. [côte 005.114] :

1. Le langage Full Scheme
2. La mutation
3. Les objets soft
4. Les objets hard
5. Les interfaces graphiques
6. Polynômes, graphisme, etc
7. Les chaînes de caractères
8. Les entrées-sorties et le Web
9. Les vecteurs (tableaux)
10. Construire son propre langage
11. Compilation et machine virtuelle
12. Révisions

The spirit of Lisp hacking can be expressed in two sentences :
Programming should be fun. Programs should be beautiful.
    [Paul Graham]

  Programming languages should be designed not by piling feature on top of feature, but by removing the weaknesses and restrictions that make additional features appear necessary. Scheme demonstrates that a very small number of rules for forming expressions, with no restrictions on how they are composed, suffice to form a practical and efficient programming language that is flexible enough to support most of the major programming paradigms in use today. [R6RS]