In my large intro class I used Robozzle to talk about program control and introduce recursion. Robozzle does use a true call stack and to solve some puzzles (for example, learning stack, recursed, learning stack 2, limit your stack, counting – green) you really need to understand both recursion and how the to use the call stack. This is week one of computer science, so I didn’t get into a huge amount of detail, but it did seem to get the “newbies” engaged and make the “hackers” realize that they do have something to learn. Only a tiny handful of students could solve the aforementioned puzzle before being taught how the call stack can be used. Overall, it was a success (I think), and I recommend it as a learning tool.
A colleague once mentioned “boy, this would be difficult to debug” and reminded me that the iPhone version of the game shows the call stack – or a version thereof – in the “step-through” mode. I decided it would be a good idea to use the document camera to show this live (rather than hand-drawing the call-stack on the board). It never even occurred to me that while my phone was exposed under the document camera, I could receive a call from <embarrassing pet name> or a text of <face-reddening material>. And then “BING”.
Cue my nightmare.
Thankfully the text message was some automated one from AT&T. However, in my “deer in headlights” teaching state, it didn’t occur to me to then turn off my phone’s data connection. Nervously, I made it through the next 10 or so minutes of class without incident.