Digital Design Techniques and Exercises