As we know, technical advancements bring about changes to teaching methods. In the early days, traditional programming learning assisting tools are used for textbooks, on-line help, e-Books or traditional learning systems, such as CAI, which relied on the student’s answer to present a page of text or graphics. With Internet proceeding, a lot of online learning contents are now HTML web pages, internet forums provide on-line Q&A and search engines which can be used for searching related information. E-Learning emphasizes that learning could be any time, any where through any electronic device if supported. Although those teaching contents can assist novice students in learning, it’s still difficult for students to find desired information. Students may not know how to ask the right questions about programming. This is not helpful to novice students in programming learning if the system just gives the teaching contents with the medium changing from static textbooks to dynamic presentation. Moreover, the programming learning is a difficult task for many students, and provides feedback to students in a way, that is responsive to individual needs, is another sticky task for many teachers as well. Nevertheless, all of the aforementioned learning methods share a common defect, lack of interaction.
We give an overview over the evolution of instructional system in human learning as well as about Model-Tracing tutoring approach for possible problem-solving. Model-Tracing can enable us to trace every student actions, has brought us to more precise evaluation of student knowledge, and allows students to follow their usual way of thinking about the domain. Some previous tutoring systems have been in possession of remediation capability following this
approach. For instance, cognitive algebra tutor [3], algebraic functions [9] or LISP Tutor [1]
consider student’s thinking logic and knowledge during a problem solving process.
Nevertheless, all of the aforementioned tutoring systems share a common defect, which is difficult to manage huge production rules.
For solving above defects, we propose a PRogramming Ontology-Based Learning Environment using Model-tracing approach (PROBLEM) tutoring system to instruct students the Visual Basic (VB) programming. These teaching contents are specified by Problem-Based Learning (PBL). Previous researches have proposed five processes of PBL including clearly defining the problem, developing possible hypotheses, gathering related information, performing learning actions, and assessing the solution [21][30]. PBL also needs students collaboratively to identify and analyze problems, and generate solutions. The tutoring system focused on providing a platform for performing learning actions, and assessing the solution.
There are consisting of two phases in our system: Phase 1: Frame-based Visual Basic constructing: it aims to construct programming knowledge by Model-Tracing approach.
There are three processes in first phase: Related knowledge class modeling process, Frame-based knowledge representation process and Tracing possible problem-solving path process. In first phase, an adaptive programming tutoring system is used for Frame-based knowledge representation and Model-Tracing tutoring approach when students learn how to program. Frame is the structure for organizing knowledge. Thus, we propose the Frame-based knowledge for VB programming associated with a given Visual Basic Programming Ontology to support the tutoring system. Phase 2: Visual Basic Model-Tracing tutoring system: it aims to provide a Problem-Based Learning in VB programming by knowledge reasoning. There are four processes in second phase: Quiz display process, Models decomposition into frames process, Frame-based knowledge reasoning process, and Adaptive feedback process. In second phase, students interact with tutoring system via pre-designed quizzes of programming.
The purpose of tutoring system is to integrate Model-Tracing approach with Frame-based knowledge reasoning for guessing student’s possible programming errors. Finally, the adaptive learning contents could be provided to students.
We contribute to construct a smarter learning environment for any students interested in programming. Thus, a key consideration for this tutoring system is the guidance and interactive for students by questions whenever he/she deviates from the adaptive programming solutions. Several contributions of our work have been summarized as follows:
1. Conduct interactive Problem-Based VB programming learning scenarios.
2. Combine Model-Tracing tutoring with Frame-based knowledge reasoning.
3. Construct Ontology-based VB programming learning environment.
This thesis is organized as follows. The next chapter presents related works about the traditional computer tutoring systems and learning background of programming, with the worth of Model-Tracing tutoring system, and literatures on the subject of domain ontology with Frame-based knowledge representation. Chapter 3 gives an overview of the system architecture which consists of two phases. The first phase is knowledge construction, as for technologies and definitions of related concepts, including VB domain ontology, Frame-based knowledge representation and construction, Rule-based knowledge generation, and describing how to construct the Frame-based programming Model-Tracing as shown in Chapter 4. In the second phase, we give an example for practical operation in the tutoring system including knowledge reasoning and tutoring as shown in Chapter 5 in detail. Besides, the prototype implementation of the tutoring system is given in Chapter 6. The conclusion and future work are presented in the final chapter.