Students’ Characteristics of Student Model in Intelligent Programming Tutor for Learning Programming: A Systematic Literature Review

—This study describes preliminary results of a research related to Intelligent Programming Tutor (IPT) which is derived from Intelligent Tutoring System (ITS). The system architecture consists of four models. However, in this study student model mainly student characteristic was focused. From literature, 44 research articles were identified from a number of digital databases published between 1997 to 2022 base on systematic literature review (SLR) method. The findings show that the majority 48% of IPT implementation focuses on knowledge and skills. While 52% articles focused on a combination of two to three student characteristics where one of the combinations is knowledge and skill. When narrow down, 25% focused on knowledge and skills with errors or misconceptions; 4% focused on knowledge and skill with cognitive features; 5% focused focus on knowledge and skill with affective features; 2% focused on knowledge and skill with motivation; and 9% based on knowledge and skill with learning style and learning preferences as students’ characteristics to build their student model. Whereas 5% focused on a combination of three student characters which are knowledge and skill with cognitive and affective features and 2% focused on knowledge and skill with learning styles and learning preferences and motivation as students’ characteristics to construct the tutoring system student model. To provide an appropriate tutoring system for the students, students’ characteristic needs to decide for the student model before developing the tutoring system. From the findings, it can say that knowledge and skills is an essential students’ characteristic used to construct the tutoring system student model. Unfortunately, other students’ characteristic is less considered especially students’ motivation.


I. INTRODUCTION
Intelligent Tutoring System (ITS) is a computer software system that can mimic the methods and dialog of natural human tutors, generate real time and on-demand instructional interactions as and when required by individual students. The implementation of ITSs also incorporate computational mechanisms and knowledge representations in the fields of Artificial Intelligence (AI) which addresses how to reason about intelligence together with multimedia and internet; Psychology on the other hand, consists of Cognitive Science which addresses how people think and learn, while the Education field focuses on how to provide the best support for teaching and learning [1] as illustrated in Fig. 1. Fig. 2 depicts the evolution of ITS from the 1960s to the year 2000. The introduction of AI techniques and Expert Systems technology to CBI (Computer-Based Instruction) gave rise to ITS [2]. Early 2000, internet has become a central core to the educative environment, thus ITS incorporated with web platform so that the ITS can be accessed anytime and anywhere and known as Adaptive Web-Based Educational System (AWBES) [1].
An ITS architecture basically consists of four models [3] as illustrated in Fig. 3 which are 1) Domain Model -known as the expert or cognitive model. This model contains procedures, theories and problem-solving tactics of the domain to be learned; 2) Student Model -known as user or learner model. The main aim of ITS is to improve students' learning process [4]. An ideal condition of the learning process is where students can receive lessons, resolve exercises and obtain immediate feedback. The feedbacks and hints are provided based on the analysis of the responses to each problem-solving step given by students.
In recent years, the development and improvement of ITS has been growing rapidly. Among some of the improvements include improvements on the problem-solving system that can support and help to give feedbacks and hints to students; improvements on model tracing that assesses students' current knowledge that facilitates the next step in order to support problem solving. In addition, improvements on knowledge tracing were also carried out that allows assessment of students' skills and knowledge level in order to release a new tutorial to facilitate learning and finally improvements on tutorial dialogues to support problem solving [5]. www.ijacsa.thesai.org   Educators agree that the most effective form of teaching is through one-to-one interaction with students [6]. In this context, ITS has an upper advantage as it provides personalized tutoring that is tailored to students' needs [5], [7], [8]. According to the findings from previous studies conducted by Kulik and Fletcher [9] and Colchester et al. [10], ITSs have successfully raised students' performance compared to those who were taught in conventional classes.
Chrysafiadi and Virvou [7] claim that, ITS to be become more adaptive and personalize, students' characteristic as student model need to be considered. The students' characteristic comprises of knowledge and skill; errors or misconceptions; learning styles and learning preferences; cognitive features; motivation; and affective features.
Knowledge refers to familiarity with theoretical concepts and factual information and skills refer to the proficiencies developed through practice [7]. During the learning process, errors or misconceptions can be identified. The concept of error or misconceptions can be defined as a process or fact that does not match a given norm [11]. Learning Styles and Learning Preferences -refer to how a student identifies, gathers and processes their learning materials [12]. While Cognitive features refer to students' aspects such as attention, knowledge, ability to learn and recall memory, opinion, attention, collaborative skills, capabilities to solve problems and make conclusions, analyzing abilities and critical thinking [7]. Literally motivation is the desire to do things. Motivation plays a significant role in students' learning process [13]. Emotional factors are known as affective features such as sadness, happiness, frustrations, anger, interest, boredom, distractions, aims and confusion [14]. Subsequently, affective features can be based on students' motivations [7].
Among the stated students' characteristics, motivation is considered as the main factor for engaging students in their learning [15], [16] and in academic performance [17]. Meanwhile, Abuhmaid [18], Hamzah et al., [19] and Sundar and Kumar [20] argue that students' motivation is an important factor in ensuring the success of ITS implementation. Abuhmaid [18] also pointed that motivation factors need to be considered when designing any ITS materials. Studies on the relationship between motivating factors and learning have been a prominent research topic in the field of education as well as studies focusing on eLearning [15].
McGill [21], for example, studies the use of robots to influence students' motivation when learning introductory programming. In order to ensure students feel motivated to use eLearning, Hamzah et al., [19] applied the ARCS+G (Attention, Relevance, Confidence, Satisfaction + Gamification) as motivational design model in the development process in their study. Another study conducted by Nikou and Economides [22] examined the impact of using mobile devices during the learning activity on students' learning motivation. Results obtained by Abuhmaid [18] reveal that utilizing the flipped learning strategy in an eLearning environment has a significant improvement on students' motivation to learn. Tambunan, Rusdi and Miarsyah [23] suggest that a combined usage of eLearning with a Problem Based Learning (PBL) model and motivation is an effective way to improve students' learning outcomes. Even though some may argue that a game environment can be used to ensure a good transfer of knowledge in a fun way, Yedri et al., [24] claim that a balance between learning transfer and motivation is the major key to success.

