Cooperative learning in an undergraduate computer science curriculum
Jane Chu Prey · 2002
As a discipline, computer science has seen many dramatic changes. The content of the curriculum has for the most part kept pace with these changes. However the pedagogy has changed very little. Most computer science instruction uses the lecture method as the exclusive means of teaching the fundamentals of the material and out-of-class programming assignments to ensure appropriate programming skills are developed. In most cases, students learn to write short programs from scratch, by themselves. Compare this with the real world where programs are thousands or millions of lines long, are often extensively modified and maintained rather than merely constructed, are manipulated in a tool-rich environment, where work is almost always a team effort, and where the form of a solution has profound impact on future cost and performance. This clearly illustrates the problem. There is a serious mismatch between what is taught, how it is taught, and the emphasis it receives on one hand and what the consumers of the education actually need on the other. The University of Virginia began an ambitious undergraduate computer science curriculum revision in 1992. We discuss how we incorporated a cooperative learning environment into our new curriculum.