Design Principles for Teaching Primary Calculus