ISSN 2286-4822 www.euacademic.org EUROPEAN ACADEMIC RESEARCH Vol. IV, Issue 10/ January 2017 Impact Factor: 3.4546 (UIF) DRJI Value: 5.9 (B+) Adaptive ITS for Learning Computer Theory MOHAMMED A. M. AL-NAKHAL Department of Information Technology Faculty of Engineering & Information Technology Al-Azhar University, Gaza, Palestine Abstract: In this paper, we present an intelligent tutoring system developed to help students in learning Computer Theory. The Intelligent tutoring system was built using ITSB authoring tool. The system helps students to learn finite automata, pushdown automata, Turing machines and examines the relationship between these automata and formal languages, deterministic and nondeterministic machines, regular expressions, context free grammars, undecidability, and complexity. During the process the intelligent tutoring system gives assistance and feedback of many types in an intelligent manner according to the behavior of the student. An evaluation of the intelligent tutoring system has revealed reasonably acceptable results in terms of its usability and learning abilities are concerned. Key words: Intelligent Tutoring System, Authoring Tool, ITSB, computer theory Mohammed A. M. Al-Nakhal Adaptive ITS for Learning Computer Theory EUROPEAN ACADEMIC RESEARCH Vol. IV, Issue 10 / January 2017 8771 INTRODUCTION In mathematics and computer science, computer theory course is the branch that involved with how efficient a problem may be solved using algorithmic computational model. The field consists of three main divisions: theory of computability, language and automata theory, theory of computational complexity that is associated with the question: "What are the essential capabilities and restrictions of computers?" To be able to implement a rigorous study of computation, computer experts who work with a computers mathematical abstraction named computational model. There are a few models that are being used, but the most frequently studied is the Turing machine. Computer experts study the Turing machine due to its simplicity in formulation, may be examined and used to verify results and since it denotes what numerous experts debate the most influential expected model of computation). It may appear that the hypothetically infinite memory is an unattainable attribute, but a decidable problem resolved using Turing machine will need solely finite a quantity of memory. Thus, in theory, any problem that can be resolved by a Turing machine can be resolved by a computer that incorporates finite a quantity of memory [2,3]. The basic theory of learning styles is that different people learn in a different ways. One way to see the learning styles is to connect them with the learning cycle advocated by Kolb, where learning is seen as a continuous process based on practical experience that incorporates a set of observations and reflections [6]. Later, Mumford Honey developed this model by creating a questionnaire for the styles of learning using the model suggested by Kolb. Authors identified four learning styles, related to the different four stages of the learning cycle which was suggested by Kolb. They are theorist, activist, pragmatist, and reflector. Mohammed A. M. Al-Nakhal Adaptive ITS for Learning Computer Theory EUROPEAN ACADEMIC RESEARCH Vol. IV, Issue 10 / January 2017 8772 These styles became very important in education, given the change in the educational prototype presented by the changes to the society of knowledge. The ultimate learning prototype introduced new learning settings, which are progressively more heterogeneous, where is significant to be taken into consideration the learning styles of every student to offer an education more actual and concentrated on the student [16,18]. Figueiredo and Afonso considered the setting and content as the main parts of the learning model. The learning model identified the learning activities as the sittings in which people learn. The content is the data that is organized and contains: text, resources, multimedia and lessons. The setting is a group of surroundings that are appropriate to the user to construct knowledge by its linking to the content [18]. In this model, the instructor has a mutual role in the arrangement of content and generating the learning setting. The setting can be a lecture hall or a virtual learning site, in which the role of instructor is more concentrated on content in the case of a lecture hall, and the setting in the case of a virtual learning site. Contents undertake the role of broadcast the knowledge, where data is converted into knowledge by a known learning activity [14,24]. The incorporation of intelligent systems in the learning manner support permits an adaptation of content and settings into the learning style of every student, making adaptive tools to support cooperation [24] The intelligent tutoring system for learning computer theory was designed and developed using ITSB authoring tool [1]. LITERATURE REVIEW There are many intelligent tutoring systems designed and developed for the education purposes. Some of these ITS Mohammed A. M. Al-Nakhal Adaptive ITS for Learning Computer Theory EUROPEAN ACADEMIC RESEARCH Vol. IV, Issue 10 / January 2017 8773 dedicated to teaching computer science like [11, 12, 13, 15], English language such as [19] and Mathematics such as [22]. Teaching Java objects Programming language[5], ITS for helping Computer Science students to learn debugging skills [11], ITS helping Computer Science students to learn Computer Programming [8, 23], an Intelligent Tutoring System for Teaching Grammar English Tenses[9], ITS for helping students who are 8-to12-year-olds to learn Primary Mathematics[22], A comparative study between Animated Intelligent Tutoring Systems (AITS) and Video-based Intelligent Tutoring Systems (VITS) [4], An agent based ITS for Parameter Passing In Java Programming[12], Java Expression Evaluation [18], Linear Programming[13,17], Design and Development of Diabetes Intelligent Tutoring System [16], effectiveness of e-learning[7], computer aided instruction[21], effectiveness of the CPP-Tutor[10], teaching AI searching algorithms[24], teaching database to sophomore students [15], Predicting learners performance using NT and ITS [20], and intelligent tutoring system for teaching advanced topics in information security[26], development and evaluation of the Oracle Intelligent Tutoring System (OITS)[27]. ITS ARCHITECTURE Figure 1: Computer Theory ITS Architecture A general intelligent tutoring system architectures as in Figure 1 consists of the student model, interface model, domain model, and pedagogical model [8]. In the computer theory intelligent tutoring system, the student plays the main role. All the characteristics of the Mohammed A. M. Al-Nakhal Adaptive ITS for Learning Computer Theory EUROPEAN ACADEMIC RESEARCH Vol. IV, Issue 10 / January 2017 8774 system have the task to adapt the pedagogical, material, the interface to the student profile and his preferring. The domain model is the knowledge management system that stores the material which will be presented to the student. The student model signifies learning style, the student behavior, motivation level, his profile, and his preferences. This model is grounded on artificial intelligence skills that emulate the human behavior. All the student behavior is stored in the system and used for reasoning and adapting the domain model to the student needs. The pedagogical model acts as virtual instructor, exhibiting the materials in a suitable sequence, according to learning style and student skills. This process is an interactive and this model job is to illustrate the concepts to the student and supporting all the learning process [9]. The interface model has a very significant job. When an ITS have strong pedagogical, domain, and student models, but the interface model is very bad, the ITS will not be useful because the interface is the door of all the system and has the capability to lid all the attention of the student. To develop a good interface model, it is necessary to take into consideration the usability matters of a user computer interface, since this model communicates with the user and the other models of the system [1, 8]. DOMAIN MODEL ARCHITECTURE The topics covered in this Intelligent Tutoring system as follows [2,3]:  Basic concepts and definitions; Set operations; partition of a set  Equivalence relations; Properties on relation on set.  Proving Equivalences about Sets.  Central concepts of Automata Theory. Mohammed A. M. Al-Nakhal Adaptive ITS for Learning Computer Theory EUROPEAN ACADEMIC RESEARCH Vol. IV, Issue 10 / January 2017 8775  Regular Expressions; Operations on Regular expressions  Finite Automata and Regular Expressions.  Conversion from FA and regular expressions.  Deterministic Finite Automata (DFA); Minimization of DFA.  Non-Deterministic Finite Automata (NDFA).  Equivalence of Deterministic and Non-Deterministic Finite Automata.  Equivalence between DFA,NFA, NFA-Λ  Context-Free Grammars.  Parse Trees; Ambiguity in Grammars and Languages.  Standard Forms; Chomsky Normal Forms;  Minimization of CFG's.  Pushdown Automata (PDA).  Deterministic and Non-Deterministic (PDA); Formal definition of NPDA.  Transition functions of NPDA; NPDA Execution.  Accepting Strings with NPDA; Equivalence of PDAs and CFG.  The Turing Machine.  Programming Techniques for Turing Machines; Formal definition of TM's.  Complexity issues and analysis STUDENT MODEL ARCHITECTURE The intelligent tutoring system logs the student data in a database. It stores the basic data of the students such his/her name, user id, current score, overall score, lesson exercises done, lesson exercises difficulty level reached, and number questions of a lesson exercises tried. These data is stored for later usage in other models such pedagogical model. Mohammed A. M. Al-Nakhal Adaptive ITS for Learning Computer Theory EUROPEAN ACADEMIC RESEARCH Vol. IV, Issue 10 / January 2017 8776 PEDAGOGICAL MODEL ARCHITECTURE The pedagogical model analyze the stored information about the student to decide the customized feedback about the student educational level, when the student solve an exercise correctly or incorrectly, when the student score in a lesson exercises is bad, average or good. For example, when the student's current score in a particular lesson exercises is less then %50: 1. The pedagogical model display a notification message telling the student "your performance in this lesson exercises is bad and I suggest that you go back to lesson and study it well then come back to the exercises and try again", 2. The pedagogical model close the exercises screen and take the student back to the lesson screen so the user study the material of the lesson again But when the student's current score in a particular lesson exercises is between %50 and less than %70: 1. The pedagogical model display a notification message telling the student "your performance in this lesson exercises is not good enough" and show the score in the notification message. 2. The pedagogical model collect the questions related to the same lesson and re-arrange then randomly and preset them to the student to solve. However, when the student's current score in a particular lesson exercises is greater than %70: 1. The pedagogical model display a notification message telling the student "your performance in this lesson exercises is good and you passed this lesson is successfully" and the score in the notification message is shown to the student. Mohammed A. M. Al-Nakhal Adaptive ITS for Learning Computer Theory EUROPEAN ACADEMIC RESEARCH Vol. IV, Issue 10 / January 2017 8777 2. The pedagogical model takes the student to the next difficulty level of the lesson to solve. USER INTERFACE MODEL In this student interface, student chooses the desired lesson to learn. Fig. 2: Intelligent Tutoring System Lesson area In this student interface, student chooses the lesson exercises and tries to solve as in Fig 3. After the student solves the question, he can check to see if his answer is correct or not. If the student cannot solve the question, he can see the solution of the question. The student can check his current score and overall score anytime (See Fig. 4). In case the student does not get at least 50% as a current sore and the end of the lesson exercises he get the notification message as seen in Fig. 5. Mohammed A. M. Al-Nakhal Adaptive ITS for Learning Computer Theory EUROPEAN ACADEMIC RESEARCH Vol. IV, Issue 10 / January 2017 8778 Fig 3. Intelligent Tutoring System Exercises area Fig. 4: Intelligent Tutoring System display student statistics Fig. 5: Intelligent Tutoring System display a notification for the student EVALUATION The intelligent tutoring system was presented to some specialists in the field and was applauded by some, while others requested to improve the system by increasing the lessons, questions, and exercises. But on the educational material side, Mohammed A. M. Al-Nakhal Adaptive ITS for Learning Computer Theory EUROPEAN ACADEMIC RESEARCH Vol. IV, Issue 10 / January 2017 8779 they stated that it is easy for students to understand the lessons and followup at any time they want. CONCLUSION An Intelligent Tutoring System for teaching students computer theory was designed and developed using the ITSB authoring tool. We have tried to keep the design as simple as possible in terms of explaining the material instruction, while ensuring that the student take advantage of the questions and find solutions for those who could not answer. An evaluation was carried out to see the student and teacher satisfaction of the Intelligent Tutoring System. The results of the evaluation were satisfactory. In the future, we will increase the lessons to cover a greater range of educational material and increase number of exercises of each lesson. REFERENCES 1. Akkila, A. N. and S. S. Abu Naser (2017). "Teaching the right letter pronunciation in reciting the holy Quran using intelligent tutoring system." International Journal of Advanced Research and Development 2(1): 64-68. 2. Abu Hasanein, H. A. and S. S. Abu Naser (2017). "An intelligent tutoring system for cloud computing.". 3. Abu Naser, S. (2008). "An Agent Based Intelligent Tutoring System For Parameter Passing In Java Programming." Journal of Theoretical & Applied Information Technology 4(7). 4. Abu Naser, S. S. (1999). "Big O Notation for Measuring Expert Systems complexity." Islamic University Journal Gaza 7(1): 57-70. 5. Abu Naser, S. S. (2001). "A comparative study between animated intelligent tutoring systems AITS and video-based intelligent tutoring systems VITS." AlAqsa Univ. J 5(1): 72-96. 6. Abu Naser, S. S. (2006). "Intelligent tutoring system for teaching database to sophomore students in Gaza and its effect on their performance." Information Technology Journal 5(5): 916-922. 7. Abu Naser, S. S. (2008). "Developing an intelligent tutoring system for students learning to program in C++." Information Technology Journal 7(7). 8. Abu Naser, S. S. (2008). "Developing visualization tool for teaching AI searching algorithms." Information Technology Journal, Scialert 7(2): 350-355. 9. Abu Naser, S. S. (2012). "A Qualitative Study of LP-ITS: Linear Programming Intelligent Tutoring System." International Journal of Computer Science & Information Technology 4(1): 209. 10. Abu Naser, S. S. and I. S. Zaqout (2016). "Knowledge-based systems that determine the appropriate students major: In the faculty of engineering and information technology." World Wide Journal of Multidisciplinary Research and Development 2(10): 26-34. 11. Abu Naser, S. S. and S. H. ALmursheidi (2016). "A Knowledge Based System for Neck Pain Diagnosis." World Wide Journal of Multidisciplinary Research and Development (WWJMRD) 2(4): 12-18. 12. Abu Naser, S. S., et al. (2008). "A Proposed Expert System For Guiding Freshman Students In Selecting A Major In Al-Azhar University, Gaza." Journal of Theoretical & Applied Information Technology 4(9). 13. Abu Naser, S., et al. (2011). "Human Computer Interaction Design of the LP-ITS: Mohammed A. M. Al-Nakhal Adaptive ITS for Learning Computer Theory EUROPEAN ACADEMIC RESEARCH Vol. IV, Issue 10 / January 2017 8780 Linear Programming Intelligent Tutoring Systems." International Journal of Artificial Intelligence & Applications (IJAIA) 2(3). 14. AbuEloun, N. N. and S. S. Abu Naser (2017). "Mathematics intelligent tutoring system." International Journal of Advanced Scientific Research 2(1). 15. AbuEl-Reesh, J. Y. and S. S. Abu-Naser (2018). "An Intelligent Tutoring System for Learning Classical Cryptography Algorithms (CCAITS)." International Journal of Academic and Applied Research (IJAAR). 16. Abu-Naser, S. S. (2008). "JEE-Tutor: An Intelligent Tutoring System for Java Expression Evaluation." 17. Abu-Naser, S. S. (2016). "ITSB: An Intelligent Tutoring System Authoring Tool." Journal of Scientific and Engineering Research 3(5): 63-71. 18. Abu-Naser, S., et al. (1995). "& Beattie, GA (2000)." Expert system methodologies and applications-a decade review from: 9-26. 19. Abu-Naser, S., et al. (2011). "An intelligent tutoring system for learning java objects." International Journal of Artificial Intelligence and Applications. 20. Alawar, M. W. and S. S. Abu Naser (2017). "CSS-Tutor: An intelligent tutoring system for CSS and HTML." International Journal of Academic Research and Development 2(1): 94-98. 21. Al-Bastami, B. G. and S. S. Abu Naser (2017). "Design and Development of an Intelligent Tutoring System for C# Language." EUROPEAN ACADEMIC RESEARCH 6(10): 8795. 22. Albatish, I., et al. (2018). "ARDUINO Tutor: An Intelligent Tutoring System for Training on ARDUINO." International Journal of Engineering and Information Systems (IJEAIS) 2(1): 236-245. 23. Al-Bayed, M. H. and S. S. Abu Naser (2017). "An intelligent tutoring system for health problems related to addiction of video game playing." International Journal of Advanced Scientific Research 2(1): 4-10. 24. Al-Bayed, M. H. and S. S. Abu-Naser (2018). "Intelligent Multi-Language Plagiarism Detection System." International Journal of Academic Information Systems Research (IJAISR) 2(3): 19-34. 25. Aldahdooh, R. and S. S. Abu Naser (2017). "Development and Evaluation of the Oracle Intelligent Tutoring System (OITS)." EUROPEAN ACADEMIC RESEARCH 6(10): 8711-8721. 26. Alhabbash, M. I., et al. (2016). "An Intelligent Tutoring System for Teaching Grammar English Tenses." EUROPEAN ACADEMIC RESEARCH 6(9): 77437757. 27. Al-Hanjori, M. M., et al. (2017). "Learning computer networks using intelligent tutoring system." International Journal of Advanced Research and Development(2): 1. 28. Almurshidi, S. H. and S. S. Abu Naser (2017). "Design and Development of Diabetes Intelligent Tutoring System." EUROPEAN ACADEMIC RESEARCH 6(9): 8117-8128. 29. Almurshidi, S. H. and S. S. Abu Naser (2017). "Stomach disease intelligent tutoring system." International Journal of Advanced Research and Development 2(1): 26-30. 30. Al-Nakhal, M. A. and S. S. Abu Naser (2017). "Adaptive Intelligent Tutoring System for learning Computer Theory." EUROPEAN ACADEMIC RESEARCH 6(10): 8770-8782. 31. Anderson, J., et al. (2005). "Adaptation of Problem Presentation and Feedback in Mohammed A. M. Al-Nakhal Adaptive ITS for Learning Computer Theory EUROPEAN ACADEMIC RESEARCH Vol. IV, Issue 10 / January 2017 8781 an Intelligent Mathematics Tutor." Information Technology Journal. 32. Azaab, S., et al. (2000). "A proposed expert system for selecting exploratory factor analysis procedures." Journal of the College of Education 4(2): 9-26. 33. Baker, J., et al. "& Heller, R.(1996)." Information Visualization. Information Technology Journal 7(2). 34. Baker, J., et al. (1996). "Information Visualization." Information Technology Journal 7(2): pp: 403-404. 35. Buhisi, N. I. and S. S. Abu Naser (2009). "Dynamic programming as a tool of decision supporting." Journal of Applied Sciences Research. 36. Chen, R.-S., et al. (2008). "Evaluating structural equation models with unobservable variables and measurement error." Information Technology Journal. 37. El Agha, M. I., et al. (2018). "SQL Tutor for Novice Students." International Journal of Academic Information Systems Research (IJAISR) 2(2): 1-7. 38. El Haddad, I. A. and S. S. Abu Naser (2017). "ADO-Tutor: Intelligent Tutoring System for leaning ADO. NET." EUROPEAN ACADEMIC RESEARCH 6(10): 8810-8821. 39. Elnajjar, A. E. A. and S. S. Abu Naser (2017). "DES-Tutor: An Intelligent Tutoring System for Teaching DES Information Security Algorithm." International Journal of Advanced Research and Development 2(1): 69-73. 40. Hamed, M. A. and S. S. Abu Naser (2017). "An intelligent tutoring system for teaching the 7 characteristics for living things." International Journal of Advanced Research and Development 2(1): 31-45. 41. Hilles, M. M. and S. S. Abu Naser (2017). "Knowledge-based Intelligent Tutoring System for Teaching Mongo Database." EUROPEAN ACADEMIC RESEARCH 6(10): 8783-8794. 42. Hissi, H. E.-., et al. (2008). "Medical Informatics: Computer Applications in Health Care and Biomedicine." Journal of Artificial Intelligence 3(4). 43. Li, L., et al. (2011). "Hybrid Quantum-inspired genetic algorithm for extracting association rule in data mining." Information Technology Journal 12(4). 44. Mahdi, A. O., et al. (2016). "An intelligent tutoring system for teaching advanced topics in information security." World Wide Journal of Multidisciplinary Research and Development 2(12): 1-9. 45. Naser, S. (2009). "Evaluating the effectiveness of the CPP-Tutor an intelligent tutoring system for students learning to program in C++." Journal of Applied Sciences Research 5(1): 109-114. 46. Ng, S., et al. (2010). "Ad hoc networks based on rough set distance learning method." Information Technology Journal 10(9). 47. Owaied, H. H., et al. (2009). "Using rules to support case-based reasoning for harmonizing melodies." Journal of Applied Sciences 11(14): pp: 31-41. 48. Shaath, M. Z., et al. (2017). "Photoshop (CS6) intelligent tutoring system." International Journal of Academic Research and Development 2(1): 81-87. 49. Sulisel, O., et al. (2005). "Growth and Maturity of Intelligent Tutoring Systems." Information Technology Journal 7(7): 9-37. 50. Khella, R. A. and S. S. Abu-Naser (2018). "An Intelligent Tutoring System for Teaching French." International Journal of Academic Multidisciplinary Research (IJAMR) 2(2): 9-13. 51. Marouf, A., et al. (2018). "An Intelligent Tutoring System for Learning Introduction to Computer Science." International Journal of Academic Multidisciplinary Research (IJAMR) 2(2): 1-8. Mohammed A. M. Al-Nakhal Adaptive ITS for Learning Computer Theory EUROPEAN ACADEMIC RESEARCH Vol. IV, Issue 10 / January 2017 8782 52. Mosa, M. J., et al. (2018). "ASP. NET-Tutor: Intelligent Tutoring System for leaning ASP. NET." International Journal of Academic Pedagogical Research (IJAPR) 2(2): 1-8. 53. Qwaider, S. R. and S. S. Abu-Naser (2018). "Excel Intelligent Tutoring System." International Journal of Academic Information Systems Research (IJAISR) 2(2): 818. 54. Akkila, A. E.-D. N. and S. S. Abu Naser (2018). ITS-Tutor for Teaching Rules of Tajweed the Holy Quran, Al-Azhar University, Gaza, Palestine. 55. Akkila, A. N. and S. S. Abu-Naser (2018). "Rules of Tajweed the Holy Quran Intelligent Tutoring System." International Journal of Academic Pedagogical Research (IJAPR) 2(3): 7-20. 56. Abu Ghali, M. J., et al. (2018). "An Intelligent Tutoring System for Teaching English Grammar."