Skip to content

Flow to use the BEACONING Teacher Dashboard

Cristina Alonso edited this page Jun 15, 2018 · 8 revisions

Contents

Visualizations we want to see

The complete description of the visualizations included in the BEACONING Teacher dashboard available can be seen on the BEACONING Teacher Dashboard wiki page. As a recap, the visualizations are the following:

  1. Students List
  2. Total Sessions
  3. Games initialized/completed
  4. Total Answers
  5. Questions Answered
  6. Percent of answers per minigame
  7. Average Score of all students in all games
  8. Average Score per student
  9. Scores stacked per player
  10. Game and Mini-Games progress per player
  11. Average progress over time
  12. Time to complete each activity
  13. Heat map
  14. Time to reach POI

The following sections summarize the process to obtain these visualizations from the end backwards, that is, from the visualizations we want to achieved, we go back to the analysis that need to be performed to obtain those visualizations, then to the Experience API (xAPI) traces that are required for those analysis and finally, the calls that developers need to make to the tracker and the specific parameters required in those calls to successfully obtain those xAPI traces.

To cover the needs of mini-games and meta-game for BEACONING, a custom index pattern has been created including 15 new variables: game_name, correct_answers, wrongs_answers, skipped_answer, total_questions, timeSpent, poiId, poiAverageSpeed, averageSpeed, poiDistance, distance, totalDistance, session_id, session_id.keyword and location.

Analysis performed to obtain the visualizations

For the BEACONING dashboard, a multi-level analysis is required to aggregate the information from children nodes to parent nodes in the tree of activities. The dashboards are filled up with the information coming from the xAPI traces aggregated to its level. The rules that define how information is passed from children to parents are called rollup rules. They include:

  • completion and success rules: determine when a node has been completed based on the completion of its children nodes. This includes considering whether the completion of children has been done successfully or not. This analysis affects the visualizations regarding progress and duration and the visualization of games initialized and completed.
  • progress and duration: progress of a node is calculated based on the completion of its children nodes. This analysis affects the visualizations regarding progress and duration.

To be able to meet the thresholds (established externally of the Analytics System to determine when a node is considered to be successful or not), xAPI traces are checked in the analysis and if needed they are modified, in particular, the completed traces are checked and compared against the established thresholds. Then, its success field is checked to see if it actually has been completed successfully or not and updated consequently. Also, the checking for completion generates a completed trace when all children of a node have been successfully completed and threshold are met.

xAPI traces required for the analysis

The previous analysis required some statements in xAPI, detailed below. All traces sent by a player will have two fields: actor with a subfield name containing the player unique id; and another field timestamp containing the date of the trace in a date format.

  1. Students List:
    • verb: completed
    • object: name of the completable
    • result:
      • score: value of score achieved
  2. Total Sessions:
    • verb: initialized
    • object: name of the full game
      • definition:
        • type: game
  3. Games initialized/completed:
    • verb: initialized or completed
    • object: name of the game
      • definition:
        • type: game
  4. Total Answers:
    • verb: completed
    • object: name of the mini-game
    • result:
      • extensions:
        • correct_answers: number of correct answers in mini-game
        • wrong_answers: number of wrong answers in mini-game
  5. Questions Answered:
    • verb: selected
    • object: name of the question
    • result:
      • response: answer in question
  6. Percent of answers per minigame:
    • verb: selected
    • object: name of the question
    • result:
      • response: answer in question
      • success: true if correct; false if incorrect
      • extensions:
        • game_name: name of the mini-game
  7. Average Score of all students in all games:
    • verb: completed
    • object: name of the game
    • result:
      • score: value of score achieved
  8. Average Score per student:
    • verb: completed
    • object: name of the game
    • result:
      • score: value of score achieved
  9. Scores stacked per player:
    • verb: completed
    • object: name of the game
    • result:
      • score: value of score achieved
      • extensions:
        • game_name: name of the mini-game
  10. Game and Mini-Games progress per player:
    • verb: progressed
    • object: name of the game
    • result:
      • extensions:
        • progress: value of progress achieved
        • game_name: name of the mini-game
  11. Average progress over time:
    • verb: progressed
    • object: name of the game
    • result:
      • extensions:
        • progress: value of progress achieved
  12. Time to complete each activity:
    • verb: completed
    • object: name of the game
    • result:
      • extensions:
        • game_name: name of the game
        • time: time spent in the completable
  13. Heat map:
    • verb: progressed
    • object: name of the game
    • result:
      • extensions:
        • progress: value of progress achieved
        • location: location of the player
  14. Time to reach POI:
    • verb: progressed
    • object: name of the game
    • result:
      • extensions:
        • progress: value of progress achieved
        • poiId: identifier of POI
        • time: time to reach POI

Tracker calls

To track the previous xAPI statements, the adequate calls need to be made to the tracker. For instance, for the tracker implementation in Unity, the following tracker calls are required:

  1. Students List:
    Tracker.T.Completable.Completed(CompletableId, Completed); and Tracker.T.setScore(score); where score is a float value.
  2. Total Sessions:
    Tracker.T.Completable.Initialized(GameId, Completable.Game);
  3. Games initialized/completed:
    Tracker.T.Completable.Initialized(GameId, Completed); and Tracker.T.Completable.Completed(GameId, Completed);
  4. Total Answers:
    Tracker.T.Completable.Completed(MiniGameId, Completed); and Tracker.T.setVar(correct_answers, CorrectAnswersValue) and Tracker.T.setVar(wrong_answers, WrongAnswersValue) where CorrectAnswersValue and WrongAnswersValue are the numbers of correct and incorrect answers in the mini-game.
  5. Questions Answered:
    Tracker.T.Alternative.Selected(questionId, response, Alternative.Question);
  6. Percent of answers per minigame:
    Tracker.T.Alternative.Selected(questionId, response, Alternative.Question); and Tracker.T.setSuccess(success); where success is a boolean value and Tracker.T.setVar(game_name, gameName) where gameName is a string with the name of the game.
  7. Average Score of all students in all games:
    Tracker.T.Completable.Completed(GameId, Completed); and Tracker.T.setScore(score); where score is a float value.
  8. Average Score per student:
    Tracker.T.Completable.Completed(GameId, Completed); and Tracker.T.setScore(score); where score is a float value.
  9. Scores stacked per player:
    Tracker.T.Completable.Completed(GameId, Completed); and Tracker.T.setScore(score); where score is a float value and Tracker.T.setVar(game_name, gameName) where gameName is a string with the name of the game.
  10. Game and Mini-Games progress per player:
    Tracker.T.Completable.Progressed(GameId, Completable.Game, progress); where progress is a float value and Tracker.T.setVar(game_name, gameName) where gameName is a string with the name of the game.
  11. Average progress over time:
    Tracker.T.Completable.Progressed(GameId, Completable.Game, progress); where progress is a float value.
  12. Time to complete each activity: Tracker.T.Completable.Completed(GameId, Completable.Game); and Tracker.T.setVar(game_name, gameName) where gameName is a string with the name of the game and Tracker.T.setVar(time, timeValue) where timeValue is the time spent in the completable.
  13. Heat map:
    Tracker.T.Completable.Progressed(GameId, Completable.Game, progress); where progress is a float value and Tracker.T.setVar(location, locationValue) where locationValue is the location of the player.
  14. Time to reach POI:
    Tracker.T.Completable.Progressed(GameId, Completable.Game, progress); where progress is a float value and Tracker.T.setVar(poiId, poiIdenfier) where poiIdentifier is the identifier of the POI and Tracker.T.setVar(time, timeValue) where timeValue is the time spent in the completable.
Clone this wiki locally