Cours de programmation fonctionnelle avancée

Table des matières

1 Enseignants

Les supports de cours sont ceux créés par Jean-Paul Roy.

Le chargé de cours et de TD est Etienne Lozes.

A part les séances 3-4, nous étudions grosso modo les chapitres 11, 12, 13 et 14 du livre de cours 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).

J-P. Roy

2 Planning et supports de cours

ATTENTION : ce planning prévisionnel est susceptible d'évoluer.

Horaires des cours et TD

  • avant les vacances : 13:00-15:00 et 15:15-17:15
  • après les vacances : 13:30-15:00 et 15:15:16:45
JOUR COURS TP corrige TP
20 sept Full Racket / Debut mutation TP1 solution
27 sept Mutation / Objets softs TP2 solution
4 oct POO en Racket / Interfaces graphiques TP3 adt-turtle.rkt fac-gui.rkt solution
11 oct Polynômes, graphismes TP4 tp4-utils.zip solution
18 oct Les vecteurs Char et String TP5 matrix.rkt solution
25 oct PAS DE COURS    
1 nov VACANCES    
8 nov PAS DE COURS    
15 nov Son et signaux TP6 n27b7-44100.wav TP signaux solution
22 nov Les entrées-sorties et le web TP7 solution
29 nov Scheme en python TP8 squelette solution
6 dec Évaluation paresseuse TP9 squelette solution
13 dec Révisions    
17-21 dec Examen (janvier?)    

3 Projet

4 Examen

4.1 Session 1 du 17 décembre

4.2 Annales

5 Ressources extérieures

6 Quelques recommendations de Jean-Paul Roy des années précédentes

  • For any HOWTO question specific to Racket (even Rsound as John Clements is often online), subscribe to the Racket Users mailing list, or on the IRC channel #racket. Then ask your question in ENGLISH. Just say you are a student, you'll be welcome. Here is an example.
  • Le cours 1 a introduit les macros (extensions syntaxiques) en Racket. Il a été question d'hygiène quelque part. Sans doute voudrez-vous regarder cette vidéo sur le sujet, extraite d'un MOOC. Il traite du rapport entre les variables locales d'une macro et celles de l'utilisateur de la macro.
  • Pour les TP3-4, apportez un casque audio filaire (ou des écouteurs de bonne qualité). Attention aux oreilles, mettez toujours le volume à zéro avant d'écouter un son dont vous n'êtes pas certain de l'amplitude !
  • Un exemple de traitement d'exception en Scheme avec read-if-PCM16.rkt : lecture d'un fichier .wav qui n'est pas au format PCM 16 bits, on intercepte l'erreur.

Auteur: Etienne Lozes

Created: 2018-12-17 Mon 12:26

Validate