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+) Design and Development of an ITS for C# Language BASHAR G. H. AL-BASTAMI Department of Information Technology Faculty of Engineering & Information Technology Al-Azhar University, Gaza, Palestine Abstract: Learning programming is thought to be troublesome. One doable reason why students don't do well in programming is expounded to the very fact that traditional way of learning within the lecture hall adds more stress on students in understanding the Material rather than applying the Material to a true application. For a few students, this teaching model might not catch their interest. As a result, they'll not offer their best effort to grasp the Material given. Seeing however the information is applied to real issues will increase student interest in learning. As a consequence, this may increase their effort to be taught. In the current paper, we try to help students learn C# programming language using Intelligent Tutoring System. This ITS was developed using ITSB authoring tool to be able to help the student learn programming efficiently and make the learning procedure very pleasing. A knowledge base using ITSB authoring tool style was used to represent the student's work and to give customized feedback and support to students. Bashar G. H. Al-Bastami Design and Development of an ITS for C# Language EUROPEAN ACADEMIC RESEARCH Vol. IV, Issue 10 / January 2017 8796 Key words: Intelligent Tutoring System, Authoring Tool, ITSB, C# Language INTRODUCTION C# language is a general-purpose and object-oriented programming language. It was designed and developed by Microsoft together with the .NET platform. There is many various software designed with C# language and on the .NET platform such as desktop applications, web applications, office applications, websites, games, mobile applications, and many more [1, 2]. C# language is a high-level language that is like C++ and Java, embarcadero Delphi, C, VB.NET. All programs written in C# are object-oriented styled. They involve of a group of definitions in classes that include methods and the methods include the logic of the program [1, 2]. C# language is one of the most common programing languages. It is used by many developers worldwide. Because C# language is developed by Microsoft as part of their new platform for development and execution of software, the language is extensively spread amongst Microsoft-oriented businesses, the .NET Framework, individual and organizations developers. The C# language and the .NET platform are upheld and managed completely by Microsoft and are not open to third parties [1,2]. Intelligent Tutoring System is computer software designed to simulate a human instructor's skills behavior and guidance. Such ITS systems are capable of interpreting complex student responses and can learn as they work, they are able to distinguish where and why a student understands has gone amiss and to give it hints to aid the student understand of the material given. Intelligent tutoring system delivers numerous of the benefits of a human instructor to very large numbers of Bashar G. H. Al-Bastami Design and Development of an ITS for C# Language EUROPEAN ACADEMIC RESEARCH Vol. IV, Issue 10 / January 2017 8797 students. Intelligent tutoring systems can also deliver real-time data to instructors and developers looking to improve their teaching styles [3-10]. LITERATURE REVIEW Various ITS deliver step-by-step monitoring of the student's solution as it is being produced [23], while others offer feedback on the final solution [3]. Several ITS select the next stage for the students [4], others let the student do that. An Intelligent tutoring system (ITS) provides customized computer-based instruction to students [23 ]. There are many ITS system designed for : educational purposes [8-15,25], ITS called JOTutor for helping students to learn Java Programming language [28], ITS which called CPP-Tutor for helping student to learn C++ Programming Language[14], a comparative study between Animated Intelligent Tutoring Systems (AITS) and Video-based Intelligent Tutoring Systems (VITS) [24], An agent based ITS for Parameter Passing In Java Programming[17], Java Expression Evaluation [13], Linear Programming[10,31], effectiveness of e-learning[26], computer aided instruction[9], effectiveness of the CPP-Tutor[29], teaching AI searching algorithms[15], teaching database to sophomore students in Gaza[12], and Predicting learners performance using NT and ITS [8], design and development of diabetes ITS[30 ], ITS teaching grammar English tenses [27], ITS for teaching advanced topics in information security[19], development and evaluation of the Oracle Intelligent Tutoring System (OITS)[20], ITS for learning Computer Theory[21], e-learning system[11,18,27], an Intelligent Tutoring System for Entity Relationship Modeling[16], an Knowledge-based Intelligent Tutoring System for Teaching Mongo Database[22], and ITS for learning Software Patterns [7]. Bashar G. H. Al-Bastami Design and Development of an ITS for C# Language EUROPEAN ACADEMIC RESEARCH Vol. IV, Issue 10 / January 2017 8798 INTELLIGENT TUTORING SYSTEM. There are a few questions about intelligent tutoring systems that everyone should know: What are intelligent tutoring systems? An intelligent tutoring system is a system designed to be similar to teacher's behavior in teaching. It can help students studying set of subjects by series of lessons, many questions on each lesson, and offering specific instruction with feedback. It can explain complex student responses and learn as they want. The system makes a profile for each student and estimate the student's degree of skill. This type of system can change its tutoring behavior in real time. The aim is not merely to know a response is correct or not, but to understand which response of student had incorrect How does intelligent tutoring system work? These tools contain a base system, which controls the comprehensive structure and reasoning, and the discrete tutor itself, which are created when experts provide specific material for each lesson. Although tutoring systems vary in how they function, generally the software give questions to be solved and show him the result. Why is intelligent tutoring system significant? The tutoring system is effective in guiding the students through the learning process. Intelligent tutoring systems attempt to find the best methods derived from the old-style human model and move after it to determine new methods for teaching and learning. These tutors suggestion a mechanism for students to understand and learn subject in a new way by lessons, Examples and exams with their result at the end. Bashar G. H. Al-Bastami Design and Development of an ITS for C# Language EUROPEAN ACADEMIC RESEARCH Vol. IV, Issue 10 / January 2017 8799 Where is intelligent tutoring systems going? Intelligent tutoring system technology in education seemed to make it stress-free to teach and study. The system we are presenting in this paper is desktop application to help in self education but one day we will found online application work on the same approach, so it will allow the tutors to edit and add new information to the tools. It can allow the tutors to provide some instructions to the students that might the students don't know it. Also, utilization Intelligent tutoring system increase day by day, larger amount of data retrieved from student can help to improve the system. on the other hand some researchers are working to make tutoring system contain voice & video lessons and simulate education environment with feedback cycle between tutors and students. Intelligent systems might one day be able to respond the student's words, facial expression, or body language. What are the intelligent tutoring systems effects for teaching and learning? Intelligent tutoring systems are not designed to replace human instructors, who convey multifaceted social interaction into the learning process. On the other hand, an intelligent tutor can work with a vast number of students both together at the same time and be available all time and everywhere. If the student doesn't like an instructor or don't understand of him, he can use intelligent tutor to understand the course or the lesson. An intelligent tutoring system can also provide real-time data to teachers and developers looking to improve teaching methods. Because educational institutions cannot allocate a human tutor to every student, intelligent tutoring systems are a useful alternative to give any student individualized assistants. Bashar G. H. Al-Bastami Design and Development of an ITS for C# Language EUROPEAN ACADEMIC RESEARCH Vol. IV, Issue 10 / January 2017 8800 ITS ARCHITECTURE Figure 1: ITS architecture for C# Language C# Language architecture has four major components: expert nodule, student model, tutoring module, and user interface. A brief discussion on each of these components follows: STUDENT MODEL Before a new student can use the C# intelligent tutoring system, he/she must have a profile in the system. The profile contains information about the student like :last session date the ITS system was used, student name, student number, current score, overall score, level difficulty completed for every lesson, and problem number during the each session. The current score represents student score for the current level. The overall score represents student score for all levels. TUTORING MODULE Tutoring module works as a coordinator that controls the functionality of the C# language intelligent tutoring System. Through this model, a student can answer questions generated in every difficulty level of each lesson and if the student gets more than 70% mark, he/she can move to the second difficulty level. But if he/she got mark between 50% and less than 70% then he/she repeats to the exercises of the same difficulty level; however, if he/she gets a mark less than 50%, he/she will be Bashar G. H. Al-Bastami Design and Development of an ITS for C# Language EUROPEAN ACADEMIC RESEARCH Vol. IV, Issue 10 / January 2017 8801 taken back to lesson to study it well then come back to try the exercises again. USER INTERFACES The ITSB authoring tool used for building the C# system supports the user interface and teacher interface. When the teacher's log in the system, the he/she can add initial information about the student, lessons, exercises, answers, font name, and size of all buttons, menus, combo configure and adjust the fonts, background color, and text color for all forms in the systems, boxes etc. Thus, this interface provides the system with the needed flexibility to be used by both teacher and students. A screenshot of the student and teacher's interfaces are shown in Fig 2 to Fig 9. EXPERT MODULE This component is called sometimes the domain module of other ITS architectures. It contains the material to be taught for the students. In our current tutoring system, the material consists of the following topics in C# language:  Introduction to Programming  Primitive Types and Variables  Operators and Expressions  Console Input and Output  Conditional Statements  Loops  Arrays  Numeral Systems  Methods  Recursion  Creating and Using Objects Bashar G. H. Al-Bastami Design and Development of an ITS for C# Language EUROPEAN ACADEMIC RESEARCH Vol. IV, Issue 10 / January 2017 8802  Exception Handling  Strings and Text Processing  Defining Classes  Text Files  Linear Data Structures  Trees and Graphs  Dictionaries, Hash-Tables and Sets Figure 2: login screen Figure 3: In the following interfaces student choose the lesson he/she wants to study Bashar G. H. Al-Bastami Design and Development of an ITS for C# Language EUROPEAN ACADEMIC RESEARCH Vol. IV, Issue 10 / January 2017 8803 Figure 4: In this interface, the student chose an example of the lesson that he/she want to study. Figure 5: After the student read the lesson, the tools offer many questions about the lesson if the student wants to evaluate himself. 1. Correct answer: 2. Wrong answer: Figure 6: After he/she answered the question, he should click on check button to know if his/her answer correct or wrong. The tool will show the result. Bashar G. H. Al-Bastami Design and Development of an ITS for C# Language EUROPEAN ACADEMIC RESEARCH Vol. IV, Issue 10 / January 2017 8804 Figure 7: This interface to add new student into the tool with some information to work on it. Figure 8: This interface shows the students status, problem, difficulty of the questions, his/her score and the title of lesson. Figure 9: This message appears when the student fails the current difficulty level of a specific lesson. EVALUATION We have asked a group of teachers and students to try the C# intelligent tutoring system. Furthermore, we asked them to Bashar G. H. Al-Bastami Design and Development of an ITS for C# Language EUROPEAN ACADEMIC RESEARCH Vol. IV, Issue 10 / January 2017 8805 give their opinion about the system. The overall impression of both students and teachers were positive. Some of the comment we got from the teachers and students as follows: "go ahead", "The system will help number of students", "good but you should make it more flexible to add lessons, examples and questions", "the system will not improve the education and that will make students doesn't focus in classes but just depends the system", "your system will make student lazy to go to the classes, because he has a tutor to understand the lesson". CONCLUSION There is an increasing interest in the new trend of Intelligent Tutoring System for high quality teaching and training because it uses Artificial Intelligent, Cognitive Science and Education to enhance the aptitude of computer supported education to autonomously offer students with effective educational capabilities. In this paper, we have provided the design and development of an Intelligent Tutoring System for C# language to help student better learn programming languages. An initial evaluation of the system was carried out and the findings were positive. Bashar G. H. Al-Bastami Design and Development of a n ITS for C# Language EUROPEAN ACADEMIC RESEARCH Vol. IV, Issue 10 / January 2017 8806 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: 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). Bashar G. H. Al-Bastami Design and Development of a n ITS for C# Language EUROPEAN ACADEMIC RESEARCH Vol. IV, Issue 10 / January 2017 8807 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 Bashar G. H. Al-Bastami Design and Development of a n ITS for C# Language EUROPEAN ACADEMIC RESEARCH Vol. IV, Issue 10 / January 2017 8808 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. Bashar G. H. Al-Bastami Design and Development of a n ITS for C# Language EUROPEAN ACADEMIC RESEARCH Vol. IV, Issue 10 / January 2017 8809 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. 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."