NOTE: notebooks with Wolfram Language apps are available for download at the end of the post.
INTRODUCTION
I volunteered for community service at a Non-Government organization during my previous summer vacations (May-June 2018) in New Delhi, India, and was tasked with teaching basic English vocabulary to a group of 12 underprivileged kids.
During the first week, standard whiteboard-based teaching was followed, and it was noticed that the children got bored within the first hour itself, particularly because our two-hour sessions essentially involved discussing the meanings and the usage of words commonly used in conversation. This method of teaching therefore failed to enthuse the children, and this reflected in their poor progress.
Educational games are a much more exciting way to learn - the desire to win the game motivates the players to improve their knowledge of the subject; for example, I loved playing games like Scrabble to improve my vocabulary. Therefore, I thought of using board games to teach the kids. However, since most of the kids in the organization were 13 year olds with poor vocabulary, games like Scrabble would not have proved to be helpful in fulfilling my task.
These underprivileged kids had no access to any computer of any kind. I knew that if I designed computer games for these kids on my laptop, they would not only be fascinated by the games but also by the opportunity of being able to observe technology in action that they had never witnessed earlier!
Mathematica provided the ideal platform for implementing this idea - everything from building an aesthetic interface to automatically declaring results is easily accomplishable using the powerful functions. I could even incorporate features like imposing time-limits on every round; a clock could be designed that would dynamically show the amount of time left and even emit a sound note of increasing intensity to indicate that the time was about to end.
DESIGNING THE GAMES
I designed two games in Mathematica - a variation of the very popular HANGMAN game and a new game I called The Three-word Thriller.
Hangman:
My variation of HANGMAN enabled the students, divided into two teams, to guess a number of words based on their meanings and their lengths. The word had to be guessed within 7 attempts (the number of letters in the word HANGMAN), as in the traditional HANGMAN game. However, in my implementation, I imposed a time limit of 90 seconds (this can be adjusted in the program), and instead of drawing an element of the conventional stick figure, a letter of the word H-A-N-G-M-A-N appeared successively on every incorrect guess. The teams played alternately. The interface was mainly based on buttons and tab-views, with all graphics and tables appearing in specific tabs.
The operation of the game was as follows:
The controller of the game had to press the Generate button, which would generate the meaning and the required number of blanks for a word that had not been guessed before, in a tab titled Game Tab. Warning features were provided, i.e. a clock which changed color dynamically from green to red and played sounds of increasing volume as the time was about to end was also displayed in the same tab and had to be started manually by pressing a play button above it. The round would end if the team either guessed the word or failed to determine the word within 90 seconds and 7 attempts, as mentioned above. The controller then entered the appropriate number of marks (based on number of correct guesses made) for each player of the team who helped in guessing the word (partially or completely) in the Update Points tab using a slider (to define the number of marks to be granted) and a drop-down (pop-up) menu (to define the name of the player). The marks for each player were dynamically updated in the Statistics tab and could be viewed at any stage. This process continued for each round, and a message was printed when all words had been used once. The controller could then finish the game by pressing the Finish game button which would lead to the results being automatically finalized, and the name of the winning team could now be viewed in the Result tab. The name of the best player could also be viewed in the Best player tab on finishing the game.
The following inputs had to be given:
- Names of players in both teams (in lists playersInA and playersInB).
- Names of the two teams (at locations annotated in the code, specifically the first parameters of the Style functions in the first and third indices of the teamNames list).
- The words to be guessed, in the words list. The number of words should be more than or equal to the total number of students.
- The meanings of the corresponding words, in the meanings list
- The time-limit in seconds, by changing the timeLimit variable.
The Three-word Thriller
This game asked a random player (name defined in the input) to make three different sentences with any three words beginning with a particular alphabet. The program only generated the name of the player and the alphabet randomly; the player had to think of the words, make sentences with them and say them out aloud. The name of a particular player and an alphabet could not be generated twice in the same round (i.e. before all players had been given a chance to play, thus ensuring participation of each child). A time limit/limit on number of attempts could also have been imposed but I felt that in that case, the kids would not have made good sentences since they would be more focused on making the sentences quickly.
The operation was almost identical to the HANGMAN game; the only differences were the absence of a clock, and generation of the name of a player and an alphabet instead of a word meaning and blanks. Also, no pop-up menu was included for updating points since only one player would be playing at a time. The buttons were the same, and all tabs except for the Game Tab (titled the Play tab in this case) were same.
The only inputs required were of the team names and the player names, and had to be defined in the same way as in the case of HANGMAN.
The Mathematica notebooks are attached below.
Some screenshots of the games are as follows:
IMPROVEMENTS
As far as the games are concerned, I feel the following improvements can be made:
- As a controller, I thought continuously switching between tabs was a bit inconvenient. Functions like EventHandler may be used to incorporate keyboard shortcuts, or one of Mathematicas many alternative views may be adopted.
- The programs can be refined to include functionality for more number of teams.
- The use of the Column function forced me to use many instances of Spacer to place the items in the visually appropriate way. A better method should be designed.
- Finally, I also feel that the code can be shortened by employing other functions (for example, pure functions) in many sections.
CONCLUSION
The games were indeed immensely popular among the kids! They looked forward to playing them over and over again in the second week, and the two hour session, which initially seemed to be too long, now appeared to be a very short one!
The enthusiasm in the kids was rejuvenated and they were keen to improve their vocabulary like never before!
I must say I was astonished by the response. It made a kind of difference I could never have even dreamt of!
Some photos of the kids playing the games are as follows:
Wolfram Mathematica played a big role in this. The dynamic graphics, real-time feedback in case of correct or incorrect answers, sound emitting functionality and visually appealing tab-views are just some of the multitudinous benefits of designing such games in this software.
Educational games can make a huge difference in accelerating the process of learning, even in underprivileged sections of society, and Wolfram Mathematica can help tremendously in this!
Attachments: