JSAV/OpenDSA student action logging

2 replies [Last post]
ville
ville's picture
Offline
White BeltYellow BeltGreen BeltRed BeltBlack Belt
Joined: 2009-05-28
Posts:
Points: 559

As promised in a recent Skype discussion, here are finally my thoughts on how to add logging capabilities to JSAV/OpenDSA framework. The basic assumption is that students interact with the AVs and we want to record those actions for later inspection.

  • Some student actions should be automatically logged by JSAV. These are especially:
    • exercise button clicks (undo, reset, model answer, grade)
    • model answer button clicks (begin, backward, forward, end)
    • events on data structures bound using the JSAV shortcut functions (such as click on an array index, etc)
  • There should be a way to log custom actions.
    • For this, there should be a function log(actionName, eventData) in JSAV. Or what should be the name of this function?
    • Storing custom actions is the job of the AV developer.
  • Every logged action should contain at least the following:
    • action name
    • timestamp
    • userID (if available)
    • data (optional) This could contain, for example, the index clicked in an array.
    • something else?
  • There should be an easy way to access the action log.
    • Add function logEntries(filter) to JSAV. Or what should this be called?
    • The filter parameter is an optional:
      • function to filter the actions
      • name of an action to filter them
      • array of actions names to filter events
    • Accessing the action log and storing it to the server is the job of OpenDSA infrastructure, not part of JSAV. Is this reasonable?

What do you think?

Ville Karavirta, Aalto University, http://villekaravirta.com/

efouh
efouh's picture
Offline
White BeltYellow BeltGreen BeltRed BeltBlack Belt
Joined: 2010-09-01
Posts:
Points: 135
Re: JSAV/OpenDSA student action logging

It seems reasonable to me. 

I only have few suggestions:

 

1- Maybe we could add a number maybe call it "attemptID"  to bundle students action happening during the same exercise attempt ( as a complement to timestamp). Of course that field will be increment every time the exercise is started.

 

2- JSAV could use HTML5 Local Storage capabilities to store the data. and OpenDSA willcollect these data and send them to the server for persistency.

 

 

ville
ville's picture
Offline
White BeltYellow BeltGreen BeltRed BeltBlack Belt
Joined: 2009-05-28
Posts:
Points: 559
Re: JSAV/OpenDSA student action logging

Good ideas, thanks!

efouh wrote:
1- Maybe we could add a number maybe call it "attemptID"  to bundle students action happening during the same exercise attempt ( as a complement to timestamp). Of course that field will be increment every time the exercise is started.

Would that be incremented every time the reset button is pressed? I would imagine so. There should probably also be some ID attached to an exercise/AV so that they can be distinguished later on.

Also, should JSAV store an attemptID in localStorage so that it is preserved even between sessions? Probably not, since we couldn’t anyway trust that since students might attempt the exercises from multiple computers or clear localStorage between attempts.

efouh wrote:
2- JSAV could use HTML5 Local Storage capabilities to store the data. and OpenDSA willcollect these data and send them to the server for persistency.

How and when do you think OpenDSA will collect these data? I think there should be a way for OpenDSA to tell JSAV it wants the data to be stored in localStorage. I wouldn’t want JSAV to store all the history to localStorage when used outside of OpenDSA. It will probably be quite a lot of data to store.