Paper Title
Identifying Learning Difficulty of C# Programming for Intelligent Tutoring System

Abstract
Learning difficulty is the inconvenience or problems that individuals encountered when studying. It has a very significant effect on individuals and on society as a whole. The concerned individual will have difficulties in thinking, learning new skills, acquisition of new knowledge, processing of new information and, coping independently with new trends in a particular subject like programming. Determined to help the learners with learning difficulties, teachers and parents provide tutors with the necessary guidance towards improving the teaching and learning process. This paper aimed to identify learning difficulty in C# programming; develop the different model of Intelligent Tutoring System, and to implement the intelligent mechanism of an Intelligent Tutoring System. The developed ITS will provide more detailed feedback in a way that students take assessment, learn why the step was incorrect and notice that the tool can give useful feedback or hint which helps to understand the learning difficulties. The study utilized the developmental, descriptive, experimental methods of research along with ASSD (Agile-Scrum Software Development) as SDLC (System Development Life Cycle) method and the IPO (Input-Process-Output) software development framework. Furthermore, the findings showed that the level of acceptability of the Intelligent Tutoring System is highly acceptable, with an overall average weighted mean of 3.83 based on the criteria such as reliability, learn ability, efficiency of use and, user satisfaction. Keywords - Learning Difficulty, Intelligent Tutoring System, Architecture of an Intelligent Tutoring System Model