Demo/experience report of Quartz Academy, livecode tooling developed at Bank of America to teach Python plus a trading platform to thousands of internal users.
Custom live code tools were developed to take documentation written using Sphinx, and automatically convert them to a teaching tool.
Code fragments in the Sphinx docs are recognized and parsed and shown in a snippet editor, live results are shown in corresponding view. Code execution is animated in the editor view. Timeline lets users step through execution.
About 40 live assignments are mixed into the docs to measure student progression. A leader board adds a gaming aspect.
In class-room setting, a special tool measures student progress so that the teacher can help correct broken examples.
Integration with a traditional IDE lets students move a snippet to their own user area and build upon it.
Total course materials measures about 500 slides, from basic Python concepts to distributed programming to persistence to portfolio pricing and risk reports.
Handout materials are automatically generated from tool as well, currently measuring about 300 pages.
Inspirations: Many years of research on program visualization (including my own), in-situ programming, Khan Academy, codeacademy, iPython notebook, etc.