Cooperative learning in an undergraduate computer science curriculum | IEEE Conference Publication | IEEE Xplore