2.3 Constraint-based Modelling
2.3.5 WETAS: An Authoring Shell
Web-Enabled Tutor Authoring System (WETAS) [Martin 2002, Martin & Mitrovic 2002a] was developed as a tutoring engine that performs all common functions of a tutoring system. It is implemented as a web server and sup- ports students learning multiple subjects simultaneously. Students using the system interact through a standard web browser such as Mozilla or Internet Explorer. WETAS provides the implementation for all the generic functions of constraint-based tutoring systems. In particular it provides generic im- plementations for answer evaluation, student modelling, problem selection, feedback selection and text-based interface.
Constraints that form the domain model for a tutoring system in WETAS have to be composed using a pattern matching language specific to WETAS. The language consists of three main functions: match, test and test symbol. Constraints written using this language are interpreted by WETAS and used for evaluating student’s solutions. Evaluation results are used to update the student model.
Students’ knowledge and ability are modelled in WETAS in the form of an overlay model. It contains counts of how many times each constraint was relevant and violated. It also contains a trace of the behaviour of each constraint since the initiation of the model, which can be used to determine whether a constraint is learned or not.
The pedagogical module of WETAS selects a problem that best suits a student’s current state and level of ability according to the structural and conceptual difficulty of each candidate problem. The problem selection algo- rithm calculates the difficulty each constraint adds to a problem and finds a problem that matches the level of the student’s knowledge of each constraint
calculated from the student model.
Feedback is selected by the pedagogical module by analysing the list of constraints violated by the student’s submission. The system automatically increases the feedback level after each submission. The student is also given the ability to directly choose the desired level of feedback. The student may wish to view a single hint or a list of hints on all committed errors. In the event of the student choosing to view a single hint message, the system chooses the feedback of the first violated constraint. On the other hand, feedback messages of all violated constraints are displayed whenall errors is chosen as the feedback level.
The interface module of WETAS automatically generates a text-based interface for the student with a fixed layout. The generic interface consists of four panels: problem statement, solution workspace, scaffolding and feed- back. The problem panel presents the text of the problem. The solution workspace accepts student input for composing a solution. General help about the domain is provided in the scaffolding panel. Feedback messages to the student are displayed in the feedback window. The interface of a tutor- ing system running on WETAS can be made more sophisticated by replacing the default text-based interface by a set of HTML pages or a Java applet. WETAS also supports typical application based interfaces where the client and the server communicate via RPC (Remote Procedure Call).
Building an ITS
A new tutoring system can be authored in WETAS by providing the neces- sary data files. In particular, it requires two sets of domain-dependent data: problem set and domain knowledge base. The problem set contains a list of problems and their ideal solutions, and the domain knowledge base contains domain constraints (both syntax and semantic) and any macros.
Problems are described by their problem statement. The solutions on the other hand can be divided into components, where each component may be a single textual element or a list of sub-components. For example, the solutions in the SQL domain have six components: select, from, where, group by, having and order by. A sample problem and solution from SQL-Tutor is
given in Figure 2.12.
(2
"Retrieve the birth date and address of the employee whose name is John Smith."
;id answer
(("SELECT" "BDATE, ADDRESS") ("FROM" "EMPLOYEE")
("WHERE" "LNAME=’Smith’ AND FNAME=’John’") ("GROUP BY" "")
("HAVING" "") ("ORDER BY" "")))
Figure 2.12: A Sample Problem and Ideal Solution from SQL-Tutor
The knowledge base consists of syntax and semantic constraints and macros for the domain. Constraints should account for all significant ped- agogical states of the domain. Syntax constraints cover all the important principles of composing any solution for the domain. On the other hand, se- mantic constraints relate the student’s solution to the ideal solution in order to verify that the requirements of the problem are satisfied. They must be sufficiently flexible in order to permit correct solutions that differ from the ideal solution.
Constraints are specified using a purely pattern-matching language devel- oped for WETAS [Martin & Mitrovic 2002b]. Each pattern may be compared against the ideal solution (using theMATCH function) or against a variable (usingTEST orTEST SYMBOL) whose value has already been determined. Patterns which support wild cards and variables are combined with the use of logical connectives (AND, OR, NOT).
Figure 2.13 gives examples of a syntax and a semantic constraint from SQL-Tutor implemented in WETAS. Constraint 61 has a relevance condition with a pattern that tests the HAVING component of the student’s solution for the existence of the key wordSELECT. Its satisfaction condition tests for existence of a opening parenthesis beforeSELECT and a closing parenthesis.
The semantic constraint (constraint 55) contains a relatively complicated relevance condition that ensures the student has valid table names used in theFROM clause. The condition uses the∧name macro, written specifically for this domain, that checks whether a table name is valid. The satisfaction condition tests whether the table names used by the student are used in
WHERE orFROM of the ideal solution.
; syntactic constraint from SQL-Tutor (61
"A subquery in the HAVING clause must be enclosed within brackets."
(match SS HAVING (?* "SELECT" ?*))
(match SS HAVING (?* "(" "SELECT" ?* ")" ?*)) "HAVING")
; semantic constraint from SQL-Tutor (55
"You do not need all the tables you used in FROM." (and (not-p (match SS WHERE (?* "SELECT" ?*)))
(or-p (match SS FROM (?* (^name ?t) ?* "ON" ?*)) (and
(not-p (match SS FROM (?* "ON" ?*))) (match SS FROM (?* (^name ?t) ?*))))) (or-p
(match IS WHERE (?* "FROM" ?* ?t ?*)) (match IS FROM (?* ?t ?*)))
"FROM")
Figure 2.13: Sample Constraints from SQL-Tutor Written in WETAS Lan- guage
Example Tutoring Systems Developed in WETAS
WETAS has been used to implement intelligent tutors for a variety of do- mains including SQL, English language skills, database modelling and object oriented design. SQL-Tutor was reimplemented in WETAS in order to ex-
plore the capabilities of WETAS. The system for English language skills, called LBITS [Martin & Mitrovic 2003], was a paper-based teaching aid that was converted to a tutoring system. It teaches basic language skills with the use of a collection of puzzles such as crosswords, synonyms etc. ER- Tutor [Zakharov, Ohlsson & Mitrovic 2005], a database modelling tutor built initially as a Windows application, was reimplemented as a web-based system using WETAS. UML-Tutor [Baghaei & Mitrovic 2006b, Baghaei, Mitrovic & Irwin 2006] was implemented using WETAS for teaching object oriented de- sign using unified modelling language (UML). WETAS has also been used to create an adaptive hypermedia system for paediatric radiology.
WETAS has been used as a teaching aid for a graduate course on In- telligent Tutoring Systems at the University of Canterbury. Students use the system as part of their course work for building a working prototype of a tutoring system for an allocated domain. They are introduced to WE- TAS during lectures and given a access to the domain dependent compo- nents of LBITS. Although students are novices to the task of constructing a tutoring system, the majority of students produce satisfactory tutoring systems [Martin & Mitrovic 2003].