This book bridges the gap between filter theory and practice, presenting newly developed algorithms and designs. The emphasis is given to automating filter design in software, not to studying general filter theory. Students using this book are assumed to have a basic background in calculus, complex numbers, and differential equations. Mathematica and optimization routines are used to produce a new method of filter design, including ready-to-use filter design algorithms and implementations of the algorithms in Mathematica. A notable feature of the book is a detailed step-by-step exposure to the filter analysis by transform method, exemplified by self-contained Mathematica notebooks. Students can use these notebooks to automate symbolic filter analysis and design in software, to derive closed-form expressions, and to gain insight into the relevant filter design parameters and coefficients.