Integrating the Teaching of Computer Organization and Architecture with Digital Hardware Design Early in Undergraduate Courses