A Competitive-Collaborative Approach for Introducing Software Engineering in a CS2 Class

Sheth, Swapneel Kalpesh; Bell, Jonathan Schaffer; Kaiser, Gail E.

Introductory Computer Science (CS) classes are typically competitive in nature. The cutthroat nature of these classes comes from students attempting to get as high a grade as possible, which may or may not correlate with actual learning. Further, there is very little collaboration allowed in most introductory CS classes. Most assignments are completed individually since many educators feel that students learn the most, especially in introductory classes, by working alone. In addition to completing "normal" individual assignments, which have many benefits, we wanted to expose students to collaboration early (via, for example, team projects). In this paper, we describe how we leveraged competition and collaboration in a CS2 to help students learn aspects of computer science better — in this case, good software design and software testing — and summarize student feedback.



More About This Work

Academic Units
Computer Science
Department of Computer Science, Columbia University
Columbia University Computer Science Technical Reports, CUCS-017-12
Published Here
November 13, 2012