JP Roy
Programmation en Scheme (niveau 2 (et un peu niveau 3))
L2 Info&Math, Nice, Automne 2016
Le cours est terminé !...
• Définition : On appelle étudiant de l'option PF2 un étudiant régulièrement inscrit ET qui
assiste aux cours et TP ! |
AU FIL DU TEMPS... |
A part les séances 3-4, nous étudions en 2ème année, grosso modo, les chapitres 11, 12, 13 et 14 du livre de cours PCPS. Les cours 12, 13 et 14 ci-dessous - plus délicats - ont été enseignés en 3ème année et correspondent aux chapitres 15, 16 et 17 de PCPS. Nous travaillerons en vrai Racket, vous pouvez dire adieu au niveau de langage Etudiant Avancé et au teachpack valrose.rkt. Dans les séances 3-4 consacrées à l'audio, nous aborderons la notion de son, ses caractéristiques informatiques, et les bases d'un synthétiseur (oscillateur, enveloppe, modulation, synthèse additive et soustractive, signaux). Tout ceci de manière élémentaire bien entendu, il faudrait un cours semestriel complet pour y pénétrer complètement (nous ne ferons qu'effleurer l'analyse spectrale).
1. #lang racket | Cours1 | TP1 | sol1.zip |
2. Mutation et Style Impératif (boucles for) | Cours2 | TP2 | sol2.zip |
3. Le Type de Donnée rsound (INSTALL) | Cours3 | TP3 | sol3.zip |
4. Son et Signaux Audio | Cours4 | TP4 | sol4.zip |
5. Objets (adt-turtle.rkt) | Cours5 | TP5 | sol5.zip |
6. Interfaces Graphiques (stuff6.zip) | Cours6 | TP6 | sol6.zip |
7. Polynômes, Graphisme, etc (stuff7.zip) | Cours7 | TP7 | sol7.zip |
8. Chaînes de Caractères et regexp | Cours8 | TP8 | sol8.rkt |
9. Entrées-Sorties et Clients Web (code9.rkt) | Cours9 | TP9 | sol9.rkt |
10. Vecteurs | Cours10 | TP10 | sol10.zip |
11a. Un Mini Interprète Scheme en Scheme (tp11a.rkt) | Cours11A | TP11A | sol11a.rkt |
11. Un Mini Interprète Scheme en Python (tp11b.py) | Cours11B | TP11B | sol11b.py |
12. La Programmation Paresseuse | Cours12 | TP12 | sol12.rkt |
13. La Syntaxe (code13.zip) | Cours13 | TP13 | sol13.zip |
14. Les Continuations () | Cours14 | TP14 | sol14.zip |
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] |