Title: Thinking as a programmer