TransKT
Contrastive Cross-Course Knowledge Tracing via Concept Graph Guided Semantic Transfer
Install / Use
npx skills add DQYZHWK/TransKTInstalls into whichever agent you are using.
README
TransKT
Contrastive Cross-Course Knowledge Tracing via Concept Graph Guided Knowledge Transfer
Considering the relevance and transferability of learners' cross-course learning behaviors, we propose the TransKT framework to provide a more comprehensive and accurate understanding of learners' knowledge states for reliable prediction on the knowledge tracing task.
🌟Overview

The overview of TransKT. First, during preprocessing, TransKT employs LLM to complete the concept-to-concept links both within and between courses, bridging individual concept graphs. Next, TransKT utilizes a semantic-enhanced knowledge transfer module, which leverages an LLM-to-LM pipeline to summarize and extract rich semantic features for GCN-based knowledge propagation. Finally, TransKT employs a contrastive learning objective to enhance the robustness of representations for prediction by maximizing mutual information between single-course and cross-course knowledge states.
For more details, please read our paper: "Contrastive Cross-Course Knowledge Tracing via Concept Graph Guided Knowledge Transfer"
➡️Quick Start
Installation
Git clone this repository and creating conda environment:
conda create -n transkt python=3.8
conda activate transkt
pip install -r requirements.txt
Create directory
Unzip the TransKT dataset files and create training, testing, and validation sets:
unzip C_DS.zip # Take C&DS dataset for example.
python split.py
Establishing the directory for the output file of the optimal model:
mkdir trained
Establishing the directory for the output files of training and testing logs:
mkdir logs
Training & Testing
Our model experiments are conducted on a Tesla A800, with actual VRAM requirements of around 10 GB. You can execute it directly using Python commands.
CUDA_VISIBLE_DEVICES=3 python -u main.py --lr 0.0001 --batch_size 64 --model_id ours --num_epoch 200 --optim adamw --IM 1 --theta1 0.2 --theta2 0.7 \
--lambda 0.8 --eta 0.4 --warm_epoch 0 --GNNL 2 > log/test.log 2>&1&
You can also choose to directly execute the shell script in the command line:
bash start.sh
📌Detailed information
In this paper, the publicly available PTADisc dataset (sourced from the PTA) is further processed to obtain four sub-datasets, each specifically designed to support the Cross-Course Knowledge tracing (CCKT) task.
Dataset statistics
| Dataset | Java&Python | C&DS | C&Java | CS&MA | |---------------|-------------|--------|--------|--------| | #Records | 1,129,999 | 1,800,066 | 1,501,414 | 282,135 | #Learners | 7,770 | 12,275 | 9,618 |2,431 | #Quetions | 5,734/7,562 | 10,957/9,641 | 11,934/7,624 | 5,870/1,386 | #Concepts | 360/364 | 362/323 | 424/408 |359/140
🎉Acknowledgment
- We further processed the publicly available PTADisc dataset to obtain the cross-course knowledge tracing dataset.
Related Skills
node-connect
385.5kDiagnose OpenClaw Android, iOS, or macOS node pairing, QR/setup code, route, auth, and connection failures.
blender-python-addon
40.5kBlender Python add-on rules for operators, panels, properties, registration, testing, and API-safe scripting
flutter-development-guidelines-cursorrules-prompt-file
40.5kCursor rules for Flutter development with MVVM architecture, Riverpod state management, Material widgets, and Dart style guidelines.
commit-push-pr
140.7kCommit, push, and open a PR
