Spiking neural networks: LIF layers, encoders and decoders, STDP learning, surrogate gradients and the spiking network model.