Lecture 21: Timing Programs and Counting Operations