tl;dr -
I think I fixed this problem in my app (iheartpy.com) using AIML. Caution: Still a work in progress.
The whoe thing -
I am a self-taught programmer. And I had been an extensive user of codeacademy myself. I realized this rather serious design flaw early on and tried to do something about it.
Initially, I tried to right my own engine based on JSON but midway I discovered AIML. It suited the task perfectly. So I downloaded pyAIML library [1]. It is surprisingly simple to get started with. I hacked around a bit and got a workable python app.
Finally using pyAIML + regexp, I ended up with a crude engine that takes something like this (in Python):
def foo(param1, param2)
and spits out:
FUNCTION foo PARAMS param1 param2
which can be easily manipulated and replied to by the pyAIML parser. It worked flawlessly. And moreover, designing lessons is as simple as creating an XML file.
Then I threw together a minimal UI and got it up and running on App Engine here:
iheartpy.com
I used CodeMirror [2] for the editor. The focus of the UI was to be extremely minimal ( = blazing fast) and delightfully non-distracting ( = no post-to-facebook rubbish). This being a side-project, I thought I could easily get away with that. :)
Honestly, this is my first project and looks more like the work of a script-junkie at this point of time. The lessons are not done yet. I wasted a lot of time in trying to optimize my app for App Engine. And now I'm an 18 year-old who has a LOT of exams on his head and this unfinished project. It is kinda disheartening.
Anyway here's the github repo [3]. It is not very neat. Psst.. I added some LOLPython magic as well [4]!
Finally, I made something that is essentially an MVP. I'm new to both design and coding. Plus, I don't think I'm proficient enough in Python to teach people.
In short, I need help. Would be happy enough with some feedback, though. ;)
[1] http://pypi.python.org/pypi/PyAIML
[2] http://github.com/marijnh/CodeMirror2
[3] https://github.com/creatorrr/IHeartPy
[4] http://www.dalkescientific.com/writings/diary/archive/2007/0...