Do you have to think about null references in every line of code? Do you have to think about boundary conditions in every loop? Do you have to stop and think at every branching instruction? The way we code is a matter of choice. This course demonstrates choices which help reduce code complexity and make code easier to write and easier to understand.