Cette page est consacrée au cours de PG104 réalisé en 1ère année
d'Informatique à l'ENSEIRB-Matmeca.
Les transparents du cours complets , et sont accessibles ici chapitre par chapitre :
Les transparents du cours complets , et sont accessibles ici chapitre par chapitre :
- Cours 1 : Introduction (20/01/2025)
- Cours 2 : ECMAScript + Portée (25/01/2024)
- Cours 3 : Pureté, récursivité (27/01/2025)
- Cours 4 : Types de données fonctionnels (listes, arbres) (03/02/2025)
- Cours 5 : 1ère classe (généralisation, spécialisation) (10/02/2025)
- Cours 6 : 1ère classe (stockage, composition) (17/02/2025)
- Cours 7 : Techniques (types, programmation dirigée par les données, programmation paresseuse) (24/02/2025)
- Cours 8 : Modularité (11/03/2025)
Travaux dirigés
- TD n°1 : Présentation de Ecmascript ( / / Source / Corrigé)
- TD n°2 : Portée et récursivité ( / / Source / Corrigé)
- TD n°3 : Récursivité terminale ( / / Source)
- TD n°4 : Types inductifs : les listes ( / / Source)
- TD n°5 : Types inductifs : listes et arbres ( / / Source)
- TD n°6 : 1ère classe : Généralisation, Spécialisation ( / / Source)
- TD n°7 : 1ère classe : Map, Reduce ( / / Source)
- TD n°8 : Techniques : typage en Typescript ( / / Source)
- TD n°9 : Techniques : contrôle de l'évaluation ( / / Source / alt / Source alt /
- TD n°10 : Modularité et tests ( / / Source)
Organisation du dépôt
Les TDs sont faits dans un dépôt git utilisant la structure suivante :
eslint.config.js # fichier de configuration de ESlint jest.config.ts # de Jest package.json # de Node + NPM tsconfig.json # de Typescript src/ # répertoire de sources (JS + TS) src/utils/ # - les fichiers du cours (!! ne jamais committer !!) src/1td/ # - le TD n°1 src/2td/ # - le TD n°2 src/3td/ # - le TD n°3 ... # - ... test/ # répertoire de tests test/1td/ # - le TD n°1 test/2td/ # - le TD n°2 ... # - ... node_modules/ # bibliothèques NPM (!! ne jamais committer !!) dist/ # fichiers compilés (!! ne jamais committer !!)
-
Le répertoire
src/utils
sera rempli au fur et à mesure des TDs avec des fichiers sources provenant de vos enseignants. Il vous est demandé de ne pas les modifier, sous peine de difficultés pour réaliser les TDs. Si jamais vous avez des problèmes de conflits avec ce répertoire, c'est à vous de les gérer. -
Le répertoire
node_modules
contient les bibliothèques installées avecnode
. Les fichiers associés ne doivent jamais être committés dans le dépôt. Toute présence d'un quelconque fichier dans ledit répertoire d'une taille strictement positive dans le dépôt à un instant du développement verra attribuer un malus de-2
à la note finale du cours au propriétaire du dépôt. Le responsable du cours est tout à fait prêt à rendre ce malus cumulatif en cas d'erreurs multiples. -
Le répertoire
dist
n'est présent que pour contenir les fichiers compilés par le compilateurtsc
, et n'est pas censé contenir de fichers committés dans le dépôt. - Dans tous les cas, vous êtes responsables de votre dépôt. Si vous n'arrivez pas à le gérer correctement, ce n'est pas à vos chargés de TDs de le gérer pour vous.
Liens utiles
- La page de spécification du langage Ecmascript ainsi que la version la plus récente dudit standard.
- La page du MDN chez Mozilla servant de page de garde pour la documentation pour le langage, ainsi qu'un glossaire des éléments du langage.
- Un ensemble de standards de codage par Mozilla pour écrire du Javascript.
- La documentation du code utilisé pendant les TDs.