Sunday, May 31, 2015

Randomization Wonderland

In a typical semester, I teach one class with 30-40 students and another class with 50-60 students. Those are not "big" classes I guess (at my school, you can get a grant to help with course development for "big" classes... which means enrollments of 600 or more!), but they are big enough that the sheer level of activity in any given week can be very daunting: stories and other blog posts, comments, projects ... it's a LOT of stuff.

My goal as the instructor is to keep an eye on everything (thank you, Inoreader and the magic of RSS!), but that is not a reasonable goal for students. Instead, students need to find their own individual pathways as they connect with others, and my goal is to help them find those pathways, either by means of making their own choices OR by providing them with random choices that can lead them in totally new directions, meeting new students in class, encountering new stories, etc. Choice is great, but random is also good, a fun and effective way to just take the plunge and get connected!

At the bottom of this post, I've provided a list of links to the different kinds of randomizers that I now use in my classes. But first, some history:

Let the Fates Decide

I first discovered the power of random way back when I built the Myth-Folklore class online back in 2002. Each week, there was a choice of two reading options (now, with the UnTextbook, there are so many more choices; more on that below), and so I created a simple little javascript called "Let the Fates decide!" for students who couldn't decide on their own, either because they really liked both options or because they had never heard of either option and thus had no grounds on which to choose.

When I made the javascript (it was the first javascript I ever wrote by hand!), I was scrupulously fair, making sure each choice had a 50-50 chance of appearing. Much to my surprise, students were really fond of the Fates, and they would sometimes writing in their blogs about how "The Fates told me to choose King Arthur three times in a row!" and so on. Those old pages are still up; here's an example: Medieval Heroes.

I was only half-joking about the Fates: ancient divination was a topic that had fascinated me in graduate school, and many of the ancient practices were based on what we would call randomness, like the casting of lots (sortilege, cleromancy). There were even some wonderful book-based forms of divination — bibliomancy — such as the sortes Virgilianae: open the book by the poet Vergil (at random), choose a passage (at random), and it will provide the answer to your question, whatever it might be. The English word "sorcery" comes from this Latin word for the casting of lots, sortes. Of course, in modern times we have the Magic 8-Ball

Enter Randy Hoyt and

I will not dwell too long on the weird coincidence that the builder of the randomizer I use most,, is himself named Randy (cue Theramin music...). Randy Hoyt was a student in the very first class I taught at OU back in 1999 and we have been friends ever since; he is now a genius computer programmer and also a maker of board games (see his latest Kickstarter for Foxtrot games: Lanterns). Randy went on to take Myth-Folklore online back in the very early days, and also Indian Epics in early days; a lovely poem he wrote for that class is still online here: Song of Kaikeyi. 

