In this assignment students work either individually or in pairs to write a function that generates the shortest possible list of change for a given target and list of coin values. Using recursion, students must first find the minimum number of coins required to create a value and then modify this function to return the actual coin values used. This assignment requires students to use recursion with lists. It is particularly useful for students who need additional practice with recursion.
Integrate pair programming when it is appropriate for students to collaborate on a lab, assignment, or project. The “driver” controls the mouse and the keyboard, while the “navigator” makes suggestions, points out errors, and asks questions. Partners routinely switch roles to gain the benefits of each role.
Relates the CS topics to concepts from students' own experience to Employ Meaningful and Relevant Content.