There’s an obvious exploit if the cards are identical every month. This is the reason you suggested different colors.
Requires a sufficient surplus of cards that we don’t run out if attendance one month is much higher than average.
Not a problem by itself, but combined with the necessity of making them different every month, this leads to a lot of waste, since last month’s leftovers can’t be reused.
After thinking about this problem a while, I thought of the following idea. Instead of making the cards unique every month, simply number the cards consecutively. When handing them out each month, take note of the number of the first card handed out and the last. Then if there are any suspicions of fraud, we can check quite simply that there are no duplicate or errant numbers on the cards we got back.
Anyone who leaves the room and comes back in again (e.g. to go to the bathroom) before the lecture starts can get a second card.
Possible solution: Hand out the cards as the students enter the building, rather than as they enter the lecture hall. (Easy in this case because the lectures are on a weekend and the building doors are locked except the one we open.)
After thinking about this problem a while, I thought of the following idea. Instead of making the cards unique every month, simply number the cards consecutively. When handing them out each month, take note of the number of the first card handed out and the last. Then if there are any suspicions of fraud, we can check quite simply that there are no duplicate or errant numbers on the cards we got back.
Possible solution: Hand out the cards as the students enter the building, rather than as they enter the lecture hall. (Easy in this case because the lectures are on a weekend and the building doors are locked except the one we open.)