Skip to content

InviteInstitute/keating-lm-packages

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

keating-lm-packages

The learner-modeling pieces pulled out of the VEX coding dashboard, each as its own standalone package. They take raw student activity and turn it into a model of what the student is doing while they code, which is how you flag who needs help.

the idea

While students code in VEX, the platform spits out a stream of events (blocks changed, project run, playground reset, and so on). Each of these packages reads that stream and answers a different question:

  • strategy-hmm: how is the student solving it? (iterating, exploring, or stuck)
  • episode-engine: what does their session look like over time? (editing, running, pausing)
  • smart-delta-engine: what does their code actually do? (a readable description)

Put together they turn an event log into a live picture of each student. They're independent: none of them need each other, the dashboard, or any other folder.

package models in -> out deps
strategy-hmm coding strategy: iterator / explorer / stuck runs -> per-run states numpy, hmmlearn, joblib, scikit-learn, apted
episode-engine session structure events -> episodes + pauses none (stdlib)
smart-delta-engine code to text project -> description none (stdlib)

Each package's own README goes deeper on the concepts (what the states, episodes, and active vs orphaned actually mean).

running any of them

cd strategy-hmm        # or episode-engine / smart-delta-engine
pip install .          # the two stdlib ones don't need anything
python example.py      # demo on real data (sample_*.json)

Or just drop the inner folder (strategy_hmm/, episode_engine/, smart_delta_engine/) onto your PYTHONPATH and import it.

entry points

compute_strategy_states(events)            # strategy-hmm
segment_session(events)                    # episode-engine
generate_llm_prompt_from_project(project)  # smart-delta-engine

All three are just functions you call on a list of events (or a project).

where this came from

  • strategy-hmm: the model.pkl and thresholds are copied straight from the training notebook ((Maharsh)_Vex_code.ipynb). retraining happens there, not here.
  • episode-engine: vendored from the vex-pipeline research package and made standalone.
  • demo data: one real VEX session, sitting in each package's sample_*.json.

About

HMM Stuck Learner Model, Episode Segmentation, and VEX Delta Engine

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages