# The Use of Educational Games in Programming Assignments: SQL Island as a Case Study
## 2 Related Work
### Freely Available Games for SQL  
A Google search for freely available games on SQL revealed just two games that are freely available through the web, namely SQL Island [12] and SQL Murder Mystery [13]. Moreover, the source code of SQL Murder Mystery is released under the MIT License and the educational content included in the project is released under Creative Commons CC BY-SA 4.0, as noted on the website of the project [13]. Both games have a scenario for keeping users motivated. In the case of SQL Murder Mystery, the player has to solve a crime mystery in SQL city, while in SQL Island, the player is informed that s/he has survived a plane crash and her/his mission is to make progress in the game in order to escape from the island. Both games incorporate a database that holds all the necessary information for reaching the game's goal, and the player writes SQL statements for retrieving the appropriate information from the database in response to specific challenges posed. In the case that an SQL statement is correct, the player obtains the necessary information for progressing in the game. In the case of providing a wrong SQL statement, a hint is provided in SQL Island, and the player retries, while in SQL Murder Mystery, the player has the ability to see the solution for several of the challenges. Both games provide educational material for SQL, but their type and extent differ significantly. SQL Murder Mystery actually provides a detailed tutorial for SQL interleaved with the game tasks, which constitutes it an appropriate resource for self-directed learning of SQL. On the other hand, SQL Island provides examples of SQL statements for the database holding all the information of the island along with their results prior to each task. Finally, SQL Island, in contrast with SQLMurder Mystery, incorporates simple graphics for the characters (inhabitants of the island) that the player interacts with through the SQL statements s/he writes.  
Taking into account the goals of the study, SQL Island seemed a good choice for an SQL assignment for the following reasons:  
1. _Easy access through the web_. The only prerequisites for using the game are having a personal computer or laptop with minimum requirements and Internet access. Configuration and management of the environment is one of the challenges faced by students in relevant courses [21] that is not required.
2. _Simple Graphical User Interface (GUI)_. SQL Island consists of the following areas presented in Figure 1: (a) the _graphical dialogue area_ where the dialogue of the player with other inhabitants of the island is depicted; (b) the _results area_ where the outcomes of SQL statements, either provided by the game as examples or written by the player in response to the challenges described, are presented; (c) the _editor area_ where the player writes SQL statements; (d) the _database tables area_ where the tables of the database are presented.
3. _Coverage of basic SQL commands_, _functions and operators_. The game covers the most fundamental SQL syntax that is used in an introductory SQL assignment: select, update, set, delete, where, is, and, or, null, group by, join, count, sum, avg.
4. _Appropriate examples_ of SQL statements _and immediate feedback about the correctness of students' code_ are presented.
5. _Self-paced practicing and assessment on SQL in a friendly environment_.  
Apart from the advantages of SQL Island, the game has the following major limitations: the game is stateless, which means that the student has to start from the beginning if s/he does not manage to finish the game in one session; the game does not keep a record of students' code for inspection by the instructor. This is counterbalanced by the manageable number of programming tasks posed to the player and the fact that a certificate with the player's name is issued in the case of successfully completing all the tasks.  
Figure 1: The GUI of SQL Island.