ABSTRACT

Articulation of desired programming outcomes seems an important step in clarifying the role of programming within a course and in the construction of assignments. While one can imagine programming assignments that foster learning at many levels, one might speculate that many programming assignments focus on relatively low-level details, specific algorithms and structures, syntactic constructs, and machine- or language- dependent elements. While one practical value of assignments may be to generate grades, one hopes that assignments will promote learning. As part of learning, assignments should help students master information at one level and help push them to the next levels of understanding. However, Benjamin Bloom's Taxonomy also highlights the need to foster understanding at many levels, and one might seek a variety of assignment types to encourage broad understanding.