Building a program from the ground up

Terminology

Avoiding the common gotchas

Writing a great hypothesis

Prioritization