How Computers Work by Timothy Edward Downs