Posted by Debbie Weissmann
Our November Chapter Meeting topic was 'Plan before you Program.'  We talked about strategies to help students plan, outline, diagram, and write pseudocode before jumping into the IDE to write scripts.
We began with a bit of irony: weeks of programming, can save you hours of planning
And then dove into our topic, helping students play before they start coding with the goal of fewer questions and less frustration.

As students often don't want to plan, it was suggested to make the planning part of the coding routine. 
Then ask students to explain their plan. The teacher can review the student's plan and make comments, or students can peer review each other's plans. Code.org has a brainstorming module that could be helpful to get students started with planning.
 
Another idea was to create a customer / engineer relationship between the students. Have the class (the customers) provide the spec, suggesting features they want and the student provide a plan or diagram of how they will code per the spec.
This works well because after the code is complete, the 'customers' can review and ask for modifications.

Another idea was for students to write out the algorithm in plain English annotating what is going to happen step by step.
Then, use this pseudo code for the comments.
Next, you can create stubs and have students write what is supposed to be returning. 
 
Another idea was to make flow charts describing each step of the code. There are several free tools for this. 
 
One idea was to create a separate grade for the planning and another grade for the post-review.
Even elementary school students can plan which sprites they will use and what they will do.
 
And you can use student reflections to ask them to plan for the next task.
 
We talked about what is expected at the college level. It was suggested that college coding will allow students to start from scratch but will move quickly through the material. The strongest kids often have taken CS principles or are into it on their own. But it's not too late to start in college. 
 
Related, it was found that with the strongest students, there is usually someone on the family who is a tinker, like grandfather who was a mechanic or a problem solver. It's possible that the kids of these tinkerers are observing and learning problem solving strategies at home. 
 
Want to share your strategies for Planning before Programming? Join us at our next Inland Empire Chapter Meeting. Every 3rd Thursday of the Month at 5pm. Register on the CSTA IE Events page.