A. The Domain Model
The domain model contains all the expert knowledge of a particular domain that needs to be taught by the system [2][11]. It details different concepts of the learning domain, their hierarchy, mutual interconnection, and how they relate to educational resources to be delivered [16][17]. Broadly speaking, there are three main ways how domain models are conceptualized [16]: the set/vector model, the hierarchy model and the network model. The most popular and widely used type of domain model is the network model. In this model, the concepts are arranged into a network and are interconnected by different types of links. The most common type of links are, amongst others, prerequisite links, “is-a” or “part-of” links, and remedial links [16]. Links in both hierarchy and network models are very useful in for improving the accuracy of the learner model. For example, in case the learner does not possess knowledge related to a certain concept (e.g., formation of the Simple Past Tense), the links help in providing the most likely remedial concepts (e.g., irregular verb forms). Conversely, if the learner possesses knowledge related to a certain concept (e.g., formation of the first conditional), the links help in identifying other concepts that the learner is likely to know (e.g., the Simple Present Tense).
B. The Learner Model
In order to recognize individual learners’ needs successfully and take appropriate pedagogical action, a piece of software needs to be able to track what learners do with it while learning a language, i.e., how they behave during usage [18][19]. Such monitoring entails the creation and constant updating of a student model which gathers all the necessary data from the learner, be it the learning path, correctness of answers to questions, time taken to offer a solution, or the overall success in solving a task [2][14][19][20]. Learner models may contain other relevant information about the learner as well, such as their previous level of linguistic knowledge, learning style preference, cognitive style, strategic competence, goals or interests, to name just a few [2][21]. Typically, the information in the model should be enough to differentiate between learners who are using the system on the basis of their knowledge, task performance, overall proficiency, goals or background, and take appropriate action to personalize their learning experience [16][22]. Hence, the main goal of a learner model is to support the process of making assumptions about the learner and to support
pedagogical decision-making concerning, e.g., the feedback to be delivered back to the learner or the choice of appropriate follow-up activities, as defined in the instructional model [23]. The two broadly recognized and used approaches to student modeling are stereotype modeling and feature-based modeling [16].