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 its properties allows us
to know why an algorithm works … and
then we can let the computer do it