MemComputing is a new computing paradigm that employs time non-locality (memory) to both process and store information. This book, written by the originator of this paradigm, explains the main ideas behind MemComputing, explores its theoretical foundations, and shows its applicability to a wide variety of combinatorial optimization problems, machine learning, and quantum mechanics. The book is ideal for graduate students in Physics, Computer Science, Electrical Engineering, and Mathematics, as well as researchers in both academia and industry interested in unconventional computing. The author relies on extensive margin notes, important remarks, and many illustrations to better explain the main concepts and clarify jargon, making the book as self-contained as possible. The reader will be guided from the basic notions to the more advanced ones with an always clear and engaging writing style. Along the way, the reader will appreciate the advantages of this computing paradigm and the
major differences that set it apart from the prevailing Turing model of computation, and even quantum computing.