Key points are not available for this paper at this time.
Inexperienced and novice programmers in CS 1 are often faced with the expectation that they will be able to decompose a problem into subproblems, solve these subproblems independently, and then recompose these solutions. As with programming in general, decomposition is a skill that benefits from explicit instruction and that must be practiced to see improvement. This paper introduces a term-long project approach to CS 1 that emphasizes program decomposition. Existing software quality metrics are used to assess student decomposition progression through the project and to compare the decomposition skills of students in courses using the term-long project approach against those in courses using a more typical "stand-alone" project approach.
Keen et al. (Tue,) studied this question.