Skip to content

roadmap

Dominique Revuz edited this page Jan 24, 2019 · 12 revisions

RoadMap up to 12/01/2018

Tests

This is a recurring need of the project, we must have ** non-regression** testing of the features we build. Each feature must be associated with a user story or use case and the top level test must show that the user story is possible on the software. Unit testing must be put in place everywhere to simplify the search for bugs.

See the general page on testing

A full_editor

The current editor is unprofessional, clumsy, and slow. No multi files editing, no highlighting, the read-only files are not openable in the editor. CTRL-S doesn't work, and a lot of tools are missing to give a good user experience.

RoadMap up to 1/05/2019

LTI: Learning tools interoperability

The LTI protocol must be implemented to let people using LMS like moodle and blackboard and else be able to use the platform.

Actually, the connection is as follow:

  • an LMS must be declared in the platform (with a secret key).
  • an LMS user is created on the platform on the first connection from the LMS
  • when a link is clicked in the LMS a new browser page to the platform is opened

What's missing

  1. Send back the marks back to the LMS (automatic or on demand ?)
  2. a backlink to the LMS #100

Activités, stratégies et décorateurs

Spécifications de l'information

  • Pratiquement pas de code ici, juste des décisions et des simulations qui confirme que la modélisation retenue semble la bonne

  • Spécifications sur un exercice
    (exige-t-on des auteurs des tags? des tags avec niveau de tag optionnel? des tags avec une précision sur 10 du niveau dans le tag?)

  • Que sauvegarde-t-on par soumission ?
    (Choses à spécifier ici !!!)
    (id_exo, id_utilisateur, tps) --> grade
    (Il semblerait sympa de garder à minima pour chaque utilisateur la note obtenue pour chaque exo qu'il a tenté avec le timestamp du clic sur la soumission de la réponse à l'exo)
    (prévoir que cette table puissent être extensible pour les didacticiens ?)
    (Vérifier que l'information consignée est suffisante pour ventiller l'intégralité des cas d'utilisation pressentis...)

  • Quels sont les responsabilités porter par une activité ?
    (Faire la liste de ce qui DOIT être fourni par enseignant éditeur)
    (Proposer une liste d'extra information que l'enseignant pourrait spécifier en plus si il les connaît)

    • Une activité connaît ses contenus (liste d'exos pl, liste de pltp, ...)
      (Comment l'utilisateur renseigne-t-il ça ?)
      (Création automatique d'une activité à partir d'une notion :
      génération automatique d'un pltp avec un dépot + une liste de tag)
    • Une activité organise son contenu \
      • Exercice seul emballé dans une activité
      • Le pltp avec sa fonction next entre chaque exos
      • Next d'une stratégie remise à niveau (définition des objectifs chiffrés)
      • Next d'une stratégie révision (liste de notions à ventiller)
    • Une activité propose un tableau de bord utilisateur élève pour visualiser son évolution dans sa promotion.
    • Une activité spécifie comment construire une note globale par utilisateur à partir des différentes notes obtenues sur chaque élément de son contenu

Mise en oeuvre des activités/stratégie évolués

  • Peaufinage de l'activité TP avec les perches pour en prévoir l'extensibilité
    (On contrôle la compatibilité de l'existant avec la roadmap)
    (On met en place de quoi étendre l'existant vers les nouvelles fonctionnalités)
    (il y a peut-être presque rien à faire ici... ça dépendra de la modélisation choisie pour les activités)

  • Calcul de la maîtrise d'un utilisateur sur un tag
    (requête bdd + script qui note l'historique du comportement d'un élève sur une notion donné)

  • Programmation d'un next pour le travail en autonomie
    (script qui prend en argument une collection d'exos + un utilisateur + une liste de tags --> retourne un exercice non fait ou mal réussi le plus adapté à la progression de l'utilisateur)

  • Encodage des objectifs d'une activité en autonomie

    • Remise à niveau ou bien stratégie de révision
    objectifs==
    input_output 2
    function 3
    variable 4
    type 2
    ...
    ==
    
  • Mise en place des stratégies en autonomie

  • Support pour la customisation des tableaux de bord

  • Support pour la customisation des indicateurs pédagogiques

    • Possibilités pour les enseignants de renseigner des badges
      (fonction1(historique de l'utilisateur) --> boolean : badge du bon programmeur Python)
      (fonction2(historique de l'utilisateur) --> boolean : badge dieu de la récursivité)
    • Possibilités pour les enseignants de définir des alertes profs et élèves
      (fonction1(historique d'une promo) --> mail au prof : les élèves XXX et YYY sont en difficulté)
      (fonction2(historique de l'utilisateur) --> boolean : mail élève vous êtes en difficulté, contacter votre enseignant)

Mise en oeuvre des décorateurs

  • Décorateurs sur exo (exo seul)

    • temps limité
    • nombre de tentatives limité
    • disponibilité réduite (de 14h00 à 16h00 tel jour...)
  • Décorateurs sur pltp (liste d'exos)

    • temps limité sur l'ensemble des exos
    • nombre de tentatives limité sur l'ensemble des exos
    • obligation de valider pour passer
      (vert sur les exos précédents pour accéder a l'exo suivant)
    • interdire de revenir en arrière
      (car l'exo suivant donne la solution du précédant)
    • disponibilité réduite (de 14h00 à 16h00 tel jour...)
  • Décorateurs sur activité (liste de pltp)

    • méthode de notation spécifié par l'auteur de l'activité (API à penser...)
    • notation des QCM
      (les réponses fausses enlèvent des points ou pas ?)
      (interface pas trop difficile pour automatiser la correction)
  • Décorateurs sur stratégie

    • Customisation de la nouveauté
      (exercice sur nouvelles notions <----> renforcement sur notions déjà connues)

Docker File

Comment fait on pour avoir sur la sandbox un module python exemple comment avoir sympy. Et Sage c'est quand ?

Wims

Exécution d'exercices Wims

  1. Chargement d'exercices wims non paramétré
  2. Chargement d'exercices wims paramétré
  3. Récupération des notes de wims