ComputingComputer ScienceInstructionLanguage EducationProgramming LanguagesTest ConstructionComputer Science EducationObject-oriented ProgrammingSoftware TestingIntroductory Computer ScienceObject-oriented Programming EducationProgramming ConceptsProgramming Instruction
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.
6
The introductory programming course in computer science
G. Schneider · 1978 · 39 citations · Full text
Teaching software development methods
Joe Bergin, James Caristi, Yael Dubinsky et al. · ACM SIGCSE Bulletin · 2004 · 19 citations