Being able resolve an everyday problem into a number of logical steps is a critical programming skill.

We can represent a solution (algorithm) using a flow chart or pseudocode.

Trace tables are a useful tool that assist us to understand how the program moves from the input to the (correct) output.

Click here to view flowchart examples and activities 2.1 to 2.9 (source: Java Programming Made Easy by Georgina Ramsamy) (provided here because your text books are at school)

More help with pseudocode here

A PowerPoint example here (download)