This second edition has been almost completely rewritten to create a textbook designed so instructors can determine the degree of rigor and flexible enough for a one- or two-semester course. The book increases the level of sophistication as it proceeds from traditional first principles to theory and applications.