TAs, Attached is a sample solution to program 4. These are the key teaching points: 1. proper use of branches 2. writing their own implementation plan. a) 5-10 small steps b) it should describe *what* they need to do not *how*. The idea is that I want them to think out their logic before they start writing code. Common mistakes: a) too few steps b) saying how - variable names, etc. c) the prototypical false implementation plan goes something like 1) Prompt user 2) Read user input 3) Solve problem 4) Print result Hmmm, 'Solve problem' is where all the thinking comes in. This will be their first Implementation Plan. You will get lots of questions. The Implementation Plan is for their own benefit. The key question to ask is: Have they thought out what they need to do and expressed it in English (not pseudo-Java)? 3. test plan. This is a table. See the attached solution. Thiers does not have to be this concise. I want them to think out: How do I know my program works? This is one of the few assignments where they provide a simple table for testing. In all future assignments, they will write an Implementation Plan. Few will require a written Test Plan like this assignment. They will get very, very little credit for using brute force: if(change == 25) print solution if(change == 30) print solution ....... They do not have to worry about grammar. For example 1 quarters vs. 1 quarter (no plural). Grading criteria •50% Correctness •25% Implementation plan. Logical, well organized and broken into very small steps. 6-8 steps is appropriate. •25% Thorough testing of the correctness of your program. •Up to 25% may be deducted if the program is not written in good programming style – indentation, clarity, descriptive names, simplicity, etc. Correctness - They will not turn in a screen shot of their output. A quick read of their code for correctness will suffice. Don't sweat about missing small details. Implementation Plan - THIS IS A KEY PLACE TO GIVE GOOD FEEDBACK: length, clarity, in English, what not how. Test Plan - make a quick scan of their table. Do they return all the possibilities? 0,1,2,3 quarters 0,1,2 dimes 0,1 nickels -0.5 no cover page -0.5 not stapled up to -1 for awful indentation, etc.