Testing first: emphasizing testing in early programming courses

  • Authors:
  • Will Marrero;Amber Settle

  • Affiliations:
  • DePaul University, Chicago, IL;DePaul University, Chicago, IL

  • Venue:
  • ITiCSE '05 Proceedings of the 10th annual SIGCSE conference on Innovation and technology in computer science education
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

The complexity of languages like Java and C++ can make introductory programming classes in these languages extremely challenging for many students. Part of the complexity comes from the large number of concepts and language features that students are expected to learn while having little time for adequate practice or examples. A second source of difficulty is the emphasis that object-oriented programming places on abstraction. We believe that by placing a larger emphasis on testing in programming assignments in these introductory courses, students have an opportunity for extra practice with the language, and this affords them a gentler transition into the abstract thinking needed for programming. In this paper we describe how we emphasized testing in introductory programming assignments by requiring that students design and implement tests before starting on the program itself. We also provide some preliminary results and student reactions.