Skip to content

Demo 2018 W27

Erik Martin-Dorel edited this page Jul 10, 2018 · 3 revisions

learn-ocaml-editor

Link to this page: https://git.io/fSG3j

Tutoriel/Démo du 3 juillet 2018 (semaine 27)

Conception d'un exercice corrigé automatiquement

  1. Se connecter à l'URL https://pfitaxel.github.io/pfitaxel-demo-dev/
  2. Cliquer sur Éditeur
  3. Créer un nouvel exercice
  4. Choisir les méta-données ("demo_tp", "Démo TP", "Démonstration...") et Valider le formulaire
  5. Remplir l'onglet Question (à droite) avec le texte de l'exercice de TP (en Markdown)
    • Vous pouvez copier-coller l'exemple de l'Annexe 1
  6. Remplir l'onglet Solution (à gauche) avec une correction complète (et correcte)
  7. Aller sur l'onglet Toplevel (à droite), cliquer sur Évaluer le code (en bas) et faire quelques tests
  8. Aller sur l'onglet Test (à droite) et cliquer sur Générer (en bas) pour générer 1 test par question (ou 2 tests en cas de fonction polymorphe)
  9. Cliquer sur chaque bandeau de test généré et (après avoir sélectionné le bouton radio Solution) spécifier le type + une liste de cas de tests
  10. Cliquer sur Compile (en bas)
  11. L'onglet Test.ml doit maintenant s'afficher en montrant le code OCaml généré à partir de votre spécification de tests
  12. Cliquer sur le bouton Noter! (en haut)
  13. Le résultat de la correction-test devrait s'afficher dans l'onglet Rapport

Préparation de l'environnement complet de test pour l'étudiant

  1. Cliquer sur le bouton Créer le patron (en bas) pour générer un squelette de code
  2. L'onglet Patron (à droite) doit maintenant s'afficher avec le squelette de code généré
  3. Vous pouvez le modifier et vérifier qu'il "type-check" en cliquant sur Valider
  4. Remplir légèrement l'onglet Prélude (à droite) avec une définition globale de variable (montrée à l'étudiant)

Expérimentation du point de vue étudiant

  1. Cliquer sur le bouton Tester situé en haut
  2. On voit alors l'énoncé de l'exercice avec une mise en forme riche
  3. La réponse de l'étudiant doit être faite à gauche
  4. Un buffer Toplevel est disponible pour faire des tests, regarder le type de fonctions, etc.
  5. Cliquer sur Valider (vérification de syntaxe et de typage)
  6. Cliquer sur Noter!
  7. Le résultat de la correction devrait s'afficher dans l'onglet Rapport

Exercice pour l'enseignant

  1. Revenir à la vue enseignant en cliquant sur Éditer (en haut)
  2. Choisir une spécification de fonction (prenant en argument 1 ou 2 listes par exemple)
  3. Compléter les 3 fichiers nécessaires (Question, Solution et Test ou Test.ml)
  4. Tester le sujet

Annexe 1

# Démo TP

## Question 1.

Écrivez la fonction suivante :

    xor : bool -> bool -> bool

correspondant au **OU EXCLUSIF**.

*Remarque :* Vous pouvez fournir une fonction ayant un profil plus général.

## Question 2.

Écrivez la fonction suivante :

    power : int -> int -> int
    
correspondant à l'exponentiation.

*Remarque :* `power m n` lèvera une exception (`failwith`) si `n < 0`.

Voir aussi