Message Boards Message Boards


Helping Kids: English Vocabulary Building Games in Wolfram Language

Posted 4 years ago
3 Replies
21 Total Likes

NOTE: notebooks with Wolfram Language apps are available for download at the end of the post.

enter image description here


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.


I designed two games in Mathematica - a variation of the very popular HANGMAN game and a new game I called ‘The Three-word Thriller’.


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:

Hangman - Image 1

Hangman - Image 2

Hangman - Image 3

Three Word Thriller - Image 1

Three Word Thriller - Image 2


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 Mathematica’s 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.


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: Kids - Image 1 Kids - Image 2

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!

POSTED BY: Anmol Dhaliwal
3 Replies

enter image description here - Congratulations! This post is now a Staff Pick as distinguished by a badge on your profile! Thank you, keep it coming, and consider contributing your work to the The Notebook Archive!

POSTED BY: Moderation Team

My goodness young man, you are functioning with a respectable maturity of mind and heart beyond your years. You've done a really great job distilling the power that simple interventions can have in the lives of others in different settings. I think many of us forget our first experiences with educational games and get overly fixated on being cutting edge. This post stands as a reminder that I should sometimes remember that innovation is contextual to culture, socio-demographics, and age. I am certainly grateful for your reminder that even though something is not novel to me, it may be revolutionary to someone else in a different situation.

May I use this post as a required reading for my course about technology and education?

You might also find a post of mine from many years ago interesting, it includes a framework for teaching kids to code on raspberry pis, but it's actually just a very fancy notebook for keeping kids a bit more engaged during the workshops I was running.

POSTED BY: Kyle Keane

Dear Sir,

Thank you very much for your reply!

I would be delighted, indeed honored, if this post is used in your courses!

Best regards,


POSTED BY: Anmol Dhaliwal
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
or Discard

Group Abstract Group Abstract