If you are interested in the technical details of CPython, the author posted a mini course on technical details about CPython here:
http://pgbovine.net/cpython-internals.htm
i should do a much better job consolidating and advertising all of these resources, but time is never on my side :) so i figure that i'll just keep putting more stuff up and let google figure it out for now.
Yes, recursion is an extremely challenging topic for novices. Beware of the expert blind spot, in which experts such as yourself drastically underestimate how difficult concepts are for novices to learn:
Phillip Guo, the creator of this software is also the author of a very nice book called The Ph.D. Grind. I would definitely recommend reading it. http://www.pgbovine.net/PhD-memoir.htm
Seeing the execution as a 2D representation reminds me a bit of Subtextual. @pgbovine: I wonder whether you've seen this. Thinking of higher dimensional representations of code has led me to think that our current way of programming is still stuck in a world heavily influenced by terminals, even given the most modern programming language. Alan Kay's work also seems to go into a direction that tries to break out of this 1D world.
It would be cool if there are examples can help visualize more advance concept such dead lock, semaphore, mutex operations, GL/EGL APIs and shader programming.
Your sample is a bit broken and it took me some time to find out what is broken. The memoized function is not actually returning anthing, so caching is not possible.
Also it has a side effect (console.log), so the second call won't log. A better sample would be a method with a complicated, expensive calculation.
The Michael Jordan quote mentioned in that post is a good and inspiring one :)
I recommend those sites to programming beginners who sometimes ask me for resources about Python - but only to start and/or as a supplement. Nothing can make up for getting the full experience of using Python (or any language) in a desktop computer environment, command line, tools, etc.
Same for me, as a Javascript developer. Who knew setTimeout was just setInterval with the internal _repeat flag set to false? Actually, I probably should have known that...
Demo of Python Tutor being used in a computer science textbook: http://www.composingprograms.com/pages/17-recursive-function...
The textbook above is from the introductory computer science course at UC Berkeley (http://cs61a.org)
Previous Discussion (~3 years ago): https://news.ycombinator.com/item?id=4601478
If you are interested in the technical details of CPython, the author posted a mini course on technical details about CPython here: http://pgbovine.net/cpython-internals.htm
1 hour podcast that describes the course: https://talkpython.fm/episodes/show/22/cpython-internals-and...