A. Intelligent Tutoring System for Learning Programming
Programming tools have been actively researched in their effectiveness to support teaching and learning. Pears and his colleagues [25] have summarized these programming tools into five categories one of which is ITSs. As highlighted in the previous section, ITSs provide many benefits in students' learning process.
An IPT (Intelligent Programming Tutor) is a specific implementation of an ITS for learning programming. The ideas behind the use of IPT are to create a learning process where students can receive tutelage, resolve exercises and receive instant feedbacks imitating one-to-one human tutoring.
As explained above, IPTs is derived from ITS' ideas in which students' characteristics also need to be considered in creating a conducive and effective learning process. In the following section, an exhaustive systematic literature review (SLR) was carried out to identify what types of student characteristics were used to design the IPT. www.ijacsa.thesai.org

II. METHOD
In this section, a SLR (Systematic Literature Review) was carried out to obtain answers to the following question: What types of student characteristics were used to design the IPT? SLR was conducted in this study as it is a process that can be used for recognizing, evaluating and interpreting research materials to answer several research questions [26].
To answer the question stated above, PICOC as proposed by Petticrew and Robert [27] was used in the study. PICOC comprise of five elements which are Population, Intervention, Comparison, Outcomes and Context. Table I shows a summary of PICOC for this study. The identification of primary sources from journals, conferences and online databases is important to ensure a wide coverage of potential sources. A survey of literature included all research works published from online database such as ACM Digital Library, Google Scholar, IEEE Explore, ISI Web of Knowledge, Science Direct and Springer. These online databases were selected to be used in this study as they are the most popular and frequent databases used by previous researchers in investigating the use of eLearning. In addition, references retrieved from SLR articles were analyzed to identify any literature that may have been ignored or overlooked during the search.
Using Booleans of AND, OR in the keyword combinations conducted include keywords such as intelligent programming tutor; intelligent tutoring system AND programming; and programming AND intelligent tutoring system. The use of the Boolean OR is to incorporate alternative synonyms and spellings while the usage of the Boolean AND is to link the major terms.
A search of these databases and journals allow the data collection to be inclusive and comprehensive. A total of 73 papers were selected which the searching technique described above. These articles were reviewed while papers that were not categorized under any refereed journal articles such as proceedings or editor-reviewed papers were excluded from the final analysis. The focus of this review was on refereed articles which assist in ensuring the quality and relative rigor of data sources. Therefore, research papers that did not conduct an in-depth discussion of their ITS in programming particularly those that did not investigate student characteristic(s) were omitted. Papers that were not published in English language and gray papers such as those without any bibliographic information (publication date/type, volume and issue numbers) were also excluded. Duplicated papers were also excluded (only the most recent, complete and improved one is included) from the SLR in this study. In total, 44 relevant papers which were published between 1997 and 2022 were gathered and thoroughly examined in this study.

