This is one reason why I am very passionate about the debugger for teaching students CS: interacting with the language dynamically, seeing how function calls "stack" etc all make things much more tangible and allow students to construct a mental model of how computers work.
I have gone created a teaching assembly modeled on x86 with a complete debugger plugin for IntelliJ based on this.
Comments
This is one reason why I am very passionate about the debugger for teaching students CS: interacting with the language dynamically, seeing how function calls "stack" etc all make things much more tangible and allow students to construct a mental model of how computers work.
I have gone created a teaching assembly modeled on x86 with a complete debugger plugin for IntelliJ based on this.