%% nav-debut : généré par gen_navigation.py, ne pas modifier à la main %%
> [!nav]
> [[Accueil|🧠Portail]] › [[Code et Développement/Code et Développement|Code et Développement]] › [[Code et Développement/Programmation/Programmation|Programmation]] › Piles et Files
%% nav-fin %%
# 🎯 Piles et Files
> Je comprends, j’implémente et j’utilise les structures de données fondamentales que sont les piles et les files
> [!info] 🎯 Objectif
> ![[Piles et Files.png|150]]
>
> Je comprends, j’implémente et j’utilise les structures de données fondamentales que sont les **piles** et les **files**, afin de contrôler l’ordre de traitement des informations.
## 📚 Contenu pédagogique
| # | Page | Notions clés |
|---|---|---|
| 01 | [[Code et Développement/Programmation/Piles et Files/01_Les piles\|Les piles]] | Structure LIFO, implémentation en Python, rôle dans les parcours en profondeur |
| 02 | [[Code et Développement/Programmation/Piles et Files/02_Les files\|Les files]] | Structure FIFO, implémentation en Python, rôle dans les parcours en largeur |
Les deux pages contiennent des composants à manipuler : une pile et une file, la gare de triage, la vérification des parenthèses et le jeu de Josèphe.
## 🧩 Activités pédagogiques
| Type | Activité | Objet |
|---|---|---|
| 🛠️ Atelier | [[Atelier - Piles et Files]] | Implémentation d’une pile pour évaluer une expression en notation polonaise inverse, puis d’une file pour générer la suite de Hamming. L’atelier met en pratique le fonctionnement LIFO/FIFO de ces deux structures sur des problèmes algorithmiques classiques. |
## ✅ Modalités d’évaluation
- **Type :** Devoir Ă rendre ou Projet
- **Description :**
Résoudre le puzzle [[Code et Développement/Programmation/Piles et Files/Évaluation - La Bataille|La Bataille]] intégralement en autonomie.
La validation de la compétence se fait lors d’une soutenance individuelle.
### 🧾 Déroulé de l’évaluation
Une fois prĂŞt, contactez le responsable pour planifier votre soutenance. Vous devrez :
1. **Présenter l’énoncé** du puzzle (2 min)
2. **Expliquer votre stratégie** à l’aide d’un schéma : comment avez-vous représenté la question avec une file ? (2 min)
3. **Montrer l’élément le plus malin** ou optimisé de votre solution (extrait de code) (2 min)
4. **Répondre à des questions ciblées** sur votre code (5 min)
- fonctionnement précis d’une fonction
- compréhension d’un paramètre ou d’un retour
- justification d’un choix algorithmique (test, boucle, structure)
5. **Adapter votre solution en direct** selon une consigne du jury (5 min)
> 🔍 Ce test permet de vérifier que vous avez **développé vous-même** la solution, sans LLM ou assistance extérieure.
> Les réponses doivent être **précises, immédiates et maîtrisées** pour valider la compétence.
---
🗓️ Historique
Dernière mise à jour : `8 novembre 2026`
Rédigé par : [[Julien DUQUENNOY]]