Student Story - Complete Activities

Reporting the Student Experience

This doc outlines how data is captured from the student experience and reported to teachers.

Introduction: The Student Experience

See it for yourself: Go to http://quill.org and sign in with the username: Student, password: Student

249

Edit This Wireframe: http://bit.ly/135jgBA

1. Create Activity Session

When a teacher assigns activity from the teacher it generates an ActivtySession ID for each student's assigned activity. Each ActivitySession is marked at unstarted.

Where it happens in the code:

2. Initiate Student Session - Start Activity

When the student presses "start activity" it initiates the activity session. This marks the ActivtySession as started.

Where it happens in the code:

3. Complete Activity - Finished Handler

When the app triggers the "ActivityFinished" state, it passes this information through the iframe and it passes the results to the student results page.

// this is the handler for the finish event for an activity. The iframe sends this event when the user is done with the activity.

    activityFinished: function (options) {
      if (window.mixpanel) mixpanel.track('activity finished');
      window.location = '/activity_sessions/' + options.id;
    },

https://github.com/empirical-org/Empirical-Core/blob/87330ae2144d27dbad4573076b8cf89d97859984/app/assets/javascripts/quill-core.js
Line 115

4. Activity Session Calculation

When the user clicks on whatever button in the app that triggers the "ActivityFinished" state, the activity session process calculates the results from the project. What is unclear here is how the activity session retrieves the information from the app.

https://github.com/empirical-org/Empirical-Core/blob/5de91b89294499891c7b3dbba644f098a6f455b3/app/models/activity_session.rb

5. Activity Session Worker

Once the the activity session calculation is inited it uses a worker to do something - publish the data to keen or report it to student database? It is unclear how the worker relates to the activity session.rb

https://github.com/empirical-org/Empirical-Core/blob/055787e756def5cecde0feb36904601143875952/app/workers/finish_activity_worker.rb

6. Store in the Active Record

It is unclear how the information is stored in the database.

7. School Report

The idea is to display the data through two views. One view is the teacher dashboard, where the teacher views the

Compile into a school report.
What is the strategy here? Ask James.