Spiking Neurons and Networks, and Spike Timing Dependent Plasticity