One of the classes I took that I remember most fondly was a Differential Equations class, in which the number of assigned homework problems equaled the number of students in the class. (Granted, there were only 18 students in the class.)
The assigned classroom had blackboards on three sides of the room. Typically, the classes would begin with the professor randomly assigning one assigned problems to each student in the class, after which we would all go to the board and write our solution to the assigned problem. No one was to "sign" their name to their solution, and if they had gotten stuck trying to complete the assigned problem, they could show their work, and write questions about how to proceed. After doing so, the class would discuss the solutions and problem-solve any unsolved problems.
Everyone, in other words, was targeted every class period, though, in fact, everyone felt responsible to come to class prepared.
This is not feasible in a lecture hall, of course. In such large lectures, you can use your computer program, or preferably, Sue's suggestion of using $3\times 5$ index cards for each student in the class. Proceed during lectures, using only the index cards not previously naming someone who was called upon. Then, if time allows, start from the beginning.