Paradigmes fonctionnels
Ce module introduit la programmation fonctionnelle en C# à travers LINQ. L'idée centrale : écrire du code qui décrit ce que l'on veut plutôt que comment le faire étape par étape — une approche que C# rend accessible dès la première session.
À l'issue de cette thématique, vous serez capable de :
- distinguer code impératif et code déclaratif sur un exemple concret
- expliquer pourquoi la généricité (
List<T>, classes génériques) est une première forme d'abstraction FP - utiliser la syntaxe de requête LINQ pour filtrer et projeter une collection simple
- décrire ce qu'est
DataSeries<T>et le rôle qu'elle joue dans le fil rouge
Note : l'immutabilité est introduite pratiquement dès l'exercice 01 ; sa théorie de fond (pureté, transparence référentielle) est développée en thématique 06.
Mise en route
- Se dire bonjour / Faire connaissance (si nécessaire)
- Voir les objectifs du module
- Voir le chemin vers ces objectifs
- Voir les modalités d'évaluation
- Git workflow
Récap OO (optionnel)
- Consolidation OO — révision des concepts orientés objet (terminologie, Dojo Randori Parachutes) utile si les bases OO semblent fragiles avant d'aborder le fil rouge
Théorie
- Slides
- Slides paradigmes (Kahoot)
- Théorie
- Généricité — abstraire les types
- Découverte de la syntaxe requête LINQ au moyen de la cheatsheet, entre les étapes 1 et 2 de l'exercice pratique
- Kahoot 01 paradigmes
Activités
Répondre aux besoins du fil rouge en construisant et adaptant la bibliothèque DataSeries<T>.
Fil rouge
Chaque thématique s'appuie sur le fil rouge — un scénario commun qui évolue et s'enrichit au fil des exercices.
- 01-equipe-genericite — L'équipe — modéliser l'équipe avec des classes immuables et explorer des données de matchs en dur (Valorant, CS2, LoL) — en construisant la bibliothèque générique
Exercices complémentaires
Place du marché — remise en main du C# et des outils, introduction à LINQ dans un contexte concret
NCDU — créer un programme similaire à ncdu affichant les statistiques d'utilisation d'un répertoire Windows :
- Version 1 — sans LINQ : boucles et conditions classiques
- Version 2 — avec LINQ : s'inspirer de la doc Microsoft pour rendre le programme plus concis