Journal of Computing Sciences in Colleges
ll of the panelists have used small sets of related programming assignments in introductory CS courses. These assignments are essentially larger programs which are developed during several separate phases. This approach has several advantages: • Students are able to develop more realistic and interesting programs. • Students are motivated to write better code as well as documentation. Those who don't are quickly confronted by the implications. • Student interest in completing the projects is better sustained, since there is continuity from one project to the next. • It models desirable techniques such as iterative development and encapsulation. • It demonstrates some of the challenges inherent in modifying and maintaining code in response to evolving requirements. • Anecdotally, it seems that more students successfully complete the resulting program than when treating it as one large assignment. There are also some disadvantages: • The penalty for not completing a multi-phase assignment is generally harsher. • Projects may not exercise the student's problem-solving skills as well as assigning several unrelated projects, each of which must be solved ground-up.Each panelist will enumerate their own specific reasons for using this approach, discuss specific assignments as examples, and describe the advantages and disadvantages they have experienced. We will leave sufficient time afterwards for discussion of this strategy.
Copyright © 2003 by the Consortium for Computing Sciences in Colleges. Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the CCSC copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Consortium for Computing Sciences in Colleges.
Huggins, James, "Multi-Phase Homework Assignments in CS I and CS II" (2003). Computer Science Presentations And Conference Materials. 20.