Program by Design is an innovative project for computing education that combines motivation with principles. On the surface we use engaging contexts—our “hello world” program is an animation, and students have the opportunity to program games, mashups, phones, etc.—while teaching a principled and scalable approach to computing

Program By Design

How to Design Programs/2nd Edition

Picturing Programs