- This is an essential programming skill that they can apply to almost any problem they have to solve in CS.
- You can model this process for students.
- Ask students what components need to go in each part of a 'for loop' first, to help support them in writing well-developed 'for loops.'
- Encourage students to write helper functions as opposed to lengthy, multi-purpose functions by limiting the number of lines a function can be.
- Explain that the process of breaking a problem into pieces is also helpful for solving problems in industry.
- It can be easy for teachers—relative experts—to forget how unintuitive or unobvious successful problem-solving strategies are for novice students.
- Breaking up larger processes helps students think deliberately about each step while performing complex tasks.
- Once you have identified the steps for students, consider naming them memorably, and give students a lot of opportunities to practice them. This allows to see how they generalize to other similar problems.
- Extra info from the CS Teaching Tips Team: For example, understanding how a computer executes a line of Java code is an elaborate process.
- We can break this down into discrete steps to help explain the process, for instance:
- creating new stack frames when methods are called
- writing the names and values of variables within those stack frames
- We can break this down into discrete steps to help explain the process, for instance: