# The Use of Educational Games in Programming Assignments: SQL Island as a Case Study
## 5 Discussion
In the open-type question regarding potential improvements for the game, students made proposals for several improvements that would enhance the learning aspects of the game. While some students (5 students) considered the number of SQL statements covered by the game as satisfactory, twice as many students (11 students) would like the game to cover _more SQL statements_. Students also mentioned various improvements that are connected with the _scaffolding_ mechanism of the game: providing better error messages; more helpful hints, especially in the case of continuous inability to complete a task; providing brief and concise theory on the side of the game and explaining SQL statements; finally, having the ability to go back in the game for studying new material that was not absorbed or revisiting dialogues regarding the tasks that were not clearly understood. _RQ2: Can SQL Island be effectively used in the context of an SQL assignment?_  
Students' perceptions regarding the effectiveness of using SQL Island in the context of an SQL assignment were rather positive, as analyzed in the context of RQ1. Students were even more positive about using such types of assignments in programming courses. Students' positive perceptions are also supported by the statistics of students' performance in this assignment and the assignments of the course collectively. Slightly more students submitted the assignment based on SQL Island in comparison with the other assignments, while 91% of them managed to submit a completely correct assignment. The percentage of completely correct submissions for the rest of the assignments ranged from 53% to 80%. Of course, this cannot be attributed solely to the type of the assignment but to the difficulty of the underlying programming concepts and the difficulty of the assignment per se as well. However, it is clear that the examples and the immediate feedback provided by the game for each SQL statement written by students, along with the tips/hints in the case of errors, support students in reaching the ultimate solution. The trial-and-error approach supported by the game, in combination with the story behind the game, keepsstudents engaged and motivated. As shown by the qualitative analysis of students' responses to the assignment and the questionnaire, 4 out of the 51 students (8%) that finished the game spent more than two hours (mean playing time = 56 min), while 4 out of the 5 students (80%) that did not finish the game spent from 70 min to three hours. This is considered a clear indication of the engagement and motivation provided by both the entertaining and educational features of the game and the benefits it brings to students that face difficulties. _RQ3: What features should a game utilized in the context of a programming assignment have?_  
Based on the case study with SQL Island, we can conclude that the constituent elements of a game utilized in the context of a programming assignment are the following:  
* The game should ideally be _Web-based_ so as to be accessible from anywhere and at any time without the need for configuration. * The game must have an interesting and intriguing _story_ that keeps students engaged and motivated. * Although high-quality professional graphics are not necessary, the game should have _appealing graphics and animated characters_ to depict important elements of the story. * Providing _well worked out examples of new programming constructs_ prior to using them in the tasks helps students comprehend them. * The _tasks_, or else challenges of the game, should be closely _connected to the story_ of the game. * The players should be able to _retry_ in the case of failing a task and not be punished for their errors. * Providing _hints_ in the case of errors can help students become unstuck, face their difficulties with programming concepts, and keep on trying. * The ability for _going back in the game_ is necessary for giving players access to information connected to the educational content, the story and the tasks, as well as keeping them connected with the game.