The examples below illustrate some of this tool's visualization capabilities but are not meant as standalone programming lessons. For effective learning, people often use this tool as a supplement to textbooks, lecture notes, and online programming tutorials.
Python Examples
Basic: hello | happy | intro | filter | tokenize | insertion sort | for-else | user input
Math: factorial | fibonacci | memoized fibonacci | square root | gcd | towers of hanoi
Objects: OOP 1 | OOP 2 | OOP 3 | inheritance
Linked Lists: LL 1 | LL 2 | LL sum
Pointer Aliasing:
aliasing1 |
aliasing2 |
aliasing3 |
aliasing4 |
aliasing5 |
aliasing6 |
aliasing7 |
aliasing8 |
sumList
Higher-Order Functions:
closure1 |
closure2 |
closure3 |
closure4 |
closure5 |
list map |
summation |
lambda param
Advanced:
list comp |
list/set/dict comp |
decorator |
generator |
genexpr |
varargs |
exception |
metaclass
Python 3 only: student torture | nonlocal
Java Examples
Basic: Variables | ControlFlow | Sqrt | ExecLimit | Strings
Methods: PassByValue | Recursion | StackOverflow
OOP: Rolex | Person | Complex | Casting
Data structures: LinkedList | StackQueue | Postfix | SymbolTable
Java features: ToString | Reflect | Exception | ExceptionFlow | TwoClasses
Misc: Forest | Knapsack | StaticInitializer | Synthetic
(All Java examples created by David Pritchard)
JavaScript Examples
factorial | data types | exception | closure | shadowing | constructor | inheritance
TypeScript Examples
hello | classes | inheritance | generics
Ruby Examples
Containers | Globals | Constants | Blocks | Block scoping | More block scoping
Proc & Lambda | Proc scoping | Proc return | Lambda scoping | Inheritance | Symbols Protected & private | Class & instance vars | Toplevel defs | MegagreeterC Examples
Thesis | Globals | Structs | Nested structs | Array overflow | Array param
String reverse | Pointer levels | Pointer chain | Pointers wild | TypedefC++ Examples
Basic | Pass by ref | Class | Class pointer | Date class | Inheritance | Virtual method