Planned Programming Problem Gotchas as Lessons in Requirements Engineering

Daniel M. Berry

Cheriton School of Computer Science
University of Waterloo
Waterloo, ON, Canada


The term ``gotcha'' is used to describe an unforeseen exception or complexity in a programming assignment given to students. All too often, the students' discovering gotchas in a programming assignment embarrasses the instructor into revising the assignment. This paper argues that students' discovery of gotchas should be encouraged to promote experiential learning of the value and necessity of requirements engineering. Rather than viewing the discovery experience as a misfortune, an instructor should welcome the experience and even plan assignments with an abundance of gotchas to be discovered by students.

Joint work with Craig Kaplan