I create CDF assignments for my students. They are pretty basic. A student selects their ID using a pull-down menu in a Manipulate, and the notebook is populated with randomized questions. The answers are buried in the document and are inaccessible until the deadline passes a week later, at which time I upload the same CDF but with a checkbox in the Manipulate that displays the answer under each question. So, at any given time, students have old CDF assignments for which the answers are accessible and new assignments in which they are not. I received a disturbing email today from a student who claims that he was able to see the answers for the new assignment by doing the following on his PC.
- Open new quiz (where answers are blocked) in Mathematica (not the CDF player), enable dynamics when prompted, select ID in the Manipulate pulldown menu
- Open old quiz (where answers are not blocked), enable dynamics, select ID
- Minimize both documents and Mathematica
- Reopen old quiz and then close it
- Reopen new quiz, and sadly, the answers are revealed
He sent me a screenshot showing the answers, but I was not able to reproduce this on my Mac. I'm trying to convince him to demonstrate this to me on my laptop. The only thing I can think of is that because the assignments use variables with the same name, Mathematica is loading answer variables from the old as globals and these are "unlocking" the same variables in the new. Any thoughts?