I presented at the Nashville Women Programmers meetup on algorithms, giving an introduction to Big O notation.

Slides:

While the slides introducing the concept of algorithms were pretty clear, I used many whiteboard examples to supplement the graphs explaining big O notation, looking at various sums of functions on the graph to demonstrate why big O notation is useful for analyzing functions when input values are large.

A few observations after presenting on this topic for the first time:

  • Everyone was so eager to learn, and it was wonderful to teach something I enjoy so much. It was also great to have several members of the group who were able to offer their own examples and further illustrate the concepts.
  • The group was so supportive and helpful to one another - everyone wanted everyone else to understand the concepts in the lecture, and to be able to follow every step of the problem solving and analysis.
  • Lecturing is not the same thing as teaching. I prepared a talk, but realized that I really needed to teach. Teaching is more work and more rewarding.
  • It’s useful to be flexible. We hacked a glass-board to be a white board so that everyone could read my notes, and I re-tooled my explanation of the handshake problem at least four ways to try to make the solution clearer, and to explain Gauss’ trick for calculating the sum of the first n numbers.
  • Mathematical induction is actually a rather difficult concept to explain. Perhaps I shall devote a post to a clear explanation of the intuition and logic behind it.