This book provides a rigorous mathematical treatment of the non-linear stochastic filtering problem using modern methods. Particular emphasis is placed on the theoretical analysis of numerical methods for the solution of the filtering problem via particle methods. The book should provide sufficient background to enable study of the recent literature. While no prior knowledge of stochastic filtering is required, readers are assumed to be familiar with measure theory, probability theory and the basics of stochastic processes. Most of the technical results that are required are stated and proved in the appendices. Exercises and solutions are included.