ABSTRACT

Student background evolves over time. Students starting a program may have little idea of what words mean, what algorithms to consider, what data structures are relevant, or how to put pieces together. If the assignment is given as one of several independent activities, then little structure encourages students to synthesize ideas and place approaches in context. In structuring assignments and laboratory exercises through a semester, at least two approaches seem common. One approach divides a course into separate pieces, and independent activities provide practice with each piece. The second approach divides an overall project into multiple activities, and the activities build upon each other to yield a relatively extensive or complex result. Presenting open-ended tasks and allowing flexibility in time management may promote desirable long-term skills, and a progression of activities may help students to plan and organize.