So, probably around 2003 or so (honestly, I don't even remember when exactly), I hired Randy to build me a randomizer. It actually started out as a date-based content tool, but it was Randy who realized that the same table-based content could be deployed by date OR at random, and so the free online tool,, was born. Randy has been so kind and generous to host the script on his server all this time, long long long after I paid him for the project. All you need to do is put content in an HTML table and, presto, RotateContent will give it back to you as a randomizing javascript or as a date-based javascript. 

To show how that works, here's the latest script I wrote with RotateContent: it's a randomizer for the Amar Chitra Katha comic books that will be part of Indian Epics starting next year! 

I hope to add lots more comic books in June and July; right now there are about a dozen comic books, which makes for an okay randomized experience. But by the time I get 50 or 60 comic books by the end of the summer, it will be really fun.


As the "Fates" example above shows, randomness has a quality of fun to it, even mystical fun, which students can really appreciate. In a world where so much of school is scripted and predictable, sometimes to the point of being mind-numbing, the UN-predictability of randomness can provide some much needed fun.

At the same that it is fun, randomness is also a very effective tool for distributing attention and effort. So, for example, by putting the students in random commenting groups each week, I can help make sure that over time they all get about the same number of comments on their blog that originate from this assignment (other commenting assignments are 100% student-choice based, and that's good too; some blogs do become quite popular compared to others). In any given week, some students get more comments from this assignment and some students get fewer (because student participation is itself random too), but over time the power of random evens it all out.

So too with my participation in the form of blog comments: I spend a few minutes each day commenting on student blog posts at random — literally at random, using a randomizer to highlight blogs for me to comment on. Over time, that helps make sure I am involved in all the blogs without having to use tedious checklists. I don't have a lot of time to spend commenting on blogs, and the randomizer helps me make sure that the time is indeed well spent, attending to all the students but at random over time.

Random content presentation is also important in terms of distributing the students' attention over all the content equally, at least in terms of the first contact. Not all content will interest them to the same degree, obviously, but I want them to be exposed to all the content equally. So, when I have lots of content, like hundreds of past student projects, just putting them in a list is not a good idea: the items at the top of the list will inevitably get the most attention, and for no good reason. A list does not randomize attention, and I want the students' attention to be randomized; then, when one of the random items really gets their attention, they can click to learn more.

Example of Randomizing and Randomizers

So, I hope the preceding paragraphs have managed to convey how powerful randomization can be, both as a way to engage students and also for distributing effort and attention. For the nitty-gritty, here are some of the ways I use randomization and randomizers in my classes. I use RotateContent to build the randomizing widgets that I insert into blog posts and web pages, while other examples are casual randomization done on the fly using GoogleDocs spreadsheets.

~ ~ ~

Crystal Ball. The Crystal Ball is the updated version of "Let the Fates decide!" for the UnTextbook which presents the students with many choices each week. That links shows all the crystal balls, but the students only see one ball at a time as I link to the individual posts week by week as the students progress through the semester. For example, in the Myth-Folklore class Week 4 has India and Middle Eastern reading options.

Random Storybooks. It is really important to expose the students to as many past student Storybook projects as possible out of the hundreds in the archive, so I use random Storybook widgets on the homepage of the online course syllabus, at the eStorybook support site, as part of the Favorite Storybooks exploration assignment during the Orientation week of class, in the sidebar of the class announcements blog, etc.

Other random content widgets. I have other randomizing content widgets as well such as the random Indian Epics comic book widget shown above, a random Indian Epics image widget which you can see in the sidebar of the Indian Epics image blog, random Myth images in the sidebar of this words and writing blog, etc.

Random weekly groups. Each week I use a GoogleDocs Spreadsheet to sort the students into random groups each week. The reason I put them into groups, as opposed to just having students visit the blogs and projects totally at random, is to promote a sense of back-and-forth dialogue (you are commenting on the work of the same people who are commenting on your work that week). Here's a screenshot of how that looks: the students find their name in the alphabetical list, which lets them quickly find their group for that week, new random groups each week.

Random participation by me. While I read every page of all the projects, my participation in the students' other work is done at random. I have links to their blogs in a spreadsheet, and I randomize the listing of the blogs when I spend some time each day commenting. Once I get to the blog, I choose what to comment on there, but the choice of blogs is random.

~ ~ ~

Randomizing in a spreadsheet is easy (I just use the RAND function in a cell and sort on that column; details here), but RotateContent can require some advance planning, especially if you are using images. Here's a write-up I did about creating a RotateContent widget: Using RotateContent to Make Widgets. I wrote this up when my Latin LOLCats won a contest for creative widgets sponsored by D2L. There's no love lost between me and D2L, but I do love widgets! :-)

And . . . .  drum-roll please . . . here is my first-ever screencast! In preparation for DML2015 and our panel "The Open Show" I made a little video: Laura Loves Randomizers. It gives a quick rundown of both the content randomizers built with RotateContent and also the blog randomizers that I run in a spreadsheet. Please be kind: I never made a screencast before. It was fun! :-)

No comments:

Post a Comment

I have limited comments to Google Accounts only (the best way to eliminate spam that I have found)... but with no word verification. If you do not have a Google account, please share your comments with me at Thank you!