Bertel Teilfeldt Hansen

Political Science

Randomized pistol learning: A browser app to activate the entire class


As teachers we like to ask questions in plenum to activate the students and make them grasp the material better. However, often only a handful of students participate, leaving the rest to sit by idly. This app proposes a solution to that problem, by randomizing who responds to a question, but without cold calling anyone. To use the app, simply open a browser window and go to There you will find a bare-bones application with two panes at the top, one called "Pick a student at random" and another called "Pick students from a list". The former just offers a flexible and graphical way to randomly call on someone, and the real contribution is in the latter. "Pick students from a list" takes as input a Google sheet with the names of students on the columns and questions on the rows. The sheet is meant to be editable by the students, and in the cells they can indicate, before class, whether or not they will be able to answer a particular question. To make sure that we actually activate the more passive students, one could make it a requirement of a course that each student tick off a certain number of questions duringthe semester (such that their column must sum to that number or above). An example sheet can be found at To use the function, paste the link to your sheet into the text input box and press "Load data from sheet". When the app has finished loading the sheet, the user can select which question to answer, and then press "Pick student at random". The app then selects a student at random (with a slight intentional delay to create suspense), but only from among those that had indicated that they were able to answer the given question, thus avoiding cold calling. It also guesses the student's gender from their chosen name and portrays a corresponding emoji (of a random ethnicity). This should all happen at a speed that makes it possible to use the app live in class.

The app is still very much in beta, so if you encounter any bugs or the like, please do not hesitate to contact me at