Upcoming features
How to test in running tutors
Detectors:
Note: in general, detectors in this repository are currently still under development! Detectors that are currently most stable are listed under: Most stable detectors
-
A cure for detector amnesia: Working initialization of detectors from TutorShop
-
Aggregator API
-
Integrated detector development and testing tools
-
current-step error count
- Description: keeps a running count of attempts on each step in an interface
- Outputs: the running count of attempts on the most recent step the student has worked on (e.g., if a student has tried 30 times on a particular interface element, the output will be "30")
-
stagnation
- Description: outputs alerts in response to fixed, user-specified thresholds on student idle time
- Outputs: custom message after each specified time-interval (e.g., "idle for more than 30 seconds", "idle for more than 1 minute", "idle for more than 2 minutes")
-
error categorizers Documentation
-
BKT models Documentation
-
help-seeking models Documentation
-
at least one variant of BKT and at least one BKT-driven detector
- predictive stability
- Description:
- Outputs:
- possibly: BKT + contextual guess and slip --> Arroyo et al., carelessness detector
- Description:
- Outputs:
- predictive stability
-
Simple wheel-spinning detectors
- ...
- Description:
- Outputs:
- ...
- ...
-
a cognitive gaming detector
- ...
- Description:
- Outputs:
- ...
-
at least one detector of a student's affective state:
- (boredom detector tends to have higher accuracy than other affect detectors)
- Description:
- Outputs:
- (boredom detector tends to have higher accuracy than other affect detectors)
To activate this feature, first provide an initialization parameter '''process_transactions_url''' whose value is the TutorShop URL for transactions to be sent to the server. Optionally, provide also ausk
Second, hard-code the mail-worker.js URL and the detectors' URLs, each relative to the HTML/Assets/ folder, in '''transaction_mailer_users.js''', which defines a global object TransactionMailerUsers, and include this .js file in your .html. E.g., in
<head>
...
<script
src="https://cdn.ctat.cs.cmu.edu/releases/latest/ctatloader.js"></script>
<script src="Assets/transaction_mailer_users.js"></script>'''
</head>
Design: if the process_transactions_url parameter is set, then new class CTATTransactionListener looks for an object TransactionMailerUsers and calls TransactionMailerUsers.create(). This object is defined in transaction_mailer_users.js, which should be included via a <script> tag in the html for a tutor that wants to use transaction forwarding or detectors.
The code in TransactionMailerUsers instantiates and starts the mail-worker and detectors from URLs hard-coded in it. Arguments to TransactionMailerUsers.create() pass to the mail-worker the process_transaction_url and process_detectors_url as well as an authenticity_token needed for each POST to Rails.
CTATTransactionListener then receives messages as a CommShell event listener and forwards student actions and TPAs to the mail-worker and to any detectors TransactionMailerUsers.sendTransaction(). For transactions that have a tutor response, both tool and tutor data are sent in a single transaction message.