CC de lundi 12 / mardi 13 décembre 2022

CC de lundi 12 / mardi 13 décembre 2022

par FACCANONI Gloria,
Nombre de réponses : 1

Bonjour à tous,

Lundi 12 ou mardi 13 aura lieu le CC de l'ECUE PIM-11 (Introduction à la programmation informatique) au bâtiment U1.

Ce message étant très long, il faudra le consulter sur le forum Moodle (le mail est automatiquement tronqué).

Voici quelques précisions.

  1. Durée
    Il s'agit d'un test Moodle. La durée de l'épreuve est de 2h à partir de la connexion au test. Votre tentative devra donc être envoyée durant ce laps de temps même si le test est encore ouvert.

  2. Documents et Ordinateur personnel
    Pour le CC, si vous préférez utiliser votre ordinateur vous pouvez l'amener (vous pourrez ainsi travailler dans les mêmes conditions qu'en TP avec le même IDE et vos fichiers), il faut juste s'assurer d'avoir accès à Moodle.
    Durant toute la durée de l'examen il vous est interdit de communiquer avec qui que ce soit à l'exception de l'enseignant qui vous surveille. Vous pouvez consulter seulement une feuille A4 recto-verso manuscrite et vos fichiers de TP. Tout autre document (papier ou numérique) et appareils électroniques sont interdits.

  3. Contenu
    Le test consiste en une série de questions tirées aléatoirement dans une même banque de questions. La correction est automatique : votre code est vérifié sur plusieurs tests tirés eux aussi aléatoirement.

  4. Type de réponse et correction automatique
    Pour répondre à une question il suffira de copier-coller votre code dans la zone réponse puis de cliquer sur "vérifier". Chaque question fonctionne sur le modèle "tout-ou-rien" : votre code sera alors analysé et les points de la question vous seront attribués s'il passe avec succès tous les tests. Le programme qui vérifie votre code et l'exécute est intransigeant sur le résultat qui doit être renvoyé ou affiché. Des espaces, majuscules ou caractères de ponctuation mal placés peuvent causer l'échec à une question même si le résultat semble juste. Attention : bien qu'il soit possible de modifier votre code jusqu'à ce qu'il soit correct, chaque nouvelle tentative diminuera le nombres de points attribués (10% des points en moins après chaque tentative). Il est donc fortement recommandé de tester rigoureusement votre code avant de le soumettre. Pour cela, un ou plusieurs exemples sont toujours indiqués dans l'énoncé pour que vous testiez le code sur votre ordinateur avant de le copier-coller dans moodle. Pour ne pas être surpris par ce type de correction, un test d'entraînement est disponible sur Moodle sans limite de temps ni de tentatives.

  5. def vs lambda
    Dans la presque totalité des exercices, il est demandé de compléter une fonction pré-remplie. Cette fonction est soit définie par le mot-clé lambda soit par le mot-clé def. Vous pouvez modifier la fonction pré-remplie pour transformer une fonction définie avec def en une fonction définie avec lambda et vice-versa. Cependant, ne pas changer sa signature, c'est-à-dire ne pas changer son nom ni l'ordre des paramètres en entrée et bien lire la consigne pour le type et l'ordre des objets en sortie.

  6. LE SILENCE EST D'OR
    Lorsqu'elle est appelée, aucune de vos fonctions ne devra jamais afficher quoi que ce soit, mais retourner silencieusement le résultat attendu (même s'il s'agit d'une chaîne de caractères). Vous pouvez faire quelques print pour le débogage pendant le développement dur Idle, mais n'oubliez pas de les commenter avant de les soumettre.
    Bien-sûr, il faudra bien utiliser des print si, au lieu d'une fonction, on doit compléter un script.

 

À bientôt
Gloria Faccanoni

En réponse à FACCANONI Gloria

Re: CC de lundi 12 / mardi 13 décembre 2022

par FACCANONI Gloria,

Bonjour à tous,

j'ai terminé la relecture des copies de CC et vous pouvez maintenant accéder à

  • votre note,
  • votre copie avec des propositions de correction pour chaque question,
  • parfois des commentaires que j'ai ajoutés à vos codes.

Tout d'abord ne pas se décourager si ça n'a pas marché au CC : la note de CC ne peut pas vous pénaliser, elle peut juste augmenter votre note finale si elle est supérieure à la note de CT. Pour rappel : Note finale = 0.7 CT + 0.3 max(CT;CC). Le CC est là pour vous aider à évaluer où vous en êtes par rapport aux attendus.

C'est difficile de faire des commentaires globaux car certains d'entre vous ont très bien réussi, pour d'autre ça a été plus laborieux et dans ce cas il y a plusieurs raisons: certains ont juste paniqué (d'où l’intérêt du test d'entraînement pour se mettre dans les mêmes conditions), d'autre pensaient être au point mais ont découvert avoir plus de mal à empiler les différentes briques qu'ils savent maîtriser séparément, certains ont été malades une partie du semestre, etc...

Pour préparer le CT de janvier, vous pouvez travailler sur les très nombreux exercices proposés dans le poly (ne pas regarder directement la correction, il faut d'abord essayer de trouver une solution par soi même, et seulement ensuite regarder si ma correction peut vous apprendre quelque chose). Vous pouvez aussi utiliser le test d'entraînement. Essayez bien-sûr de refaire le CC (même conseil que pour le poly: refaire les exercices et, ensuite, regarder si la correction proposée n'est pas plus simple).

Pour conclure, quelques commentaires sur la correction : les tests qui vérifient votre code sont automatiques et aléatoires à chaque fois que je les relance pour une analyse des copies. Cela a plusieurs conséquences :

  1. Inutile d'écrire une fonction qui se contente de mimer les réponses proposées par une première tentative de soumission (certains d'entre vous vont se reconnaître),
  2. Les tests sont aléatoires et je peux en ajouter à posteriori pour bien vérifier les codes. Le but n'est pas que votre code passe des tests (ce n'est pas un concours de programmation !) mais de vérifier vos acquis. Les tests aléatoires aident dans cette évaluation mais ne remplacent pas la lecture de ma part de votre code à posteriori (même si vous avez effacé votre réponse, j'ai accès à chaque tentative envoyée, cf. à nouveau point 1).
  3. Si les tests ne passent pas, c'est qu'il y a probablement une erreur dans votre code. Si vous ne comprenez pas, vous pouvez demander aux surveillants de l'aide pour voir si vous avez mal lu/compris l'énoncé (ou s'il y a un souci dans ce que j'ai codé dans Moodle, ça arrive !).
  4. En revanche, si les quelques tests proposés passent tous, il se peut qu'il y ait encore un souci dans votre code et que tout simplement pas tous les cas possibles ont été analysés lors de cette vérification. C'est pour cela que, une fois les contrôles terminés, je vais re-tester toutes les copies plusieurs fois avec des nouveaux tirages aléatoires. Et c'est aussi pour cela que je relis chaque copie et parfois ajoute des commentaires (comme s'il s'agissait d'une copie sur papier). Pour éviter des mauvaises surprises, il faut tester son code sur des cas bien choisis par vous même.

 Bon courage pour ces derniers jours et je vous souhaite de passer de très bonnes vacances.
Gloria Faccanoni