Lessons in Mathematical Thinking