Most computer science, information systems and engineering programs have two or more computer architecture courses but lack suitable active learning and design experience in the classroom. Computer architecture at the intermediate level should focus on the implementation of basic programming constructs in different instruction set architectures. To accommodate such features we developed an undergraduate computer architecture course with hands-on classroom activities, laboratories and web based assignments. To assess the course we distributed the course modules among 200 computer architecture instructors. This paper describes our experience in developing active learning course modules.