This book focuses on how to build energy-efficient hardware for neural network with learning capabilities. One of the striking features of this book is that it strives to provide a co-design and co-optimization methodologies for building hardware neural networks that can learn. The book provides a complete picture from high-level algorithm to low-level implementation details. The book also covers many fundamentals and essentials in neural networks, e.g., deep learning, as well as hardware implementation of neural networks. This book will serve as a good resource for teaching and training undergraduate and graduate students about the latest generation neural networks with powerful learning capabilities.