This is a well done example, I hope you don't mind if my students post some questions to you? I am an adjunct instructor in game design at CSU Fullerton (Cal State), and this fits in with the class exactly.
I'm glad you can use it in your class. I'm happy to try to answer any questions your class may have, as long as it doesn't involve math Math is hard! I simply implemented Stefan algorithm as he describes in his thesis. I don't really understand it all.
But if you've got any question about the source code, I'll be happy to try
Oh, and stay tune for an update to this sample. For better "explorability"