Summary
We figure out most algorithms on our
own, abstracting from specific cases
Also we abstract parts of an algorithm
or program to understand them
* Thinking of how the program works and
reasoning about properties that it has
allows us to know why it works … and
then we can let the computer do it