DIGITAL LIBRARY
A COMPETITION TO STRENGTHEN THE LEARNING OF THE SQL PROGRAMMING LANGUAGE
Universidad Politécnica de Madrid (SPAIN)
About this paper:
Appears in: INTED2021 Proceedings
Publication year: 2021
Pages: 1669-1677
ISBN: 978-84-09-27666-0
ISSN: 2340-1079
doi: 10.21125/inted.2021.0379
Conference name: 15th International Technology, Education and Development Conference
Dates: 8-9 March, 2021
Location: Online Conference
Abstract:
Structured Query Language (SQL) is the most commonly used programming language to interact with DataBase Management Systems (DBMS) based on relational databases. This language is composed of three different types of sub-languages:
i) Data Definition Language (DDL), which provides instructions to define new data structures, as well as to delete and modify them,
ii) Data Manipulation Language (DML), which provides instructions to insert, delete, modify, and retrieve data, and,
iii) Data Control Language (DCL), which provides instructions to administrate the access to the DBMS.

SQL is a declarative programming language which is taught in most database courses at universities. Specifically, in the “Universidad Politécnica de Madrid”, it is taught in the second semester of the second year of the Degree in Computer Science and Engineering. When teaching this language, as it a very different to those imperative languages that the students learn in their first year (Python, Java, C, …), some difficulties have been detected during the process of learning. While most types of instructions do not present any problems to them, since they are pretty static and they always follow the same scheme, the DML instruction to retrieve information from the database (i.e., the SELECT instruction) can be very versatile and present some problems to students who are only familiarized with imperative languages.

With the aim of improving the learning of this part the teaching staff of the course proposed an SQL Competition for the students that were willing to participate in it. The competition consisted of 20 problems or stages of increasing difficulty in which students needed to retrieve information from a given database using SELECT commands. While the first stages were pretty easy to solve, the last ones required a deep knowledge of SQL. The competition was implemented as a web application in which students could sign in to participate.

To motivate the students, the game was proposed as a competition, in which each student could know their relative position in the ranking. To form the ranking, each stage was scored with up to one point. The actual score depended on the number of attempts that a student did to solve the stage. The individual score was also shown to the students, together with their position in the ranking.

An element that has been very important during the activity is the COVID-19 outbreak that emerged a couple of weeks before proposing it to the students. In this case, we think that the competition has become even more important than before, given complementary nature of the activity and that it was intended to be carried out from home with the simple use of a computer with Internet connection.

The results show that the activity has had a good acceptance, since 82 students of those enrolled in the course participated in it. Moreover, the feedback that has been received after a survey conducted among the students show that those who participated are satisfied with the results, while some of those who did not participate say that they could not do it because of the workload during the semester, but they would have liked to participate on it. Finally, the results in the SQL part of the exam shows that most students obtained better results than the students who followed the databases course during the previous years.
Keywords:
SQL, Competition, Gamification, Self-learning, Programming.