At the end of this course, the student should be able to: 1. understand number systems 2. implement and analyse digital systems based on combinational and sequential logic 3. understand and design state machines 4. design systems using RTL