It’s not about whether you succeed or fail at a problem. It’s about whether you can learn from it.

Terence Tao
  1. Listen
  2. Clarify Questions, Assumptions
  3. Take Notes
  4. Build Example
  5. Brute Force
  6. Optimize
  7. Pros and Cons
  8. Demonstrate: Draw
  9. Take Notes
  10. Code
  11. Code Review with Test – Break it!
  12. Fix Problems
  13. Complexity Analysis
  14. Refactor
  15. Discuss