habiburrahman.pro
← Writing

What teaching competitive programming taught me

· 1 min read

Explaining a dynamic programming solution to a high school student forces you to understand it completely. There is no room for hand-waving.

The habit I tried hardest to teach was simple: before writing code, write down the state, the transition, and the complexity. It applies just as well to production software.