Design and Implementation of Intelligent Tutoring System
Design and Implementation of Intelligent Tutoring System
INTRODUCTION
In Software and Web Development (SWD) education, the increasing student enrollments over
the past few years have posed significant challenges (Singer, 2019). As a result, providing high-
quality and individualized learning support, particularly for novice students, has become
increasingly difficult (Zhang, et.al, 2022 and Mirshosseni, et. al, 2023). Mirhosseini et al. (2023)
recently conducted an interview study with SWD instructors to identify their most pressing
concerns. Among other issues, they found that SWD instructors struggle with limited or no
Teaching Assistant (TA) support and the time-consuming task of providing student feedback and
grading assignments. Thus, automating tutoring activities to assist TAs in their responsibilities
projects. Software development is a core course in the university curriculum for SWD students,
often accompanied by practical development projects. These projects allow students to gain
hands-on experience in software development within a team, going beyond simple programming
exercises. However, they present inherent challenges, such as acquiring industry partners and
dealing with under- or over-specified project requirements. Additionally, these projects are often
one-time efforts within a single team or course, preventing students from experiencing the long-
This research aims to address these two fundamental challenges in software and web
students and instructors. The proposed ITS will combine SWD teaching and programming
instruction through a long-term, practical, self-sustained software system that can be deployed in
program repair will be leverage (APR) to generate precise corrections for students' incorrect
solutions. Furthermore, we will integrate the natural language inference capabilities of large
feedback. This approach aims to enhance the learning experience, reduce the teaching burden,
The increasing student enrollments in Software and Web Development (SWD) education have
processes. Additionally, software development projects often face issues like poorly defined
requirements, lack of industry partnerships, and limited exposure to the full software lifecycle.
Existing Intelligent Tutoring Systems (ITS) show potential but lack adaptability, contextual
This research aims to design and implement an Intelligent Tutoring System (ITS) for Software
and Web Development (SWD) education at Oyo State College of Agriculture and Technology,
Igboora. The system will enhance personalized learning, automated feedback generation, and
grading efficiency. This will address challenges such as limited instructional resources, delayed
Objectives
To design and implement an Intelligent Tutoring System (ITS) that leverages Automated
Program Repair (APR) and Large Language Models (LLMs) to provide real-time
To recommend improvements for integrating the ITS into the college’s curriculum,
This research contributes to the educational technology field by enhancing learning experiences
through ITS. It provides instructors with data-driven insights into student performance, allowing
The research focuses on the design and implementation of an ITS specifically for the Software
and Web Development Department of Oyo State College of Agriculture and Technology. It
includes adaptive learning techniques, automated assessments, and interactive learning modules.
However, the study does not cover broader educational fields or non-technical disciplines.
limitations.
CHAPTER TWO
LITERATURE REVIEW
2.1 Introduction
adaptive learning. In the early 1970s, researchers utilized an Artificial Intelligence (AI) approach
to address the issue of designing learning environments (Clancey & Soloway, 2021).
Personalized and interactive learning depends on adapting learning models to the learner’s
knowledge, emotions, and actions. AI has played a major impact in enhancing tutoring systems.
Educational data mining is essential for comprehending the learning process and learner
and Clarebout, 2020). In addition, to the importance of the content being suggested, AI can also
personalize and adapt the content courses based on the identified skill level and speed of the
learner. These intelligent systems will engage with the learner like an online personal tutor, thus
known as Intelligent Tutoring Systems (ITS) that utilize AI methods for adaptive teaching.
Education is currently moving toward personalized learning methods to meet learners’ different
requirements and preferences. ITS uses technology and data to create personalized learning
experiences. Integrating CBR and MAS in ITS can improve personalized learning. ITS are
are designed to adapt to individual learner’s needs through personalized AI systems. This
innovation addresses the restrictions of CAI by offering more adaptable and engaging platforms
that evaluate and address each learner’s challenges to offer suitable support (Buche, C., 2021).
ITS is mainly utilized as a platform for solving problems or practicing exercises. They facilitate
learning within a particular subject area by directing and supporting the learner (Bourdeau et. al.,
2020). Personalizing learning with ITS allows for unique learning paths to be created for each
learner based on their needs, interests, and skill level. These systems use learner data, such as
assessment results learning preferences, and interactions with content, to adapt content and
learning activities in real-time. This allows for a more effective and engaging learning
experience for learners, as they receive content that matches their skill level and assists them in
achieving their learning objectives. CBR utilizes previous knowledge for problem-solving while
MAS involves multiple independent agents collaborating to achieve a common objective (Saliu
et.; 2023). The merging of CBR and MAS provides synergistic potential for the adaptation and
An intelligent tutoring system (ITS) is a computer system that imitates human tutors and aims to
provide immediate and customized instruction or feedback to learners,(Joseph and Sharon, 1998)
usually without requiring intervention from a human teacher. Arnau et. al, (2023) ITSs have the
common goal of enabling learning in a meaningful and effective manner by using a variety of
computing technologies. There are many examples of ITSs being used in both formal education
and professional settings in which they have demonstrated their capabilities and limitations.
There is a close relationship between intelligent tutoring, cognitive learning theories and design;
and there is ongoing research to improve the effectiveness of ITS. An ITS typically aims to
students would otherwise have access to one-to-many instruction from a single teacher (e.g.,
classroom lectures), or no teacher at all (e.g., online homework).VanLehn, (2020) ITSs are often
designed with the goal of providing access to high quality education to each and every student.
2.2.1 Microcomputers and intelligent systems
The microcomputer revolution in the late 1970s and early 1980s helped to revive CAI
development and jumpstart development of ITS systems. Personal computers such as the Apple
II, Commodore PET, and TRS-80 reduced the resources required to own computers and by 1981,
50% of US schools were using computers (Chambers & Sprecher, 1983). Several CAI projects
utilized the Apple 2 as a system to deliver CAI programs in high schools and universities
including the British Columbia Project and California State University Project in 1981.
The early 1980s would also see Intelligent Computer-Assisted Instruction (ICAI) and ITS goals
diverge from their roots in CAI. As CAI became increasingly focused on deeper interactions
with content created for a specific area of interest, ITS sought to create systems that focused on
knowledge of the task and the ability to generalize that knowledge in non-specific ways (Larkin
& Chabay, 2019). The key goals set out for ITS were to be able to teach a task as well as perform
it, adapting dynamically to its situation. In the transition from CAI to ICAI systems, the
computer would have to distinguish not only between the correct and incorrect response but the
type of incorrect response to adjust the type of instruction. Research in Artificial Intelligence and
Cognitive Psychology fueled the new principles of ITS. Psychologists considered how a
computer could solve problems and perform 'intelligent' activities. An ITS programme would
have to be able to represent, store and retrieve knowledge and even search its own database to
derive its own new knowledge to respond to learner's questions. Basically, early specifications
for ITS or (ICAI) require it to "diagnose errors and tailor remediation based on the diagnosis"
(Shute & Psotka, 2022). The idea of diagnosis and remediation is still in use today when
programming ITS.
A key breakthrough in ITS research was the creation of The LISP Tutor, a program that
implemented ITS principles in a practical way and showed promising effects increasing student
performance. The LISP Tutor was developed and researched in 1983 as an ITS system for
teaching students the LISP programming language (Corbett & Anderson, 2022). The LISP Tutor
could identify mistakes and provide constructive feedback to students while they were
performing the exercise. The system was found to decrease the time required to complete the
exercises while improving student test scores (Corbett & Anderson, 2022). Other ITS systems
beginning to develop around this time include TUTOR created by Logica in 1984 as a general
instructional tool (Ford L.A, 2018) and PARNASSUS created in Carnegie Mellon University in
After the implementation of initial ITS, more researchers created a number of ITS for different
students. In the late 20th century, Intelligent Tutoring Tools (ITTs) was developed by the
Byzantium project, which involved six universities. The ITTs were general purpose tutoring
system builders and many institutions had positive feedback while using them. (Kinshuk, 2016)
This builder, ITT, would produce an Intelligent Tutoring Applet (ITA) for different subject areas.
Different teachers created the ITAs and built up a large inventory of knowledge that was
accessible by others through the Internet. Once an ITS was created, teachers could copy it and
modify it for future use. This system was efficient and flexible. However, Kinshuk and Patel
believed that the ITS was not designed from an educational point of view and was not developed
based on the actual needs of students and teachers (Kinshuk and Patel, 2017). Recent work has
employed ethnographic and design research methods (Kinshuk and Patel, 2017) to examine the
ways ITSs are actually used by students (Ogan et. al, 2012) and teachers (Holstein et. al, 2017)
across a range of contexts, often revealing unanticipated needs that they meet, fail to meet, or in
Modern day ITSs typically try to replicate the role of a teacher or a teaching assistant, and
increasingly automate pedagogical functions such as problem generation, problem selection, and
feedback generation. However, given a current shift towards blended learning models, recent
work on ITSs has begun focusing on ways these systems can effectively leverage the
complementary strengths of human-led instruction from a teacher (Miller et. al, 2015) or peer,
(Diziol, et. al, 2010) when used in co-located classrooms or other social contexts.(Baker, 2016)
There were three ITS projects that functioned based on conversational dialogue: AutoTutor,
Atlas (Freedman, 1999), and Why2. The idea behind these projects was that since students learn
best by constructing knowledge themselves, the programs would begin with leading questions
for the students and would give out answers as a last resort. AutoTutor's students focused on
answering questions about computer technology, Atlas's students focused on solving quantitative
problems, and Why2's students focused on explaining physical systems qualitatively. (Graesser,
VanLehn, and others, 2021). Other similar tutoring systems such as Andes (Gertner, Conati, and
VanLehn, 1998) tend to provide hints and immediate feedback for students when students have
trouble answering the questions. They could guess their answers and have correct answers
without deep understanding of the concepts. Research was done with a small group of students
using Atlas and Andes respectively. The results showed that students using Atlas made
significant improvements compared with students who used Andes.(Shelby et. al, 2011)
However, since the above systems require analysis of students' dialogues, improvement is yet to
The domain model (also known as the cognitive model or expert knowledge model) is built on a
theory of learning, such as the ACT-R theory which tries to take into account all the possible
steps required to solve a problem. More specifically, this model "contains the concepts, rules,
and problem-solving strategies of the domain to be learned. It can fulfill several roles: as a
source of expert knowledge, a standard for evaluating the student's performance or for detecting
errors, etc." (Nkambou et al., 2010). Another approach for developing domain models is based
based modelling (CBM).In this case, the domain model is presented as a set of constraints on
correct solutions.
The student model can be thought of as an overlay on the domain model. It is considered as the
core component of an ITS paying special attention to student's cognitive and affective states and
their evolution as the learning process advances. As the student works step-by-step through their
problem solving process, an ITS engages in a process called model tracing. Anytime the student
model deviates from the domain model, the system identifies, or flags, that an error has occurred.
On the other hand, in constraint-based tutors the student model is represented as an overlay on
the constraint set. Constraint-based tutors (Mitrovic, 2010) evaluate the student's solution against
the constraint set, and identify satisfied and violated constraints. If there are any violated
constraints, the student's solution is incorrect, and the ITS provides feedback on those
constraints. Constraint-based tutors provide negative feedback (i.e. feedback on errors) and also
The tutor model accepts information from the domain and student models and makes choices
about tutoring strategies and actions. At any point in the problem-solving process the learner
may request guidance on what to do next, relative to their current location in the model. In
addition, the system recognizes when the learner has deviated from the production rules of the
model and provides timely feedback for the learner, resulting in a shorter period of time to reach
proficiency with the targeted skills. The tutor model may contain several hundred production
rules that can be said to exist in one of two states, learned or unlearned. Every time a student
successfully applies a rule to a problem, the system updates a probability estimate that the
student has learned the rule. The system continues to drill students on exercises that require
effective application of a rule until the probability that the rule has been learned reaches at least
95% probability.
Knowledge tracing tracks the learner's progress from problem to problem and builds a profile of
strengths and weaknesses relative to the production rules. The cognitive tutoring system
knowledge tracing as a skillometer, a visual graph of the learner's success in each of the
monitored skills related to solving algebra problems. When a learner requests a hint, or an error
is flagged, the knowledge tracing data and the skillometer are updated in real-time.
2.2.3.4 The User Interface Component
The user interface component "integrates three types of information that are needed in carrying
out a dialogue: knowledge about patterns of interpretation (to understand a speaker) and action
(to generate utterances) within dialogues; domain knowledge needed for communicating content;
Nkambou et al. (2010) make mention of Nwana's (2020) review of different architectures
underlining a strong link between architecture and paradigm (or philosophy). Nwana (2020)
declares, "[I]t is almost a rarity to find two ITSs based on the same architecture [which] results
from the experimental nature of the work in the area" (258). He further explains that differing
tutoring philosophies emphasize different components of the learning process (i.e., domain,
student or tutor). The architectural design of an ITS reflects this emphasis, and this leads to a
variety of architectures, none of which, individually, can support all tutoring strategies (Nwana,
2020, as cited in Nkambou et al., 2010). Moreover, ITS projects may vary according to the
intelligence in the domain model may generate solutions to complex and novel problems so that
students can always have new problems to work on, but it might only have simple methods for
teaching those problems, while a system that concentrates on multiple or novel ways of teaching
a particular topic might find a less sophisticated representation of that content sufficient.
The application of Intelligent Tutoring Systems (ITS) in Software and Web Development (SWD)
education plays a crucial role in addressing the challenges of teaching complex programming
concepts and skills. Traditional teaching approaches often struggle to cater to individual learning
needs, leading to difficulties in grasping abstract programming concepts, debugging errors, and
understanding real-world software development practices. However, with ITS, learning
experiences in SWD can be enhanced through adaptive learning, personalized feedback, and
A 2020 study introduced an ITS framework specifically designed for real-time personalized
interactive exercises.
The study found that students who engaged with an ITS-based learning system demonstrated
higher efficiency and comprehension compared to those using conventional teaching methods.
By analyzing coding errors and providing contextualized hints, the system enabled students to
debug their code more effectively** and reinforced learning by offering step-by-step
explanations.
Beyond providing personalized learning, ITS significantly reduces the workload of instructors by
automating time-consuming tasks such as grading, feedback generation, and student progress
feedback, and evaluating students’ understanding. Research has shown that ITS can automate
grading.
- Provide instant feedback on coding assignments, helping students quickly identify and
- Track individual student progress through learning analytics and intervention strategies.
code logic, execution results, and structure. It can detect syntax errors, runtime issues, and
Another aspect of ITS in SWD education is its ability to promote collaborative learning. Some
modern ITS systems integrate features that allow students to work on coding projects in teams,
engage in peer learning, and receive AI-assisted guidance on group assignments. Such systems
support code review processes, where students can learn from each other’s mistakes while the
Furthermore, ITS platforms can simulate real-world software development scenarios, guiding
students through software engineering principles such as version control, debugging, testing, and
deployment. These hands-on experiences ensure that students develop practical programming
their effectiveness in educational settings. These theories provide frameworks for understanding
how learners acquire knowledge and skills, guiding the design of ITS to foster engagement and
promote deeper learning. The following sections outline key learning theories that support the
Behaviorism
Focuses on observable behaviors and the relationship between stimuli and responses.
Reinforcement strategies are often employed in ITS to encourage desired behaviors and learning
Cognitivism
ITS can utilize cognitive strategies to help learners organize and retain information, enhancing
Techniques like scaffolding and metacognitive prompts are integrated to support learners'
Constructivism
Advocates for active learning where learners construct knowledge through experiences.
ITS can facilitate problem-based learning scenarios, allowing students to engage in meaningful
Collaborative features in ITS promote social interaction, aligning with Vygotsky's theories on
of each approach. For instance, an over-reliance on behaviorist techniques may neglect the
importance of fostering critical thinking and creativity in learners. Balancing these theories can
Several recent studies have explored the development of ITS aimed at personalizing learning
activities. These systems have presented a positive impact on personalized learning, contributing
to improving learner performance and better time management. For instance, Duque Mendez ´et
al. (2018) designed a personal intelligent assistant to help users select educational materials from
artificial intelligence technique known as CBR, which leverages past outcomes of similar
Similarly, Mamcenk et al. (2019) examined the use of CBR to provide relevant
recommendations in online learning contexts. They explored educational data and utilized case
based reasoning to profile learners and design a personalized intelligent learning system, aiming
In 2020, Yasar Akyuz evaluated the effectiveness of intelligent tutoring systems in facilitating
personalized learning, covering various aspects such as architecture, future role, methodology,
system that supports customization based on learning styles. With the rise of distance learning,
particularly due to the COVID-19 pandemic, the goal is to provide an adaptive online learning
system solution that offers more effective learning experiences by considering individual
The Felder and Silverman learning style model was used to represent these differences [9].
These studies have established the basis for an integrated approach to personalized learning
activities, in which intelligent tutoring systems make use of both prior knowledge. In this
approach, we have combined all the key points for our working methodology to propose adaptive
and personalized solutions. This paragraph emphasizes the critical significance of personalized
learners’ individual preferences and abilities is crucial for enhancing motivation, improving
understanding learners’ preferences and learning styles is essential for successful personalized
learning in e-learning environments, requiring knowledge of their unique learning needs and
Anderson, H.; Koedinger, M. (2017). "Intelligent tutoring goes to school in the Big City".
International Journal of Artificial Intelligence in Education. 8: 30–43.
Bailin, A & Levin, L. Introduction: Intelligent Computer Assisted Language Instruction (2019)
Computers and the Humanities, 23, 3-11
Bourdeau, J., Pelleu-Tchetagni, J. and Psych, V. (2020). ´ e, “Le domaine des ´environnements
d’apprentissage a base de connaissances,” ` Editions ´ T´el´e-Universit´e, 2020.
Chambers, J., & Sprecher, J. (2023). Computer-Assisted Instruction: Its Use in the Classroom.
Englewood Cliffs, New Jersey: Prentice-Hall Inc.
Clancey, W. J. and Soloway, E. (2021). Artificial intelligence and learning environments. MIT
press, 2020.
Corbett, A.T., & Anderson, J. R. (1992). LISP Intelligent Tutoring System Research in Skill
Acquisition. In Larkin, J. & Chabay, R. (Eds.) Computer assisted instruction and
intelligent tutoring systems: shared goals and complementary approaches (pp.73-110)
Englewood Cliffs, New Jersey: Prentice-Hall Inc.
Corbett, Albert T. and Anderson, John R., "Student Modeling and Mastery Learning in a
Computer-Based Programming Tutor" (2018). Department of Psychology. Paper 18.
http://repository.cmu.edu/psychology/18
Diziol, D., Walker, E., Rummel, N., & Koedinger, K. R. (2020). Using intelligent tutor
technology to implement adaptive support for student collaboration. Educational
Psychology Review, 22(1), 89-102.
Ford, L. A New Intelligent Tutoring System (2018) British Journal of Educational Technology,
39(2), 311-318
Freedman, R. 1999. Atlas: A Plan Manager for Mixed-Initiative, Multimodal Dialogue. (1999)
AAAI Workshop on Mixed-Initiative Intelligence
Graesser, Arthur C., Kurt VanLehn, Carolyn P. Rose, Pamela W. Jordan, and Derek Harter.
(2021) Intelligent Tutoring Systems with Conversational Dialogue. Al Magazine 22.4,
39-52.
Holstein, K., McLaren, B. M., & Aleven, V. (2017, March). Intelligent tutors as teachers' aides:
exploring teacher needs for real-time analytics in blended classrooms. In Proceedings of
the Seventh International Learning Analytics & Knowledge Conference (pp. 257-266).
ACM.
Joseph Psotka, Sharon A. Mutter (2018). Intelligent Tutoring Systems: Lessons Learned.
Lawrence Erlbaum Associates. ISBN 978-0-8058-0192-7.
Kinshuk (2016). Computer aided learning for entry level Accountancy students. PhD Thesis, De
Montfort University, England, July 2016.
Kinshuk, and Ashok Patel. (2017) A Conceptual Framework for Internet Based Intelligent
Tutoring Systems. Knowledge Transfer, II, 117-24.
Larkin, J, & Chabay, R. (Eds.). (2022). Computer Assisted Instruction and Intelligent Tutoring
Systems: Shared Goals and Complementary Approaches. Hillsdale, New Jersey:
Lawrence Erlbaum Associates.
Miller, W. L., Baker, R. S., Labrum, M. J., Petsche, K., Liu, Y. H., & Wagner, A. Z. (2015,
March). Automated detection of proactive remediation by teachers in Reasoning Mind
classrooms. In Proceedings of the Fifth International Conference on Learning Analytics
And Knowledge (pp. 290-294). ACM.
Mitrovic, A. (2010) Fifteen years of Constraint-Based Tutors: What we have achieved and
where we are going. User Modeling and User-Adapted Interaction, 22(1-2), 39-72.
Mitrovic, A., Ohlsson, S., Barrow, D. (2013) The effect of positive feedback in a constraint-
based intelligent tutoring system. Computers & Education, 60(1), 264-272.
Nkambou, R., Mizoguchi, R., & Bourdeau, J. (2010). Advances in intelligent tutoring systems.
Heidelberg: Springer.
Ogan, A., Walker, E., Baker, R. S., Rebolledo Mendez, G., Jimenez Castro, M., Laurentino, T.,
& De Carvalho, A. (2012, May). Collaboration in cognitive tutor use in Latin America:
Field study and design recommendations. In Proceedings of the SIGCHI Conference on
Human Factors in Computing Systems (pp. 1381-1390). ACM.
Sallu, S., Sianturi, N. M., Purwoko, B., Herliansyah, Y., and Manuhutu, M. A., (2023).
“Learning in higher education based on artificial intelligence (ai) with case based
reasoning (cbr),” Journal of Namibian Studies: History Politics Culture, vol. 34, pp.
1049–1064, 2023.
Schofield, J. W., Eurich-Fulcer, R., & Britt, C. L. (1994). Teachers, computer tutors, and
teaching: The artificially intelligent tutor as an agent for classroom change. American
Educational Research Journal, 31(3), 579-607.
Shelby, R. N.; Schulze, K. G.; Treacy, D. J.; Wintersgill, M. C.; VanLehn, K.; and Weinstein,
A. (2021) The Assessment of Andes Tutor.
Shute, V. J., & Psotka, J. (2014). Intelligent Tutoring Systems: Past, Present, and Future.
Human resources directorate manpower and personnel research division. pp. 2-52
Sidney Pressey (2023). A Brief History of Instructional Design. Archived from the original on
11 Jul 2023.
VanLehn, K. (2021). "The relative effectiveness of human tutoring, intelligent tutoring systems,
and other tutoring systems". Educational Psychologist. 46 (4): 197–221.
doi:10.1080/00461520.2011.611369. S2CID 16188384.
Singer, N., (2023) “The Hard Part of Computer Science? Getting Into Class,” January 2019,
accessed: 16-March-2023. [Online]. Available: https://www.nytimes.com/2019/01/24/
Zhang, J., Cambronero, J., Gulwani, S., Le, V., Piskac, R., Soares, G., and G. Verbruggen,
(2022) “Repairing bugs in python assignments using large language models,” arXiv
preprint arXiv:2209.14876, 2022.
Mirhosseini, S., Henley, A. Z., and Parnin, C., (2023) “What is your biggest pain point? an
investigation of cs instructor obstacles, workarounds, and desires,” in Proceedings of the
54th ACM Technical Symposium on Computer Science Education V. 1, ser. SIGCSE
2023. New York, NY, USA: Association for Computing Machinery, 2023, p. 291–297.