This tutorial assumes that the reader is competent in programming. It does not assume that the reader has had experience in any particular paradigm of programming, so concepts such as inheritance and threading are all briefly explained. However, it does assume that the reader knows the python syntax and built-in functions. It also assumes that the reader has completed the visual python bouncing balls demo, found here. It is intended to be the next step from this demo, that is, applying the skills learnt in that demo to computational simulation.
All code in this document is broken into chunks. These chunks fit
together by referencing each other. To avoid clutter, repeat code
chunks have been left out. Sometimes these chunks will be slightly
modified, but not modified enough to warrant including them again. If
you are implementing the code by hand, you may want to check the complete
source, which can be found
here.