This is an activity I've run with Students and Teachers on quite a few occasions with great success. I thought it was finally time to document it and create a template in case other might find it useful.
In just about every subject at school, there is vocabulary to be learnt (parts of a tree, names of characters in a book, different uses of onions in medieval society etc..) When I was in school, the teacher would give us all the words to learn as well as their definitions. To test if we had learnt them, we were given some 'interactive' activities - word searches, crosswords, connect the word to the description etc. I guess it worked ok, but with the web tools that are available nowadays, it is possible to make it far more engaging for the students. Having the students create their own crosswords (with clues) which are then shared with other students, forces them to think not only about the words they need to use, how it will be layed out, but also how the clues are too be written. Too much information and it's too easy. Too little (or possibly incorrect) information, and you can't solve it.
By putting them into groups to create their crossword, you also can get them to check each others work, "Is their enough info in that clue?", "Is there a better way of phrasing that clue?" etc.
Using Google Sheets, it is very easy to constuct a simple crossword within a small group.
I created a template for it that anyone is free to use (just let me know how it works in your class!)
Students come up with a list of words to suit a topic. They then start inserting those words into a crossword, making sure they share at least one letter with an existing word. Words and clues are colour matched (by using the fill colour tool) so you know what clues match to the crossword.
The great thing about Google Sheets is that you can then delete all the letters, but the background colours will remain so you know where the words go :)