This book has three audiences. The first is the advanced undergraduate student interested in reliable design. The second is the graduate student seeking a second course in reliable design, perhaps as a prelude to engaging in research. The third audience is the practicing engineer, providing enough concepts to incorporate comprehensive reliability techniques into future designs. The book is divided into two parts. Part I deals with the theory and Part II with the practice of reliable design. Appendices provide detailed information on coding theory, design for testability, and the component reliability model.