A clear exposition of the underlying concepts, containing large numbers of worked examples and problem sets.