{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/contrastive-cross-course-knowledge-tracing","title":"Contrastive Cross-Course Knowledge Tracing via Concept Graph Guided Knowledge Transfer","arxiv_id":"2505.13489","date":"2025-05-14","proceeding":null,"authors":["WenKang Han","Wang Lin","Liya Hu","Zhenlong Dai","Yiyun Zhou","Mengze Li","Zemin Liu","Chang Yao","Jingyuan Chen"],"abstract":"Knowledge tracing (KT) aims to predict learners' future performance based on historical learning interactions. However, existing KT models predominantly focus on data from a single course, limiting their ability to capture a comprehensive understanding of learners' knowledge states. In this paper, we propose TransKT, a contrastive cross-course knowledge tracing method that leverages concept graph guided knowledge transfer to model the relationships between learning behaviors across different courses, thereby enhancing knowledge state estimation. Specifically, TransKT constructs a cross-course concept graph by leveraging zero-shot Large Language Model (LLM) prompts to establish implicit links between related concepts across different courses. This graph serves as the foundation for knowledge transfer, enabling the model to integrate and enhance the semantic features of learners' interactions across courses. Furthermore, TransKT includes an LLM-to-LM pipeline for incorporating summarized semantic features, which significantly improves the performance of Graph Convolutional Networks (GCNs) used for knowledge transfer. Additionally, TransKT employs a contrastive objective that aligns single-course and cross-course knowledge states, thereby refining the model's ability to provide a more robust and accurate representation of learners' overall knowledge states.","url_abs":"https://arxiv.org/abs/2505.13489v1","url_pdf":"https://arxiv.org/pdf/2505.13489v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"contrastive-cross-course-knowledge-tracing","repo_url":"https://github.com/dqyzhwk/transkt","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"knowledge-tracing","task_name":"Knowledge Tracing"},{"task_slug":"large-language-model","task_name":"Large Language Model"},{"task_slug":"state-estimation","task_name":"State Estimation"},{"task_slug":"transfer-learning","task_name":"Transfer Learning"}],"methods":[{"method_slug":"focus","method_name":"Focus"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2505.13489","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2505.13489"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"deterministic:regex_extraction","url":"https://github.com/DQYZHWK/TransKT","reach":null}],"summary":{"ran":6,"ran_draft_wrong":1,"unverified":2},"by_repo_kind":{"official":{"samples":9,"ran":7,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"1af228fc6281d8b8","entry":"CosinePositionalEmbedding","repo":"DQYZHWK/TransKT","repo_kind":"official","path":"model/TransKT.py","file_url":"https://github.com/DQYZHWK/TransKT/blob/HEAD/model/TransKT.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1af228fc6281d8b8"}},{"code_sha256_prefix":"468b69dcd19612b7","entry":"GCNLayer","repo":"DQYZHWK/TransKT","repo_kind":"official","path":"model/TransKT.py","file_url":"https://github.com/DQYZHWK/TransKT/blob/HEAD/model/TransKT.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"468b69dcd19612b7"}},{"code_sha256_prefix":"1fdbae2fa6548e67","entry":"GNN","repo":"DQYZHWK/TransKT","repo_kind":"official","path":"model/TransKT.py","file_url":"https://github.com/DQYZHWK/TransKT/blob/HEAD/model/TransKT.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1fdbae2fa6548e67"}},{"code_sha256_prefix":"a600593f88af2876","entry":"GraphConvolution","repo":"DQYZHWK/TransKT","repo_kind":"official","path":"model/TransKT.py","file_url":"https://github.com/DQYZHWK/TransKT/blob/HEAD/model/TransKT.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a600593f88af2876"}},{"code_sha256_prefix":"7f49a12274975f04","entry":"MultiHeadAttention","repo":"DQYZHWK/TransKT","repo_kind":"official","path":"model/TransKT.py","file_url":"https://github.com/DQYZHWK/TransKT/blob/HEAD/model/TransKT.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7f49a12274975f04"}},{"code_sha256_prefix":"4b1352ba81722cb9","entry":"TransformerLayer","repo":"DQYZHWK/TransKT","repo_kind":"official","path":"model/TransKT.py","file_url":"https://github.com/DQYZHWK/TransKT/blob/HEAD/model/TransKT.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4b1352ba81722cb9"}},{"code_sha256_prefix":"134e95d193454d9c","entry":"attention","repo":"DQYZHWK/TransKT","repo_kind":"official","path":"model/TransKT.py","file_url":"https://github.com/DQYZHWK/TransKT/blob/HEAD/model/TransKT.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"134e95d193454d9c"}},{"code_sha256_prefix":"113e4ce51a2d138f","entry":"SimpleKT_Encoder","repo":"DQYZHWK/TransKT","repo_kind":"official","path":"model/TransKT.py","file_url":"https://github.com/DQYZHWK/TransKT/blob/HEAD/model/TransKT.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"113e4ce51a2d138f"}},{"code_sha256_prefix":"60752970ece072d1","entry":"TransKT","repo":"DQYZHWK/TransKT","repo_kind":"official","path":"model/TransKT.py","file_url":"https://github.com/DQYZHWK/TransKT/blob/HEAD/model/TransKT.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"60752970ece072d1"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}