Why
How
Jenkins, T. (1998). A participative approach to teaching programming. SIGCSE Bulletin 30, 3 (August 1998), 125-129. DOI=10.1145/290320.283090. http://doi.acm.org/10.1145/290320.283090
McConnell, J. J. (2006). Active and cooperative learning: final tips and tricks (part I). SIGCSE Bulletin 37, 2 (June 2005), 27-30. DOI=10.1145/1083431.1083457. http://dx.doi.org/10.1145/1083431.1083457
McConnell, J. J. (2006). Active and cooperative learning: final tips and tricks (part II). SIGCSE Bulletin 37, 4 (December 2005), 34-38. DOI=10.1145/1113847.1113872. http://dx.doi.org/10.1145/1113847.1113872