1 Introduction

The Pacific higher education institutions, are still confronted with the conventional mode of education (formal education) and are currently the most prevalent. Educators play an active role in this educational model, imparting their skills to students, who obtain information passively (Akyuz, 2020). With today’s rapid technological advancements, computer learning is rapidly being combined with artificial intelligence techniques to create more personalized educational systems (Al-Shawwa & Alshawwa, 2020). ITS aren’t some far-fetched futuristic idea. In a practical sense, they already exist Although unusual, they are capable of functioning without the presence of an instructor and may effectively challenge and help the learner through the use of various algorithms. The ever-increasing impact of technology is transforming how people learn and how institutions teach. People use the Internet to request online instruction from anywhere and at any time. This has resulted in the development of a plethora of online learning platforms that provide complete and effective educational solutions that are entirely online. Intelligent tutoring technologies that aid and guide students through the learning process, simulating the behavior of a human tutor, are available on these platforms.

The importance and contribution of e-learning systems, used as a supplement in the learning process, is unquestionable in normal situations, and it is more obvious in cases of lockdown scenarios, such as the one we are experiencing now (2021) due to the CORONAVIRUS health crisis (COVID-19 pandemic). In this situation, providing eLearning systems and promoting their use is one of the major challenges addressed by many educational institutions. Also, teaching programming is even more difficult when face-to-face classes are not conducted as it requires a lot of work and dedication from the students and teachers. Despite all the efforts of researchers, it seems to be difficult to find an effective method of teaching that is suitable to all students during this pandemic. An intelligent tutoring system is proposed in this paper to encourage students to learn through experimentation, proposing tasks on their initiative, which involves putting into use all the skills, abilities tools, and knowledge needed to successfully solve them. This system has been designed, developed, and applied for learning predictive parsing techniques and has been used by Computer Science students during four academic courses to evaluate its suitability for improving the student’s learning process.

This paper is divided into two sections: first, an outline of the ITS structure followed by the implementation design of Intelligent Tutorial System for Computer Programing (ITSC).

1.1 Theoretical understanding

Intelligent teaching systems, are focused on students’ expertise derived from an interpretation of their contact with the subject matter. Based on this study, an artificially intelligent agent determines students’ cognitive profiles and adapts them to the learning needs that fit these profiles (Binh & Trung, 2021). For instance, the pedagogical material accessible to students is tailored to their learning needs to optimize. To infer the learner’s cognitive states, such as his or her degree of competence or proficiency, an insightful tutoring device must be capable of diagnosing the learner’s behavior (Kumar & Ahuja, 2020). This approach is well served by the use of the student model, which tracks the learners’ cognitive states and is continuously modified by (the system’s intelligence) (Al-Shawwa & Alshawwa, 2020; Kumar & Ahuja, 2020). As a result, the development of detailed student models with trace and thus corrected using computers has always been a strong focus in the field of intelligent tutoring systems research (Cao et al., 2021). A minimum of four modules is usually included in an ITS (Neagu et al., 2020). For instance, the Expert Module (EM), this module contains facts and rules in a specific domain to be conveyed to the student; the Tutoring Module (TM) deals with designs and regulates instructional interactions through students; the Student Module (SM), which is a dynamic representation of the student’s current state of knowledge; and finally the User Interface (UI), a module that controls the interaction between the student and the computer (Neagu et al., 2020).

