Capture the low-level UI actions with timing data, so that a session can be remotely monitored, or stored in a repository and replayed. There are several use cases: teacher monitoring a student, researcher studying student performance, pair programming, answer garden (useful for vicarious learning), plagiarism detection (confirmation that a student did formally assessed work themselves instead of loading a file from another student).
Some requirements:
click-through consent
user authentication (so we know who is using this)
confidentiality (student identity is obscured, but tracking of individuals is still possible)
ability to opt out later (anonymising or deleting data)
clickstream data is maximally robust to modifications of the software (e.g. what happens if a block no longer exists?)
live replay (for teaching monitoring and pair programming)
delayed replay from a repository (for research, answer garden, plagiarism)
Capture the low-level UI actions with timing data, so that a session can be remotely monitored, or stored in a repository and replayed. There are several use cases: teacher monitoring a student, researcher studying student performance, pair programming, answer garden (useful for vicarious learning), plagiarism detection (confirmation that a student did formally assessed work themselves instead of loading a file from another student).
Some requirements: