Nowadays one can identify SQL proficiency as a key competence of any software developer. Broad knowledge of writing correct and efficient SQL queries is not only desired but also required. The process of SQL learning turns out to be anything but straightforward. With this thesis we have set to reduce the effort needed to learn SQL by developing a robust system for hint generation. The system is based on a set of historical data which represent past attempts at solving SQL related exercises. In order to use the knowledge hidden within such data, we have have used Markov decision processes which enable us to make predictions under uncertain circumstances. Next to the agent we have also developed a way to process SQL language and a simple web-based interface. Evaluation has shown, that the system is capable of offering useful hints which are tailored to individual students. We agree, that the system represents a solid foundation for future work in this field.
|