An instructional scaffolding approach to teaching software design

  • Authors:
  • Stephen Paul Linder;David Abbott;Michael J. Fromberger

  • Affiliations:
  • Dartmouth College, Hanover, New Hampshire;Dartmouth College, Hanover, New Hampshire;Dartmouth College, Hanover, New Hampshire

  • Venue:
  • Journal of Computing Sciences in Colleges
  • Year:
  • 2006

Quantified Score

Hi-index 0.01

Visualization

Abstract

Students often find introductory computer science courses boring and mechanical, leading many to drop from the major. Educators have suggested that bringing realistic design problems into the introductory courses would increase student retention and better prepare students for the major. However, the design and implementation of a solution to a realistic problem is often nontrivial and can therefore be very stressful to students. By using the pedagogical paradigm of scaffolding, this anxiety can be ameliorated. A prototypical design course is described where students implement solutions to progressively more difficult design problems. The solutions to these initial assignments are then continually refactored and used as the code-base for subsequent assignments and the culminating team project. The social interactions necessary for instructional scaffolding are facilitated by having each final project be unique, but similar enough to allow students to help each other. We describe the framework of assignments used in our course, including the capstone projects in which students develop computer vision-based systems that do things like read dice and poker hands, and sort M&Ms.