Neural coding and computation: cells, circuits, and cognition