A. Data Analysis
In Table II, the 44 articles were organized based on what type of student characteristics was used to construct the user model; what modelling technique was applied to construct the user model for the intended IPT system; the subject domain and learning environment.

B. Synthesis of SLR on Student Characteristics for Student
Model in IPTs Fig. 4 illustrates how students' characteristics were considered in constructing user model mainly in IPTs base on 44 articles which was revealed in Table II. From Fig. 4, 48% or 21 articles were found mainly focused on knowledge and skills as student characteristic for their user model. The objective of this characteristic is to improvised students' theoretical concepts knowledge and programming proficiencies skills in particular topic of programming subject.
To develop the user model base on knowledge and skills as student characteristic, different researchers use different modelling technique such as Bayesian network, Markov Decision Process, Regression model, Rule Base and K * classifier. However, the common modelling technique is Rule Base because it is easier to build due to improved authoring tools and remain a popular option.    Marmoset [40] -To write and test Java code and helps the instructor to monitor student progress.
OmniCode [41] -To teach novice students basic programming concept using Python.
PLTutor [44] Rule Base To teach syntax and semantic of JavaScript using visualization.
PLWeb [45] -Assist instructors to design computer programming exercises and to help students to study and practice programming exercises.

SCALE [46]
-Teach multiple topics consisting of pseudocode, sequential search, binary search subprograms and recursive.
ViLLe [47] -Developed to visualize programming syntax written by students in Java or C++.
WebTask [48] -To write Java code in a method body, testing, and received feedback in animation and visualization environment.

ADIS [49]
Constraint Based Modelling To teach basic algorithms of linked-lists, stacks, queues, trees and graph by visually.
ADIL [50] -To teach C language and explain logical errors.
AutoLEP [51] -Helps students to find and work through bugs in C language and also provides immediate detailed feedback.
Collab ChiQat [52] -Developed to teach linked lists, stacks, and binary search trees in collaboration environment.
iList [53] -Helps students to learn linked lists in visualization form.
iSnap [54] Contextual Tree Decomposition algorithm To teach programming control structure using block-based programming.
INCOM [55] Constraint Based Modelling Help students on programming logic using Prolog.

J-LATTE [56] Constraint Based Modelling
To teach Java in terms of design and syntax.
OOPs [57] Constraint Based Modelling Help students to understand and overcome their misconceptions in OOP and reinforce the correct learning methods.
ProBot [58] Rule Base Use game concept to improve students' abilities in programming control structures.
Introduction to LISP Programing. Sample based problem solving support, detailed analysis of student answers, solving support, reminder option.

Protus [63] -
Help students during programming learning process by advising students to take an appropriate action when needed, monitoring their progress and tracking student learning styles.

Knowledge & Skill with Cognitive Features
APT [64] ACT-R theory To write short programs in Lisp, Pascal or Prolog WPAS [65] -Supporting programming learning activities with various difficulty levels.

Knowledge & Skill with Affective Features
E-Learning 3.0 [66] Fuzzy-Logic and Nayve Bayes classifier algorithm To teach Java according student emotions.
PIT [67] -Teach programming skill and provide feedback based on students' emotion.

FITS [68]
Bayesian networks To teach flowchart using game environment.

Knowledge & Skill with Cognitive Features and Affective Features
Java Sensei [69] Neural Networks, Fuzzy Logic To teach Java and analyze student cognitive and emotion level during using the system.
JavaTutor [70] ACT-R theory & machine learning techniques Teach Java by interacting human-to-computer and body expressions.

