Why did I love this book?
This book is about the design of artifacts that are used by humans. It discusses, in particular, how specific features of cognitive artifacts can support or impede their effective use. The physical artifacts discussed in this book provide concrete illustrations for some abstract computer science notions such as types. I have used some of the examples successfully in talks about computer science for the general audience. A focus of this book is on representations, which plays an important role in many areas of computer science. If you enjoy the examples discussed in this book and like to think about representations, then you are thinking like a computer scientist.