Artificial computing systems are vastly outperformed by biological neural processing ones for many practical tasks that involve sensory perception and real-time interactions with the environment, especially when size and energy consumption are factored in. One of the reasons is that the architecture of nervous systems, in which billions of neurons communicate in parallel mainly via asynchronous action potentials, is very different from that of today's mainly serial and synchronous logic devices and systems. Recent machine learning algorithms have taken inspiration from the nervous system to develop neuro-computing algorithms that are showing state-of-the-art performance in pattern recognition tasks. In parallel, different types of brain-inspired hardware architectures are being developed that reproduce some of the principles of computation used by the nervous system. These architectures represent a promising technology for both implementing the latest generation of neural networks, and for building faithful models of biological neural processing systems. In this tutorial I will present examples of spike-based neural network architectures that can be used to perform neural computation, signal processing, and pattern recognition. I will cover the design of large-scale networks of spiking neurons in VLSI technology, presenting a set of analog and digital electronic circuits that can be used to implement spiking neurons and spike-timing dependent plasticity learning synapses. I will show examples of VLSI neuromorphic information processing systems and present application examples that exploit their on-line learning properties.