This text aims to teach the principles and techniques of digital systems through a range of examples. It has step-by-step solutions to exercises and over 200 practical examples activities and self-evaluation exercises to assist the learner. It contains a glossary of important terms.