case studies in the classroom
We and others have created case studies to engage students in the process of designing solutions to complex programming problems. Case studies involve learners in activities of expert programmers such as identifying decisions, justifying choices among alternatives, and evaluating the consequences of these choices. Case studies improve computer programming courses by emphasizing the process rather than the product of problem solving. This paper describes specific uses of case studies in freshman and sophomore-level courses.
case studies student process complexity program activation programmer computer programming product paper