Nearly a hundred years have passed since Viggo Brun invented his famous sieve, and the use of sieve methods is constantly evolving. As probability and combinatorics have penetrated the fabric of mathematical activity, sieve methods have become more versatile and sophisticated and in recent years have played a part in some of the most spectacular mathematical discoveries. Many arithmetical investigations encounter a combinatorial problem that requires a sieving argument, and this tract offers a modern and reliable guide in such situations. The theory of higher dimensional sieves is thoroughly explored, and examples are provided throughout. A Mathematica(R) software package for sieve-theoretical calculations is provided on the authors' website. To further benefit readers, the Appendix describes methods for computing sieve functions. These methods are generally applicable to the computation of other functions used in analytic number theory. The appendix also illustrates features of Mathematica(R) which aid in the computation of such functions.