Wavelet analysis is a modern, highly applicable mathematical subject. This paper provides a self-contained introduction to the mathematical theory of wavelet analysis with examples and applications using Mathematica. The associated Mathematica package Wavelets.m contains functions for discrete wavelet analysis.