A C++ standard template library intelligent tutoring system with Bayesian and fuzzy logic student model / Christine Lee Siew Ken - Christine , Lee Siew Ken (2006)
Earlier work on Intelligent Tutoring Systems (ITSs) for programming focused more on teaching programming syntax than its application. The main tutoring approach is to present a problem specification for the student to solve, followed by intelligent analysis of the solution with various feedback. It is also observed that existing ITSs suffer from static domain knowledge and are restricted to the tutoring session. Therefore, this research proposes the development of a web-based ITS for both curriculum planners and implementer-tutors to teach students the application of the C++ Standard Template Library (STL) to problem solving. From experience, it is discovered that students find the C++ STL difficult due to their weaknesses in understanding various object-oriented concepts. This ITS overcomes the learning and teaching challenges by modelling the program specification based on prerequisite concepts. Bayesian Theorem is applied to model the student’s knowledge and direct the tutoring intelligently. Bayesian probability reasoning is a well-known Artificial Intelligence technique for uncertainties management. The development of the C++ STL ITS applies practices from the eXtreme Programming methodology and J2EE technologies. The 3-tier architecture ITS constitutes three main components – Student Modelling Module, Tutoring Module and Users Administration Module providing the authoring of the domain knowledge dynamically. Hence, tutors can then fully participate in the design of the curriculum and tutoring sessions as well as in the implementation of the tutorials for their students for effective teaching and learning. Both summative and formative evaluations were conducted on the C++ STL ITS. The evaluation results revealed that the Bayesian Theorem has the capability of modelling the student’s prerequisite and directing the student during the tutorial session. The Fuzzy Stereotyping of Students Expert System works well in categorizing the students according to four stereotypes – novice, beginner, intermediate and advanced. Short term future enhancements include extending the tutorial questions, domain knowledge, accommodating more feedback on the programming syntax, and incorporating the fuzzy expert system into the C++ STL ITS. Three areas of research proposed for long term are application of alternative knowledge acquisition techniques, integration of learning styles into the student model, and representation of domain knowledge using ontologies.