I am currently on the job market. If you are interested in working with me on any of these directions, please reach out!
Over the course of my Master's degree, I worked on topics related to the intersection between humans and databases. After attaining my Master's degree, I pursued a PhD in which I wanted to dive deeper into this topic. As I have a passion for education, and students' interaction with databases can be a struggle, I decided to specialize in education on the Structured Query Language (SQL). As SQL is the number one requested programming language in current job openings, to prepare them for the job market it is essential that our students learn this language well. Although SQL was invented in the 1970s and quickly gained traction, research as to how we can best teach this language has been under-explored.
Prior education research has primarily focused on which errors SQL learners make while they write their queries [1, 3, 16]. My work during the PhD focused on extending our current understanding of SQL education, for example by identifying what the underlying problems were for these errors. This can then help us restructure and improve our teaching methods to reduce errors and better support students. To this end, I interviewed students using a think-aloud protocol , developed questionnaires for identifying such underlying causes , and used a Delphi-protocol for analyzing experts' thoughts on the causes . We are already looking into applying some of our findings in the curriculum at Eindhoven University of Technology.
Other prior work has aimed to support SQL learners through the development of visual tools [4, 5, 6, 12, 13]. While most of these tools aim to visualize results, our aim was to explicitly represent the query itself. With such a representation, students don't have to translate backwards from result tables and visual representations to edits in the query. I developed such a tool, by representing the query structure as a graph . This also supports students' mental representations of the relational database, in which relations are normally implicit. This work is being continued by master students I supervise, and is also available to students in one of our database courses.
In my most recent project, I have worked on analyzing what students believe would make their database education more engaging. In collaboration with the University of Jyväskylä, we analyzed data from students' database design assignments to identify themes and arguments on engagement. We found that students like databases that allow for various types of queries and varying levels of difficulty, databases that can present a challenge, and exercises that are related to the real world [11, 15]. With our guidelines, teachers might be able to reach higher student engagement.
Together, these research directions give a good insight into the problems students run into while writing SQL queries. We can identify errors, support through visual tools that reduce their mental load, and finally increase student engagement, which hopefully leads to student retention and improved student performance.
I next describe some research directions that I would be interested to explore in the future.
First, I would like to extend the work I did on visual representations for query languages. The tool I developed is meant to help students write queries by lowering their cognitive load. I believe there is potential to take the support provided by this system even further. Features to be researched and implemented include:
Additionally, the system has proven a topic of interest for student projects, so this project could be one way in which I could provide undergrad and grad student opportunities to gain research experience.
From the research I discussed above, we can conclude that much is still unknown about teaching our students SQL. From a quick search through the Computer Science Education Research venues, we can see that this holds to an even stronger extent for teaching students other database content. There is much work to be done for understanding this, and one research direction I would be interested in exploring is how to best teach database concepts to non-CS majors.
I am also interested in exploring knowledge transfer between different query languages. In our introductory database course in Eindhoven, we teach four languages that cover different perspectives on querying: SQL, Datalog, Tuple Relational Calculus and Relational Algebra. In our teaching of these languages, we map and relate them to each other. However, not much is known about the knowledge transfer between these languages. Exploring which concepts transfer well between languages, and which do not, can help us teach more effectively. Some possible studies could be:
The fourth set of studies that I would be interested in carrying out is to explore problem-solving behavior in reading and interpretation. Many programming languages are taught by first teaching the student how to read code before they start writing it. Research shows that this is likely to be a good idea for general programming languages; learning the know-how before learning how to use a language [14, 17, 18]. However, I wonder whether this also holds for SQL. As it is a declarative language, with non-deterministic query execution plans, there are various uncertainties in the interpretation of queries.
The final research direction I will elaborate on here is about query decomposition and patterns. In my studies about underlying causes for problems, and in my experience as a teacher, I have found that students often study a set of patterns that should help them formulate queries. However, they regularly choose to apply a template or pattern that is not applicable to the question that they are trying to answer. To learn more about this, some things I would like to examine include:
All of the research directions above can increase our knowledge on how to teach Data Systems, and through this will lead to innovations in education. These innovations can then reduce students' struggle to learn query languages, which results in better performance. Applying new methods in our teaching should also lead to higher retention of students.