I can recognise and highlight keywords like "enter", "display", "calculate" and "select" to help identify the inputs, outputs and processes for a task
I can sketch a user interface to show inputs and outputs, I can read the user requirements to help me.
I can look at and highlight a screenshot or wireframe to help identify the inputs, outputs and processes for a task
I can read code or a design to find and highlight variables including arrays and data types
I can find sample input and test values and use them along with the design to predict the output, including possible errors
I can read a structure diagram to understand an algorithm design.
I can identify and highlight constructs like loops, if-selections, conditions, pre-defined functions
I can identify when there is a connection between two or more lines of code and work out how they affect each other.
I have memorised the standard algorithms: input validation, running total and traverse array. I can recognise them and write or complete them.
I have memorised how to write a nested if-selection to choose between 3 options
I can make up suitable test values: normal, extreme and exceptional
I can understand and explain complex conditions that use >, >=, <, <=, AND, OR, NOT
I can make notes and simple plans to help me BEFORE I start to write my code
I can read and understand changes to a design in order to change, improve or correct it.
When I write code I leave plenty space around my in case I need to make corrections
I know that I can look at other questions to copy some code if I am not sure how to write a construct.
I know I might need to turn back to the beginning of a question if it is printed over several pages.
I know I can write solution in pseudocode, I don't need to write Java
I can read sample code to discover bugs which can cause errors: syntax, logic and run-time errors.
I can explain the meaning of syntax error, logic error and run-time error.