How to Design Programs: An Introduction to Computing and Programming121 points by zoowarRead the articleDiscussion on Hacker News