Spiking Neural Networks An Introduction