# ContextKT: A Context-Based Method for Knowledge Tracing
## 1 Introduction  
With the development of intelligent education, many emerging computer techniques are combined with traditional education areas, and become an innovative research direction. To understand students' knowledge masteries and give them personalized supervising, knowledge tracing has attracted researchers' attention, which can model the knowledge states of students based on their previous practices. Knowledge tracing is a learner model that uses the responses to previous questions to predict the student's performance on the new questions. Knowledge tracing is first proposed by Prof. [PERSON] of Carnegie Mellon University to monitor students' changing knowledge state in skill acquisition of procedural knowledge [1]. According to the ACT-R theory of skill knowledge [2], skill knowledge is distinguished as declarative and procedural knowledge. Declarative knowledge is factual or experiential knowledge, for example, the concepts of C language like variable types, function definitions, and program structures, which can be acquired through experiences such as reading. Procedural knowledge is goal-oriented knowledge about problem-solving, for example, the procedural rules to code a C program to implement an algorithm, which can only be acquired by a sequence of practices by using declarative knowledge. At the time, knowledge tracing aims for two purposes: (1) to assist in predicting a student's performance in the mastery of knowledge accurately; (2) to assist in a student's practice sequence according to their performance prediction to enable the student to master the skill efficiently. Prof. [PERSON] applied their knowledge tracing model in an intelligent programming tutor (APT) for students of universities or high schools to practice programming in Lisp, Prolog or Pascal. Nowadays, with the help of new knowledge tracing techniques, people can develop a variety of applications [3; 4; 5; 6; 7; 8; 9; 10] for intelligent education. First of all, it can be used in personalized resource recommendations. Based on the prediction result of knowledge tracing, instructors can capture the knowledge mastery of each individual student. Then they can recommend corresponding study resources or learning plans. Secondly, knowledge tracing can help students in adaptive learning. Knowledge tracing can help instructors understand students' study abilities to design or adjust proper teaching schemes for them. Different from resource recommendations that give students existing resources, adaptive learning redesigns a new scheme on established teaching contents. However, the two applications are similar in that both of them need to know students' knowledge masteries based on knowledge tracing. Thirdly, knowledge tracing can help improve educational gaming. Education gaming is a recent thing in the Internet age, which involves a game that is developed for a specific educational goal. Compared with traditional education methods, it uses games as a tool for education. To balance entertainment and education, educational gaming needs to adjust the difficulty level and concepts of the game based on the users' level so that they can learn the knowledge during the game. To accomplish this purpose, knowledge tracing can be used in tracking players' performance. And this can help developers to design a more effective and interesting educational game. Figure 1 shows an example of context knowledge tracing, which contains four parts: (1) a set of questions with knowledge concepts and an interaction log of a student's corresponding practical behaviors, (2) the related elements extracted from the student's behaviors and questions, (3) the prediction model constructed for the elements, and (4) the predicted result for knowledge tracing. To be specific, a student has done several practices over a period of time. These practices are ordered by time and each question contains one or more knowledge concepts. Based on the mastery of these knowledge concepts, the student can give a right or wrong response to each question.