{"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/a-survey-of-knowledge-tracing","title":"A Survey of Knowledge Tracing: Models, Variants, and Applications","arxiv_id":"2105.15106","date":"2021-05-06","proceeding":null,"authors":["Shuanghong Shen","Qi Liu","Zhenya Huang","Yonghe Zheng","Minghao Yin","Minjuan Wang","Enhong Chen"],"abstract":"Modern online education has the capacity to provide intelligent educational services by automatically analyzing substantial amounts of student behavioral data. Knowledge Tracing (KT) is one of the fundamental tasks for student behavioral data analysis, aiming to monitor students' evolving knowledge state during their problem-solving process. In recent years, a substantial number of studies have concentrated on this rapidly growing field, significantly contributing to its advancements. In this survey, we will conduct a thorough investigation of these progressions. Firstly, we present three types of fundamental KT models with distinct technical routes. Subsequently, we review extensive variants of the fundamental KT models that consider more stringent learning assumptions. Moreover, the development of KT cannot be separated from its applications, thereby we present typical KT applications in various scenarios. To facilitate the work of researchers and practitioners in this field, we have developed two open-source algorithm libraries: EduData that enables the download and preprocessing of KT-related datasets, and EduKTM that provides an extensible and unified implementation of existing mainstream KT models. Finally, we discuss potential directions for future research in this rapidly growing field. We hope that the current survey will assist both researchers and practitioners in fostering the development of KT, thereby benefiting a broader range of students.","url_abs":"https://arxiv.org/abs/2105.15106v4","url_pdf":"https://arxiv.org/pdf/2105.15106v4.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":"a-survey-of-knowledge-tracing","repo_url":"https://github.com/bigdata-ustc/EduKTM","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"knowledge-tracing","task_name":"Knowledge Tracing"},{"task_slug":"survey","task_name":"Survey"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2105.15106","atlas_url":"https://app.syntology.ai/?focus=2105.15106","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2105.15106"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/bigdata-ustc/EduKTM","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"unverified":8},"by_repo_kind":{"official":{"samples":8,"ran":0,"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":"4745dc0811db6c27","entry":"attention","repo":"bigdata-ustc/EduKTM","repo_kind":"official","path":"EduKTM/AKT/AKTNet.py","file_url":"https://github.com/bigdata-ustc/EduKTM/blob/HEAD/EduKTM/AKT/AKTNet.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"4745dc0811db6c27"}},{"code_sha256_prefix":"300ca17123147837","entry":"binary_entropy","repo":"bigdata-ustc/EduKTM","repo_kind":"official","path":"EduKTM/AKT/AKT.py","file_url":"https://github.com/bigdata-ustc/EduKTM/blob/HEAD/EduKTM/AKT/AKT.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"300ca17123147837"}},{"code_sha256_prefix":"eaf7bb8070068ec5","entry":"compute_accuracy","repo":"bigdata-ustc/EduKTM","repo_kind":"official","path":"EduKTM/AKT/AKT.py","file_url":"https://github.com/bigdata-ustc/EduKTM/blob/HEAD/EduKTM/AKT/AKT.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"eaf7bb8070068ec5"}},{"code_sha256_prefix":"8597a8a1cd9a7cd5","entry":"compute_auc","repo":"bigdata-ustc/EduKTM","repo_kind":"official","path":"EduKTM/AKT/AKT.py","file_url":"https://github.com/bigdata-ustc/EduKTM/blob/HEAD/EduKTM/AKT/AKT.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"8597a8a1cd9a7cd5"}},{"code_sha256_prefix":"2dff8d18f3e50de2","entry":"extract","repo":"bigdata-ustc/EduKTM","repo_kind":"official","path":"EduKTM/DKTPlus/etl.py","file_url":"https://github.com/bigdata-ustc/EduKTM/blob/HEAD/EduKTM/DKTPlus/etl.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"2dff8d18f3e50de2"}},{"code_sha256_prefix":"9241592beaaa4d8d","entry":"init_parameters","repo":"bigdata-ustc/EduKTM","repo_kind":"official","path":"EduKTM/EKPT/EKPT.py","file_url":"https://github.com/bigdata-ustc/EduKTM/blob/HEAD/EduKTM/EKPT/EKPT.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"9241592beaaa4d8d"}},{"code_sha256_prefix":"7c04a2cebb1c759b","entry":"process_raw_pred","repo":"bigdata-ustc/EduKTM","repo_kind":"official","path":"EduKTM/DKT/DKT.py","file_url":"https://github.com/bigdata-ustc/EduKTM/blob/HEAD/EduKTM/DKT/DKT.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"7c04a2cebb1c759b"}},{"code_sha256_prefix":"f059a0df357dc2db","entry":"stu_curve","repo":"bigdata-ustc/EduKTM","repo_kind":"official","path":"EduKTM/EKPT/EKPT.py","file_url":"https://github.com/bigdata-ustc/EduKTM/blob/HEAD/EduKTM/EKPT/EKPT.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"f059a0df357dc2db"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}