← Retour au cours

A1 · Programmation structurée : le coût du changement

1A engineering (ECC Coding Week) · 60 min

Ouvrir les diapositivesPDF

Lab

Télécharger le lab (.zip)Ouvrir dans Colab

Nécessite Python 3.12 ou plus récent, pydantic.

Décompressez l'archive, puis dans ce dossier :

uv run python verify.py

Évaluation

Évaluation de sortie A1 : coût du changement et masquage de l'information

Durée : 35 minutes pour le rendu, puis un défi oral de 3 à 5 minutes.

Vous pouvez utiliser la documentation et un assistant d'IA. Consignez cette aide dans la note de provenance. Vous restez responsable de chaque affirmation et de chaque commande.

Rendu

Utilisez les deux implémentations dans lab/. Remettez un court rapport de preuves comprenant les sections suivantes.

1. Jugement sur le coût du changement, A1.1

Choisissez l'implémentation dont le coût est le plus faible pour le changement de format monétaire attribué par l'enseignant : 25.00 EUR ou le code EUR suivi de l'espace insécable Unicode U+00A0 puis de 25.00. Avant toute modification, prédisez les fichiers et fonctions touchés. Effectuez le changement, lancez la commande de vérification et comparez le diff observé à votre prédiction.

2. Décomposition par masquage de l'information, A1.2

Décomposez tangled.py autour des décisions cachées, et non des étapes du traitement. Pour chaque frontière, indiquez :

Joignez le diff obtenu et la sortie de vérification.

3. Diagnostic d'une abstraction qui fuit, A1.3

Repérez une obligation imposée à l'appelant qui révèle une décision d'implémentation. Retracez le coût d'un changement de cette décision, puis proposez la plus petite modification de frontière qui supprime cette obligation. Indiquez un compromis introduit par votre proposition.

Preuves exigées

Incluez les commandes exactes, les sorties pertinentes, une condition de falsification, une limite et la note de provenance définies dans docs/assessment-model.md.

Défi oral

L'enseignant annonce un autre changement ou révèle un appelant caché. Mettez à jour la frontière prévue avant de modifier le code, puis expliquez comment la nouvelle preuve affecte votre jugement initial.

Références