Stochastic computing techniques that exploit error resilience and enable energy-reliability tradeoffs have been proposed at nearly all levels of the computing stack. This book reviews work in the area of stochastic computing and discuss the promise and challenges of the field.