The primary goal of this project is to develop more effective methods for teaching topics in computer organization and assembly language programming. A set of cooperative learning activities are being created along with a comprehensive set of instructor support materials, including training videos, to help faculty members learn to use cooperative learning techniques effectively in the classroom. This project builds on previous work on the use of cooperative learning in computer science classes, recognizing the need for fully developed, refined, and tested activities. To increase the number of faculty using cooperative learning techniques, training videos are being created to illustrate the interactions between instructors and their students working on cooperative learning activities. Along with the videos, instructor materials help faculty members learn skills such as observing group processing and selecting (on the spot) the things to bring out during group debriefing. The skills taught in these videos are applicable to any course that utilizes cooperative learning. Because students frequently have difficulty learning computer organization and assembly language, the development and use of more effective ways to teach these topics is expected to lead to improved retention and success in the computer science major.
The project and its materials are undergoing testing and evaluation during development as well as when used outside of the home institution. A variety of faculty workshops help faculty gain facility in using the materials and cooperative learning techniques in their classrooms. Since computer organization and assembly language programming courses are commonly used for transfer credit, some workshops target faculty at community colleges. This work aims to develop and increase computer science faculty awareness and use of cooperative learning activities in the computer science curriculum at a variety of institutions.