Think Complexity by Allen B. Downey