The algorithm uses it's own stack (not the system stack) to keep track of the locations along the path it creates. This allows it to backtrack when a dead end is reached, by popping the previous ...
# 1. Call greet_student with your own name. # 2. Call square with the number 7 and PRINT the result. # 3. Try printing the result of greet_student("Alex") — what do you notice?