SQL-Tutor: an ITS for SQL programming
Overview of SQL-Tutor
SQL-Tutor is a knowledge-based teaching system which supports students learning SQL. The intention was to provide an easy-to-use system that will adapt to the needs and learning abilities of individual students. The tailoring of instruction is done in two ways: by adapting the level of complexity of problems and by generating informative feedback messages. The architecture of the stand-alone version of the system is illustrated in the following figure.
SQL-Tutor is based on Constraint-Based Modeling (CBM), a student modeling approach proposed by Stellan Ohlsson.
It is a very efficient approach which concentrates on the violations of the basic principles in the domain of instruction. Currently there are more than 600 constraints in the system, which compiled into a structure resembling RETE networks, in order to speed up the matching process. The system also knows about various databases, problems and the ideal solutions to them, and uses this knowledge to diagnose students' answers. Currently the system only deals with the SELECT statement, but we believe that is not a serious limitation; the same approach can be used for other SQL statements, queries do cause most problems for students anyway, and many concepts covered by SELECT are directly applicable to other statements and other relational languages.
In order to adapt to individual students, SQL-Tutor maintains a model for each student. A student model contains information about the history of previous sessions (like a list of problems solved correctly etc) and also contains a model of the student's knowledge, expressed in terms of constraints.
When a student logs in for the first time, the system creates a new model, and lets the student select a database and a problem to work on. Every student solutions is analyzed (ie, propagated to the constraint network), and the system reports on its findings. There are several levels of feedback messages.
The work on SQL-Tutor started in 1996, and now there are three version of the system available, developed in Allegro Common Lisp, Franz Inc.
Solaris version (interface developed in Tcl by Kendrick Elsey):
Windows version (interface developed by Andrew King and Andre Renaud):
Web Version (interface developed by Kurt Haussler and Konstantin Zakharov). The first Web-enabled version of the system was developed using HTTP-CL Web server. The current version uses AllegroServe, a Web server that comes with ACL. The architecture of the Web-enabled version of SQL-Tutor is illustrated in the following figure.
Interface of the Web-enabled SQL-Tutor:
Try it out: SQL-Tutor on the Web.
(The Web version has been open to outside users on March 29, 2000. Currently only available to Canterbury students.)
SQL-Tutor is now available through the Addison-Wesley's Web Portal DatabasePlace.
The Windows version used to be available for ftp-ing. 1946 people have downloaded the system in the period May 1999 - January 2001. We stopped supporting the stand-alone version of SQL-Tutor. SQL-Tutor is now available through the Addison-Wesley's Web PortalDatabasePlace.
The first evaluation study was held in April 1998. We thank Franz Inc. for allowing us to use ACL in a way we were not licensed for; we could not perform the study otherwise. The purpose of the study was threefold:
- to test CBM as a theory, and see whether it supports learning;
- to test the completeness and correctness of the constraint base;
- to evaluate the interface.
There were 20 students involved in the study, concurrently enrolled in COSC313, a database course. The students have already learnt about SQL in the lectures (roughly 6 sessions), and had 4 weeks of practical labs, defining SQL statements on several databases implemented in Ingres, before the evaluation study. The study involved students using SQL-Tutor in a 2-hours laboratory session. At the end of the session, the students filled a user questionnaire.
Results are published in the paper: Evaluation of a Constraint-Based Tutor for a Database Language Mitrovic, A. Ohlsson, S. Int. J. on Artificial Intelligence in Education, 10(3-4), 1999, pp. 238-256.
May 1999 study
The second evaluation study was held in May 1999, using the Web version of SQL-Tutor. The purpose of the study was threefold:
- to evaluate the feedback given to students;
- to test (again) how well CBM supports learning;
- to test the completeness and correctness of the constraint base.
The students involved were enrolled in COSC313, a database course. The students had already learnt about SQL in the lectures (roughly 6 sessions), and had 4 weeks of practical labs, defining SQL statements on several databases implemented in Ingres, before the evaluation study. The study involved students using SQL-Tutor in a 2-hours laboratory session.
Results are described in the paper: Mitrovic, A., Martin, B. & Mayo, M. Using evaluation to shape ITS design: Results and Experiences with SQL-Tutor. Int. J. User Modeling and User-Adapted Interaction, vol. 12, no. 2-3, pp. 243-279, 2002. .
October 1999 study
The second evaluation study was held in October 1999, using the Web version of SQL-Tutor. The purpose of the study was threefold:
- to evaluate the effectiveness of the pedagogical agent (SmartEgg);
- to evaluate the Bayesian student model and the problem selection strategy;
- to test (again) how well CBM supports learning.
The students involved were concurrently enrolled in COSC205. The study involved students using SQL-Tutor in a 2-hours laboratory session. Results are published in the following papers:
Mitrovic, A., Suraweera, P. Evaluating an Animated Pedagogical Agent. Proc. ITS'2000, G. Gauthier, C. Frasson and K. VanLehn (eds), Springer, pp. 73-82, 2000.
Mayo, M., Mitrovic, A. Using a probabilistic student model to control problem difficulty. Proc. ITS'2000, G. Gauthier, C. Frasson and K. VanLehn (eds), Springer, pp. 524-533, 2000.
The goal of this study was to investigate students' self-assessment skills. The study is described in the paper: Mitrovic, A. Investigating students' self-assessment skills. In: M. Bauer, P.J.Gmytrasiewicz and J. Vassileva (eds) Proc. 8th Int. Conference on User Modeling UM-2001, Sonthofen, July 2001, Springer-Verlag LNAI 2109, pp. 247-250.
The goal of this study was to investigate the effects of a simple open student model on students' learning and self-assessment skills. The study is decribed in a paper presented at the international conference on Adaptive Hypermedia and adaptive Web-based systems AH 2002 (Malaga, Spain, May 29-31, 2002).
The goal of this study was to investigate how the scaffolding (and fading) effects students' problem-selection skills. The results are available in the paper presented at the 11th international conference on Artificial Intelligence in Education, AIED 2003 (Sydney, July 20-24, 2003).
The goal of this study was to investigate the effect of an adaptive problem selection strategy on students' learning. The results are described in a paper presented at the Adaptive Hypermedia conference (AH 2004)
2004 and 2005 study
The goal of these two studies was to investigate the effect of feedback generality level. The results of the 2004 study were presented at the AIED 2005 conference in Amsterdam, while the results of the 2005 study have been presented at the AH 2006 conference:
Martin, B., Mitrovic, A.The effect of adapting feedback generality in ITS.V. Wade, H. Ashman, and B. Smyth (Eds.): AH 2006, LNCS 4018, pp. 192-202, 2006.
In 2006, we investigated the effects of problem templates on learning - the results were presented at AIED 2007:
Mathews, M., Mitrovic, A. Investigating the Effectiveness of Problem Templates on Learning in Intelligent Tutoring Systems. R. Luckin, K. Koedinger, J. Greer (eds) Proc. 13th Int. Conf. Artificial Intelligence in Education AIED 2007, Los Angeles, 2007: 611-613.
In 2007, we explored with adding positive feedback (i.e. feedback on correct actions) to SQl-Tutor. The results of the study show that positive feedback is useful for learning.