Knowledge & Skill with Learning Styles & Learning Preferences and Motivation
LOs [71] Rule Base Used simulation-based to teach array sorting.
Whereas another 52% or 23 articles focused on a combination of two to three student characteristics where one of the combinations is knowledge and skill. From the study, it was identified that 25% or 11 articles focused on knowledge and skills with errors or misconceptions as students' characteristics to build the student model. The researchers aim is to improvise the students' knowledge by learning from mistakes. From the educational point of view, learning from mistake or error can be powerful learning process, especially for learning programming. Students learn much faster when they made mistake first, especially in programming. In other words, getting the incorrect answer helps them to remember the correct one. To develop the student model base on these two students' characteristics, the researchers has considered three different modelling techniques which are Constraint Based Modelling, Contextual Tree Decomposition algorithm and Rule Base. Among these three techniques, Constraint Based Modelling is most preferred by the researcher because the algorithm was originally developed as a hypothesis about how student learn from their mistakes.
Two articles or 4% focused on knowledge and skill with cognitive features as students' characteristics for their student model. The cognitive features are students' ability to learn and recall memory and also capabilities to solve problems and make conclusion were used to construct the user model. ACT-R (Adaptive Control of Thought-Rational) theory was used to develop the tutoring system student model. The theory using a cognitive architecture that uses production rules to model student problem solving processes.
Another two articles or 5% focused focus on knowledge and skill with affective features as students' characteristics for their student model. This model was able to recognize and analyze student emotion such as frustration, boredom, engagement, confusion and excitement through students' facial expressions. The system was developed base on Fuzzy-Logic and Naive Bayes classifier algorithm.
One article or 2% focused on knowledge and skill with motivation as students' characteristics to construct the user model. The model was developed using Bayesian networks in game environment call tic-tac-toe. While another four article or 9% construct the student model based on knowledge and skill with learning style and learning preferences. The model able to track students' learning styles during their learning process by advising students to take an appropriate action when needed. Association Rule Mining and Fuzzy C-Means Clustering and Neural Networks were considered as modelling technique to construct the student model base on students' characteristics.
There are two articles or 5% focused on a combination of three student characters which are knowledge and skill with cognitive and affective features. The user model was developed to analyze students' cognitive and emotional conditions during the learning process. The model use ACT-R theory for knowledge representation while affective features were obtained through body expressions using sensor detection. The detection performed using machine learning techniques.
Lastly, one article (2%) focused on knowledge and skill with learning styles and learning preferences and motivation as students' characteristics to construct the tutoring system www.ijacsa.thesai.org student model. The model able to detect students' learning styles and preferences using some predefine rules during the learning process and to motivate the students, simulation and visualization was used in the system user interface design.
From Jamal and Naemah [72] point of view, the effective teaching of programming subjects can be achieved by providing an appropriate tutoring system for the students. To achieve this, what type of students' characteristic need to be decided for the student model before developing the tutoring system [7]. From Fig. 4, it can say that knowledge and skills is an essential students' characteristic used to construct the tutoring system student model. Unfortunately, other students' characteristic is less considered especially students' motivation.
From the findings presented in Table II and Fig. 4, it can be seen that only 4.0% or 2 articles [68], [71 considered motivation as a student characteristic for the student model in IPT. On the other hand, Hooshyar et al. [68] used the game approach to motivate students to learn programming algorithm while Tuparov, Tuparov and Jordanov [71] used simulationbased ITP to help motivate students to understand array sorting. These motivations only encourage students as per view only.
Based on the results obtained from the existing literature thoroughly discussed above, it can be concluded that there is a lack of focus on motivation as a students' characteristic for student model mainly in IPT and generally in ITSs. Since student motivation is an important factor [15], [73] in learning programming [74], therefore the same consideration needs to be considered at the IPTs level and also ITSs.

IV. CONCLUSION
IPT is derived from ITSs. To develop an IPT system, students' characteristics need to be considered first before construct the student model which is one of important model in ITS architecture. From this study, it was identified that motivation was less considered as students' characteristics in constructing student model for IPT and generally in ITSs. Motivation and learning are highly complex aspects of human behaviour. Motivation has been agreed as a crucial aspect affecting learning behaviour, learning process and learning achievement. So, the same concern need to be consider in tutoring system implementation where can bring numerous benefits.