Today (April 15) I announced that the final homework, HW10, will be a complete Dots and Boxes program. In class today we developed flowcharts in groups to help plan the programs. If you missed class today (April 15), submit a dots and boxes flowchart (PNG or PDF) by midnight Monday (April 18) to make up the work. Everyone who attended class has already received credit.
Here are some of the tips for flowchart design I mentioned in class. The idea is that careful planning reduces the number of bugs in your program and also makes it more fun to write.
Arrows can come after. Sometimes it's easier to put the rectangular process boxes in first, and then add the arrows.
Save detail for later. Little subprocesses like input validation obscure the big picture. Start with the overall shape of the program and add minor decorations later.
Only one path leaving from a process. Two paths leaving from a decision. If it seems like you need more paths, what you really need are more decisions.
Think carefully about whether to reuse. If the use cases are different, it might not be easier. Do the processes occur at the same time? Do they need the same input? Do they lead to similar decisions? Do they produce similar output? If the answers to many of these questions are "no", then it might be easier just to write another function instead of trying to reuse (and possibly break) code designed to do something different.
Avoid premature commitment to a particular strategy. There are usually lots of ways to accomplish a particular process. At this stage, it is often too soon to commit to a particular implementation.
It's OK to expand a process into a subchart. Sometimes a little more planning is required than you first realized. When you start to feel this way, stop typing and think!
Can't change a rubric once you've started using it.