Role of larger software artifacts in introductory computer science courses

This paper compares the effectiveness of two approaches that can be used to teach concepts in introductory courses such as CS1 and CS2 — a conventional lecture-based approach and one using larger software programs (artifacts) with accompanying guided exercises. Our assessment includes measures of students' self-confidence as well as a measurement of their knowledge of the topics used in this study: inheritance and iterators. Finally, we consider some generalizations that can be made about these treatments and how well they perform.