Many intelligent tutoring programs have been planned and built for educational purposes (Al-Shawwa & Alshawwa, 2020; Cao et al., 2021; Kumar & Ahuja, 2020; Neagu et al., 2020). Most of these ITS are devoted to teaching computer science for example English language (e.g., (Schez-Sobrino et al., 2020), and mathematics (e.g., (White & Legg, 2021)) and (Baneres & Saíz, 2016; Utterberg Modén et al., 2021) are two examples of English language and mathematics ITS. ITS for assisting Computer Science students in learning debugging skills (Schez-Sobrino et al., 2020; Sharma et al., 2021), ITS for assisting Computer.

Science students in learning computer theoretical concepts or even C++ programming (Schez-Sobrino et al., 2020; Ahn et al., 2018). In Java Programming(Crow et al., 2018), Java Expression Evaluation (Moreno-Marcos et al., 2020), and Linear Programming (Dermeval et al., 2018; Keuning et al., 2021), an agent-based ITS for parameter passing was developed.

ITSs have been implemented in a variety of ways, using tools such as LISP, CGI, and others (Ahn et al., 2018; González et al., 2013). Furthermore, keeping safety in mind due to technological advancement regular management and backup is mandatory. It goes without saying that as technology advances and digital media becomes more widely used, attackers become more sophisticated (Xhakaj et al., 2017; Sharma et al., 2021).

We will be presenting the application design of an ITS based on the Moodle Learning Management System in this study. Content, as well as evaluation development, delivery, and management, are all handled by Learning Management Systems (Romero et al., 2008). They make it easier to keep track of grades more reliably and effectively (Utterberg Modén et al., 2021).

2 Problem statement

The COVID-19 has presented a series of unique challenges to the education institution. In the face of the global pandemic, access to traditional learning methods is limited. In the Pacific, many regional students cannot travel to their campus or have missed weeks of lessons while being in quarantine. As a result, the students have got behind in their studies. Especially those who take programming courses where they are missing out on practical lab sessions. However, the initial case-base was more grounded towards using the traditional methods in upholding the learning processes. Now, this problem has shifted to zoom due to COVID-19 pandemic, hence, it is not practical for a tutor to look at individual cases to work and give each student an instant feedback on whether the learner is doing their code correctly. These practical lab sessions are so important as it does not only give students hands on experience with coding but also a instant feedback and guidance from their tutors. This research paper will propose a design of an Intelligent Tutoring System to teach programming language that can be implemented and integrated by the educational institution in the Pacific Islands to assist regional students or even students who cannot travel to their respective campuses so that the students do not lag in their studies. The proposed system will facilitate students’ learning via rapid feedback. The system will instantly tell students if they are doing it right and suggest hints. If the student wishes to view solution, there is an option to do that too.

2.1 Current challenges faced in the Pacific

  • Accessibility

It is observed that not all students in the Pacific have a personal computer or a laptop. They rely on computer lab facilities provided on campus. The system however could be made available on mobile devices and students can practice to some extent [12, 13]. Nevertheless, the Intelligent Tutoring System may not give a hands-on programming experience for the real environment (Binh & Trung, 2021; Dermeval et al., 2018).

  • Lack of exposure to technology

It is observed that not all students in the Pacific have exposure to technology like a personal computer till they come to university. Nevertheless, these students do have the curiosity to learn about it and the courage to even take programming courses like C++, Java, Python (Palomino et al., 2014). While Pacific students with less exposure try to catch up and get hands-on experience using computers, they get behind in the course. Even though lecture notes, recordings, and lab activity solutions may be available, programming is best learned from practicing rather than watching, listening, or reading (Moreno-Marcos et al., 2020).

  • Pandemic Restrictions

Before the pandemic, the students attended lab sessions where their tutor guided them. The students even had opportunities to meet their lecturers and tutors anytime and clarify their doubts. However, now, they can either email or consult when the teaching personal is available on a scheduled video call. This isn’t convenient or as effective as assisting face-to-face.

2.2 Added opportunities with ITS

  • Cost-Efficient

Mostly in long term, having an Intelligent Tutoring System is far less costly than the traditional approach of completing the tutoring task.

The sole expense associated with ITS is the acquisition of the devices or applications needed to operate it thus is reusable. This is much less expensive than paying for an instructor’s salary in a typical classroom. Because of its low cost, this technology is widely used in a variety of classes and jobs.

  • Availability (24 h and 7 days per week)

Unlike an ordinary classroom, the Intelligent Tutoring System will be available to students for access any time and daily. So, based on student’s convenience he or she can access to learn programming at any time.

  • Time Productivity

The introduction of this sort of tool opens up a plethora of opportunities, one of which is the decrease of time spent in designing content and at the same time encouraging suitable knowledge.

3 Proposed methodology and operation

In this part, we present our proposed ITS system architecture with a planned core design. The ITS logical module, integrated with a distinct student modeling is implemented with dynamic hints generation capacities, that empowers ITS to fundamentally improve the programming performances of students (face-to-face or online registered students) (Xhakaj et al., 2017; Moreno-Marcos et al., 2020). As a result, the ITS authoring platform is designed to be extremely user-friendly and simple to incorporate problems of varying degrees of difficulty. When an instructor submits a programming problem, it is automatically made available to ITS and then to students. The authoring tool’s user interfaces are as seen in Fig. 4. The authoring feature allows the instructor to see all of the issues in the session collection and can edit the selected ones if needed. To assess the required input to the user, ITS carefully reviews the student’s submitted code based on the problem definition, specification, and problem-solution code. This allows each student to create their expertise to the fullest extent possible. Section 3.1 shows the detailing proposed architecture implements embedded with the Learning Management System (LMS) known as Moodle (Figs. 1 and 2) .

Fig. 1
figure 1

Shows the sequence diagram that describes a login interaction among a set of objects participated in for example (Student, Intelligent Agent, Consortium, and Moodle) that has a collaboration (or scenario on Intelligent tutoring), arranged in chronological order; it shows the objects participating in the interaction

Fig. 2
figure 2

Shows the proposed architecture for ITS. Since the programming subjects have been chosen and customized, they will be made available to the student through the Moodle platform. The assessment will be applied after the student has revised a subject, and the database that stores the student’s output will be updated with the results of the evaluation

3.1 Proposed ITS design and implements for the test-set

When the student’s diagnosis process has historical information about him or her, the process would take the information about the student’s performance (time of the activity, number of attempts, and assessments) to evaluate if the student has the competency and if not, the student will move on to the next topic and the selector agent will not execute. Otherwise, the selector agent will choose another resource to view, one that is more elaborated and uses a particular teaching approach that is more appropriate for the student’s learning style (Fig. 3).

Fig. 3
figure 3

Shows the broad-spectrum architecture of Moodle and its functions and how the ITS system will be embedded into this LMS

Students will be given a simple user guide through emails whereby they could follow to get started with this automatic system. The program will further have a getting started user/ student guide.

4 Discussion

The proposed system will be built on top of Moodle which is currently used by the universities in the Pacific. This means that students will not have to get used to a completely new system. To access the Intelligent Tutoring System for programming, the student will simply have to log into Moodle using their student id and password as illustrated in Fig. 1. Then the student needs to browse the course and open it. On their course page, a link to the Intelligent Tutoring System will be available for the student to utilize anytime. Clicking on the link will open an interface like the picture in Fig. 2. The system will solve the problem based on Case-Based Reasoning (CBR). The CBR will function in four simple steps; retrieve, reuse, revise and retain.

  • Retrieve: Return related cases from the case base when given a new case.

  • Reuse: Adapt the cases that were recovered to suit the current situation.

  • Revise: Evaluate the approach and make the necessary changes depending on its effectiveness.

  • Retain: Decide on whether or not to keep this new case in the case foundation.

If the conditions are simple, using the k-nearest neighbor’s algorithm for any given number kn works well. The kn training examples with the input features nearest to the new example are used to predict the target value for the new programming problem when given a new problem. The prediction may be the mode, average, or any interpolation between the predictions of these kn training cases, with closer examples weighted more heavily than farther examples. A distance metric that calculates the distance between two examples is needed for this approach to operate. First, specify a metric for each feature’s domain, in which the features’ values are translated to a numerical scale that can be compared. Assume that Xi(e) is a numerical representation of the value of Xi for example e. The difference between examples e1 and e2 on the dimension described by function Xi is then (Xi(e1) - Xi(e2).

$$d\left({e}_1,{e}_2\right)=\sqrt{\sum iWi\ast {\left({X}_i\left({e}_1\right)-{X}_i\left({e}_2\right)\right)}^2}$$
(1)

The weights of the features may be used as feedback. These weights can be learned as well. The learning agent will strive to find weights that decrease the error in estimating the value of each element of the training set depending on the values of the other elements of the training set (Table 1).

Table 1 Choices of the programming languages in a course

The aim is to figure out which course the student enjoys learning and undertaking. In this case, the target function is Learning, and the aim is to find the definition as (Fig. 4):

$$\left.\mathrm{Learns}(e)\to C++(e)\Lambda \neg \mathrm{Java}\ (e)\ \mathrm{V}\ \mathrm{Phyton}\neg \mathrm{HTML}\ (e)\right)$$
(2)
figure a
Fig. 4
figure 4

Shows the opening user-friendly proposed interface. This form enables the user to enter the details of the problem statement with prior source code respectively. The Graphical User Interface (GUI) for computer-based programming tutors is an important aspect that was taken into account during the design process. The user interface is built on a presentation style used by experienced programmers in many common Integrated Development Environments

Furthermore, the Intelligent System will not only give programming activities to solve but will also provide an option to look at the hints to help the student to solve the problem. Also, instant feedback will be provided to the learner. If the learner wishes to look at the solution, the solution will also be made available instantly and a new activity will be given to the student to try and test his/her knowledge. Additionally, the student can view the history of his activities. This history will also be used by the system to determine the level of knowledge the student must determine the type of question he will get next. Moreover, the system will provide a compiler. This means that the student will not need to use a separate Integrated Development Environment to test the syntax or to view errors. The errors will be displayed in the results section of the user interface. A help tab is also provided for students to learn about how the user interface works. This will help the student to get familiarized and get started without needing any training. If the student has any question, there is an option to just click on the email icon and send the email to the course coordinator or the tutor or the peer mentor or even a friend with the activity question and his answer to get an even further explanation if the learner wishes too.

The planned system would enable students to browse models depicting an individual knowledge level. The content and method of teaching subject displays can be adjusted to the student’s capacities. Furthermore, the ITS is gathered on the implementation and delivery of artificially intelligent systems. Yet, the proposed system aims to enhance and improve the learning and teaching process in programming knowledge related to the student’s abilities (Fig. 5).

Fig. 5
figure 5

Shows the flow chart process model for the proposed ITS. Due to the complexities of semantic decoding, ITS can only mentor a limited subset of programming languages concurrently. Therefore, at some point, it necessitates making restrictions on a small subset

5 Conclusion

Intelligent tutoring schemes have several benefits over traditional teaching methods. ITSs provide continuous guidance and assistance to quickly get students to mastery especially for the online regional students in the Pacific during this COVID-19 pandemic 2021. The device will adjust to provide customized assistance by continuously recording and retaining a picture of how the student is performing. We have designed and proposed an ITS that uses Moodle as an LMP because the ITS architecture is a complex operation. The proposed method reconstructs the basic characteristics of cognitive tutoring programs and employs CBR as a method for diagnosing a student’s intelligence, adaptive problem generation, and knowledge acquisition. Through solved cases and prior experience with students, the designer can eventually create the desired solution with CBR. Agents are often used to automate the CBR steps, which is considered essential. However, this multi-agent scheme in our methodology distributes the situation base and the CBR period among many agents. These agents aid in dilemma formulation and dissolution, as well as the detection and retrieval of reusable cases. The modular architecture allows parts to be reused and the case base to be managed efficiently. As a result, the article’s key contributions are a guide for using CBR in ITS architecture, as well as adapting learning material and teaching methodologies to the student profile. Second, multi-agent structures are being used to simplify the CBR loop, allowing for modularity and component reuse. We have also modified the algorithms used in the CBR cycle’s processes for use by agents.